The two highest-signal stocks later return 6% and −2%. Overall correlation is positive, but the trading rule selects the losing stock. Why do correlation, grouped returns, and selection seem to give different answers?
They address different questions. Keep the preceding chapter's pool rather than replace it with better-looking observations. Follow each calculation from its paired inputs to the conclusion it can actually support.
What you will be able to do
- Calculate one cross-section's Pearson IC and Rank IC with appropriate tie handling.
- Compare groups, selection, and coverage without treating positive correlation as a profitable portfolio.
- Preserve time-statistic definitions and a C9 evaluation card with missing values, zero denominators, and unfinished modules visible.
Pair the signal with the specified future interval
Continue with the synthetic C7-82 materials. After decision month m closes, the signal divides the then-available m−1 total-return index by its m−12 value and subtracts one, skipping month m. Identities, historical membership, and remaining eligibility are supplied assumptions.
The future label is gross total return, including distributions, from the first normal open in m+1 to the first normal open in m+2, without external flows. These index values are not executable dollar prices. Returns cannot be seen when the rule forms; the author already knows them in this teaching reconstruction.
| ID | m−12 index | m−1 index | Signal | Next holding-period gross return |
|---|---|---|---|---|
| A | 100 | 110 | 10% | 4% |
| B | 100 | 120 | 20% | −2% |
| C | 50 | 60 | 20% | 6% |
| D | 100 | Missing | Unavailable | Not paired |
| E | 100 | 90 | −10% | 0% |
D lacks a signal endpoint and cannot be inserted as zero. A, B, C, and E form the statistical sample. Retain decision date, signal window, and holding interval together. A tool using m-close to m+1-close returns would perform a different test.
Pearson IC follows numerical differences
Here, Pearson information coefficient, or Pearson IC, means the cross-sectional Pearson correlation between signal values and the specified next-period returns. It measures linear association. Positive does not mean every high-signal stock rises; zero does not exclude every other kind of relationship.[1]
Use percentage-number values 10, 20, 20, −10 for signals, and 4, −2, 6, 0 for returns. Their means are 10 and 2. Signal deviations are 0, 10, 10, −20; return deviations are 2, −4, 4, −2.
Multiply corresponding deviations and add: 0 minus 40 plus 40 plus 40 equals 40. The signal's squared deviations sum to 600; the return's sum to 40. Divide 40 by the square root of the product 600 × 40 to obtain approximately 0.2582.
Consistently converting each column to decimals leaves the coefficient unchanged. But this calculation does not estimate how many return points a 10% signal should produce, and does not identify a cause. Four eligible stocks can share market, industry, and other drivers. One positive cross-section is little evidence of persistent prediction.
Rank IC must preserve statistical ties
Spearman Rank IC replaces each column with ranks, then computes Pearson correlation between those ranks. It concerns ordering rather than the original numerical distances.[2] Rank upward here, starting at one, with equal observations receiving their average occupied rank.
B and C tie at 20%, occupying positions three and four; each receives 3.5. In A, B, C, E order, signal ranks are 2, 3.5, 3.5, 1. Return ranks are 3, 1, 4, 2. Both rank means are 2.5.
The sum of paired rank-deviation products is 0.5. Squared deviations sum to 4.5 and 5. Dividing 0.5 by the square root of 22.5 gives Rank IC approximately 0.1054. Do not use a simplified rank-difference formula that assumes no ties.
SciPy's ranking documentation explicitly distinguishes average ranks and other tie conventions.[3] Save the selected convention. Giving B priority over C by stable ID makes a trade choice unique; it does not make B's signal statistically stronger.
Also check tool vocabulary. Alphalens' public function called factor_information_coefficient calculates Spearman correlation.[4] A field labeled IC does not establish Pearson correlation. Confirm its definition, paired horizon, and missing-data policy before comparing reports.
Positive association can coexist with a losing selection
The candidate rule selects the top 20%, rounding four eligible stocks upward to one. Stable ID resolves B/C in favor of B. B's next-period gross return is −2%, versus the four-stock equal-weight benchmark's 2%. Active return is −4 percentage points, not alpha.
This does not contradict either positive IC. Correlation uses all four rows; the portfolio takes only one. Selection fraction, weights, and tie policy determine which part of the cross-section becomes an account holding. C's later 6% gain cannot justify revising the tie rule afterward.
For a separate, predeclared grouping diagnostic, divide the signal ranking into two equal-weight groups of two. This does not replace the top-20% strategy. High group B/C averages 2%; low group A/E also averages 2%; high minus low is zero. This table shows no superior high-group return pattern.
That gross spread is not an executable, cost-adjusted long/short portfolio. Four stocks also cannot reliably supply a conventional many-quantile curve. A five-group chart should not conceal that there are fewer objects than requested groups.
Now make a separate label variation: subtract 10 percentage points from every future return, giving −6%, −12%, −4%, and −10%. Both ICs remain unchanged because ordering and within-column deviations are unchanged. Every stock now loses money, and the benchmark returns −8%.
Positive IC therefore describes a cross-sectional relationship, not the market's direction or a guarantee of positive long-only return. This variation changes teaching labels; it does not replace the original C7 record.
State coverage with its denominator
Four of five original candidates have valid signals: signal coverage is 80%. All four have the specified future labels, so paired coverage against the original pool is also 80%. Reporting 100% within only the clean four is possible if its denominator is explicit; it must not make D disappear.
Correlation also needs variation. If all valid signals are identical, or all forward returns are identical, the ordinary Pearson and rank-correlation denominators are unavailable. Mark the coefficient undefined, rather than zero or evidence of a stable risk-free signal.
Missing observations may cluster among smaller companies, suspended stocks, or exiting members. Deletion need not be random. Preserve candidates, valid signals, pairs, and reasons at every date, checking whether unfavorable observations were lost. The easiest-to-obtain subset is not automatically the whole market.
Put cross-sections into a time record
A real study needs an IC at each decision time, then its mean, changes, sign distribution, and coverage. Four stocks across twelve months do not create forty-eight independent tests. Shared same-day risks, repeated stocks, and overlapping labels can all generate dependence.
Use a completely separate synthetic time card with three adjacent monthly ICs: 0.1, −0.1, and 0.3. Their mean is 0.1 and time-series sample standard deviation is 0.2. Define ICIR on this card as mean IC divided by that time standard deviation: the result is 0.5.
This is a monthly descriptive ratio, not a portfolio information ratio. Multiplication by the square root of twelve would not establish reliable annualized ability. If all three ICs were equal, zero time standard deviation would not authorize recording infinite advantage. Three dates cannot establish robust time stability.
Fix the prediction horizon as well. Monthly decisions paired with three-month future returns create overlapping adjacent labels. More observations do not necessarily add independent information. Alternative delays and horizons are further research attempts and belong in the log, including versions with lower IC.
Costs still separate association from an account
Reuse G82's separate commission snapshot: $10 cash and B worth $200 give $210 equity. Sell B for $200 and buy C for $200, assuming full fills, 5-basis-point commission on each, no price change, slippage, or tax. Each order costs $0.10. Final cash is $9.80, C is worth $200, and equity is $209.80.
This snapshot is not the signal table's complete execution path. Subtracting its $0.20 from B's −2% would mix an amount with a return and two separate examples. It demonstrates a transaction cost, without delivering the main table's net result.
With pre-rebalance whole-account equity of $210, combined traded value divided by equity is $400/$210, approximately 190.476%. Half the absolute changes in risky-asset target weights before costs corresponds to $200/$210, or 95.238%. Using only risky-asset value of $200 would instead give 200% and 100%. Do not compare those conventions as if their denominators matched.
Grouping, weights, existing holdings, delays, and fill quantities affect portfolio value. A higher IC can accompany faster turnover or more expensive instruments. IC does not include those costs. The net portfolio remains an unfinished calculation, not a positive-correlation approval.
Leave unfinished C9 fields visible
| Evaluation | Supplied C7 evidence | Real C9 work still needed |
|---|---|---|
| Definition and pairing | Fixed endpoints and four synthetic labels | Stock-level sources, historical membership, versions, availability |
| Pearson/Rank IC | One hand-checkable cross-section | Full time series, coverage, dependence treatment |
| Groups and benchmark | Two gross groups and top-20% selection | Full groups, net holdings, costs |
| Time stability | Three-point formula card, separate from the stocks | Unselected complete record and attempt log |
| Exposure and execution | No industry/size fields; separate cost snapshot | Historical exposures, quantities, delays, execution inputs |
The table defines evaluation fields; it does not certify that experiments are complete. Missing historical industries remain unverified. Missing net ledgers do not support cost-adjusted effectiveness. Neither synthetic card supplies a universal qualifying IC threshold.
Explain the apparent contradiction yourself
Explanation question: How can IC be positive while selected B loses 2% before costs?
Application question: May a Rank IC calculation split B and C's equal signals using the trading ID priority? Preserve your reasoning before checking.
Correlation uses the cross-section; selection uses the top fraction, tie rule, and weights. These are different outputs. Statistical ranks must preserve equal signal values under the stated convention, here average rank 3.5. ID makes an order choice unique without creating predictive strength.
One future label becomes unavailable
Change only E's future return: it no longer has a reliable label. A, B, and C are unchanged. An analyst inserts zero and retains the original IC. State signal and paired coverage, identify an allowed treatment, and recalculate three-row Rank IC.
There are still four valid signals, or 4/5 = 80% coverage. Only three have labels: paired coverage is 3/5 = 60% against the original pool, or 3/4 = 75% against valid signals. Missing is not a known zero. Under a stated pairwise-deletion policy, retain the reason and identify the changed sample before recalculating.
For A/B/C, signal ranks are 1, 2.5, 2.5 and return ranks 2, 1, 3. Paired rank-deviation products sum to zero, so Rank IC is zero, not the original 0.1054. Numerical Pearson IC changes to approximately −0.2774.
One missing row has substantial influence in this tiny sample. That sensitivity does not prove deletion was appropriate or that the factor's direction is now reliably known. Preserve both versions and the source of the missing label.
Save a factor-evaluation card
Retain signals, forward returns, eligibility, and paired dates for each row, plus missing, zero-variance, and tie policies. Hand-calculate the four-row example and three-row variation. Save formulas, ranks, group sizes, gross returns, benchmark, selected holding, and the unverified net-account scope.
For a time study, add each date's coverage and IC, label horizon, overlap and dependence, candidate versions, and inspection log. If using ICIR, specify IC type, time standard-deviation denominator, frequency, and zero-denominator policy. Can another reader reconstruct the same pairs and distinguish the mechanism from real work still undone?
Give association, groups, and accounts separate answers
Fix the historical signal and future label, preserve statistical ties and missing values, and calculate numerical and rank association separately. Grouping and selection need their own rules. Positive IC guarantees neither a winning highest group nor a profitable net account.
Then examine time, exposures, and research attempts. Small samples, overlap, and zero denominators require narrower conclusions and explicit gaps. An evaluation card is useful because it identifies the next missing evidence, not because every field says passed.
References
- SciPy: pearsonr. Linear correlation and constant-input limits.
- SciPy: spearmanr. Rank correlation and small-sample inference limits; default significance is not evidence of effectiveness here.
- SciPy: rankdata. Explicit statistical tie conventions.
- Alphalens original performance.py. The factor_information_coefficient function uses Spearman; no installation is required.
Sources checked October 30, 2026. C7-82, the time card, and the turnover snapshot are synthetic and separate, not real C9 research. AI-assisted draft; independent AI full-text and bilingual review is complete. Human financial review and target-reader testing have not been conducted and are not scheduled for this production round.