Skip to content
All strategies

Strategies

TSX Miner Idiosyncratic Down-Shock Rebound: buy a Canadian metals/gold miner at the next TSX open after a >=2-sigma daily drop RELATIVE TO ITS MINER PEER BASKET, fixed 5-session open-to-open clock (CAEQ 1-DAY, 8-name panel, long-only, unlevered, flat most of the time)

Outcome: Paper Trading

TsxMinerIdioDownShockRebound

Outcome Summary

TsxMinerIdioDownShockRebound repeated the promoted ASX peer-residual down-shock rule on an 8-name TSX miner panel, buying after a stock fell far more than its peers and holding 5 sessions. The baseline was positive but weak: 337 trades, +0.64% per trade, Sharpe 0.37 and an 18.9% drawdown, above the 15% limit. It still went to optimization, where out-of-sample (Sharpe 0.52, t 1.17) and holdout (Sharpe 0.44 on 105 trades) results were consistent but not statistically significant. After one iteration the analyst recommended promotion on inconclusive-but-consistent evidence, and the strategy is now in paper trading; the open questions are profit concentrated in 2020, survivorship bias and peer-excess at about half the raw return.

Hypothesis

Original Research Lead hypothesis (not seeded). It is a disjoint-venue, disjoint-name replication of the peer-residual down-shock rule that was promoted on ASX gold miners (AsxGoldMinerIdioDownShockRebound, AUEQ, 288 trades, 0.54% per trade). It shares no instrument with that panel and runs on CAEQ, where the factory has 2 experiments in 5,004. MECHANISM: on a day a miner falls far more than the rest of the mining complex, the gap is stock-specific (guidance cut, grade or cost miss, equity raise, an index or fund……Show moreShow less

Original Research Lead hypothesis (not seeded). It is a disjoint-venue, disjoint-name replication of the peer-residual down-shock rule that was promoted on ASX gold miners (AsxGoldMinerIdioDownShockRebound, AUEQ, 288 trades, 0.54% per trade). It shares no instrument with that panel and runs on CAEQ, where the factory has 2 experiments in 5,004. MECHANISM: on a day a miner falls far more than the rest of the mining complex, the gap is stock-specific (guidance cut, grade or cost miss, equity raise, an index or fund exit) rather than metal-price news. TSX miners have heavy passive and retail ownership and a thin pool of specialist buyers, so liquidity-driven selling overshoots and partly reverses over about a week. SIGNAL (computed at each TSX daily close): for each panel name i, r_i = log return close-to-close; peer_i = equal-weight mean log return of the OTHER panel names listed that day; beta_i = 120-session rolling OLS slope of r_i on peer_i, lagged one session; residual e_i = r_i - beta_i x peer_i; z_i = e_i / (60-session rolling std of e_i, lagged one session). A shock is z_i <= shock_z (baseline -2.0) AND r_i < 0. EXECUTION: the buy is a market order decided on the shock day's close that fills at the NEXT TSX session open (next_open_fill, supported on session venues); the position is closed by a market order decided on the close of the 4th session after entry, which fills at the open of the 5th session after entry: exactly 5 sessions open-to-open. No stop and no target (risk-control route (b): time exit plus capped sizing). PANEL (fixed, pre-registered; all have CAEQ daily bars from 2018-01-02): gold/precious AEM, ABX, K, WPM, FNV; base metals and uranium TECK-B, FM, CCO. SURVIVORSHIP DISCLOSURE: the panel comes from today's TSX top-100 universe file; miners that collapsed or were taken over before today are not in the catalog, so the long arm is biased upward by name selection. The peer-relative trigger and a pre-registered peer-excess diagnostic are the controls: the backtest report must give each trade's return minus the equal-weight peer basket's same 5-session open-to-open return. If raw returns are positive but peer-excess is <= 0, the idiosyncratic-rebound premise is NOT shown (it is miner beta in a metals bull market) and the analyst should read it that way. PRE-STUDY (frozen rule shock_z=-2.0, 5-session clock, measured on these exact names 2018-01 to 2026-10, used only to pre-register sample size): 417 events on 333 distinct entry dates (about 38 dates a year); mean raw 5-session open-to-open return +1.04%, mean peer-excess +0.48%, 56.6% positive; raw mean positive in 7 of 9 calendar years (2019 -0.94%, 2023 -0.27%); every name except FM had a positive mean. FEE ARITHMETIC: CAEQ is commission-light; assume ~0.10% round-trip spread and impact on these large caps, so the 1.04% raw mean (≈0.9% net) is ~9x the round trip, and the analyst floor (round trip + 0.05) is about 0.15%. Sizing: 12.5% of equity per position, at most 6 concurrent (75% gross), one position per name, no pyramiding; a new shock on a name already held is ignored. CAEQ is a cash account in CAD: long-only, 1x. At ~50% annualized single-name vol a 12.5% leg contributes ~6% annualized vol, well inside the conservative profile's 120% per-position cap; expected strategy vol ~8-12%.

Venue diversity: CAEQ has 2 of 5,004 experiments (BINANCE 48%). Mechanism: the factory's best-surviving family (event_driven 16% survival, long-side shock absorption with a fixed clock) with the L256 residual trigger, moved to a new market and names disjoint from every prior panel, as L262 asks for replications. L236 warned that crypto rules do not automatically transfer to equities, so a frozen-rule forward-return pre-study on the exact names was run first (positive raw and peer-excess means, 7/9 years positive). L238/L263: distinct entry dates (333) are pre-registered alongside per-name trades.

Implementation

Long-only CAEQ daily panel of 8 TSX miners (AEM primary; ABX, K, WPM, FNV, TECK-B, FM, CCO as traded extra legs). At each TSX close, per name: log return r, peer = equal-weight mean return of the other names with a bar that day, beta = 120-session OLS slope of r on peer ending t-1, residual e = r - beta*peer, z = e / std(e over 60 sessions ending t-1). Buy when z <= shock_z (-2.0) and r < 0, the name is not held and fewer than 6 positions are open (most negative z first). Market order decided on the close fills at the next TSX session open (platform next_open_fill). Size floor(0.125 x mark-to-market equity / last close) shares. Exit: market sell decided on the close of the 4th session after entry, filling at the 5th session's open (hold_sessions=5 open-to-open), counted from position.ts_opened. No stop, no target; new shocks on a held name are ignored.

Faithful port of the promoted AUEQ peer-residual down-shock rule to a disjoint CAEQ miner panel, with the hypothesis's fixed values (position_pct 0.125, max_concurrent 6, beta 120, resid std 60, 181-session warm-up) and tunables shock_z in [-3.0,-1.5] and hold_sessions in [3,8], declared in _param_bounds (the code clamps to them). Beta and residual sigma use only rows up to t-1 (lagged one session). Execution uses the supported next_open_fill capability. Risk control is route (b): a fixed time exit plus capped sizing, 12.5% of equity per name and at most 75% gross, unlevered on a CAD cash account. Internal data-sufficiency guards (min_peers 3, min_beta_pairs 60, min_resid_obs 40) never bind after the 181-session warm-up on this gap-free panel. All 8 names have CAEQ 1-DAY bars from 2018-01-02, so the fixed panel needs no point_in_time_universe flag; is_listed() still screens each leg. The peer-excess diagnostic (trade return minus the peer basket's same 5-session open-to-open return) is a report-side analysis and is not computed in the strategy.

