Mga Estratehiya
SPY Bull-Market Pullback Countertrend (tapat na port ng pinkfish 'ac-countertrend' ni Farrell Aultman) — Long-Only All-In, DAILY bar, SPY.USEQ
Resulta: Inabandona
SpyAcCountertrendPullback
Buod ng Resulta
Inilipat ng SpyAcCountertrendPullback ang bull-market dip-buying strategy na 'ac-countertrend' ng pinkfish sa daily SPY.USEQ, at pinanatiling di-nagbabago ang mga tuntunin, default at pullback quirk ng pinagmulan. Dumaan ito sa 3 iteration at paulit-ulit na nag-timeout ang Layer 3 sandbox (lampas sa limitasyong 300s). Gumamit na ang huling bersyon ng O(1) na mga update sa bawat bar, at sinabi ng developer na tila sa labas ng strategy code nauubos ang oras. Iniwan ang run sa verification loop bago makagawa ng anumang backtest metric, kaya hindi nasubok ang hypothesis mismo.
Hypothesis
Inaayos ng iteration 3 ang ikalawang Layer-3 sandbox_timeout. Wala itong binabago sa mga tuntunin, indicator o parameter, at numerikal na kapareho ng v2 ang signal output (max relative diff ~3e-15 sa 3,000 test bar). Aral 155(c) diagnosis: O(1) na bawat bar ang v2. Mga ~1,650 daily bar lang ang window, na wala pang 1 s ng strategy time kahit nasa ~50 ang host load. Kaya malamang sa catalog/engine na labas sa strategy nauubos ang wall-clock (kapareho ng natuklasan sa mga timeout diagnosis ng Eth/Bnb v3). Gayunman, mas pinamura pa ngayon ang trabaho bawat bar: gumagamit ang rolling std ng returns at exit SMA ng running sums sa halip na magkopya ng list at muling magsuma sa bawat bar. Ini-scan ng rolling max ng 20 close ang fixed na 20-slot deque, at minsan lang sinisimulan ang mga EMA bago i-update nang recursively. Kung mag-timeout uli ito, sandbox plumbing o host load ang sanhi, hindi ang strategy code.
verification_loop: sandbox_timeout: Nabigo ang verification (Layer 3 — sandbox backtest): lumampas ang smoke test sa 300s na wall-clock limit sa ~20000-bar na window (2400 araw ng SPY.USEQ-1-DAY-LAST-EXTERNAL). Halos palaging nangangahulugan ito ng gawaing bawat bar na lumalaki kasabay ng history — halimbawa, muling pag-scan sa buong funding/supplementary series, o muling pagbuo ng list at pagtawag sa min()/sorted() sa loob ng calculate_signal()/on_bar() sa bawat bar. Ihanda muna ang mga nakaayos na timestamp array ONCE sa __init__ at gamitin ang bisect, o i-cache ang mga lookup ayon sa timestamp, para O(log n) sa halip na O(n) ang gastos bawat bar.
Implementasyon
Tapat na port ng pinkfish 'ac-countertrend' ni Farrell Aultman (MIT) ng Stratmill sa daily bars ng SPY.USEQ. Sa bull regime (SMA na sinimulan sa EMA40 ng istilong TA-Lib ay > EMA80), bumili ng all-in (buong share, leverage 1) kapag pullback = (pinakamataas na close sa 20 araw kasama ang kasalukuyan - close) / sample std sa 40 bar ng pct_change >= 3.0 (pinanatili ang dollar/unitless quirk ng pinagmulan). Lumabas kapag bear flip, close > SMA20, close < entry*(1-0.15), o nakahawak na nang 20 bar.
Mga Resulta ng Beripikasyon
sandbox_timeout: Nabigo ang verification (Layer 3 — sandbox backtest): lumampas ang smoke test sa 300s na wall-clock limit sa ~20000-bar na window (2400 araw ng SPY.USEQ-1-DAY-LAST-EXTERNAL). Halos palaging nangangahulugan ito ng gawaing bawat bar na lumalaki kasabay ng history — halimbawa, muling pag-scan sa buong funding/supplementary series, o muling pagbuo ng list at pagtawag sa min()/sorted() sa loob ng calculate_signal()/on_bar() sa bawat bar. Ihanda muna ang mga nakaayos na timestamp array ONCE sa __init__ at gamitin ang bisect, o i-cache ang mga lookup ayon sa timestamp, para O(log n) sa halip na O(n) ang gastos bawat bar.
Buod ng Resulta
Nabawasan na ng developer ang trabaho bawat bar sa O(1) gamit ang running sums at fixed-size deque, at ayon sa mga tala niya, sa labas ng strategy code nauubos ang oras (catalog/engine habang mabigat ang host). Kaya dapat siyasatin ang paulit-ulit na sandbox timeout sa USEQ daily bars bilang isyu sa imprastraktura, sa halip na tumugon sa mas marami pang pagbabago sa code.
Iniwan ito sa verification loop matapos ang 3 iteration. Ang nagpasiyang pagkabigo ay ang sandbox backtest sa Layer 3 na lumampas sa 300s na wall-clock limit sa ~20,000-bar (2,400-araw) na daily window ng SPY.USEQ. Hindi naabot ang pagsusuri sa backtest, optimization, analyst review at risk review.
Tapat na port ng strategy na 'ac-countertrend' ni Farrell Aultman mula sa pinkfish sa daily SPY.USEQ: long-only, all-in; bumibili ng dip sa ibaba ng pinakamataas na close sa loob ng 20 araw habang EMA(40) > EMA(80), at lumalabas kapag nagsara sa ibabaw ng SMA(20), tumama sa stop na 15%, nagbago ang regime o lumipas ang 20 bar. Sadyang pinanatili ang dollar-over-return-std na 'pullback' quirk ng pinagmulan.
Walang datos ng performance: walang laman ang ulat ng backtest, walang ulat ng optimization, at walang nakuwentang return, Sharpe o bilang ng trade.
Pagsusuri
ac-countertrend
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.