Skip to content

feat(qc,#18576): distill article 21195 -- BitcoinRegimeGate-QC (BTC regime gate QQQ/SHY) - #18582

Merged
myia-ai-01 merged 2 commits into
mainfrom
feature/18576-bitcoin-regime-gate
Sep 30, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
feature/18576-bitcoin-regime-gate

Conversation

@jsboige

@jsboige jsboige commented Sep 30, 2026

Copy link
Copy Markdown
Owner

Grain: DEEP/qc — lane myia-po-2024:CoursIA — prev: MED/research-code #18577

Résumé

Closes #18576 — distillation de l'article QC Research « Bitcoin Regime Signal for Growth Equities » (Derek Melchin, publié août 2026) : porte de régime BTC 24/7 → QQQ/SHY, premier projet du dépôt testant la face crypto → equity du spillover BTC (Iyer 2022 : 14-18 % de la variation de vol equity, ~17 % S&P 500). Grain fille de la re-évaluation #12748 (verdict IGNORE d'août révisé en DISTILLER le 2026-09-30 : raisons « non publié » et « pas de sources primaires » tombées sur la version publiée).

La règle (fidèle à l'article)

QQQ si (BTC > SMA50 BTC) ET (ROC20 BTC > 0), sinon SHY. Réévaluation hebdomadaire : premier jour de trading à 8 h ET, avant l'open US. BTC lu sur Bitfinex (24/7 — « no halts, circuit breakers, or closing bell »). Aucun ML : le distillat est le filtre de régime lui-même, en LEAN pur.

Backtests QC Cloud (protocole G — organe qc-mcp-lite, projet QC 37168922)

Compile BuildSuccess (0 erreur). Dates et mode pilotés par paramètres (start-year/start-month/end-year/end-month/mode) : un seul compile, 4 runs appariés — le benchmark QQQ buy-and-hold (mode=hold-qqq) mesure les mêmes fenêtres que le gate.

Run Période Sharpe CAGR MaxDD PSR Ordres
Gate IS 2016-01 → 2021-12 1.133 18.51 % 14.40 % 56.4 % 138
QQQ-hold IS 2016-01 → 2021-12 0.961 24.74 % 28.20 % 36.0 % 1
Gate OOS 2022-01 → 2026-06 0.640 14.87 % 15.20 % 14.3 % 111
QQQ-hold OOS 2022-01 → 2026-06 0.426 15.25 % 34.70 % 5.9 % 1

Backtest IDs : IS 166c29d74618eff404402c8de6b3f31e · OOS 04d50c2eb0870a3cc8df8246b23f64a3 · bench IS 6b918cd089f271a139dcda8609e23346 · bench OOS 83c8552a9a1409b21438a3be3d53f4d9. Annonce préalable posée sur le dashboard workspace (règle rate-limit).

Confrontation honnête aux claims de l'auteur et à la cohorte du dépôt

  • Claim auteur (2014-2026) : Sharpe 0.838. Mesuré dépôt : IS 1.133 / OOS 0.640 — ordre de grandeur cohérent (fenêtres différentes : Bitfinex QC ne sert pas 2014-2015 ; le split IS/OOS est le nôtre).
  • Benchmark apparié : le gate domine le buy-and-hold QQQ en risque-adjusté sur les deux fenêtres — Sharpe OOS +50 % (0.640 vs 0.426), MaxDD OOS divisé par 2.3 (15.2 % vs 34.7 %, en couvrant le bear 2022), CAGR égal (14.87 % vs 15.25 %).
  • Cohorte BTC tranche 11 (0 edge crypto → crypto mesuré dans ce dépôt) : ce distillat teste la face crypto → equity — l'edge de risque-adjusté y est mesuré sur les deux fenêtres.
  • Réserves : PSR OOS 14.3 % — l'edge vs cash seul n'est pas statistiquement établi sur la fenêtre OOS ; verdict Alive — risk-adjusted (pas de claim BEATS vs baseline ML multi-seed : stratégie déterministe, pas de seed, pas de ML). Jamais « promising » : les chiffres sont ci-dessus.

Périmètre

Artefact Chemin
Algorithme LEAN MyIA.AI.Notebooks/QuantConnect/projects/BitcoinRegimeGate-QC/main.py
Doc FR .../BitcoinRegimeGate-QC/README.md (tableau mesuré inclus)
Doc EN .../BitcoinRegimeGate-QC/README.en.md (jumeau, tableau mesuré inclus)
Entrée statut docs/qc/qc-strategies-status.md (table « vérifiées » + inventaire)

Lié à

🤖 Generated with Claude Code

jsboige and others added 2 commits September 30, 2026 12:23
…egime gate QQQ/SHY)

Port of the published QC Research article (Melchin, Aug 2026): hold QQQ when
BTC > SMA50 and ROC20 > 0 (24/7 Bitfinex source), else SHY; weekly check first
trading day 8:00 ET. First repository strategy testing the crypto->equity face
of the BTC spillover (Iyer 2022).

Backtests QC Cloud (project 37168922, one compile, 4 paired runs):
- Gate IS 2016-2021: Sharpe 1.133 / CAGR 18.51% / MaxDD 14.40% (PSR 56.4%)
- QQQ-hold IS: Sharpe 0.961 / MaxDD 28.20%
- Gate OOS 2022-2026: Sharpe 0.640 / CAGR 14.87% / MaxDD 15.20% (PSR 14.3%)
- QQQ-hold OOS: Sharpe 0.426 / MaxDD 34.70%
Gate beats the paired benchmark risk-adjusted in both windows; OOS PSR 14.3%
noted honestly (edge vs cash not established on OOS alone).

qc-strategies-status.md: entry Alive -- risk-adjusted (verified + inventory
tables); drifting prose counts removed per GO (a) recipe #17636 / #17029
(112 announced vs 118 actual folders measured); bucket table drift flagged
for the dedicated consolidation pass.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…garde #17636)

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

Detector: python scripts/audit/detect_organ_duplication.py --base <merge-base> --body-file <pr body>
Rationale: #16776 / #13564 (rule merged in #16778).

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Hermes] APPROVE — distillat #18576, vérifié au head f02f4a6e.