Verification Results

No change is required. Optionally subtract positions with a pending clock exit from `held` if same-open slot reuse is intended.

Slot counting treats a position whose time-exit is submitted on this close as still occupying a slot. When 6 legs are held and one exits at tomorrow's open, a shock on the same close cannot take the freed slot. This matches the literal rule 'open positions < max_concurrent' at decision time, is conservative, and rarely binds.

Optionally count bars from each leg's own buffer, or count session dates through the sessions helper.

_sessions_held counts primary (AEM) bars after position.ts_opened. If AEM is ever missing a session that other legs traded (a halt), the hold clock for every leg slips by one session. This is unlikely on this gap-free large-cap panel.

Optionally keep rolling sums for the beta and sigma windows.

The sandbox flagged runtime_review_required (135 s for the sandbox window, about 181 s projected for the full history). The beta and residual-sigma loops are O(lookback) per name per bar. This affects resources only, not correctness.

The panel is survivorship-biased (today's TSX large-cap miners), and it mixes gold names with base-metal and uranium names (TECK-B, FM, CCO), so the peer residual can carry commodity-specific moves. The pre-study peer-excess (+0.48%) is about half the raw mean. The analyst should read the pre-registered peer-excess diagnostic, which is computed in the report rather than in the strategy, before crediting a raw positive result. 417 events fall on only 333 distinct dates, so clustered shocks (2020, 2022) reduce the effective sample.

Backtest Review

Sharpe
0.37
Total return
27.77%
Max drawdown
18.90%
Trades
337
Win rate
53.1%
Profit factor
1.27

Reliable sample on the development period (2018-10 to the 2025-01-23 cut): 265 closed positions across all 8 names (25-44 each), well above the 20-trades-per-window x 3 windows the validator needs.

Per-trade economics clear the CAEQ floor: 0.50% of notional per trade against the ~0.15% floor (about 3x), with zero commission and execution cost already in PnL. Profit factor 1.19, win rate 0.51, average win/loss 920/790 CAD, total return +15.4%.

The trades match the mechanism: every trade is long, holds are about 7 calendar days (5 sessions open-to-open), and sizing is about 12.5% of equity (leverage 0.12 per leg). The first trade enters TECK-B after a drop, as the rule says.

QA's survivorship and peer-excess concern is not borne out at this stage. A rough check, which subtracts the equal-weight basket's return over each holding window using the sparse basket curve in the detail file, puts mean peer-excess per trade positive (above the raw 0.50%), with 60% of trades positive. This is an approximation only; the exact open-to-open diagnostic still needs to be read at analysis.

Profit is not concentrated in one name: 6 of 8 names are net positive (FNV +10.1k, CCO +7.7k, AEM +5.1k, TECK-B +4.8k, K +3.1k, ABX ~0). FM (-6.3k) was the name the pre-study flagged as negative; WPM is -4.8k.

Sharpe is weak at 0.28 (CI -0.52 to 1.04, probabilistic Sharpe 0.70), CAGR 2.3% and Calmar 0.12. Returns are lumpy: 2020 gave +10.7% and 2022 +6.3%, while 2019 (-3.0%) and 2023 (-5.5%) lost money, which matches the pre-study's weak years.

Max drawdown is 18.9%, above the pre-registered 15% constraint, and the longest drawdown lasted 713 days. The COVID window alone had a 16.3% drawdown. The optimizer's constraint will bind; if it rejects most windows, that is the answer.

Kurtosis is 95 and skew 1.4, so a few event days drive the result. 265 trades fall on fewer distinct dates.

Analysis

No hard gate failed. Inconclusive, not negative: pooled out-of-sample Sharpe 0.52 (t 1.17 vs a 2.0 hurdle); holdout Sharpe 0.44 on 105 trades, retention ratio 0.84, z vs out-of-sample -0.07, so it is consistent with the walk-forward

0.518% net per trade vs the 0.12% CAEQ floor, 7 of 8 years positive, drawdown 14.3% inside the pre-registered 15%

The pre-registered peer-excess control comes out positive: recomputed from the 337 baseline trades, mean +0.41% (+0.59% in the holdout period), positive for 7 of 8 names, though not significant

No cliffs; walk-forward choices of shock_z are stable (dispersion 0.21); same mechanism and per-trade size as the promoted ASX sibling

Worst realised loss 2.36% of equity, largest position 13.6%; about 13% deployed per trade

2 of 15 walk-forward windows produced no candidate inside the 15% drawdown limit because of COVID 2020; out-of-sample returns come in lumpy bursts

2020 carries 46% of the profit

3 of 6 predictions missed (profit factor, win rate, per-trade return)

Peer-excess is about half the raw return; survivorship bias of today's large-cap panel remains

LOW CONFIDENCE: NOT STATISTICALLY PROVEN. Paper only, at half weight, with the final parameters (shock_z -1.677, 5-session hold). Kill criteria: review after 60 paper trades or 12 months; require mean net trade return >= 0.15% and mean peer-excess > 0; halt if drawdown > 18% or any single trade loses more than 3% of equity.

Risk Review

Risk control holds on route (b): a fixed 5-session time exit plus capped sizing. The largest measured position is 13.6% of equity (FM, 2020-03-24), against the 100% cap. The worst realised trade lost 2.36% of equity (FM, -19.0% on a 12.4% position, 2022-06-17), and the worst adverse excursion was 3.99% of equity. The account is unlevered (1x, cash account in CAD, long-only). Under the conservative profile, realised volatility is 10.6% (band 5-60%) and peak single-position volatility is 10.6% (cap 120%). Leverage and the liquidation buffer do not apply. There is no stop-loss, which is acceptable on this route.

The drawdown pattern is not gradual. The development-period max drawdown of 14.3% falls just inside the pre-registered 15% and came in the COVID crash (Feb-Apr 2020). The bootstrap drawdown interval reaches 33.4%, and the longest drawdown lasted 558 days. Returns are very fat-tailed (kurtosis 75, skew 1.8): the strategy buys names into stock-specific crashes, where several clustered shocks can fill up to 6 slots (75% gross) at once in one sector.

Recent walk-forward windows include sharp losers: Sep 2023-Jan 2024 (-6.2%), Apr-Aug 2022 (-6.0%) and Sep 2024-Jan 2025 (-5.0%, the window right before the holdout). The optimization ended inconclusive: pooled out-of-sample t-stat 1.17 against a 2.0 hurdle, holdout inconclusive. This is low-confidence paper evidence only.

Correlation with the deployed book: AsxGoldMinerIdioDownShockRebound (paper) runs the same peer-residual down-shock rule on gold miners. Both books are long miners after a sell-off and share gold-price and miner-sector beta, so their drawdowns are likely to coincide in a broad miner sell-off. CaeqTurnOfMonthBasket also trades CAEQ long-only. The live book itself is clean: no members in breach and no open execution items.

Market impact is small. Each position is 12.5% of equity in TSX large caps (AEM, ABX, K, WPM, FNV, TECK-B, CCO), and impact costs are 15.5% of gross against a 50% ceiling. FM is the most volatile name (4.1% daily standard deviation), and it produced both the largest position and the worst loss.

Both soft floors are waived for low-confidence paper. Profit factor is 1.22 against a 1.3 floor, but the average trade nets 0.52% of notional against the 0.12% CAEQ floor, and 7 of 8 years were positive; the payoff ratio (1.08) and a 53% win rate together carry the edge. Calmar is 0.27 against a 0.5 floor. That reflects low capital use (flat most of the time, 12.5% per position) rather than excess risk: the 14.3% drawdown at 1x stays inside the strategy's pre-registered 15%.

3 of 6 pre-registered predictions were missed, all narrowly: win rate 0.529 vs 0.53, profit factor 1.22 vs 1.3, average trade return 0.52% vs 0.6%. The predictions for drawdown, total return and trade count were met. Parameter stability is 'stable': walk-forward choices of shock_z cluster between -1.6 and -1.9, and the final value is -1.68.

Paper only, under the label 'low confidence: not statistically proven'. This review gives no real-money approval; going live needs forward paper evidence.

Keep position_pct at 0.125 and max_concurrent at 6 (75% gross). Do not raise the sizing in paper.

Treat this strategy and AsxGoldMinerIdioDownShockRebound as one correlated miner-rebound risk bucket when allocating capital, so their combined allocation is not double-counted as diversification.

If the paper drawdown exceeds the pre-registered 15%, hold new entries for review.

Outcome Summary

Peer-excess was only about half the raw return, 2020 alone produced 46% of the profit and the panel carries survivorship bias, so paper trading has to show the idiosyncratic rebound outside one-off stress bursts before it counts as real evidence.

Backtest Review chose to optimize. The analyst then recommended promotion: no hard gate failed, and the evidence was inconclusive rather than negative, since the holdout matched the walk-forward and the pre-registered peer-excess control came out positive (+0.41% mean, not significant). The run is now in paper trading.

Buy one of 8 Canadian gold/base-metal miners (CAEQ, long-only, unlevered, 12.5% per name) at the next TSX open after a <= -2 sigma daily drop relative to its miner peer basket, then hold for exactly 5 sessions open-to-open, on the idea that stock-specific liquidity selling overshoots and partly reverses; it repeats on a separate venue and separate names the rule already promoted on ASX gold miners.

The full-history baseline (2018-10 to 2026-10) made 337 trades at +0.64% of notional per trade, +27.8% total return in CAD (+18.9% in USD after an -8.9% FX effect), Sharpe 0.37 (CI -0.29 to 1.05), with an 18.9% max drawdown and a 979-day longest drawdown. After optimization, pooled out-of-sample Sharpe was 0.52 (t 1.17 against a 2.0 hurdle) and holdout Sharpe 0.44 on 105 trades, with 0.518% net per trade and a 14.3% drawdown.

Backtest and paper results are hypothetical. Trading involves risk of loss.