A quantitative researcher often rejects a new stock-selection signal because it looks too correlated with one already in the library. That sounds like diversification discipline. But the correlation being measured is usually across stocks on each date, while profit-and-loss correlation is measured across dates after every cross-section has collapsed to one payoff.
Nunes shows these are not noisy estimates of the same object. They are inner products over different axes. Without extra assumptions, neither one bounds or even orders the other.
One date has a longitudinal and a transverse direction
The information coefficient (IC) is the cross-sectional Pearson correlation between a signal's scores and the returns realized next. After demeaning and scaling the signal to Euclidean norm one, its projection onto the realized return direction is exactly that IC. The remainder is transverse: it changes how signals resemble one another without changing that signal's same-date payoff.
Therefore signal similarity equals the product of the two realized ICs plus their transverse inner product. Normalizing the transverse term gives the ordinary partial correlation between the two signals after controlling for realized returns.
Profit keeps only dispersion-weighted IC
Return dispersion is the cross-sectional magnitude of that date's demeaned returns. For the normalized signal, realized PnL is simply dispersion times IC. PnL correlation then centers and normalizes those two time series. The transverse component has disappeared; variable dispersion and Pearson centering have entered.
def diagnose(ic1, ic2, dispersion, similarity):
mean = lambda xs: sum(xs) / len(xs)
products = [x * y for x, y in zip(ic1, ic2)]
pnl1 = [a * x for a, x in zip(dispersion, ic1)]
pnl2 = [a * y for a, y in zip(dispersion, ic2)]
transverse = mean([s - p for s, p in zip(similarity, products)])
pnl_corr = pearson(pnl1, pnl2)
return mean(similarity), mean(products), transverse, pnl_corrThe site runs the TypeScript implementation above. The Python and C++ tabs are line-for-line translations of the same four diagnostics.
Hold signal correlation fixed; sweep PnL correlation
The non-identifiability theorem can be made concrete in four dates. Two mean-zero IC series are built with any requested temporal correlation. Their transverse angle is then chosen date by date so their signal similarity stays exactly 0.4. Constant dispersion makes PnL correlation equal the IC-series correlation.
The paper’s synthetic library exposes the mismatch
The paper generates 12 signals over 1,000 dates and 500 assets with seed 20260906. Signals share one of three transverse feature families, while their IC paths load differently on a common factor. That separation is imposed deliberately to isolate the mechanism.
| Paper diagnostic | Simulated value |
|---|---|
| Mean IC range | 0.0146 to 0.0277 |
| Rank corr: signal corr vs PnL corr | −0.070 |
| Rank corr: IC cross-moment vs PnL corr | 0.974 |
| Mean raw span R² | 0.0334 |
| Rank-only null mean | 0.0240 |
| Mean adjusted span R² | 0.0096 |
| Pair | Signal corr | IC cross-moment | Transverse | PnL corr |
|---|---|---|---|---|
| 3–12 | 0.4766 | −0.00016 | 0.4767 | −0.405 |
| 10–11 | −0.0011 | 0.00115 | −0.0022 | 0.427 |
| 2–11 | 0.2091 | −0.00033 | 0.2095 | −0.539 |
| 11–12 | −0.0002 | 0.00168 | −0.0019 | 0.616 |
The raw span score also rewards library size
A second quiet trap appears when signals are combined. The best ex post squared correlation between realized returns and a rank-K signal span is an R². Even an uninformative isotropic span has expected R² equal to K/(d−1). With 12 signals and 500 assets, that mechanical baseline is 0.0240. The paper's raw 0.0334 becomes only 0.0096 after null adjustment.
| IC innovation sd | Signal corr rank | IC moment rank | Mean R² | Adjusted R² |
|---|---|---|---|---|
| 0.012 | −0.165 | 0.388 | 0.0055 | −0.0190 |
| 0.025 | −0.160 | 0.877 | 0.0128 | −0.0115 |
| 0.045 | −0.070 | 0.974 | 0.0334 | 0.0096 |
| 0.070 | 0.150 | 0.989 | 0.0729 | 0.0501 |
The scope conditions are the real checklist
| Boundary | What changes outside it |
|---|---|
| Same traded vector | Constraints, costs, or a risk optimizer add a transfer channel. |
| Pearson IC | Rank IC does not satisfy PnL = dispersion × IC unless ranks are traded. |
| Forward returns known | The decomposition is an ex post diagnostic, not a deployable signal. |
| Independent synthetic geometry | The paper imposes feature-family/IC independence; real libraries must test it. |
The sharpest buried caveat is the ex post status. The same future-return direction defines IC, transverse geometry, and the optimal span fit. Those quantities are excellent forensic diagnostics, but using the raw R² or its optimizing weights as a library score leaks the answer into the feature-selection problem.
What to probe next
- Compute signal, IC-moment, transverse, and PnL matrices side by side.
- Repeat them at every forward-return horizon; the geometry is horizon-specific.
- Use block bootstrap or HAC inference for overlapping returns and persistent signals.
- Control multiplicity: 50 signals already create 1,225 pairwise comparisons.
- Estimate signed, regularized combination rules strictly out of sample.
The linear-regression page provides the projection geometry underneath IC and partial correlation. The lesson also echoes bagging: useful diversity concerns the dependence of errors—or here, realized payoffs—not merely the resemblance of inputs.
References
- Marc Nunes (2026). Signal Correlation, IC, and PnL Dependence. arXiv research note, arXiv:2609.09588
- Edward Qian and Ronald Hua (2004). Active Risk and Information Ratio. Journal of Investment Management 2(3)
- Eric H. Sorensen, Edward Qian, Ronald Schoen, and Ronald Hua (2004). Multiple Alpha Sources and Active Management. Journal of Portfolio Management 30(2)