Measuring Forecast Power: IC, Horizon, and Half-LifeE-mini S&P 500 FuturesCME_MINI_DL:ES1!EdgeToolsPart 1 of 5: The Signal Book A useful public-research abstraction of quantitative investing is closer to a factory for forecasts than to a secret indicator: many weak predictions about future returns, measured carefully, ranked, combined, and retired when they stop earning their keep. Firms such as Renaissance or Two Sigma are often named in that conversation. This series uses them as orientation, not as reverse-engineered blueprints. What follows is reconstructible method from public research and standard practice, written for readers who live on charts. Every technical term is defined when it first appears, with a plain sentence, a precise sentence, and a number on real data. Part 1 answers one question only: does a forecast contain measurable information? That is the first question in a research process. It is not the same question as whether the forecast is robust, economically large, or profitable after costs. A signal is not a trade On TradingView, a "signal" usually means an arrow: buy here, sell there. Inside a quantitative research desk, a signal is something quieter. It is a number attached to a moment in time that is supposed to say something about returns still ahead. Plain version: today's score is a guess about what happens next. Precise version: a signal is a candidate predictor of future returns over a chosen horizon. In this series, "forecast" means a monotone score intended to rank expected relative returns, not an explicit point prediction such as "+0.37 percent expected return." The score becomes a forecast in the research sense once it is paired with subsequent returns and evaluated. Until then it is a candidate predictor sitting on the chart. Example: every day we give SPY a score. Higher is intended to mean "expect a bit more upside than usual over the next five trading days relative to lower-score days." Lower is intended to mean the opposite. Whether that intention survives contact with data is what Part 1 measures. No arrow is required. The score can sit unused, or it can later become a small weight change in a portfolio. That second step is not this article. Trading instructions are downstream. Forecast quality is upstream. A positive measurement of forecast quality does not invent a trade, and it does not guarantee that any particular trade built from the forecast will make money. The teaching forecast we will measure We need one concrete score so the ideas stop floating. It is a teaching object, not a product launch and not a claim that you should trade it standalone. Take the daily adjusted close of SPY. For each day t, form a z-score from the closing price on that day and the L-day window that ends on t (the window includes close_t): z_t = (close_t - mean(close_{t-L+1 ... t})) / std(close_{t-L+1 ... t}) with population standard deviation (ddof = 0), matching the script that produces the figures. Then: forecast_t = -z_t The score is computed using information available at the close of day t, and is paired with the subsequent H-day adjusted-close return from t to t+H. This is a measurement convention, not an execution assumption: the close-to-close pairing does not claim that a trader could know and trade the closing price of t in real time. It defines how the research metric is calculated. Figure 1: Measurement timing for the research metric. The score uses closes through t inclusive. The return runs from the close of t to the close of t+H. This diagram is not an execution recipe. Plain version: when price sits unusually far below its recent average at the close, the score leans positive for the days ahead. When it sits unusually far above, the score leans negative. That is mean reversion written as a continuous score rather than as a binary band break. We use SPY from 29 January 1993 through 7 August 2026, 8,438 daily bars, adjusted closes via yfinance. Adjusted close incorporates dividends and splits into the price series, which is useful when the object of study is a total-return-like path. It is still not identical to the cash P&L of a concrete trading process with fills, borrowing, taxes, and reinvestment mechanics. Here we are only measuring a score against subsequent adjusted returns. The default teaching slice: Lookback L = 20 trading days Forward horizon H = 5 trading days Other values appear only to show that the answer depends on those choices Exact implementation: part1_visuals.py Why win rate is the wrong first question Retail evaluation often starts with win rate: how often did the direction match? That question is not illegal. It is incomplete. On the default slice (L = 20, H = 5), a simple directional rule that follows the sign of the forecast is correct on 47.3% of days with a non-zero forward return. Below a coin flip. Many readers would stop there and call the idea dead. They would be stopping too early. SPY has positive average returns over this sample, so a rule that takes the opposite side when the score is negative can have a win rate below 50% even when the score retains positive rank association with future returns. Win rate asks a yes/no question. Forecast quality, as used here, is about ordering and association with subsequent returns. The converse also holds, and it is just as important: A positive information coefficient does not imply that a crude long/short rule on the sign of the score is profitable, before or after costs. Rank association is not a trading rule, and it is not a net-return claim. Information coefficient, said slowly In institutional research, the information coefficient (IC) is commonly used for forecast-return rank association; the exact construction depends on whether forecasts are evaluated cross-sectionally across many assets on one date, or through time for one asset (Grinold and Kahn, 1999). This article uses a time-series IC: one asset, many dates. That is a valid Spearman association between score and subsequent return. It is not the cross-sectional IC that equity long/short desks often mean first. Part 2 will need that distinction again when "breadth" enters the story. Figure 2: Same word, two constructions. Left: time-series IC across dates for one asset (this article). Right: cross-sectional IC across assets on one date (common long/short usage). Plain version: on days when today's score is more bullish than usual for SPY, are the next H days also more bullish than usual for SPY? Precise version: the time-series IC is the Spearman rank correlation between forecast_t and the realised forward return from t to t+H. Spearman means we care about ordering: higher forecast ranks with higher subsequent returns, without assuming a straight line. On the default slice the IC is 0.076, computed on 8,414 overlapping daily observations, with a conventional two-sided Spearman p-value of 2.4 x 10^-12. With thousands of observations, a small correlation can produce an extremely small p-value. Statistical evidence that the rank association is positive in this sample is not the same thing as economic relevance, stability across regimes, or tradability after costs. Those 8,414 rows are also not 8,414 independent pieces of evidence. The forecast series is serially dependent because consecutive -z values share most of the same L-day window. The forward-return series is serially dependent because multi-day windows overlap. The textbook Spearman p-value treats pairs as if they were independent, so it should not be read as if every observation contributed a fresh, separate confirmation. Dependence-aware tools (block resampling, HAC-style errors such as Newey and West, 1987) would be the next inference step. Part 1 does not rebuild that stack here. Figure 3: Why the rows are not independent evidence. Left: adjacent five-day forward returns share most of the same path. Right: consecutive L = 20 scores share 19 of 20 lookback days. Figure 4: Each point is one SPY day. Horizontal axis: forecast score at the close of day t (-z) with L = 20. Vertical axis: realised adjusted return from t to t+5. Spearman time-series IC = 0.076 (n = 8,414 overlapping observations). The cloud is noisy. That is what a small measured association looks like before anyone dresses it up as a strategy. Quintile averages are a second view of the same pairing, not independent evidence. Sort days into five equal buckets by forecast. On this sample the most bearish fifth is followed by an average five-day return of about 0.09%, and the most bullish fifth by about 0.51%. The extremes are ordered in the expected direction; the middle buckets are noisy (they are not a clean monotone ladder). Ranking can still show association even while a crude directional win rate sits under 50%. Figure 5: Mean five-day adjusted return by forecast quintile on the same SPY sample (L = 20, H = 5). Extremes ordered as expected; middle buckets noisy. Same evidence as Figure 4, redrawn as buckets. Horizon: the same forecast, different question lengths "Does it work?" is unfinished English. Works over one day, five days, or sixty days are different questions. The IC has to be recomputed for each horizon H. Figure 6: Same teaching signal on SPY with lookback L = 20. Top panel: IC across forecast horizons. Bottom panel: directional win rate on the same days. At H = 5 the IC is 0.076 while win rate is 47.3%. Two meters, two answers. Across horizons in this sample the IC stays positive but modest, roughly in a band from about 0.05 to 0.08 depending on H. It does not collapse to zero at H = 60. That is a descriptive fact about this teaching signal on SPY in this sample, not a licence to treat every signal as immortal, and not a claim about future life. The horizon sweep is exploratory. The different H values are not sixty independent confirmation tests. Other forecasts die within days. Horizon remains part of the definition of the forecast, not an afterthought. Signal freshness, not classical half-life "Decay" is easy to over-narrate. Two different measurements get confused under one word. Horizon: how the IC changes when you ask about longer future windows. That curve is allowed to be ugly. For this signal it is not a clean slide toward zero, so we do not force an exponential lifetime onto it. Freshness under a fixed target window: keep asking about the next five-day return that starts today, but feed in an older score. Record the lag at which the measured IC first falls to half of the fresh-score IC. That second number is a rough operational threshold for the predictive strength of a frozen score against a later-defined forward-return window. It is sensitive to noise in the lag curve, not a precise half-life estimate, not a causal claim that "information decays" in the market, and not the classical half-life of an autoregressive process. Figure 7: Left panel: IC versus forecast horizon for L = 20. Right panel: IC of a lagged forecast against the same five-day forward return. The fresh IC is 0.076. The measured IC first falls to half of that level at roughly a three-day lag. That half mark is a rough operational threshold, not a precise half-life. Plain version: if you freeze the same score and keep asking it about the current five-day window, its measured association has already dropped below half of the freshly computed score by about a three-day lag. That is not the same statement as weekly research is worse than daily research. A weekly process that recomputes a new score each week is different from freezing one score for seven days. The measurement only disciplines the frozen-score case. IC is a surface Lookback L and horizon H are both choices. Fixing one and sweeping the other still understates the object. The honest picture is a surface: height equals time-series IC, one horizontal axis is horizon, the other is lookback. Figure 8: Time-series information coefficient surface for the z-score mean-reversion score on SPY. Height is Spearman IC. The yellow marker is the teaching point L = 20, H = 5 (IC = 0.076). Across the computed grid, IC ranges from about 0.039 to about 0.102. The surface describes the search space. It is not a leaderboard. Nearby grid points are themselves highly dependent: L = 19, 20, and 21 produce almost the same score; H = 4, 5, and 6 produce overlapping targets. Dependence reduces the effective number of independent comparisons; it does not remove the selection problem. Looking at many combinations and then highlighting the tallest point remains data snooping. The surface is descriptive, not a battery of independent tests. The highest grid point near L = 50 and H = 20 (IC about 0.102) looks materially taller than the teaching point at 0.076. The visual height difference is descriptive. Without out-of-sample validation or uncertainty estimates, we cannot say that 0.102 represents a materially better underlying forecast than 0.076. Exploration can map a landscape. It cannot, by itself, certify the hilltop. Optional detail: the estimator f_t = -z_t from closes through t inclusive r_{t,t+H} = close_{t+H}/close_t - 1 using adjusted closes IC_H = Spearman corr(ranks of f_t, ranks of r_{t,t+H}) This is a time-series IC. The reported p-value assumes independent pairs. Both the forecast series and the overlapping forward-return series are serially dependent, so the p-value is descriptive, not definitive. What a positive IC does and does not answer A positive time-series IC answers the first research question: is there measurable rank association between this score and subsequent returns, for this sample, this horizon, and this definition of association? On the teaching example, the answer is yes, with the caveats above. It does not answer: whether a second indicator adds anything new whether the association survives regime shifts how to weight several forecasts under trading costs how much capital the idea can bear whether the association is economically large enough to matter after frictions Those are Parts 2 to 5. Eight thousand overlapping rows on one asset are not eight thousand independent information sources. A score can generate many calendar observations and still give you few independent forecast bets. That gap is exactly where breadth begins. Research desks still start here. Not with "is this a good setup?", but with "is this a score that forecasts, over which horizon, how strong is the measured association, and how fast does a frozen score lose strength against a fixed forward window?" Everything else is downstream. You should now be able to explain A candidate score becomes a forecast in the research sense when it is paired with subsequent returns; measurement timing is not execution timing. This article's IC is a time-series IC on one asset, not a cross-sectional IC across many assets. Win rate can miss ranking information; a positive IC also does not prove a sign-based trade is profitable. A tiny IC can look "highly significant" in a large sample without being economically relevant or tradable. Naive p-values should not be read as if every observation were independent evidence. Horizon sweeps and IC surfaces are exploratory maps; dependence among nearby points does not cancel selection bias. Signal freshness here is a rough operational threshold for a frozen score, not a classical process half-life. Many overlapping observations are not the same as many independent forecast bets. Next: True Breadth Part 2 asks what comes immediately after measurement: if you have five scores with decent ICs, how many independent forecasts do you actually own? Because Part 1 used a time-series IC on one asset, and because 8,414 rows are not 8,414 independent bets, Part 2 has to define independence and breadth before anyone starts counting indicators as separate edges. References Grinold, R.C. and Kahn, R.N. (1999) Active Portfolio Management. 2nd edn. New York: McGraw-Hill. Newey, W.K. and West, K.D. (1987) 'A simple, positive semi-definite, heteroskedasticity and autocorrelation consistent covariance matrix', Econometrica.