Issue liée #18576 lue. main.py (71 lignes) lu intégralement : règle fidèle à l'article — QQQ si (BTC > SMA50) ∧ (ROC20 > 0), sinon SHY ; réévaluation hebdo premier jour de trading 8 h ET avant l'open ; BTC Bitfinex 24/7 ; warmup 60 j > 50 j requis ; garde anti-churn (current == [target]) ; un seul compile, 4 runs pilotés par paramètres (mode=hold-qqq = benchmark apparié). Dates overridables sans recompile — propre.

  • README.md / README.en.md miroirs : chiffres identiques des deux côtés (IS 1.133/14.40 %, OOS 0.640/15.20 %, PSR OOS 14.3 %), réserves honnêtes conservées en français ET en anglais.
  • qc-strategies-status.md : la directive #17633 est appliquée exactement — le compte « 111 stratégies » n'est PAS re-mis à jour en 112, il est supprimé au profit d'une dérivation depuis l'arborescence projects/. C'est le geste canonique.
  • Secret scan du diff : CLEAN ; Gitleaks PASS (dont positive controls) ; check-links PASS ; prose-counts-guard PASS ; PR gate = DWELL (minuteur 120 min, « rien à corriger ») — pas un rouge de fond.

Limite honnête : backtests QC Cloud non rejouables depuis ce siège (données/licence QC) — les mesures sont prises sur la foi du rapport du body (projet QC 37168922, compile BuildSuccess), avec benchmark apparié et PSR faible déclaré. Aucun chiffre fabriqué détecté : cohérence croisée body ↔ README ×2 ↔ status.md vérifiée.

[Hermes hermes-pr-review, cycle :11 30/09, host f6be46d1b7a3, sig=a95f2506]

@jsboige

jsboige commented Sep 30, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 18582
head: f02f4a6
complete: true
body: read
comments-reviewed: 1
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: f7884d65f171f630a7a19bad3f9d121f521866166f655f3ac09870452e5a2a59
diff-files: 4
diff-additions: 162
diff-deletions: 3
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit 78cf736 into main Sep 30, 2026
34 of 36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

distill(qc,#11698): Bitcoin regime gate QQQ/SHY (21195 publi, Iyer 2022) -- port + backtest OOS

3 participants