Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
354 changes: 354 additions & 0 deletions docs/experiments/2026-08-09-cts-factor-collinearity.md

Large diffs are not rendered by default.

358 changes: 358 additions & 0 deletions docs/experiments/2026-08-09-cts-factor-collinearity.py

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions docs/experiments/trials-ledger.jsonl
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,6 @@
{"decision":"diagnostic_only","kind":"ablation","params":{"arm_a":"turtle_breakout 40/20 ATR(20) 2N rr6 ADX(14)>25","arm_b":"rsi_meanrev constructor defaults, timeframe=ONE_DAY","assets":["BTC-USD","ETH-USD","PAXG-USD","ADA-USD","XLM-USD"],"fee_pct":"0.006","granularity":"ONE_DAY","measurement":"KB-80.16 five measurements","not_a_candidacy_test":"rsi_meanrev settled-refuted per KB-74.3","outcome":"degenerate - arm B took 0 trades on all 5 assets; no relationship measurable","slippage_pct":"0.0005"},"per_bar_pnl":[],"per_trade_pnl":[],"prev_hash":"ef7708484ef5a3dbfac307f09f153f9d0de6250596a3c90edbc593d901c32ea6","provenance":"a_priori","row_hash":"9e68efdd976787e92a572f9bdfee7010642334cbd8d0cbb719ffcd1123df1313","rule":"turtle_breakout|rsi_meanrev","series_missing":true,"session":"between-family-independence-2026-08-08","summary":{},"timestamp":1786185738,"trial_id":"between-family-turtle-vs-rsi-2026-08-08"}
{"decision":"diagnostic_only","kind":"ablation","params":{"arm_a":"turtle_breakout 40/20","arm_b":"turtle_breakout 80/40","assets":["BTC-USD","ETH-USD","PAXG-USD"],"finding":"PR #103 used closed-trade P&L attribution, not mark-to-market","granularity":"ONE_DAY","measurement":"harness calibration vs 2026-07-20-horizon-independence.md","reproduced_closed_convention":{"BTC-USD":"0.802 vs published 0.802","ETH-USD":"0.934 vs published 0.934"}},"per_bar_pnl":[],"per_trade_pnl":[],"prev_hash":"9e68efdd976787e92a572f9bdfee7010642334cbd8d0cbb719ffcd1123df1313","provenance":"a_priori","row_hash":"eca7915eab07b63acd3503a8dfb515f6df99ab3114bd1214e03e6aed0ccbc512","rule":"turtle_breakout","series_missing":true,"session":"between-family-independence-2026-08-08","summary":{},"timestamp":1786185747,"trial_id":"harness-calibration-crosshorizon-2026-08-08"}
{"decision":"diagnostic_only","kind":"ablation","params":{"alignment":"common timestamps","arms":"shipped turtle 40/20 vs ITSELF on another asset, identical params","assets":["BTC-USD","ETH-USD","PAXG-USD","ADA-USD","XLM-USD"],"cross_horizon_comparator":{"jaccard":"0.510","pnl_closed":"0.508","position":"0.585"},"finding":"asset breadth is ~an order of magnitude more independent than horizon breadth; supports the minbtl allowlist-expansion case","granularity":"ONE_DAY","mean_jaccard":"0.144","mean_pnl_corr_closed":"0.011","mean_pnl_corr_mtm":"0.056","mean_position_corr":"0.175","measurement":"KB-80.16 five measurements, CROSS-ASSET","pairs":10},"per_bar_pnl":[],"per_trade_pnl":[],"prev_hash":"eca7915eab07b63acd3503a8dfb515f6df99ab3114bd1214e03e6aed0ccbc512","provenance":"a_priori","row_hash":"5e1984ea47926c00a94b4a7da578f32deea4900b7a085199b4153a6fa2fe4dce","rule":"turtle_breakout","series_missing":true,"session":"between-family-independence-2026-08-08","summary":{},"timestamp":1786188041,"trial_id":"cross-asset-shipped-turtle-2026-08-08"}
{"decision":"diagnostic_only","kind":"ablation","params":{"arm":"1 - UNCONDITIONAL, every bar","assets":["BTC-USD","ETH-USD","PAXG-USD","ADA-USD","XLM-USD"],"factors_varying":10,"finding":"momentum cluster REFUTED (mean within phi -0.018 vs +0.025 background; the two RSI factors co-occur 0 times in 6822 bars). trend cluster CONFIRMED but small (+0.190). strongest pair in the matrix is deceleration x candlestick_pattern +0.254, not pre-declared. CTS total variance inflation 1.161 -> ~8.6 effective independent factors of 10.","granularity":"ONE_DAY","hypotheses_tested":45,"measurement":"pairwise phi/Jaccard/lift over CTS factor-presence vectors","multiple_testing":"Holm-Bonferroni, alpha=0.05, family = the 45 pairs actually tested","n_observations":6822,"no_code_change":"DEFAULT_WEIGHTS, factors, gates and thresholds all unchanged","p_values_load_bearing":false,"pre_declared_clusters":{"momentum":["rsi_extreme","rsi_divergence","deceleration"],"trend":["condition_aligned","ema_fan_aligned"]},"significant_pairs":23,"source_ratio_not_used":"QuantCrawler 3-of-4 agreement is unvalidated; used in no computation","window":"expanding from first cached bar (reproduces the live path exactly)"},"per_bar_pnl":[],"per_trade_pnl":[],"prev_hash":"5e1984ea47926c00a94b4a7da578f32deea4900b7a085199b4153a6fa2fe4dce","provenance":"a_priori","row_hash":"6d9f3f9ee286b45270f4b3527b6a54f7981f8e3915cb81d5f080619412fe5b8a","rule":"n/a (factor-level, not rule-level)","series_missing":true,"session":"cts-factor-collinearity-2026-08-09","summary":{"max_abs_phi_any_pair":"0.254","mean_cts_total":"5.14","mean_other_phi":"0.025","mean_within_phi_momentum":"-0.018","mean_within_phi_trend":"0.190","variance_ratio":"1.161"},"timestamp":1786446356,"trial_id":"cts-factor-collinearity-unconditional-daily-2026-08-09"}
{"decision":"diagnostic_only","kind":"ablation","params":{"arm":"2 - UNCONDITIONAL, every bar","assets":["BTC-USD","ETH-USD","PAXG-USD","ADA-USD","XLM-USD"],"factors_varying":9,"finding":"reproduces arm 1: momentum -0.004, trend +0.201, strongest pair still deceleration x candlestick_pattern +0.257. sr_touches is CONSTANT (0.000) under a 500-bar hourly window and was dropped from the family.","granularity":"ONE_HOUR","hypotheses_tested":36,"measurement":"replication of arm 1 at 27x the sample","multiple_testing":"Holm-Bonferroni, alpha=0.05; at this N significance is uninformative","n_observations":186725,"window":"rolling 500 bars (expanding is O(n^2) over 44k bars)"},"per_bar_pnl":[],"per_trade_pnl":[],"prev_hash":"6d9f3f9ee286b45270f4b3527b6a54f7981f8e3915cb81d5f080619412fe5b8a","provenance":"a_priori","row_hash":"40756b17a5dbc00630dfb5fa815ee03e8d5532acaa2ab09f97c9595e6a1783e4","rule":"n/a (factor-level, not rule-level)","series_missing":true,"session":"cts-factor-collinearity-2026-08-09","summary":{"mean_other_phi":"0.009","mean_within_phi_momentum":"-0.004","mean_within_phi_trend":"0.201","variance_ratio":"1.089"},"timestamp":1786446356,"trial_id":"cts-factor-collinearity-unconditional-hourly-2026-08-09"}
{"decision":"diagnostic_only","kind":"ablation","params":{"arm":"4 - CONDITIONAL (collider; reported for contrast, never as the headline)","assets":["BTC-USD","ETH-USD","PAXG-USD","ADA-USD","XLM-USD"],"finding":"demonstrates the selection effect it was run to demonstrate: P(condition_aligned) 0.275 -> 0.818, P(ema_fan_aligned) 0.301 -> 0.909, and the variance ratio falls BELOW 1 (0.663) because conditioning truncates rather than decorrelates.","granularity":"ONE_DAY","hypotheses_tested":45,"measurement":"the SAME matrix conditioned on a fired, gate-cleared signal","n_observations":77,"rule":"turtle_breakout 40/20 ATR(20) 2N rr6 ADX(14)>25 (shipped, keel-live rules 1-5)","significant_pairs":3,"underpowered":"N=77 estimates nothing on its own","window":"expanding"},"per_bar_pnl":[],"per_trade_pnl":[],"prev_hash":"40756b17a5dbc00630dfb5fa815ee03e8d5532acaa2ab09f97c9595e6a1783e4","provenance":"a_priori","row_hash":"4b196d5369087d0e8e689d9138e6a9a9d186daf1369e29158ac1a215d1221e2b","rule":"n/a (factor-level, not rule-level)","series_missing":true,"session":"cts-factor-collinearity-2026-08-09","summary":{"mean_within_phi_momentum":"-0.047","mean_within_phi_trend":"0.202","variance_ratio":"0.663"},"timestamp":1786446356,"trial_id":"cts-factor-collinearity-conditional-fired-2026-08-09"}
Loading
Loading