People generally confuse raw signals with alphas, and trade raw signals as if they were trading in a discretionary way. Nothing wrong with that, you can make money sure, but it isn’t probably the most efficient way to manage your strategies.
Raw signals are what you think they are, interest rates, dividends, funding rates, technical indicators, etc. They are raw because they haven’t been modified from the source they come from, and many traders tend to base strategies on these raw signals, the same way discretionary traders read raw information and trade based on it.
This approach could be just fine if you trade a few instruments and can transform the raw data into signals for your strategies. However, if you intend to trade on a large scale, this approach is not sustainable. Look at the following example:
So let’s say you have read one of those Tactical Asset Allocation papers, and discovered the 12-month momentum “alpha”. Your code may look something like this:
var ranked_stocks_by_momentum_12_month
var best_stocks = get_top_5(ranked_stocks_by_momentum_12_month)
var worst_stocks = get_bottom_5(ranked_stocks_by_momentum_12_month)
for stock in best_stocks do
buy
for stock in worst_stocks do
sell
You think the backtest looks promising and you decide to add more “alphas”…
“Should I rank by momentum first? then by mean reversion?”
“But if I do that, why would I rank by momentum first? I would most likely get different results if I decide to rank by mean reversion first then momentum…”
“Is momentum more important than mean reversion?”
“Oh and I also have to include my earnings announcements alpha, should I do this at the end?”
Again, I’m not saying this won’t make money, you could be perfectly fine and become rich trading this way. But here we focus on scalability. What if you want to trade 1000 alphas, in 3000 instruments? Are you going to sort the 3000 assets 1000 times?
A little bit of history
Around 30 years ago, Richard C. Grinold decided it was time to show the world of quant finance what’s an alpha. The first thing he did was to differentiate between two kinds of alpha:
Looking backward. Average of the realized residual returns. It’s useful in evaluating the performance of your strategy.
Looking forward. Forecast of residual returns. It’s what you expect to make.
As a quant trader, your task is to forecast alpha. If you can forecast returns correctly, the realized alpha will take care of itself.
Grinold stated that “Alphas must control for volatility, skill, and expectation” and gave the following formula:
Alpha = Volatility · IC · Score
Where
Volatility = residual return’s volatility, or residual risk.
IC = Information coefficient or skill, the correlation between your raw signal and the returns you’re trying to forecast. An average or random IC is 0.0, and a very good one is 0.1. Grinold also put emphasis on how difficult it is to forecast returns. Showing that for an IC of 0.1, a trader can expect to forecast the sign of returns with a probability of 53.2%.
Score = Z-score of your raw signals.
The formula is pretty straightforward. If Strategy A has a greater skill (IC) than Strategy B, volatility and score being equal, Strategy A should perform better.
If Strategy A has the same IC and score as Strategy B, but Strategy A has greater volatility, Strategy A should also perform better. Will Strategy A be riskier in this case? Very likely, we don’t worry about risk at this stage though. We will have to handle this later in the alpha weighting stage.
Beware!
Don’t mistake alpha with allocation. High alpha doesn’t mean a bigger allocation.
Focus on getting your good alphas first! It doesn’t matter how you weigh or combine them if there’s no skill. We’ll leave alpha weighting for another time. For now, you can just do equal-weight. It’s a big red flag if the performance of an equal-weighted portfolio doesn’t look good.
With this framework, you will be able to normalize all your signals into a format that allows you to compare apples to apples. I recommend you read anything that has Grinold as an author, worst you can get is inspiration.
Once your signals become alphas, combining them becomes pretty easy if they are uncorrelated, you can just add them up. It gets trickier if some of your alphas are correlated, especially if you have thousands of alphas, we will cover that in another post.