← Documentation

Signal Discovery

Which factors predict short-term ASX returns, and at what horizon.

What it is

The Signal Discovery page runs an Information Coefficient (IC) sweep across 13 quantitative factors and 20 prediction horizons (lag 1–20 trading days). For each (factor, lag) combination it measures how well that factor, computed today, predicts which stocks will outperform over the next N days.

A positive IC means the factor is a buy signal — high-ranked stocks tend to outperform. A negative IC means it is a sell / short signal — high-ranked stocks tend to underperform. The magnitude tells you how strong the effect is; the T-stat and FDR badge tell you whether it is statistically reliable.

⚠ IC measures rank correlation on past data. Even a genuinely significant factor typically explains only a few percent of forward return variance — it is an input to a thesis, not a standalone trade signal.

Factors explained

Each row in the table corresponds to one (factor, lag) pair. The factors currently in the sweep are:

FactorWhat it measuresIntuition
short_pct Current short interest as a % of shares outstanding High short interest can indicate bearish sentiment — or a potential short squeeze if the stock rallies.
short_slope20 Linear slope of short_pct over the past 20 days Rising shorts = shorts are pressing; falling shorts = covering. Trend in positioning often precedes price moves.
short_z20 Short interest z-score vs its own 20-day history Normalises across stocks with structurally different short levels — a z-score of +2 means shorts are unusually elevated for this particular stock.
returns_1d Yesterday's 1-day return Tests for short-term momentum or mean-reversion. A negative IC at lag 1 would indicate mean-reversion; positive would indicate overnight momentum.
returns_z5 5-day return z-score vs peers Cross-sectional momentum over a week. Stocks with unusually strong 5-day performance relative to the market.
returns_slope20 Linear slope of daily returns over 20 days A smoothed trend signal. Positive slope = accelerating momentum; negative = decelerating.
returns_z20 20-day return z-score vs peers Longer-horizon cross-sectional momentum. Often mean-reverts at short lags — stocks that have run hard tend to give back some gains.
volume_z5 5-day average volume z-score vs its own history A volume spike can indicate institutional accumulation or distribution — often a precursor to a directional move.
volume_z20 20-day average volume z-score vs its own history Sustained volume elevation. Less reactive than the 5-day version; more likely to reflect a structural change in activity.
log_volume Log of today's total traded volume Raw volume as a size/liquidity proxy. Large stocks systematically have high volume, so this partly captures market-cap effects.
hl_spread Intraday high−low range as a fraction of close A realised volatility proxy. Wide ranges indicate uncertainty or active price discovery — can precede reversals.
hl_z20 hl_spread z-score vs its own 20-day history Whether today's range is unusually large or small for this stock. A spike often coincides with news events.
gap Overnight gap: today's open minus yesterday's close, scaled by close Measures how much information arrived overnight. Large positive gaps often partially fill during the day (mean-reversion); small gaps may continue.
Reading the table
ColumnDescription
Factor The quantitative signal computed from market data. See the factor table above.
Lag How many trading days ahead the factor is predicting. Lag 1 = next day, lag 5 = next week, lag 20 = approximately next month.
Mean IC Average Spearman rank correlation between factor values and forward returns, computed cross-sectionally each day over the full training period. Ranges roughly from −0.05 to +0.05 for typical equity factors — anything above ±0.02 is considered meaningful.
IC IR Information Ratio of the IC series: Mean IC ÷ Std(IC). Measures consistency. An IC IR above 0.3 is considered good; above 0.5 is strong. Sorted by absolute IC IR by default.
T-Stat T-statistic testing whether Mean IC is significantly different from zero. |T| > 2 is typically the threshold for statistical significance.
Signal Buy (green) if Mean IC > 0 — high factor values predict outperformance. Sell (red) if Mean IC < 0 — high values predict underperformance. The bar shows the T-stat magnitude.
FDR sig badge if the result survives Benjamini-Hochberg False Discovery Rate correction across all 260 (factor × lag) combinations. Without this correction, roughly 13 combinations would appear significant by chance at p < 0.05.
Controls
ControlWhat it does
FDR significant only Checked by default. Hides results that do not survive multiple-testing correction, reducing the table to only reliably significant (factor, lag) pairs.
Filter by factor Type a factor name (e.g. short) to narrow the table to matching rows.
Column headers Click any header to sort by that column. T-Stat and IC IR sort by absolute value so the strongest signals (positive or negative) surface first.
Interpreting the results
What a good signal looks like

💡 IC decays with lag. A factor with IC 0.025 at lag 1 and IC 0.010 at lag 5 is telling you the effect is concentrated in the first few days. The actionable window is short.

Why IC values look small

Mean IC values of 0.02–0.04 might look negligible, but cross-sectional equity ICs are inherently small. The ASX universe is diverse — mining, banking, healthcare, retail — and no single factor explains much return variance across all of them. An IC of 0.03 applied daily across 400 stocks compounds into a meaningful edge when combined with sound position sizing and risk management.

Mean-reversion vs momentum

Several return-based factors (returns_z20, hl_spread) show negative IC at short lags — stocks that have outperformed recently tend to underperform in the next few days. This is mean-reversion, which is common at the 1–5 day horizon in smaller, less liquid markets like the ASX. At longer lags (10–20 days) the sign sometimes flips as medium-term momentum takes over.

Short interest factors

short_pct tends to show positive IC (high short interest predicts outperformance) at short horizons — counterintuitive at first, but consistent with the short-squeeze dynamic: stocks with elevated shorts are more prone to violent upside moves when they catch a bid. At longer lags the sign often reverses, reflecting the fact that heavily shorted stocks are usually shorted for good fundamental reasons.

How the data is produced

The sweep is computed offline using the GPU analysis pipeline in asx-data/analysis/ and the results are stored in analysis/results/ic_sweep_results.csv. The page serves this pre-computed file — it does not run the sweep on demand.

Training data runs up to 1 March 2025 — the same cutoff used for all other analysis in the toolkit. The IC values shown are therefore in-sample for the training period. Out-of-sample validation would require running the IC sweep on the held-out period (2025-Mar onwards), which is not yet implemented.

The page auto-refreshes every 5 minutes. If the underlying CSV has been updated (after a new sweep run), the table will pick up the new results on the next refresh.