Is the record's booked close-to-close return still there when the position is entered at the next open and closed that same session (the intraday leg only)?
long book attainable bps / all
Forking-paths ledger · 29 registrations · 17 blocks with results
Every block was registered — hypothesis, statistic and decision rule fixed in a committed document — before it ran. What was committed to comes first; what came out is below it. Nothing here is live evidence.
Every block that ran is listed, including the ones that tested a return no execution could take — that is what a forking-paths ledger is for, and dropping them would be the selective reporting it exists to prevent. But only one leg is reported as a result anywhere else on this site: the implementable one, open t+1 to open t+2. The credited close-to-close return the record books is an accounting convention, not a strategy.
Each finished block: the question it registered, the verdict its own decision rule produced, and where and when that rule was fixed.
Is the record's booked close-to-close return still there when the position is entered at the next open and closed that same session (the intraday leg only)?
long book attainable bps / all
Does the edge depend on the market regime — volatility, trend, or cross-sectional dispersion?
Does an execution one day behind the signal — next open to the open after — earn the edge? This is the only leg the platform reports as a result.
implementable over credited / all
Are the vendor's option chains complete enough on delisted names to build survivorship-free implied-volatility features?
atm iv usable / served
Do option-implied volatility features add rank information over the frozen model?
Q3 amended before it ran: do the options features add rank information on the leg the book trades, over the survivorship-complete panel, beyond the score and realised risk?
verdict / all
Phase Q: implied volatility as new cross-sectional information
Does option activity — volume, put share, open interest, implied-vol changes — add rank information on the traded leg beyond the score and realised risk?
verdict / all
Is any options construction good enough to trade — a paired net gain over the book in both halves and outside the contaminated region?
verdict / all
Does implied volatility forecast a stock's coming volatility better than its trailing realised volatility?
verdict / all
Does weighting the book by inverse implied volatility beat equal weight and inverse realised volatility, net?
verdict / all
Does a market-wide implied-dispersion gate beat the realised-dispersion gate?
verdict / all
What are the factor alphas when the market regressor is aligned to the same window as the return it explains (FINDINGS C8)?
Does the book's overnight alpha survive a third night?
Does the ranking order names inside its own top — the prerequisite for holding fewer of them?
Does the calm-market result survive a null that preserves how persistent a regime label is?
verdict / gate_family
Does refitting the model on recent data, weighted toward it, beat the frozen one on identical dates?
No block matches these filters.
Each stamp is the verdict word the block's own rule produced, read against the claim it tested: a pass is set in the positive colour, a fail in the negative one. Neutral outcomes — INDISTINGUISHABLE, PARTIAL, VOID, “not detected” — stay uncoloured: they are outcomes, not results, and a void run is not a failure of the hypothesis. A block whose verdicts differ by label is counted under each outcome it carries. “Supports” is a reading of a backtest verdict, never a live result.
backtest The frozen model scored on dates it never traded, after the fact. A description of the holdout, not evidence — only live days are evidence.
Lines of work this project has stopped, each with what closed it. Kept so a later reader — or a later agent — does not spend a week re-opening one, and so that reopening any of them is a deliberate act with a reason.
Closed 01
the profile is flat below decile 1; the buffer already halves turnover; tranches turn over less and earn less
Closed 02
recency weighting took a third of the IC away at t −1.6
Closed 03
the form subtracts the market twice; its sector half is rs_sector_v1, already in the model
Closed 04
restatements of C16, unstable, absent since 2023; the overlay is mostly free leverage
Closed 05
real on the universe, 2020-onward, adds nothing inside the decile, harvestable only below cost
Closed 06
a cost identity; an overnight-only book breaks even below its cost
Closed 07
the design's power was under a tenth; no member of that family may run again without its minimum detectable difference computed first
Closed 08
settled before today and again in every stream
Read the closed by tags carefully: an R verdict came from a registered block, an AG-0nn from an agent of the research fleet. An agent verdict is not a record finding — it is an argument recorded in research/agent-ledger/ with its own data and its own reasoning, and none of it is live evidence. Nothing here is evidence either way; it is a list of questions that stopped being worth asking.
29 blocks, oldest first: the document, the items committed to, and the commit that fixed them before anything ran. Where a registration's blocks wrote statistics to this ledger, they are linked.
did the gates over-filter? five diagnostics, no gate tuning in response
GBM must clear the same gates as the combo engine; Phase G parked until G1 clears
is the frozen GBM result a construction artifact, does it decay, and is it timing or a factor tilt?
is the frozen h=1 GBM alpha or repackaged low-vol/trend, does it survive 2008, and is the short book tradeable? Phase G decided on this.
verify the J3(b) long-only regression arithmetic; re-run J1 with value and size proxies. Phase G conditional on both.
Phase L: GBM-guided arity-3 combinations (plan docs/phase-L-plan.md)
L2b: replicate nulls + control arm after the L2 gate failure
L2c: FDR-pool fix + verification battery after the L2b cause finding
Phase M: tail-cell acceptance rebuild at 2024 cutoff (plan approved; two adversarial review rounds folded in)
N1: does the downside-state edge survive in untouched data (gates the Phase N watcher)
O1: the named falsification test, review-hardened second draft
Phase P: attainable return and regime map of frozen GBM 09d8c916
Phase Q: implied volatility as new cross-sectional information
Phase P3: one-day-lagged execution at the open, correction of P1's interpretation
results P3
pre-registered block: 4 items
pre-registered block: 1 items
results R5
R0: vendor-open fidelity and fill slippage, rule fixed before the first fill
S1: the shadow lane's promotion process, fixed before the shadow model exists
Q3 amended onto the traded leg, complete panel, realised-risk controls; recorded before the backfill restart
results Q3A
Q5-Q7 options follow-ups and the tradeability rule (owner 2026-10-02)
results Q5
Phase V: the engine as a volatility forecaster and an options signal
Fixed volatility forecast family, selected through 2015; retrospective frozen evaluation; no production changes
Owner-directed follow-up; synthetic and independent code review passed; no new real fit yet
Fixed B2 inputs regardless AG-024 label; calibrated IV and delayed observed bid-ask tests; no real fit or option PnL yet
Owner-directed continuation; independent code and synthetic acceptance before real AG-026 payoff; fixed source committed; N=26, owner pool approximately 46 separate.
Owner-authorized fixed weekly120 short-horizon forecast pilot; independent synthetic review passed; no real targets or fits yet
Owner-authorized offline within-stock five-session variance forecast pilot. Reviewed fixed source committed before any real fit; two fresh complete runs required, no vendor or network use.
AG-030 SPY index options: S1 hedged short straddle, S2 put-write excess, S3 timed put-write; owner instruction 2026-10-10
AG-031 earnings straddles: E1 long, E2 short, E3 side from implied vs own-history move; owner instruction 2026-10-10
Is the record's booked close-to-close return still there when the position is entered at the next open and closed that same session (the intraday leg only)?
The row the verdict was written on
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| live attainable bps | live | -12.536 | 12.737 | 15 | |
| live credited bps | live | 0.190 | 9.815 | 15 | |
| long book attainable bps | all | 0.421 | 1.421 | 2685 | NOT ATTAINABLE ratio=0.113 overnight_share=0.887 |
| long book credited bps | all | 3.733 | 1.790 | 2685 |
Decision rule fixed in docs/pre-registered-P.md at commit d5fe203e, 2026-09-09 22:04.
Does the edge depend on the market regime — volatility, trend, or cross-sectional dispersion?
The rows the verdict was written on
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| long book attainable bps | dispersion:high | 1.681 | 2.182 | 1615 | |
| long book attainable bps | dispersion:low | -1.869 | 1.609 | 437 | |
| long book attainable bps | dispersion:mid | -1.212 | 2.070 | 633 | |
| long book attainable bps | trend:above | -0.331 | 1.081 | 2236 | |
| long book attainable bps | trend:below | 4.166 | 6.570 | 449 | |
| long book attainable bps | vol:high | 4.165 | 4.169 | 733 | |
| long book attainable bps | vol:low | -2.978 | 1.331 | 1063 | |
| long book attainable bps | vol:mid | 1.398 | 2.327 | 889 | |
| long book credited bps | dispersion:high | 5.493 | 2.752 | 1615 | |
| long book credited bps | dispersion:low | 0.255 | 1.971 | 437 | |
| long book credited bps | dispersion:mid | 1.644 | 2.529 | 633 | |
| long book credited bps | trend:above | 3.279 | 1.388 | 2236 | |
| long book credited bps | trend:below | 5.998 | 8.183 | 449 | |
| long book credited bps | vol:high | 6.315 | 5.229 | 733 | |
| long book credited bps | vol:low | 0.002 | 1.689 | 1063 | |
| long book credited bps | vol:mid | 6.066 | 2.984 | 889 | |
| null pct95 bps | overall | 1.140 | — | 200 | |
| regime difference bps | dispersion:high-low | 5.239 | — | 2685 | null_pct95=1.930 |
| regime difference bps | trend:above-below | -2.720 | — | 2685 | null_pct95=2.803 |
| regime difference bps | vol:high-low | 6.312 | — | 2685 | null_pct95=2.038 |
| regime test | dispersion | 0.005 | — | 200 | REGIME-DEPENDENT q_value=0.007 |
| regime test | trend | 0.930 | — | 200 | not detected q_value=0.930 |
| regime test | vol | 0.005 | — | 200 | REGIME-DEPENDENT q_value=0.007 |
Decision rule fixed in docs/pre-registered-P.md at commit d5fe203e, 2026-09-09 22:04.
Does an execution one day behind the signal — next open to the open after — earn the edge? This is the only leg the platform reports as a result.
The row the verdict was written on
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| implementable over credited | all | 1.303 | — | 2684 | IMPLEMENTABLE ci_excludes_zero=1.000 floor=0.500 |
| long book bps | credited | 3.785 | 1.771 | 2684 | |
| long book bps | implementable | 4.932 | 1.825 | 2684 | |
| long book bps | intraday | 0.436 | 1.415 | 2684 | |
| long book bps | overnight_credited | 3.378 | 0.928 | 2684 | |
| long book bps | overnight_fresh_next_book | 3.360 | 0.945 | 2684 | descriptive=1.000 |
| long book bps | overnight_next | 4.295 | 0.981 | 2684 |
Decision rule fixed in docs/pre-registered-P3.md at commit f66894fd, 2026-09-10 09:23.
Are the vendor's option chains complete enough on delisted names to build survivorship-free implied-volatility features?
The row the verdict was written on
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| atm iv usable | served | 1.000 | — | 218 | PASS gate=0.900 |
| deep history served | 2010-2013 | 1.000 | — | 10 | |
| delisted chain coverage | delisted | 0.933 | — | 120 | gate=0.600 |
Decision rule fixed in docs/pre-registered-Q.md at commit 67c5de05, 2026-09-10 09:11.
Do option-implied volatility features add rank information over the frozen model?
The rows the verdict was written on
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| incremental ic | atm_iv30 | 0.013 | 0.009 | 557 | no p=0.005 q=0.007 null95_abs=0.004 univariate_ic=0.014 share_positive=0.555 expected_sign=? |
| incremental ic | cp_iv_spread | 0.008 | 0.003 | 557 | SIGNAL p=0.005 q=0.007 null95_abs=0.004 univariate_ic=0.009 share_positive=0.542 expected_sign=+ |
| incremental ic | iv_rv_spread | 0.018 | 0.004 | 557 | SIGNAL p=0.005 q=0.007 null95_abs=0.004 univariate_ic=0.018 share_positive=0.567 expected_sign=? |
| incremental ic | skew25 | -0.006 | 0.004 | 557 | no p=0.015 q=0.015 null95_abs=0.004 univariate_ic=-0.006 share_positive=0.456 expected_sign=- |
| incremental ic h5 | atm_iv30 | -0.003 | 0.008 | 557 | reported_only=1.000 |
| incremental ic h5 | cp_iv_spread | 0.003 | 0.003 | 557 | reported_only=1.000 |
| incremental ic h5 | iv_rv_spread | 0.008 | 0.004 | 557 | reported_only=1.000 |
| incremental ic h5 | skew25 | 0.011 | 0.004 | 557 | reported_only=1.000 |
| verdict | all | 1.000 | — | 557 | PASS coverage=0.999 |
Decision rule fixed in docs/pre-registered-Q.md at commit 67c5de05, 2026-09-10 09:11.
Q3 amended before it ran: do the options features add rank information on the leg the book trades, over the survivorship-complete panel, beyond the score and realised risk?
The row the verdict was written on
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| build guard abs delta | atm_iv30 | 0.000 | — | — | limit=0.000 |
| build guard abs delta | cp_iv_spread | 0.000 | — | — | limit=0.000 |
| build guard abs delta | iv_rv_spread | 0.000 | — | — | limit=0.000 |
| build guard abs delta | skew25 | 0.000 | — | — | limit=0.000 |
| gate | coverage | 0.999 | — | 278566 | summarised=278,258.000 min=0.950 passed=1.000 build_a={'summarised': 278258, 'member_weeks': 278566, 'coverage': 0.998894337428114} |
| gate | reproduction_b9ca7ceb | 0.000 | — | 1210935 | identity_cut=2025-07-28 heal_cut=2026-08-10 identity_rows=1,093,176.000 identity_stored_rows=1,093,176.000 identity_only_panel=0.000 identity_only_stored=0.000 enforced_rows=1,210,935.000 max_rel_dev=0.000 rtol=0.000 tail_rows=10,279.000 tail_deviating=60.000 tail_max_rel_dev=11.618 passed=1.000 ruling=owner ruling 1, 2026-10-02 15:26 |
| null a t | atm_iv30 | -0.174 | — | 20 | sd_t=1.149 in_band=1.000 band_sd=[0.7, 1.4] band_mean=[-0.7, 0.7] t=['0.32282523585177547', '-0.12053116075533202', '1.774331828417384', '-2.121639020618992', '-1.278182124521727', '0.5438998823778598', '1.0942795209748415', '-0.8377057635196306', '-0.6871129141280489', '-0.5361395569029835', '-0.7919062982237917', '-1.2484896241849557', '2.851567889355719', '-0.47064255837151003', '0.880870181573885', '-0.31529588563547556', '-0.9802779800390755', '-0.6865433994376815', '-0.23460145323988263', '-0.6406654356068487'] decision_bearing=0.000 |
| null a t | cp_iv_spread | -0.097 | — | 20 | sd_t=1.086 in_band=1.000 band_sd=[0.7, 1.4] band_mean=[-0.7, 0.7] t=['1.9451224695020906', '0.7208625832828837', '0.9216500130044359', '0.37894822450311616', '-2.427533632139178', '-0.3914188066306125', '0.7444727236278186', '-0.0741770629332214', '-0.6155757755921794', '1.5703254100643447', '-0.20058928397966538', '-0.1771951501975128', '-1.1285659069079423', '1.044566741450869', '-0.009191646769057163', '-0.6303191349683155', '-0.5991576119955552', '-1.7521877198574414', '-1.2609118142836593', '-0.007462981180542812'] decision_bearing=1.000 |
| null a t | iv_rv_spread | -0.032 | — | 20 | sd_t=0.919 in_band=1.000 band_sd=[0.7, 1.4] band_mean=[-0.7, 0.7] t=['0.3099966515401694', '-0.9482510344283445', '-1.31225802440315', '0.5816528611400007', '-0.8393915427972307', '-0.9256657051060793', '0.5715168920911771', '-0.8842965961936847', '0.8459308546593348', '0.5562669934866301', '0.21008796258321383', '0.5904413384897501', '1.2506891696911469', '-0.33087734890476256', '-2.2315203726866812', '0.6131330615144278', '0.3514044886973268', '1.2982967039297135', '-0.11620445848724589', '-0.23401577106341548'] decision_bearing=1.000 |
| null a t | skew25 | -0.078 | — | 20 | sd_t=0.889 in_band=1.000 band_sd=[0.7, 1.4] band_mean=[-0.7, 0.7] t=['0.6213226133973735', '1.4774494608691784', '-1.5008855722519545', '1.1351500491387865', '-0.9467332871121222', '0.5034139918417586', '-0.7326516417920026', '0.19162536951273462', '-0.7720596967999407', '0.4024803291493362', '0.40562967487317075', '-1.6582521931389504', '0.32711973893495727', '-0.16542517046739505', '0.27464467497250206', '1.2504894702762017', '-0.9591794517201182', '-0.08257787966986513', '-0.5210569500579217', '-0.8077038481148422'] decision_bearing=1.000 |
| null b mean ic | atm_iv30 | 0.000 | — | 200 | sd=0.001 p95_abs=0.002 plumbing_only=1.000 |
| null b mean ic | cp_iv_spread | -0.000 | — | 200 | sd=0.001 p95_abs=0.002 plumbing_only=1.000 |
| null b mean ic | iv_rv_spread | 0.000 | — | 200 | sd=0.001 p95_abs=0.002 plumbing_only=1.000 |
| null b mean ic | skew25 | -0.000 | — | 200 | sd=0.001 p95_abs=0.002 plumbing_only=1.000 |
| partial ic | atm_iv30 | 0.002 | 0.001 | 2680 | t=1.512 share_positive=0.518 expected_sign=? decision_bearing=0.000 null_a_mean_t=-0.174 null_a_sd_t=1.149 null_a_in_band=1.000 label=vol level: a significant value restates AG-020/AG-015/AG-018 reported_only=1.000 |
| partial ic | cp_iv_spread | 0.001 | 0.001 | 2680 | t=1.214 share_positive=0.506 expected_sign=+ decision_bearing=1.000 null_a_mean_t=-0.097 null_a_sd_t=1.086 null_a_in_band=1.000 p=0.225 q=0.225 bh_reject=0.000 |
| partial ic | iv_rv_spread | 0.003 | 0.001 | 2680 | t=2.017 share_positive=0.515 expected_sign=? decision_bearing=1.000 null_a_mean_t=-0.032 null_a_sd_t=0.919 null_a_in_band=1.000 p=0.044 q=0.065 bh_reject=1.000 |
| partial ic | skew25 | 0.003 | 0.001 | 2680 | t=2.650 share_positive=0.527 expected_sign=- decision_bearing=1.000 null_a_mean_t=-0.078 null_a_sd_t=0.889 null_a_in_band=1.000 p=0.008 q=0.024 bh_reject=1.000 |
| partial ic by age | atm_iv30:0 | 0.004 | 0.003 | 557 | t=1.249 reported_only=1.000 note=age 0 = Q3's weekly dates |
| partial ic by age | atm_iv30:1 | 0.001 | 0.003 | 556 | t=0.528 reported_only=1.000 |
| partial ic by age | atm_iv30:2 | 0.002 | 0.003 | 556 | t=0.535 reported_only=1.000 |
| partial ic by age | atm_iv30:3 | -0.001 | 0.003 | 556 | t=-0.319 reported_only=1.000 |
| partial ic by age | atm_iv30:4 | 0.005 | 0.004 | 455 | t=1.284 reported_only=1.000 |
| partial ic by age | cp_iv_spread:0 | 0.006 | 0.002 | 557 | t=2.416 reported_only=1.000 note=age 0 = Q3's weekly dates |
| partial ic by age | cp_iv_spread:1 | -0.001 | 0.003 | 556 | t=-0.251 reported_only=1.000 |
| partial ic by age | cp_iv_spread:2 | 0.003 | 0.002 | 556 | t=1.204 reported_only=1.000 |
| partial ic by age | cp_iv_spread:3 | 0.003 | 0.003 | 556 | t=1.158 reported_only=1.000 |
| partial ic by age | cp_iv_spread:4 | -0.006 | 0.002 | 455 | t=-2.323 reported_only=1.000 |
| partial ic by age | iv_rv_spread:0 | 0.008 | 0.003 | 557 | t=2.733 reported_only=1.000 note=age 0 = Q3's weekly dates |
| partial ic by age | iv_rv_spread:1 | 0.005 | 0.003 | 556 | t=1.767 reported_only=1.000 |
| partial ic by age | iv_rv_spread:2 | -0.001 | 0.003 | 556 | t=-0.293 reported_only=1.000 |
| partial ic by age | iv_rv_spread:3 | -0.003 | 0.003 | 556 | t=-1.088 reported_only=1.000 |
| partial ic by age | iv_rv_spread:4 | 0.005 | 0.004 | 455 | t=1.524 reported_only=1.000 |
| partial ic by age | skew25:0 | 0.001 | 0.003 | 557 | t=0.303 reported_only=1.000 note=age 0 = Q3's weekly dates |
| partial ic by age | skew25:1 | 0.007 | 0.003 | 556 | t=2.551 reported_only=1.000 |
| partial ic by age | skew25:2 | 0.002 | 0.003 | 556 | t=0.834 reported_only=1.000 |
| partial ic by age | skew25:3 | 0.003 | 0.003 | 556 | t=1.192 reported_only=1.000 |
| partial ic by age | skew25:4 | 0.003 | 0.003 | 455 | t=0.964 reported_only=1.000 |
| partial ic by year | atm_iv30:2016 | 0.004 | 0.004 | 248 | t=0.901 reported_only=1.000 |
| partial ic by year | atm_iv30:2017 | 0.009 | 0.005 | 251 | t=1.964 reported_only=1.000 |
| partial ic by year | atm_iv30:2018 | -0.004 | 0.004 | 251 | t=-1.082 reported_only=1.000 |
| partial ic by year | atm_iv30:2019 | -0.002 | 0.003 | 252 | t=-0.682 reported_only=1.000 |
| partial ic by year | atm_iv30:2020 | 0.008 | 0.004 | 253 | t=2.011 reported_only=1.000 |
| partial ic by year | atm_iv30:2021 | -0.005 | 0.005 | 252 | t=-1.068 reported_only=1.000 |
| partial ic by year | atm_iv30:2022 | -0.001 | 0.005 | 251 | t=-0.217 reported_only=1.000 |
| partial ic by year | atm_iv30:2023 | -0.002 | 0.004 | 250 | t=-0.591 reported_only=1.000 |
| partial ic by year | atm_iv30:2024 | 0.005 | 0.004 | 252 | t=1.382 reported_only=1.000 |
| partial ic by year | atm_iv30:2025 | 0.007 | 0.004 | 250 | t=1.639 reported_only=1.000 |
| partial ic by year | atm_iv30:2026 | 0.003 | 0.006 | 170 | t=0.527 reported_only=1.000 |
| partial ic by year | cp_iv_spread:2016 | -0.001 | 0.004 | 248 | t=-0.233 reported_only=1.000 |
| partial ic by year | cp_iv_spread:2017 | 0.000 | 0.004 | 251 | t=0.134 reported_only=1.000 |
| partial ic by year | cp_iv_spread:2018 | 0.002 | 0.003 | 251 | t=0.796 reported_only=1.000 |
| partial ic by year | cp_iv_spread:2019 | 0.002 | 0.004 | 252 | t=0.523 reported_only=1.000 |
| partial ic by year | cp_iv_spread:2020 | 0.008 | 0.003 | 253 | t=2.323 reported_only=1.000 |
| partial ic by year | cp_iv_spread:2021 | -0.002 | 0.003 | 252 | t=-0.752 reported_only=1.000 |
| partial ic by year | cp_iv_spread:2022 | -0.001 | 0.003 | 251 | t=-0.222 reported_only=1.000 |
| partial ic by year | cp_iv_spread:2023 | 0.004 | 0.003 | 250 | t=1.238 reported_only=1.000 |
| partial ic by year | cp_iv_spread:2024 | 0.003 | 0.004 | 252 | t=0.781 reported_only=1.000 |
| partial ic by year | cp_iv_spread:2025 | -0.005 | 0.003 | 250 | t=-1.571 reported_only=1.000 |
| partial ic by year | cp_iv_spread:2026 | 0.006 | 0.005 | 170 | t=1.240 reported_only=1.000 |
| partial ic by year | iv_rv_spread:2016 | 0.004 | 0.004 | 248 | t=0.828 reported_only=1.000 |
| partial ic by year | iv_rv_spread:2017 | 0.010 | 0.004 | 251 | t=2.614 reported_only=1.000 |
| partial ic by year | iv_rv_spread:2018 | -0.006 | 0.004 | 251 | t=-1.494 reported_only=1.000 |
| partial ic by year | iv_rv_spread:2019 | -0.002 | 0.004 | 252 | t=-0.597 reported_only=1.000 |
| partial ic by year | iv_rv_spread:2020 | 0.008 | 0.006 | 253 | t=1.442 reported_only=1.000 |
| partial ic by year | iv_rv_spread:2021 | -0.006 | 0.005 | 252 | t=-1.178 reported_only=1.000 |
| partial ic by year | iv_rv_spread:2022 | -0.001 | 0.005 | 251 | t=-0.167 reported_only=1.000 |
| partial ic by year | iv_rv_spread:2023 | 0.001 | 0.005 | 250 | t=0.116 reported_only=1.000 |
| partial ic by year | iv_rv_spread:2024 | 0.008 | 0.004 | 252 | t=2.106 reported_only=1.000 |
| partial ic by year | iv_rv_spread:2025 | 0.012 | 0.005 | 250 | t=2.471 reported_only=1.000 |
| partial ic by year | iv_rv_spread:2026 | 0.006 | 0.007 | 170 | t=0.863 reported_only=1.000 |
| partial ic by year | skew25:2016 | -0.002 | 0.004 | 248 | t=-0.515 reported_only=1.000 |
| partial ic by year | skew25:2017 | 0.001 | 0.004 | 251 | t=0.304 reported_only=1.000 |
| partial ic by year | skew25:2018 | 0.000 | 0.004 | 251 | t=0.014 reported_only=1.000 |
| partial ic by year | skew25:2019 | 0.002 | 0.004 | 252 | t=0.596 reported_only=1.000 |
| partial ic by year | skew25:2020 | -0.001 | 0.004 | 253 | t=-0.197 reported_only=1.000 |
| partial ic by year | skew25:2021 | 0.012 | 0.003 | 252 | t=3.826 reported_only=1.000 |
| partial ic by year | skew25:2022 | 0.002 | 0.004 | 251 | t=0.636 reported_only=1.000 |
| partial ic by year | skew25:2023 | 0.008 | 0.004 | 250 | t=2.051 reported_only=1.000 |
| partial ic by year | skew25:2024 | 0.005 | 0.004 | 252 | t=1.242 reported_only=1.000 |
| partial ic by year | skew25:2025 | 0.003 | 0.004 | 250 | t=0.754 reported_only=1.000 |
| partial ic by year | skew25:2026 | 0.003 | 0.006 | 170 | t=0.564 reported_only=1.000 |
| partial ic credited | atm_iv30 | 0.001 | 0.001 | 2680 | t=1.044 reported_only=1.000 |
| partial ic credited | cp_iv_spread | 0.003 | 0.001 | 2680 | t=2.618 reported_only=1.000 |
| partial ic credited | iv_rv_spread | 0.003 | 0.001 | 2680 | t=2.433 reported_only=1.000 |
| partial ic credited | skew25 | 0.003 | 0.001 | 2680 | t=2.747 reported_only=1.000 |
| partial ic h5 schedule | atm_iv30 | -0.001 | 0.003 | 557 | t=-0.325 reported_only=1.000 |
| partial ic h5 schedule | cp_iv_spread | 0.002 | 0.003 | 557 | t=0.614 reported_only=1.000 |
| partial ic h5 schedule | iv_rv_spread | 0.001 | 0.003 | 557 | t=0.190 reported_only=1.000 |
| partial ic h5 schedule | skew25 | 0.007 | 0.003 | 557 | t=2.505 reported_only=1.000 |
| partial ic score only | atm_iv30 | -0.002 | 0.004 | 2680 | t=-0.554 reported_only=1.000 label=Q3's statistic (score-only residualisation) on the traded leg — exposed to the volatility rediscovery the controls exist to remove |
| partial ic score only | cp_iv_spread | 0.001 | 0.001 | 2680 | t=0.408 reported_only=1.000 label=Q3's statistic (score-only residualisation) on the traded leg — exposed to the volatility rediscovery the controls exist to remove |
| partial ic score only | iv_rv_spread | 0.004 | 0.002 | 2680 | t=2.159 reported_only=1.000 label=Q3's statistic (score-only residualisation) on the traded leg — exposed to the volatility rediscovery the controls exist to remove |
| partial ic score only | skew25 | 0.006 | 0.002 | 2680 | t=3.376 reported_only=1.000 label=Q3's statistic (score-only residualisation) on the traded leg — exposed to the volatility rediscovery the controls exist to remove |
| partial ic survivor | atm_iv30 | 0.002 | 0.001 | 2680 | t=1.874 reported_only=1.000 |
| partial ic survivor | cp_iv_spread | 0.001 | 0.001 | 2680 | t=1.019 reported_only=1.000 |
| partial ic survivor | iv_rv_spread | 0.004 | 0.001 | 2680 | t=2.860 reported_only=1.000 |
| partial ic survivor | skew25 | 0.003 | 0.001 | 2680 | t=2.524 reported_only=1.000 |
| survivor accounting | by_year | — | — | — | by_year=[{'year': 2016, 'member_sessions': 123944, 'no_indicator_rows': 15, 'survivor': 102191, 'nan_routed': 21690, 'nan_routed_delisted': 19940, 'excluded_other_feature': 48, 'scored_with_chain': 110602, 'routed_with_chain': 18217}, {'year': 2017, 'member_sessions': 125382, 'no_indicator_rows': 0, 'survivor': 105251, 'nan_routed': 20048, 'nan_routed_delisted': 18166, 'excluded_other_feature': 83, 'scored_with_chain': 113447, 'routed_with_chain': 17329}, {'year': 2018, 'member_sessions': 125304, 'no_indicator_rows': 2, 'survivor': 109023, 'nan_routed': 16272, 'nan_routed_delisted': 14365, 'excluded_other_feature': 7, 'scored_with_chain': 113511, 'routed_with_chain': 13665}, {'year': 2019, 'member_sessions': 125815, 'no_indicator_rows': 20, 'survivor': 112488, 'nan_routed': 13293, 'nan_routed_delisted': 11673, 'excluded_other_feature': 14, 'scored_with_chain': 115787, 'routed_with_chain': 11570}, {'year': 2020, 'member_sessions': 126295, 'no_indicator_rows': 0, 'survivor': 115896, 'nan_routed': 10395, 'nan_routed_delisted': 8852, 'excluded_other_feature': 4, 'scored_with_chain': 118472, 'routed_with_chain': 9079}, {'year': 2021, 'member_sessions': 125913, 'no_indicator_rows': 4, 'survivor': 117676, 'nan_routed': 8227, 'nan_routed_delisted': 6538, 'excluded_other_feature': 6, 'scored_with_chain': 118764, 'routed_with_chain': 7065}, {'year': 2022, 'member_sessions': 125440, 'no_indicator_rows': 80, 'survivor': 119030, 'nan_routed': 6204, 'nan_routed_delisted': 4828, 'excluded_other_feature': 126, 'scored_with_chain': 119971, 'routed_with_chain': 5887}, {'year': 2023, 'member_sessions': 124930, 'no_indicator_rows': 27, 'survivor': 119799, 'nan_routed': 4845, 'nan_routed_delisted': 3554, 'excluded_other_feature': 259, 'scored_with_chain': 120185, 'routed_with_chain': 4728}, {'year': 2024, 'member_sessions': 125946, 'no_indicator_rows': 61, 'survivor': 122434, 'nan_routed': 3034, 'nan_routed_delisted': 1938, 'excluded_other_feature': 417, 'scored_with_chain': 120778, 'routed_with_chain': 2871}, {'year': 2025, 'member_sessions': 124925, 'no_indicator_rows': 6162, 'survivor': 116818, 'nan_routed': 1735, 'nan_routed_delisted': 1124, 'excluded_other_feature': 210, 'scored_with_chain': 114787, 'routed_with_chain': 1623}, {'year': 2026, 'member_sessions': 86841, 'no_indicator_rows': 6459, 'survivor': 79517, 'nan_routed': 712, 'nan_routed_delisted': 328, 'excluded_other_feature': 153, 'scored_with_chain': 77936, 'routed_with_chain': 584}] lost_to_controls={'2016': 0, '2017': 0, '2018': 0, '2019': 0, '2020': 0, '2021': 0, '2022': 0, '2023': 0, '2024': 0, '2025': 0, '2026': 0} |
| verdict | all | 1.000 | — | 2680 | PASS band_ok=1.000 p_finite=1.000 q3_verdict=PASS joint_reading=Q3 PASS, Q3A PASS: Q3A alone governs any follow-on; neither is quoted as confirming the other fail_wording=None params={'block': 'Q3A', 'model': '09d8c916-37bb-4807-a2b6-266c46d0950d', 'p1_run': 'b9ca7ceb-3a78-4ff9-9fc7-b9a50636ca74', 'prereg': 'ce9061e5-3a72-4e24-9f29-09451c744ffc', 'registered_text_sha256': 'b8f43e25e2d3427ca5e8128cf7c7a11fe2d62ae304894331ed0c8943b217fcb9', 'registered_blob': 'e45c74add3d6a7eaf7f85d9e362fa888496129d4', 'script_blob_sha': '7fdfbcd654555be3b7db0776ada55ce630b5083c', 'script_committed': '2026-10-02 16:02:36', 'q3_started': '2026-10-02 16:03', 'git': '4e8476313c57575252e5cf311a15c69263f68bb1', 'build_a': 'logs/q3a/build-A-20261002-160413', 'build_b': 'logs/q3a/build-B-20261002-160413', 'panel_sha256': '47dd5171c9cf5ce575cd01fbfbeef03b826f17156ae317836f0aac55877c3346', 'weekly_sha256': 'cbad93c04785e59bb89a98df169ca9d7eb37dc35bfb4b1da971d57ee09fc5997', 'build_a_built_at': '2026-10-02 16:04:38', 'build_b_built_at': '2026-10-02 16:05:07', 'price_max_a': '2026-10-01', 'price_max_b': '2026-10-01', 'compute_dirs': ['logs/q3a/compute-1-20261002-160413', 'logs/q3a/compute-2-20261002-160413'], 'compute_digests': {'daily.csv': '805ba42e97970882686384e0729f9a224090d4173524b80cfc643efe96f49c7d', 'report.txt': 'da4a4cf3907e529407451a2910561ee002b2a9929a4e4d0ba0d447bbd0d01217', 'results.json': '1c675541868a1efcaa828a920b2cd3d1fa94ef1689bd846ca934569cbe511984'}, 'n_null_a': 20, 'n_null_b': 200, 'seed': 42, 'perm_seed': 24263, 'fdr_q': 0.1, 'min_names': 100, 'band_sd': [0.7, 1.4], 'band_mean': [-0.7, 0.7], 'coverage': 0.998894337428114, 'summarize_chain_sha': '458eb5baed545b9b4bc02896f287b9ea6731dd140b5456297af8a568cefc4603', 'parse_reduce_sha': '8ccf682f7cc2455a53bf7a54d5ec4688c96e2957f6ff3145e414e17452a7eee3', 'sklearn': '1.9.0'} |
Decision rule fixed in docs/pre-registered-Q3A.md at commit 7b8eba20, 2026-09-29 16:29.
Phase Q: implied volatility as new cross-sectional information
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| walk forward ic | frozen_gbm | 0.014 | 0.004 | 453 | top_decile_bps=3.023 reported_only=1.000 |
| walk forward ic | gbm19_wf | 0.001 | 0.005 | 453 | top_decile_bps=8.700 reported_only=1.000 |
| walk forward ic | gbm23_wf | 0.003 | 0.005 | 453 | top_decile_bps=9.634 reported_only=1.000 |
Decision rule fixed in docs/pre-registered-Q.md at commit 67c5de05, 2026-09-10 09:11.
Does option activity — volume, put share, open interest, implied-vol changes — add rank information on the traded leg beyond the score and realised risk?
The row the verdict was written on
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| clause3 paired net diff bps | pc_oi_ratio | -0.967 | 0.481 | 2681 | adverse_end=bottom quintile (observed IC > 0) clause3_met=0.000 construction={'gross_mean': 4.0811886485673625, 'n_held_mean': 36.129429317418875, 'net_mean': 1.8393772357625116, 'turnover_mean': 0.2241811412804851} cost_bps_per_unit_turnover=10.000 dates=['2016-01-08', '2026-09-08'] ex_c10={'mean': -0.9912851746816378, 'n': 2379, 'p': 0.04258452666935073, 'se': 0.4888567246649992, 't': -2.0277621737962996} halves={'first': {'mean': -0.9885046636042831, 'n': 1340, 'p': 0.06570283698269327, 'se': 0.5371007097308947, 't': -1.8404456477064735}, 'first_dates': ['2016-01-08', '2021-05-05'], 'second': {'mean': -0.9464597908079091, 'n': 1341, 'p': 0.21187251931907558, 'se': 0.7581181913906027, 't': -1.248433030042235}, 'second_dates': ['2021-05-06', '2026-09-08']} production={'gross_mean': 4.829791275374525, 'n_held_mean': 45.06415516598284, 'net_mean': 2.806851621701768, 'turnover_mean': 0.20229396536727576} t=-2.012 |
| clause3 paired net diff bps | put_vol_share | 0.097 | 0.390 | 2681 | adverse_end=bottom quintile (observed IC > 0) clause3_met=0.000 construction={'gross_mean': 5.273391338810665, 'n_held_mean': 38.143976128310335, 'net_mean': 2.903372333575402, 'turnover_mean': 0.23700190052352613} cost_bps_per_unit_turnover=10.000 dates=['2016-01-08', '2026-09-08'] ex_c10={'mean': -0.025399936590044365, 'n': 2379, 'p': 0.9494002327604311, 'se': 0.4002513053207356, 't': -0.06345997190362813} halves={'first': {'mean': -0.2357332310051178, 'n': 1340, 'p': 0.6462457609123755, 'se': 0.5135980908244191, 't': -0.458983853749773}, 'first_dates': ['2016-01-08', '2021-05-05'], 'second': {'mean': 0.42852688894860047, 'n': 1341, 'p': 0.4589328314397443, 'se': 0.578617146157622, 't': 0.7406052374947506}, 'second_dates': ['2021-05-06', '2026-09-08']} production={'gross_mean': 4.829791275374525, 'n_held_mean': 45.06415516598284, 'net_mean': 2.806851621701768, 'turnover_mean': 0.20229396536727576} t=0.247 |
| gate | coverage | 1.000 | — | 278566 | min=0.950 passed=1.000 q5_schedule={'coverage': 0.9999964294130669, 'member_weeks': 280066, 'summarised': 280065} summarised=278,566.000 |
| gate | reproduction_b9ca7ceb | 0.000 | — | 1210935 | enforced_rows=1,210,935.000 heal_cut=2026-08-10 identity_cut=2025-07-28 identity_only_panel=0.000 identity_only_stored=0.000 identity_rows=1,093,176.000 identity_stored_rows=1,093,176.000 max_rel_dev=0.000 passed=1.000 rtol=0.000 ruling=Q3A owner ruling 1, 2026-10-02 15:26 tail_deviating=64.000 tail_max_rel_dev=11.618 tail_rows=10,776.000 |
| null a t | d4_cp_iv_spread | -0.022 | — | 20 | band_mean=[-0.7, 0.7] band_sd=[0.7, 1.4] in_band=1.000 sd_t=1.303 t=[-1.4043011055479035, -0.2281908942803271, 1.610032979629181, -0.4508084145679816, 1.733941929269845, -0.3997725875856025, -1.5394346290091536, 0.8482257493612418, 1.5245288689030498, 0.0478655901328368, 0.16955431523500095, 0.055866433837786875, -2.6221647190158244, 0.32956862299848033, -0.11411503578512065, -0.6648197379059251, 2.464881305680106, -2.1160825904790963, -0.46186753773318534, 0.7788072350421643] |
| null a t | os_volume | 0.187 | — | 20 | band_mean=[-0.7, 0.7] band_sd=[0.7, 1.4] in_band=1.000 sd_t=0.951 t=[1.585288591417686, 0.6893789929968873, -1.0238756319503743, -0.9994654410673516, 1.042003743375761, 0.2615080532525225, -0.2300345924948983, 2.2487037375771286, -0.860317503764535, 0.32907428146821044, 0.6168124631659727, -0.27290400525479286, 0.9054255453003233, 0.015508676770734028, 1.5106304458782542, 0.14732826590564702, 0.1897490512164405, -0.46548857819483414, -1.0854113273013772, -0.8587139430193625] |
| null a t | pc_oi_ratio | 0.171 | — | 20 | band_mean=[-0.7, 0.7] band_sd=[0.7, 1.4] in_band=1.000 sd_t=0.921 t=[1.3181694980230496, 1.2762025488444246, 1.5240834599764725, 0.47819799848244127, 1.704159454601486, -0.9395388186392419, 0.4219147509027379, 0.11155062157217172, -0.06385385031658948, 1.7153351143656106, -0.24360325519940462, 0.1467625429124123, -0.831461283840156, -0.9640784507223719, 0.03804644782586628, -0.33912121318371663, -0.6083131779207858, -1.245288579719921, 0.1949738544313151, -0.27908234136351096] |
| null a t | put_vol_share | 0.003 | — | 20 | band_mean=[-0.7, 0.7] band_sd=[0.7, 1.4] in_band=1.000 sd_t=1.251 t=[1.4325512429178555, -0.5613613472989992, -1.6509999299739238, 2.749200518876184, 0.17770227520515275, 2.429859441997294, -0.6131868651213273, -0.7285833474972747, -0.6412301387934779, -1.802757067168012, -0.720256585994154, -1.7196755655970135, -0.4304910006515616, 0.579810204789596, 0.7261092948073605, 0.03929281959845663, -0.4599648529053031, 0.02337769329763477, -0.11709678489758936, 1.3483432390143433] |
| partial ic | d4_cp_iv_spread | 0.001 | 0.001 | 2675 | bh_reject=0.000 literature_sign=+ null_a_in_band=1.000 null_a_mean_t=-0.022 null_a_sd_t=1.303 p=0.236 q=0.314 share_positive=0.510 t=1.186 |
| partial ic | os_volume | -0.000 | 0.001 | 2694 | bh_reject=0.000 literature_sign=- null_a_in_band=1.000 null_a_mean_t=0.187 null_a_sd_t=0.951 p=0.887 q=0.887 share_positive=0.503 t=-0.142 |
| partial ic | pc_oi_ratio | 0.003 | 0.001 | 2694 | bh_reject=1.000 literature_sign=? null_a_in_band=1.000 null_a_mean_t=0.171 null_a_sd_t=0.921 p=0.003 q=0.008 share_positive=0.523 t=3.000 |
| partial ic | put_vol_share | 0.003 | 0.001 | 2694 | bh_reject=1.000 literature_sign=- null_a_in_band=1.000 null_a_mean_t=0.003 null_a_sd_t=1.251 p=0.004 q=0.008 share_positive=0.519 t=2.863 |
| partial ic block20 | d4_cp_iv_spread | 0.001 | 0.001 | 2675 | label=full series, block_se at block 20 p=0.228 reported_only=1.000 t=1.205 |
| partial ic block20 | os_volume | -0.000 | 0.001 | 2694 | label=full series, block_se at block 20 p=0.881 reported_only=1.000 t=-0.150 |
| partial ic block20 | pc_oi_ratio | 0.003 | 0.001 | 2694 | label=full series, block_se at block 20 p=0.004 reported_only=1.000 t=2.906 |
| partial ic block20 | put_vol_share | 0.003 | 0.001 | 2694 | label=full series, block_se at block 20 p=0.005 reported_only=1.000 t=2.817 |
| partial ic credited | d4_cp_iv_spread | 0.002 | 0.001 | 2675 | label=credited close-to-close h=1 (stored fwd_ret_sector_excess) p=0.091 reported_only=1.000 t=1.690 |
| partial ic credited | os_volume | 0.000 | 0.001 | 2694 | label=credited close-to-close h=1 (stored fwd_ret_sector_excess) p=0.944 reported_only=1.000 t=0.070 |
| partial ic credited | pc_oi_ratio | 0.004 | 0.001 | 2694 | label=credited close-to-close h=1 (stored fwd_ret_sector_excess) p=0.002 reported_only=1.000 t=3.093 |
| partial ic credited | put_vol_share | 0.003 | 0.001 | 2694 | label=credited close-to-close h=1 (stored fwd_ret_sector_excess) p=0.003 reported_only=1.000 t=3.009 |
| partial ic ex c10 | d4_cp_iv_spread | 0.001 | 0.001 | 2360 | label=ex-C10 (sessions before 2025-06-26) p=0.191 reported_only=1.000 t=1.308 |
| partial ic ex c10 | os_volume | -0.001 | 0.001 | 2379 | label=ex-C10 (sessions before 2025-06-26) p=0.602 reported_only=1.000 t=-0.522 |
| partial ic ex c10 | pc_oi_ratio | 0.003 | 0.001 | 2379 | label=ex-C10 (sessions before 2025-06-26) p=0.007 reported_only=1.000 t=2.706 |
| partial ic ex c10 | put_vol_share | 0.003 | 0.001 | 2379 | label=ex-C10 (sessions before 2025-06-26) p=0.005 reported_only=1.000 t=2.785 |
| partial ic half 1 | d4_cp_iv_spread | 0.003 | 0.001 | 1337 | dates=['2016-02-05', '2021-05-27'] label=first chronological half (first n // 2 sessions of each series) p=0.017 reported_only=1.000 t=2.392 |
| partial ic half 1 | os_volume | -0.003 | 0.002 | 1347 | dates=['2016-01-08', '2021-05-14'] label=first chronological half (first n // 2 sessions of each series) p=0.138 reported_only=1.000 t=-1.482 |
| partial ic half 1 | pc_oi_ratio | 0.004 | 0.002 | 1347 | dates=['2016-01-08', '2021-05-14'] label=first chronological half (first n // 2 sessions of each series) p=0.021 reported_only=1.000 t=2.314 |
| partial ic half 1 | put_vol_share | 0.002 | 0.001 | 1347 | dates=['2016-01-08', '2021-05-14'] label=first chronological half (first n // 2 sessions of each series) p=0.103 reported_only=1.000 t=1.631 |
| partial ic half 2 | d4_cp_iv_spread | -0.001 | 0.001 | 1338 | dates=['2021-05-28', '2026-09-25'] label=second chronological half p=0.456 reported_only=1.000 t=-0.745 |
| partial ic half 2 | os_volume | 0.002 | 0.002 | 1347 | dates=['2021-05-17', '2026-09-25'] label=second chronological half p=0.226 reported_only=1.000 t=1.211 |
| partial ic half 2 | pc_oi_ratio | 0.003 | 0.002 | 1347 | dates=['2021-05-17', '2026-09-25'] label=second chronological half p=0.068 reported_only=1.000 t=1.823 |
| partial ic half 2 | put_vol_share | 0.003 | 0.001 | 1347 | dates=['2021-05-17', '2026-09-25'] label=second chronological half p=0.028 reported_only=1.000 t=2.193 |
| partial ic plus skew25 iv rv | d4_cp_iv_spread | 0.002 | 0.001 | 2675 | label=with Q3A's skew25 and iv_rv_spread added to the controls (decile dummies) p=0.064 reported_only=1.000 t=1.849 |
| partial ic plus skew25 iv rv | os_volume | -0.001 | 0.001 | 2694 | label=with Q3A's skew25 and iv_rv_spread added to the controls (decile dummies) p=0.510 reported_only=1.000 t=-0.659 |
| partial ic plus skew25 iv rv | pc_oi_ratio | 0.004 | 0.001 | 2694 | label=with Q3A's skew25 and iv_rv_spread added to the controls (decile dummies) p=0.000 reported_only=1.000 t=3.528 |
| partial ic plus skew25 iv rv | put_vol_share | 0.003 | 0.001 | 2694 | label=with Q3A's skew25 and iv_rv_spread added to the controls (decile dummies) p=0.004 reported_only=1.000 t=2.861 |
| partial ic survivor | d4_cp_iv_spread | 0.000 | 0.001 | 2675 | label=survivor-only panel (all 19 features finite) p=0.643 reported_only=1.000 t=0.464 |
| partial ic survivor | os_volume | -0.001 | 0.001 | 2694 | label=survivor-only panel (all 19 features finite) p=0.613 reported_only=1.000 t=-0.506 |
| partial ic survivor | pc_oi_ratio | 0.004 | 0.001 | 2694 | label=survivor-only panel (all 19 features finite) p=0.002 reported_only=1.000 t=3.126 |
| partial ic survivor | put_vol_share | 0.002 | 0.001 | 2694 | label=survivor-only panel (all 19 features finite) p=0.024 reported_only=1.000 t=2.255 |
| verdict | all | 1.000 | — | 2675 | PASS band_ok=1.000 bh_rejected=['put_vol_share', 'pc_oi_ratio'] clause3={'pc_oi_ratio': False, 'put_vol_share': False} fail_wording=None p_finite=1.000 tradeability_note=clause 3 is not met by either BH-rejected feature's registered construction, so no Q5 construction can meet the tradeability rule whatever clause 2 returns |
Decision rule fixed in docs/pre-registered-Q5.md at commit ddc932a7, 2026-10-02 16:39.
Is any options construction good enough to trade — a paired net gain over the book in both halves and outside the contaminated region?
The row the verdict was written on
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| Q5:clause3 paired net diff bps | pc_oi_ratio | -0.967 | 0.481 | 2681 | adverse_end=bottom quintile (observed IC > 0) clause3_met=0.000 construction={'gross_mean': 4.0811886485673625, 'n_held_mean': 36.129429317418875, 'net_mean': 1.8393772357625116, 'turnover_mean': 0.2241811412804851} cost_bps_per_unit_turnover=10.000 dates=['2016-01-08', '2026-09-08'] ex_c10={'mean': -0.9912851746816378, 'n': 2379, 'p': 0.04258452666935073, 'se': 0.4888567246649992, 't': -2.0277621737962996} halves={'first': {'mean': -0.9885046636042831, 'n': 1340, 'p': 0.06570283698269327, 'se': 0.5371007097308947, 't': -1.8404456477064735}, 'first_dates': ['2016-01-08', '2021-05-05'], 'second': {'mean': -0.9464597908079091, 'n': 1341, 'p': 0.21187251931907558, 'se': 0.7581181913906027, 't': -1.248433030042235}, 'second_dates': ['2021-05-06', '2026-09-08']} production={'gross_mean': 4.829791275374525, 'n_held_mean': 45.06415516598284, 'net_mean': 2.806851621701768, 'turnover_mean': 0.20229396536727576} t=-2.012 |
| Q5:clause3 paired net diff bps | put_vol_share | 0.097 | 0.390 | 2681 | adverse_end=bottom quintile (observed IC > 0) clause3_met=0.000 construction={'gross_mean': 5.273391338810665, 'n_held_mean': 38.143976128310335, 'net_mean': 2.903372333575402, 'turnover_mean': 0.23700190052352613} cost_bps_per_unit_turnover=10.000 dates=['2016-01-08', '2026-09-08'] ex_c10={'mean': -0.025399936590044365, 'n': 2379, 'p': 0.9494002327604311, 'se': 0.4002513053207356, 't': -0.06345997190362813} halves={'first': {'mean': -0.2357332310051178, 'n': 1340, 'p': 0.6462457609123755, 'se': 0.5135980908244191, 't': -0.458983853749773}, 'first_dates': ['2016-01-08', '2021-05-05'], 'second': {'mean': 0.42852688894860047, 'n': 1341, 'p': 0.4589328314397443, 'se': 0.578617146157622, 't': 0.7406052374947506}, 'second_dates': ['2021-05-06', '2026-09-08']} production={'gross_mean': 4.829791275374525, 'n_held_mean': 45.06415516598284, 'net_mean': 2.806851621701768, 'turnover_mean': 0.20229396536727576} t=0.247 |
| Q6b:clause3 paired net bps | iv_minus_ew | -1.924 | 0.828 | 2680 | t=-2.323 met=0.000 |
| Q7:clause3 paired net bps | gated_minus_every_day | 0.574 | 1.503 | — | t=0.382 first_half=1.432 second_half=-0.283 ex_c10=1.453 gross=-3.091 met=0.000 |
| verdict | all | 0.000 | — | — | NONE QUALIFIES note=clause 3 fails for every construction (Q5 vetoes, Q6b IV-weighted, Q7 gated), so no construction is good enough to trade and no live track starts |
Does implied volatility forecast a stock's coming volatility better than its trailing realised volatility?
The row the verdict was written on
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| d spearman iv minus rv | all | 0.131 | 0.005 | 2680 | t=25.888 block=21.000 rule=IV FORECASTS BETTER iff mean d > 0 and t >= 2 |
| reported | ex_c10 | 0.132 | 0.006 | 2379 | t=23.912 reported_only=1.000 |
| reported | half_1 | 0.133 | 0.008 | 1340 | t=17.122 reported_only=1.000 |
| reported | half_2 | 0.129 | 0.006 | 1340 | t=20.204 reported_only=1.000 |
| reported | rho_iv | 0.797 | 0.006 | 2680 | t=131.713 reported_only=1.000 |
| reported | rho_rv | 0.666 | 0.008 | 2680 | t=81.483 reported_only=1.000 |
| verdict | all | 1.000 | — | 2680 | IV FORECASTS BETTER |
Does weighting the book by inverse implied volatility beat equal weight and inverse realised volatility, net?
The row the verdict was written on
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| delta ir | iv_minus_ew | -0.243 | 0.124 | 2680 | p_one_sided=0.975 |
| delta ir | iv_minus_rv | 0.027 | 0.077 | 2680 | p_one_sided=0.333 |
| net ir | ew | 0.446 | — | 2680 | cost_bps_per_turnover=10.000 |
| net ir | iv | 0.203 | — | 2680 | cost_bps_per_turnover=10.000 |
| net ir | rv | 0.175 | — | 2680 | cost_bps_per_turnover=10.000 |
| paired net mean bps | iv_minus_ew | -1.924 | 0.828 | 2680 | t=-2.323 margin_bps=-1.624 clauses={'1_dir_iv_ew_pos_p_le_0.05': False, '2_dir_iv_rv_pos_p_le_0.05': False, '3_noninferior_mean': False, 'noninferiority_margin_bps': -1.6237383421483287} |
| verdict | all | 0.000 | — | 2680 | NOT HELPS r3_trials=3.000 |
Does a market-wide implied-dispersion gate beat the realised-dispersion gate?
The row the verdict was written on
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| family p | studentized_max | 0.015 | — | 2680 | z_max=2.757 |
| gate delta bps | I | 15.262 | — | 2680 | z=2.757 p_one_sided_rotation=0.011 block_t=1.513 on_days=330.000 |
| gate delta bps | R | 11.318 | — | 2680 | z=2.742 p_one_sided_rotation=0.004 block_t=2.470 on_days=977.000 |
| reported | implied_correlation_gate | 8.436 | 6.708 | 579 | p_one_sided_rotation=0.014 reported_only=1.000 |
| reproduction | ag007 | 11.298 | — | 977 | recorded=11.316 guard_bps=0.500 holds=1.000 |
| spy coverage | weeks | 0.993 | — | 560 | usable=556.000 unusable_weeks=['2019-04-26', '2020-02-21', '2021-08-13', '2022-01-14'] |
| verdict | all | 1.000 | — | 2680 | ESTABLISHED delta_I=15.262 delta_R=11.318 p_family=0.015 |
Decision rule fixed in docs/pre-registered-Q.md at commit 67c5de05, 2026-09-10 09:11.
What are the factor alphas when the market regressor is aligned to the same window as the return it explains (FINDINGS C8)?
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| baseline max abs dev bps | old_spec_vs_recorded | 1.455 | — | 2692 | reported_only=1.000 worst_spec=J1_spread n_recorded=2,653.000 tolerance_bps=0.050 reproduces=0.000 |
| hac5 coefficient | J1_spread:aligned:LMH_vol | 0.085 | 0.031 | 2692 | reported_only=1.000 r_squared=0.285 alignment=aligned spec=J1_spread t=2.761 |
| hac5 coefficient | J1_spread:aligned:MKT | 0.148 | 0.036 | 2692 | reported_only=1.000 r_squared=0.285 alignment=aligned spec=J1_spread t=4.109 |
| hac5 coefficient | J1_spread:aligned:MOM | 0.272 | 0.069 | 2692 | reported_only=1.000 r_squared=0.285 alignment=aligned spec=J1_spread t=3.948 |
| hac5 coefficient | J1_spread:aligned:SIZE | -0.031 | 0.067 | 2692 | reported_only=1.000 r_squared=0.285 alignment=aligned spec=J1_spread t=-0.461 |
| hac5 coefficient | J1_spread:aligned:TREND | -0.556 | 0.072 | 2692 | reported_only=1.000 r_squared=0.285 alignment=aligned spec=J1_spread t=-7.741 |
| hac5 coefficient | J1_spread:aligned:alpha | 3.925 | 2.116 | 2692 | reported_only=1.000 r_squared=0.285 alignment=aligned spec=J1_spread t=1.855 |
| hac5 coefficient | J1_spread:old:LMH_vol | 0.049 | 0.029 | 2692 | reported_only=1.000 r_squared=0.273 alignment=old spec=J1_spread t=1.694 |
| hac5 coefficient | J1_spread:old:MKT | -0.037 | 0.033 | 2692 | reported_only=1.000 r_squared=0.273 alignment=old spec=J1_spread t=-1.110 |
| hac5 coefficient | J1_spread:old:MOM | 0.284 | 0.069 | 2692 | reported_only=1.000 r_squared=0.273 alignment=old spec=J1_spread t=4.081 |
| hac5 coefficient | J1_spread:old:SIZE | -0.043 | 0.067 | 2692 | reported_only=1.000 r_squared=0.273 alignment=old spec=J1_spread t=-0.643 |
| hac5 coefficient | J1_spread:old:TREND | -0.578 | 0.072 | 2692 | reported_only=1.000 r_squared=0.273 alignment=old spec=J1_spread t=-7.988 |
| hac5 coefficient | J1_spread:old:alpha | 4.866 | 2.081 | 2692 | reported_only=1.000 r_squared=0.273 alignment=old spec=J1_spread t=2.339 |
| hac5 coefficient | K1_long_raw:aligned:MKT | 1.465 | 0.038 | 2692 | reported_only=1.000 r_squared=0.629 alignment=aligned spec=K1_long_raw t=38.542 |
| hac5 coefficient | K1_long_raw:aligned:alpha | 0.645 | 2.213 | 2692 | reported_only=1.000 r_squared=0.629 alignment=aligned spec=K1_long_raw t=0.291 |
| hac5 coefficient | K1_long_raw:old:MKT | -0.165 | 0.090 | 2692 | reported_only=1.000 r_squared=0.008 alignment=old spec=K1_long_raw t=-1.840 |
| hac5 coefficient | K1_long_raw:old:alpha | 10.774 | 3.941 | 2692 | reported_only=1.000 r_squared=0.008 alignment=old spec=K1_long_raw t=2.734 |
| hac5 coefficient | K1_selection:aligned:MKT | 0.342 | 0.025 | 2692 | reported_only=1.000 r_squared=0.157 alignment=aligned spec=K1_selection t=13.821 |
| hac5 coefficient | K1_selection:aligned:alpha | 1.685 | 1.557 | 2692 | reported_only=1.000 r_squared=0.157 alignment=aligned spec=K1_selection t=1.082 |
| hac5 coefficient | K1_selection:old:MKT | -0.034 | 0.029 | 2692 | reported_only=1.000 r_squared=0.002 alignment=old spec=K1_selection t=-1.152 |
| hac5 coefficient | K1_selection:old:alpha | 4.024 | 1.752 | 2692 | reported_only=1.000 r_squared=0.002 alignment=old spec=K1_selection t=2.297 |
| hac5 coefficient | K1_universe:aligned:MKT | 1.068 | 0.013 | 2692 | reported_only=1.000 r_squared=0.903 alignment=aligned spec=K1_universe t=85.248 |
| hac5 coefficient | K1_universe:aligned:alpha | -0.823 | 0.752 | 2692 | reported_only=1.000 r_squared=0.903 alignment=aligned spec=K1_universe t=-1.093 |
| hac5 coefficient | K1_universe:old:MKT | -0.127 | 0.066 | 2692 | reported_only=1.000 r_squared=0.013 alignment=old spec=K1_universe t=-1.924 |
| hac5 coefficient | K1_universe:old:alpha | 6.602 | 2.464 | 2692 | reported_only=1.000 r_squared=0.013 alignment=old spec=K1_universe t=2.679 |
| hac5 coefficient | K2_novalue:aligned:LMH_vol | 0.085 | 0.031 | 2692 | reported_only=1.000 r_squared=0.285 alignment=aligned spec=K2_novalue t=2.761 |
| hac5 coefficient | K2_novalue:aligned:MKT | 0.148 | 0.036 | 2692 | reported_only=1.000 r_squared=0.285 alignment=aligned spec=K2_novalue t=4.109 |
| hac5 coefficient | K2_novalue:aligned:MOM | 0.272 | 0.069 | 2692 | reported_only=1.000 r_squared=0.285 alignment=aligned spec=K2_novalue t=3.948 |
| hac5 coefficient | K2_novalue:aligned:SIZE | -0.031 | 0.067 | 2692 | reported_only=1.000 r_squared=0.285 alignment=aligned spec=K2_novalue t=-0.461 |
| hac5 coefficient | K2_novalue:aligned:TREND | -0.556 | 0.072 | 2692 | reported_only=1.000 r_squared=0.285 alignment=aligned spec=K2_novalue t=-7.741 |
| hac5 coefficient | K2_novalue:aligned:alpha | 3.925 | 2.116 | 2692 | reported_only=1.000 r_squared=0.285 alignment=aligned spec=K2_novalue t=1.855 |
| hac5 coefficient | K2_novalue:old:LMH_vol | 0.049 | 0.029 | 2692 | reported_only=1.000 r_squared=0.273 alignment=old spec=K2_novalue t=1.694 |
| hac5 coefficient | K2_novalue:old:MKT | -0.037 | 0.033 | 2692 | reported_only=1.000 r_squared=0.273 alignment=old spec=K2_novalue t=-1.110 |
| hac5 coefficient | K2_novalue:old:MOM | 0.284 | 0.069 | 2692 | reported_only=1.000 r_squared=0.273 alignment=old spec=K2_novalue t=4.081 |
| hac5 coefficient | K2_novalue:old:SIZE | -0.043 | 0.067 | 2692 | reported_only=1.000 r_squared=0.273 alignment=old spec=K2_novalue t=-0.643 |
| hac5 coefficient | K2_novalue:old:TREND | -0.578 | 0.072 | 2692 | reported_only=1.000 r_squared=0.273 alignment=old spec=K2_novalue t=-7.988 |
| hac5 coefficient | K2_novalue:old:alpha | 4.866 | 2.081 | 2692 | reported_only=1.000 r_squared=0.273 alignment=old spec=K2_novalue t=2.339 |
| hac5 coefficient | K2_value:aligned:LMH_vol | 0.079 | 0.031 | 2692 | reported_only=1.000 r_squared=0.291 alignment=aligned spec=K2_value t=2.571 |
| hac5 coefficient | K2_value:aligned:MKT | 0.147 | 0.036 | 2692 | reported_only=1.000 r_squared=0.291 alignment=aligned spec=K2_value t=4.049 |
| hac5 coefficient | K2_value:aligned:MOM | 0.212 | 0.070 | 2692 | reported_only=1.000 r_squared=0.291 alignment=aligned spec=K2_value t=3.021 |
| hac5 coefficient | K2_value:aligned:SIZE | 0.016 | 0.072 | 2692 | reported_only=1.000 r_squared=0.291 alignment=aligned spec=K2_value t=0.218 |
| hac5 coefficient | K2_value:aligned:TREND | -0.550 | 0.072 | 2692 | reported_only=1.000 r_squared=0.291 alignment=aligned spec=K2_value t=-7.629 |
| hac5 coefficient | K2_value:aligned:VALUE | -0.127 | 0.047 | 2692 | reported_only=1.000 r_squared=0.291 alignment=aligned spec=K2_value t=-2.704 |
| hac5 coefficient | K2_value:aligned:alpha | 4.181 | 2.092 | 2692 | reported_only=1.000 r_squared=0.291 alignment=aligned spec=K2_value t=1.998 |
| hac5 coefficient | K2_value:old:LMH_vol | 0.042 | 0.029 | 2692 | reported_only=1.000 r_squared=0.280 alignment=old spec=K2_value t=1.486 |
| hac5 coefficient | K2_value:old:MKT | -0.031 | 0.033 | 2692 | reported_only=1.000 r_squared=0.280 alignment=old spec=K2_value t=-0.928 |
| hac5 coefficient | K2_value:old:MOM | 0.225 | 0.072 | 2692 | reported_only=1.000 r_squared=0.280 alignment=old spec=K2_value t=3.122 |
| hac5 coefficient | K2_value:old:SIZE | 0.002 | 0.072 | 2692 | reported_only=1.000 r_squared=0.280 alignment=old spec=K2_value t=0.031 |
| hac5 coefficient | K2_value:old:TREND | -0.572 | 0.073 | 2692 | reported_only=1.000 r_squared=0.280 alignment=old spec=K2_value t=-7.850 |
| hac5 coefficient | K2_value:old:VALUE | -0.125 | 0.047 | 2692 | reported_only=1.000 r_squared=0.280 alignment=old spec=K2_value t=-2.649 |
| hac5 coefficient | K2_value:old:alpha | 5.077 | 2.060 | 2692 | reported_only=1.000 r_squared=0.280 alignment=old spec=K2_value t=2.464 |
| hac5 coefficient | book_raw_open_to_open:aligned:SPY_o2o | 1.585 | 0.042 | 2685 | reported_only=1.000 r_squared=0.637 alignment=aligned spec=book_raw_open_to_open dates=P3 t=37.964 |
| hac5 coefficient | book_raw_open_to_open:aligned:alpha | 1.424 | 2.266 | 2685 | reported_only=1.000 r_squared=0.637 alignment=aligned spec=book_raw_open_to_open dates=P3 t=0.628 |
| input bps | j1_raw_spread_bps | 5.632 | — | 0 | reported_only=1.000 |
| input bps | k1_long_raw_bps | 9.756 | — | 0 | reported_only=1.000 |
| input bps | k1_long_vs_universe_bps | 3.815 | — | 0 | reported_only=1.000 |
| input bps | k1_spy_bps | 6.162 | — | 0 | reported_only=1.000 |
| input bps | k1_spy_fwd_bps | 6.219 | — | 0 | reported_only=1.000 |
| input bps | k1_universe_ew_bps | 5.817 | — | 0 | reported_only=1.000 |
| input bps | k2_raw_spread_bps | 5.632 | — | 0 | reported_only=1.000 |
Decision rule fixed in docs/pre-registered-R.md at commit 9f9b60fc, 2026-09-19 14:21.
Does the book's overnight alpha survive a third night?
The rows the verdict was written on
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| breakeven bps | daily_book | 24.054 | — | 2685 | reported_only=1.000 |
| breakeven bps | tranche2 | 21.288 | — | 2685 | reported_only=1.000 |
| compounding identity max abs dev | intraday2*night3 == oo23 | 0.000 | — | 1345101 | reported_only=1.000 |
| long book bps | hold2 | 6.902 | 3.340 | 2685 | marks=('open', 1)->('open', 3) decision_bearing=0.000 |
| long book bps | implementable | 4.857 | 1.832 | 2685 | reported_only=1.000 |
| long book bps | intraday2 | -1.157 | 1.382 | 2685 | marks=('open', 2)->('close', 2) decision_bearing=0.000 |
| long book bps | night3 | 3.398 | 0.936 | 2685 | marks=('close', 2)->('open', 3) decision_bearing=1.000 |
| long book bps | overnight_next | 4.263 | 0.986 | 2685 | marks=('close', 1)->('open', 2) decision_bearing=0.000 |
| night3 over overnight next | all | 0.797 | — | 2685 | PERSISTS ci_excludes_zero=1.000 floor=0.500 permutation_p=0.005 |
| null pct95 bps | night3 | 0.589 | — | 200 | null_mean=-0.014 |
| replaced fraction | daily | 0.202 | — | 2684 | reported_only=1.000 convention=C3 per-leg, charged once |
| replaced fraction | lag2 | 0.324 | — | 2683 | reported_only=1.000 |
| tranche2 nav turnover | per_day | 0.162 | — | 2683 | reported_only=1.000 tickets_per_day=29.216 daily_book_tickets_per_day=18.199 |
| verdict | night3 | 0.005 | — | 2685 | PERSISTS p_definition=(1 + #{null >= observed}) / (draws + 1), one-sided upper over 200 within-date permutation draws; floor 1/201 bh_q=0.015 bh_reject=1.000 |
Decision rule fixed in docs/pre-registered-R.md at commit 9f9b60fc, 2026-09-19 14:21.
Does the ranking order names inside its own top — the prerequisite for holding fewer of them?
The rows the verdict was written on
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| decile profile bps | decile:1 | 5.429 | 1.900 | 2685 | reported_only=1.000 trials=15.000 |
| decile profile bps | decile:10 | -1.422 | 1.891 | 2685 | reported_only=1.000 trials=15.000 |
| decile profile bps | decile:2 | 1.223 | 0.796 | 2685 | reported_only=1.000 trials=15.000 |
| decile profile bps | decile:3 | -0.050 | 0.688 | 2685 | reported_only=1.000 trials=15.000 |
| decile profile bps | decile:4 | -0.425 | 0.608 | 2685 | reported_only=1.000 trials=15.000 |
| decile profile bps | decile:5 | -0.508 | 0.640 | 2685 | reported_only=1.000 trials=15.000 |
| decile profile bps | decile:6 | 0.250 | 0.663 | 2685 | reported_only=1.000 trials=15.000 |
| decile profile bps | decile:7 | -1.618 | 0.684 | 2685 | reported_only=1.000 trials=15.000 |
| decile profile bps | decile:8 | -0.775 | 0.662 | 2685 | reported_only=1.000 trials=15.000 |
| decile profile bps | decile:9 | -0.943 | 0.753 | 2685 | reported_only=1.000 trials=15.000 |
| null pct95 ic | within_top | 0.003 | — | 200 | null_mean=-0.000 |
| top decile subbucket bps | bucket:1 | 10.313 | 4.367 | 2685 | reported_only=1.000 n_buckets=5.000 granularity_not_registered=1.000 trials=15.000 |
| top decile subbucket bps | bucket:2 | 3.067 | 2.981 | 2685 | reported_only=1.000 n_buckets=5.000 granularity_not_registered=1.000 trials=15.000 |
| top decile subbucket bps | bucket:3 | 4.844 | 2.236 | 2685 | reported_only=1.000 n_buckets=5.000 granularity_not_registered=1.000 trials=15.000 |
| top decile subbucket bps | bucket:4 | 5.913 | 2.011 | 2685 | reported_only=1.000 n_buckets=5.000 granularity_not_registered=1.000 trials=15.000 |
| top decile subbucket bps | bucket:5 | 2.822 | 1.580 | 2685 | reported_only=1.000 n_buckets=5.000 granularity_not_registered=1.000 trials=15.000 |
| verdict | within_top_ic | 0.965 | — | 2685 | GATE CLOSED p_definition=(1 + #{null >= observed}) / (draws + 1), one-sided upper over 200 within-date permutation draws; floor 1/201 bh_q=0.965 bh_reject=0.000 |
| within top ic | all | -0.004 | 0.004 | 2685 | GATE CLOSED top_fraction=0.200 permutation_p=0.965 lower_95=-0.011 dates_dropped=0.000 |
Decision rule fixed in docs/pre-registered-R.md at commit 9f9b60fc, 2026-09-19 14:21.
Does the calm-market result survive a null that preserves how persistent a regime label is?
The row the verdict was written on
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| family max z | credited | 2.030 | — | 2684 | p=0.228 reported_only=1.000 |
| family max z | implementable | 2.059 | — | 2684 | p=0.217 gate=vol=mid+high rotations=2,683.000 null_pct95=2.649 |
| gate difference bps | dispersion=high | 6.094 | — | 1614 | z=1.691 episodes=42.000 switches=187.000 series=implementable |
| gate difference bps | dispersion=low | -5.445 | — | 437 | z=-1.252 episodes=34.000 switches=120.000 series=implementable |
| gate difference bps | dispersion=low+high | 3.988 | — | 2051 | z=0.912 episodes=52.000 switches=297.000 series=implementable |
| gate difference bps | dispersion=low+mid | -6.094 | — | 1070 | z=-1.691 episodes=47.000 switches=187.000 series=implementable |
| gate difference bps | dispersion=mid | -3.988 | — | 633 | z=-0.912 episodes=74.000 switches=297.000 series=implementable |
| gate difference bps | dispersion=mid+high | 5.445 | — | 2247 | z=1.252 episodes=29.000 switches=120.000 series=implementable |
| gate difference bps | trend=above | -4.872 | — | 2235 | z=-1.169 episodes=14.000 switches=53.000 series=implementable |
| gate difference bps | trend=below | 4.872 | — | 449 | z=1.169 episodes=13.000 switches=53.000 series=implementable |
| gate difference bps | vol=high | 3.788 | — | 733 | z=1.108 episodes=20.000 switches=55.000 series=implementable |
| gate difference bps | vol=low | -6.184 | — | 1062 | z=-2.059 episodes=31.000 switches=85.000 series=implementable |
| gate difference bps | vol=low+high | -3.281 | — | 1795 | z=-0.930 episodes=46.000 switches=140.000 series=implementable |
| gate difference bps | vol=low+mid | -3.788 | — | 1951 | z=-1.108 episodes=21.000 switches=55.000 series=implementable |
| gate difference bps | vol=mid | 3.281 | — | 889 | z=0.930 episodes=52.000 switches=140.000 series=implementable |
| gate difference bps | vol=mid+high | 6.184 | — | 1622 | z=2.059 episodes=32.000 switches=85.000 series=implementable |
| ic by gate | vol=mid+high | 0.004 | 0.002 | 2684 | ic_all=0.007 ic_excluded=0.003 conjunct_met=0.000 ic_definition=full cross-section average-rank Spearman(frozen score, implementable excess), per date (R3's) threshold_ignores_gate_selection=1.000 se_construction=paired block bootstrap of x*(off/p_off) - x with p_off held at its observed value |
| state ir annualised | dispersion:high | 0.965 | — | 1614 | reported_only=1.000 mean_bps=7.362 sd_bps=121.058 untestable_under_rotation=1.000 |
| state ir annualised | dispersion:low | 0.138 | — | 437 | reported_only=1.000 mean_bps=0.374 sd_bps=42.886 untestable_under_rotation=1.000 |
| state ir annualised | dispersion:mid | 0.472 | — | 633 | reported_only=1.000 mean_bps=1.885 sd_bps=63.419 untestable_under_rotation=1.000 |
| state ir annualised | trend:above | 0.819 | — | 2235 | reported_only=1.000 mean_bps=4.117 sd_bps=79.770 untestable_under_rotation=1.000 |
| state ir annualised | trend:below | 0.845 | — | 449 | reported_only=1.000 mean_bps=8.989 sd_bps=168.914 untestable_under_rotation=1.000 |
| state ir annualised | vol:high | 0.868 | — | 733 | reported_only=1.000 mean_bps=7.686 sd_bps=140.525 untestable_under_rotation=1.000 |
| state ir annualised | vol:low | 0.336 | — | 1062 | reported_only=1.000 mean_bps=1.195 sd_bps=56.522 untestable_under_rotation=1.000 |
| state ir annualised | vol:mid | 1.115 | — | 889 | reported_only=1.000 mean_bps=7.126 sd_bps=101.440 untestable_under_rotation=1.000 |
| verdict | gate_family | 0.217 | — | 2684 | NOT ESTABLISHED p_definition=(1 + #{Z*_k >= Z*_0}) / T over the exhaustive circular shift; floor 1/T bh_q=0.325 bh_reject=0.000 ic_conjunct=0.000 gate=vol=mid+high |
Decision rule fixed in docs/pre-registered-R.md at commit 9f9b60fc, 2026-09-19 14:21.
Does refitting the model on recent data, weighted toward it, beat the frozen one on identical dates?
The rows the verdict was written on
| Statistic | Label | Value | SE | n | Detail |
|---|---|---|---|---|---|
| delta bps | U | -1.396 | 1.194 | 2404 | reported_only=1.000 |
| delta bps | W | -0.961 | 1.559 | 2404 | INDISTINGUISHABLE null_pct95_abs=0.946 frozen_bps=4.411 leg=implementable open t+1 -> open t+2 decision_bearing=1.000 null_cleared=1.000 |
| delta ic | U | -0.001 | 0.001 | 2404 | reported_only=1.000 |
| delta ic | W | -0.003 | 0.002 | 2404 | INDISTINGUISHABLE null_pct95_abs=0.002 floor=0.002 frozen_ic=0.010 decision_bearing=1.000 null_cleared=1.000 |
| delta ic by year | U:2016 | 0.004 | — | 252 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | U:2017 | 0.000 | — | 251 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | U:2018 | -0.002 | — | 251 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | U:2019 | 0.000 | — | 252 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | U:2020 | 0.001 | — | 253 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | U:2021 | -0.019 | — | 252 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | U:2022 | -0.003 | — | 251 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | U:2023 | 0.000 | — | 250 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | U:2024 | 0.009 | — | 252 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | U:2025 | 0.005 | — | 140 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | W:2016 | 0.001 | — | 252 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | W:2017 | 0.005 | — | 251 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | W:2018 | 0.001 | — | 251 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | W:2019 | -0.004 | — | 252 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | W:2020 | -0.001 | — | 253 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | W:2021 | -0.031 | — | 252 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | W:2022 | -0.007 | — | 251 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | W:2023 | -0.008 | — | 250 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | W:2024 | 0.005 | — | 252 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| delta ic by year | W:2025 | 0.009 | — | 140 | reported_only=1.000 trials=10.000 note=per-fold breakdown; a later block citing it counts these as trials |
| frozen bps | comparator | 4.411 | — | 2404 | run=b9ca7ceb-3a78-4ff9-9fc7-b9a50636ca74 leg=implementable open t+1 -> open t+2 |
| frozen ic | comparator | 0.010 | — | 2404 | run=b9ca7ceb-3a78-4ff9-9fc7-b9a50636ca74 |
| null mean delta ic | W | 0.000 | 0.000 | 20 | cleared=1.000 rule=mean within 2 SE of zero |
| null pct95 abs delta bps | W | 0.946 | — | 20 | |
| null pct95 abs delta ic | W | 0.002 | — | 20 | |
| reproduction max rel dev | arm_u_2015_vs_pickle | 42,815.515 | — | 103827 | gate=reported max_abs=0.020 rank_corr=0.947 |
| reproduction max rel dev | frozen_pickle_vs_backtest_scores | 0.000 | — | 1093176 | gate=hard rtol=0.000 passed=1.000 |
| verdict | all | 0.000 | — | 2404 | INDISTINGUISHABLE null_cleared=1.000 excluded_from=2025-07-28 excluded_to=2026-08-19 |
Decision rule fixed in docs/pre-registered-R5.md at commit 9f9b60fc, 2026-09-19 14:45.