Start with the other side
Every trade has a counterparty. If your signal earns money month after month, someone is giving it up month after month.
If you can't say who, a strong backtest is more likely luck than discovery. Three answers hold up.
Signal research for alpha · Page 2 of 6
A signal starts as a story about who keeps losing money to you. It becomes a number you can trade only after you rank it, clean it, and strip out the bets you never meant to make.
The story
Before you touch any data, answer one question: who is on the other side of this trade, and why do they keep losing?
Every trade has a counterparty. If your signal earns money month after month, someone is giving it up month after month.
If you can't say who, a strong backtest is more likely luck than discovery. Three answers hold up.
Some investors pay to get rid of a risk, the way people pay for insurance. You collect the premium and you take the crash when it comes.
This kind of signal rarely dies, because it's compensation, not a mistake.
Some investors misread information in a repeatable way. They underreact to news, overreact to stories, or anchor on old prices.
You earn their error until enough capital crowds in to correct it.
Index funds have to buy at the rebalance. Some mandates have to sell a bond the day it's downgraded. Rules move prices whatever the value.
This edge lasts exactly as long as the rule does.
The story is behavioral. Investors underreact to firm-specific news, so it reaches prices slowly. Stripping out factor moves leaves that news on its own.
A good story also makes predictions. If underreaction drives the signal, it should be stronger where news travels slowly, in small and thinly covered stocks. Page 4 tests that.
Other side: investors slow to price firm-specific news.
Testable prediction: stronger in small, thinly covered stocks, where news spreads slowly.
How it would die: faster news diffusion, or more capital running the same trade.
The transform
A raw value is just a number. A score is something you can compare across 60 stocks and turn into position sizes.
Here are this month's raw residual momentum values for 60 stocks. Most sit between −2 and +2.
One utility, PWRX, sits near +9. Its residuals barely move, so dividing by a tiny volatility blew up its score. Size positions by raw value and that one name owns a big slice of the long book.
Subtract the mean and divide by the standard deviation. The scale changes, but the shape doesn't.
PWRX still dominates. It also inflates the standard deviation, which squashes every other stock toward zero.
Winsorize: clip each value at ±3 standard deviations, then standardize again.
PWRX keeps its place at the top, but its share of the long book drops by about half, and the other 59 stocks spread back out.
Ranking keeps only the order. Outliers can't hurt it, because the top stock is simply first.
The cost is information. A stock at +2.9 now scores almost the same as one at +1.5.
The neutralization
A score can carry sector and beta bets you never meant to make. Page 1's factor model takes them out.
Average the score by sector. Tech sits well above everyone else, and high-beta stocks score higher across the board.
Buy the top and short the bottom, and part of your book is a tech-versus-consumer bet plus a market bet. You never asked for either.
Subtract each sector's average score from its stocks. Every sector now averages zero.
The long and short sides now hold similar sector mixes. Some of the beta tilt goes too, because beta clusters by sector, but not all of it.
Regress the score across stocks on sector dummies and beta, and keep the residual. The fitted line goes flat and the correlation with beta hits zero.
This is page 1's model run on scores instead of returns: score = B · γ + what's left. What's left is the part your idea owns.
Neutralizing deletes whatever part of the signal lived in sectors and beta. Here only about two thirds of the original score survives.
If your idea really is about stocks, that's the point. If it's secretly a sector call, you just threw it away.
The calendar
Seasonality shows up in two ways: as a signal of its own, or as a pattern hiding inside yours.
Momentum strategies have historically lost money in January, on average, while earning in most other months.
A common explanation is tax-loss selling. Losers get dumped in December and bounce in January, which hurts a strategy that is short the losers. Residual momentum inherits some of this.
Turn of the month, January in small caps, "sell in May," the Monday effect. Each one has a published paper behind it.
They're also the textbook data-mining trap. Slice the calendar enough ways and some slices look significant by chance. Page 5 counts how many.
Many inputs swing with the calendar. A retailer's sales spike every December. Feed raw month-over-month changes into a signal and you're scoring Christmas, not the company.
Compare each month with the same month a year earlier instead. In this example, only the year-over-year line shows the business slowing in year 3.
Every calendar pattern you find goes down the same two-question tree.
Small caps outperform in January.
Returns are lower over the weekend.
Returns cluster in the last and first few days of each month.
November to April beats May to October.