Mga Estratehiya
Cross-Asset Defensive Dual-Momentum Regime Rotation sa US ETF (SPY/QQQ kumpara sa TLT/IEF/GLD, buwanang rebalance sa daily bar, Absolute-Momentum Risk-Off Switch, ilang dekadang kasaysayan) — hindi kabilang sa Momentum-Confluence na pamilya; pinupunan ang kakulangan sa USEQ venue gamit ang pinakamalinis na dataset sa factory
Resulta: Inabandona
CrossAssetDefensiveDualMomentumEtfRotation
Buod ng Resulta
Hypothesis
Sa iteration na 2, iniayos lang ang iniulat na pagkabigo sa Layer-2. Nagmula ang TypeError ('other' expected InstrumentId, got str) sa sentinel ng nakabinbing target: pagkatapos ng rebalance, may InstrumentId ang self._pending_target, at ikinumpara ng guard na `self._pending_target != "none"` ang Cython InstrumentId sa str, na nagdudulot ng error sa halip na magbalik ng False. Ginawang payak na boolean flag na `_pending` ang sentinel; InstrumentId o None lang ang hawak ng `_pending_target`. Dahil dito, isinasagawa na ngayon ang lahat ng paghahambing ng ID (`held == target`, `iid == target`, `iid == self.instrument_id`) sa paghahambing ng string na ligtas sa None na `_same_id()`, kaya hindi na ikinukumpara ang InstrumentId sa None o str. Hindi nagbago mula sa nakaraang iteration ang signal logic, paghahati ng uniberso, buwanang anchor ng kalendaryo, sizing at pagkakasunod-sunod ng execution (pumasa ang Layer 1 / 1.5 at hindi ginalaw ang imports).
Implementasyon
Long-only na buwanang dual-momentum regime rotation sa unibersong USEQ na may limang ETF, sa mga bar na 1-DAY. Bawat session, binibigyan ng iskor ang bawat ETF batay sa pinagsamang total return nito sa 126-session at 63-session. Sa unang sinusuring session ng bawat buwan sa kalendaryo (nakabatay sa timestamp ng bar mismo at ligtas sa restart), pinipili ng relative momentum ang mas malakas sa SPY/QQQ; hahawakan lang ang panalo kung lampas sa abs_momentum_threshold ang absolute momentum nito. Kung hindi, lilipat ang bahagi sa pinakamalakas sa TLT/IEF/GLD na lampas sa kaparehong threshold; kung wala, cash ang hawak. Isang 95% ng equity na whole-share na bahagi lang ang hawak sa bawat pagkakataon; mano-manong pinapatakbo ang limang leg nang isinasaalang-alang ang settlement (i-liquidate muna, saka pumasok sa susunod na malinis na bar).
Mga Resulta ng Beripikasyon
Kung umaasa ang base sa sarili nitong min_bars_required para sa warmup gate ng dagdag na leg, tiyaking may >= lookback_days+1 bar ang lahat ng limang leg bago maganap ang unang rebalance (ipinatutupad na ito ng per-leg _score None-guard, kaya paalala ito bilang dobleng pag-iingat).
Ino-override ng min_bars_required() ang isang method ng framework (natukoy sa static analysis). Mukhang sinadya ito (nagbabalik ng lookback_days+2 = 128 para kontrolin ang warmup), at hiwalay na tinitiyak ng rebalance/score logic na sapat ang buffer (_score ay nagbabalik ng None kapag len(closes) < horizon+1), kaya walang panganib ng look-ahead o maagang trade. Kumpirmahing sinusunod ng base class ang override para kontrolin ang warmup sa halip na gamitin ang sarili nitong halaga.
Likás na mababa ang turnover ng regime rotation: 17 trade lang ang nagawa ng sandbox sa humigit-kumulang 1650 araw, kaya malamang na nasa ~60-120 trade lang ito sa loob ng ilang dekada ng USEQ 1-DAY na kasaysayan. Sapat ito para mapatakbo, pero kulang para maihiwalay ang edge sa ingay (tingnan ang L16). Pagbawas ng drawdown ang halaga ng mekanismo, hindi alpha sa bawat trade; kaya hindi mahalagang estadistika ang headline na avg_trade_return_pct (5.28%). Dapat suriin ng analyst ang mga sukatan ng buong kasaysayan na iniangkop sa panganib (Sharpe/Calmar/max_dd) at tiyaking talagang binabawasan ng absolute-momentum kill-switch ang bear drawdown kumpara sa SPY buy-and-hold benchmark. Tugma ang sandbox Sharpe na 0.84 / Calmar na 2.92 / beta na 0.55 sa depensibong rotation thesis sa pinaikling panahon.
Pagsusuri ng Backtest
- Sharpe
- 0.41
- Kabuuang Return
- 419.16%
- Max Drawdown
- 37.44%
- Kabuuang Trade
- 70
- Win Rate
- 50.0%
- Profit Factor
- 2.78
Katanggap-tanggap sa numero at hindi tinatablan ng bayarin sa pinakamalinis na venue: metrics_reliable=true, 70 trade, avg_trade_return_pct 2.87% (>>USEQ 0.05% na minimum), PF 2.78, positibong Sharpe na 0.41, total_commission $0 — tiyak na NOT itong pagkabigo dahil sa fee edge.
Ipinatutupad ng mga trade ang hypothesis: 70 long trade, 0 short, long-only na rotation sa mga hindi magkakaugnay na asset class, at aktibo at gumagana ang absolute-momentum kill-switch (nagiging cash ang equity sa matagal na downtrend, gaya ng mga patag na bahagi noong 2018-12/2019-01 at 2022-07..2022-11 sa kurba).
Pinatutunayan ng datos ang pangunahing depensibong tesis, hindi lamang ito ipinapahayag: sa 2008, bumaba ang halaga ng sleeve mula humigit-kumulang $125k tungo sa $78k (~37%), kumpara sa humigit-kumulang 55% ng buy-and-hold na SPY — nasusukat na pinutol ng kill-switch ang pinakamalalim na pagbagsak sa bear market, gaya mismo ng hiniling ng QA na kumpirmahin.
Ito ang pamilyang equity ng regime rotation na nagpakita ng LIFE sa factory (umabot sa optimization ang kapatid nitong SPY/TLT hysteresis), at malinaw na naiiba sa pagkabigo ng SectorDispersion cross-sectional (hindi magkakaugnay na asset class at depensibong switch, hindi long/short sa magkakaugnay na sektor).
Dahil positibo ang alpha na +1.1%/taon at mababa ang turnover (~3.3 paglipat/taon), matibay ito laban sa mga gastos; recovery_factor 13.2, profit_factor 2.78.
Mababa ang mga pangunahing sukatan ng risk-adjusted: Sharpe 0.41 / Sortino 0.43 / Calmar 0.26, at information_ratio -0.09 kumpara sa basket na pantay-pantay ang timbang — manipis ang aktibong bentahe laban sa payak na paghawak ng maraming asset.
Negatibo pa rin ang return sa tercile na may stressed volatility (-20%, Sharpe na -0.02, DD 56.6%) at sa window na covid_crash_2020 -21% — pumapalya ang buwanan/6-buwang ritmo sa mabilis na pagbagsak; mas napoprotektahan ng switch laban sa mabagal na bear market (2008) kaysa sa mabilis.
~2005-2026 ang epektibong sample (naka-flat ang estratehiya hanggang maipon ng GLD ang lookback sa 2004-11), kaya ~21 taon / ~70 paglipat — maisasagawa ngunit manipis para sa walk-forward split; bantayan ang overfitting sa ~23 trade/bintana.
Ang end_unrealized_pct 31 mula sa kabuuang return na 419% ay nangangahulugang bahagi ng headline ay bukas na posisyon sa pagtatapos ng pagsusuri — tingnan ang realized at iniangkop sa panganib, hindi ang headline na MTM.
Pagsusuri
Likas na hindi naaapektuhan ng mga bayarin: USEQ komisyon na $0, 1.42% lang ng gross ang modeled impact, at 2.23% ng notional ang return bawat trade kumpara sa minimum na 0.05% — NOT pagkamatay ng bentahe dahil sa bayarin.
Tapat na ipinapatupad ng code ang hypothesis: 98 long-only na buwanang rotation sa SPY/QQQ/TLT/IEF/GLD, ~2-buwang hawak, walang short, end_unrealized_pct -0.39 (walang pagpapalaki sa headline gamit ang MTM).
Positibo ang holdout (2013-04 hanggang 2018-04), na may Sharpe na 0.83 sa 16 trade; lampas sa maluwag nitong minimum ang profit factor na 2.25.
Tatlong pagkabigo sa HARD na hindi maaaring ipagwalang-bahala: is_overfitted=true (IS +0.528 kumpara sa OOS -0.718), average na OOS Sharpe NEGATIVE (-0.718; negatibo ang lahat ng tatlong window: -0.087/-1.843/-0.224), PBO 0.635 > 0.50.
DSR 0.0346 na may napiling Sharpe 0.416 BELOW ang hangganang inaasahan sa pinakamataas dahil sa swerte (expected max-by-luck) na 0.7317 sa 225 na pagsubok (44 epektibo); tinatanggihan ito ng programang FDR (p=0.965, natitira ang 4 sa 291).
Biglang nagbabago ang dalawang tunay na parameter; patag na 0.41–0.63 na larangan ng ingay ang heatmap na 5x5, at hindi ang napiling cell ang pinakamataas. Walang epekto ang abs_momentum_threshold sa lahat ng variation — pinatay ng optimizer ang kill-switch na siyang pangunahing katangian ng hypothesis.
Limang trade ang pinagmulan ng resulta: ang nangungunang 5 sa 98 ay 78.5% ng PnL na $444k; ang nangungunang 10 ay 110% (negatibo ang net ng natitirang 88).
Mas mababa ang resulta nito kaysa sa sarili nitong benchmark: nagtatapos sa $848,616 ang equal-weight na buy-and-hold kumpara sa $543,635 ng estratehiya mula sa parehong $100k; IR -0.090, alpha na 1.17%/taon sa beta na 0.58.
Lumampas ito sa paunang itinakdang limitasyong 20% DD sa 33.4% (Calmar na 0.44, 1065 araw na underwater); natugunan ang 2 sa 5 paunang itinakdang prediksyon.
Sa Benjamini-Hochberg na q=0.10 sa 291 kandidato ng programa, nananatili ang 4. Ang kandidatong hindi pumasa rito ay hindi maihihiwalay sa ingay ng mismong programa, gaano man kaganda ang indibidwal nitong mga estadistika.
Kasaysayan ng Iterasyon
Buod ng Resulta
Ang tuntuning nagre-rebalance nang humigit-kumulang 12 beses kada taon ay nagbubunga lamang ng 56-98 desisyon sa buong panahon, at iilan lang dito ang bumubuo sa lahat ng PnL. Kaya hindi matataya sa estadistika ang buwanang pag-ikot na may 3 parameter batay sa sampol na ito, gaano man kalinis o kahaba ang pinagbabatayang datos.
Iniwan ito ng analyst pagkatapos ng optimization dahil sa tatlong hindi maaaring isaisantabing matitinding pagkabigo sa bisa — overfit na walk-forward, negatibong average na OOS Sharpe, at PBO na lampas sa 0.50. Pinagtibay ito ng pagtanggi ng programa sa FDR (p=0.965), ng dalawang tunay na parameter na parehong nasa sensitivity cliff at ng hindi gumaganang abs_momentum_threshold, at ng mas mababang performance ng estratehiya kaysa sa sarili nitong equal-weight benchmark ($543,635 kumpara sa $848,616, IR -0.090); nagmula sa nangungunang 5 sa 98 trade ang 78.5% ng PnL.
Buwanang long-only na dual-momentum rotation sa USEQ daily bar: hawak ang mas malakas sa SPY/QQQ habang positibo ang pinagsamang absolute momentum nito; kung hindi, lilipat sa pinakamalakas sa TLT/IEF/GLD o sa cash. Layunin nitong makuha ang equity risk premium habang binabawasan ang malalalim na bear-market drawdown.
Sa paunang backtest sa 1993-2026, nagkaroon ng 419.2% kabuuang return, Sharpe na 0.41, Calmar na 0.26, profit factor na 2.78 at 37.4% max drawdown sa 70 long trade, na may avg_trade_return_pct 2.87% at $0 komisyon. Pagkatapos ng optimization, nagpakita ito ng 443.6% return, Sharpe na 0.416, 33.4% max drawdown at 98 trade. Ngunit OOS ang walk-forward Sharpe na -0.718 (mga window na -0.087 / -1.843 / -0.224), na may PBO 0.635 at deflated Sharpe na 0.0346, samantalang positibo ang 2013-2018 holdout, na may Sharpe na 0.83 sa 16 trade.
Ang Stratmill ay isang tool para sa pananaliksik at paper trading, hindi payo sa pananalapi o isang broker. Ang mga resulta ng backtest at paper trading ay hypothetical. May panganib ng pagkalugi ang pangangalakal.