Mga Estratehiya
Buwanang momentum spread ng large cap laban sa small cap
Resulta: Inabandona
LargeSmallCapMonthlyMomentumSpread
Buod ng Resulta
Sinubukan ng strategy na ito kung nagbibigay ng maaaring i-trade na buwanang spread ang 12-buwang relative momentum sa pagitan ng large cap (SPY) at small cap (IWM). Wala sa uniberso ng USEQ ang anim na style ETF na binanggit sa source, at sinabi sa palagay na nag-time out ang mga naunang two-leg USEQ run. Nabigo ang lahat ng tatlong pag-ulit sa beripikasyon ng Layer 3 dahil lumampas ang mga ito sa 300s na limitasyon ng sandbox, kaya itinigil ang run bago ang anumang backtest, optimization o pasya ng analyst. Sinasabi sa docstring ng strategy na ipinakita ng 2026-10-02 na pagsukat na halos lahat ng runtime ay nagamit sa pagtuklas ng file ng ParquetDataCatalog, hindi sa O(1) na loop ng strategy kada bar; nagpapahiwatig ito na nasa imprastraktura ang problema, hindi sa code ng strategy.
Hypothesis
Subukan ang 12-buwang tuntunin sa relative momentum ng source gamit ang SPY bilang proxy ng large cap at IWM bilang proxy ng small cap. Wala sa naka-configure na uniberso ng USEQ ang anim na style ETF na binanggit sa source. Nag-time out ang mga naunang two-leg USEQ run, kaya mahahatulan lang ang palagay na ito kapag nakagawa na ang pipeline ng nasukat na backtest.
verification_loop: sandbox_timeout: Nabigo ang beripikasyon (Layer 3 — sandbox backtest): lumampas ang smoke test sa 300s na limitasyon ng wall-clock sa ~20000-bar na window (2400 araw ng SPY.USEQ-1-DAY-LAST-EXTERNAL). Karaniwang nangangahulugan ito ng gawaing kada bar na lumalaki kasabay ng kasaysayan — halimbawa, muling pag-scan sa buong serye ng funding/supplementary, o muling pagbuo ng listahan at pagtawag sa min()/sorted() sa loob ng calculate_signal()/on_bar() sa bawat bar. Paunang kalkulahin ang mga nakaayos na timestamp array ONCE sa __init__ at gumamit ng bisect, o mag-cache ng mga lookup na nakatala sa timestamp, para maging O(log n), hindi O(n), ang gastos kada bar.
Implementasyon
Sa unang daily bar ng bawat buwan sa kalendaryo, ihambing ang kabuuang price return sa loob ng 252 session ng SPY (large cap) at IWM (small cap). Mag-long sa mas malakas na panig at mag-short sa mas mahina, na may 50% gross exposure sa bawat panig gamit ang buumbilang na shares; hawakan ang pares hanggang sa rebalance sa susunod na buwan. Ang signal ay ang tuloy-tuloy na agwat ng return na SPY_ret - IWM_ret.
Mga Resulta ng Beripikasyon
sandbox_timeout: Nabigo ang beripikasyon (Layer 3 — sandbox backtest): lumampas ang smoke test sa 300s na limitasyon ng wall-clock sa ~20000-bar na window (2400 araw ng SPY.USEQ-1-DAY-LAST-EXTERNAL). Karaniwang nangangahulugan ito ng gawaing kada bar na lumalaki kasabay ng kasaysayan — halimbawa, muling pag-scan sa buong serye ng funding/supplementary, o muling pagbuo ng listahan at pagtawag sa min()/sorted() sa loob ng calculate_signal()/on_bar() sa bawat bar. Paunang kalkulahin ang mga nakaayos na timestamp array ONCE sa __init__ at gumamit ng bisect, o mag-cache ng mga lookup na nakatala sa timestamp, para maging O(log n), hindi O(n), ang gastos kada bar.
Buod ng Resulta
Paulit-ulit na nagti-time out sa Layer 3 ang mga two-leg USEQ strategy, at itinuturo ng sariling tala ng strategy ang sanhi sa pagtuklas ng mga file sa catalog sa loob ng backtest runner (mga 494 ng 504 s), hindi sa gawaing strategy kada bar. Mas makatutulong ang pag-aayos sa pag-load ng catalog kaysa sa isa pang pag-ikot ng pag-code.
Matapos ang 3 pag-ulit, itinigil ito habang paulit-ulit na sinusubukang beripikahin. Lumampas ang Layer 3 sandbox smoke test sa 300s na limitasyon ng wall-clock sa ~20,000-bar na window (2,400 araw ng SPY.USEQ daily bar), kaya hindi tumakbo ang mga yugto ng pagsusuri sa backtest, analyst at risk.
Buwanang spread na long sa panalo at short sa talo sa pagitan ng SPY (proxy ng large cap) at IWM (proxy ng small cap) sa USEQ. Bawat buwan, inihambing nito ang kanilang 12-buwang (252-session) relative momentum, binili ang nangunguna at nag-short sa nahuhuli.
Hindi nasukat: walang natapos na backtest. Walang laman ang ulat ng backtest, walang ulat ng optimization, at walang datos para sa return, Sharpe o bilang ng trade.
Pagsusuri
Epekto ng Momentum at Pag-ikot ng Estilo
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.