Mga Estratehiya
Sinyal ng Chartist laban sa Fundamentalist (Bouchaud et al. 2017, 'Tama si Black'): Trend na iniangkop sa volatility sa loob ng 6 buwan minus paglihis ng log-price sa loob ng 5 taon, long/flat, bawat asset sa panel ng 10-ETF asset class (USEQ DAILY)
Resulta: Inabandona
ChartistMinusFundamentalistEtfPanelLongFlat
Buod ng Resulta
Binuo ang strategy para subukan kung may naidaragdag ang 'fundamentalist' mean-reversion term nina Bouchaud et al. sa loob ng 5 taon sa trend signal na 6 buwan, sa pamamagitan ng long/flat trading sa panel ng 10-ETF asset class sa USEQ daily bars na may control na k=0. Ipinahiwatig na ng sariling pre-study ng hypothesis na wala itong maidaragdag (Sharpe na 0.32 kumpara sa 0.33 kung wala ang value term). Gumamit ang code ng incremental O(1) indicator at pinagsama-samang lingguhang desisyon. Gayunman, nag-time out ang lahat ng 3 iteration sa Layer 3 sandbox backtest (lampas 300s sa ~2400 araw ng SPY data), at iniwan ang run bago pa nagkaroon ng engine backtest, optimization o analyst verdict.
Hypothesis
Pinananatili ng Iteration 3 ang dating pumapasang signal at sizing logic habang pinagsasama-sama ang mga lookup sa position at order cache nang isang beses sa bawat lingguhang panel decision. Inaalis nito ang paulit-ulit na pag-scan sa cache para sa bawat asset sa decision loop at pinananatiling constant-time ang pagproseso ng bar.
verification_loop: sandbox_timeout: Nabigo ang verification (Layer 3 — sandbox backtest): lumampas ang smoke test sa 300s wall-clock limit sa ~20000-bar window (2400 araw ng SPY.USEQ-1-DAY-LAST-EXTERNAL). Halos palaging nangangahulugan ito ng trabahong ginagawa sa bawat bar na lumalaki kasabay ng history — halimbawa, muling pag-scan sa buong funding/supplementary series, o muling pagbuo ng listahan at pagtawag sa min()/sorted() sa loob ng calculate_signal()/on_bar() sa bawat bar. Paunang ayusin ang mga timestamp array ONCE sa __init__ at gamitin ang bisect, o i-cache ang mga lookup ayon sa timestamp, para maging O(log n) sa halip na O(n) ang gastos sa bawat bar.
Implementasyon
Magkakahiwalay na long/flat ETF sleeve na gumagamit ng signal na trend na iniangkop sa volatility sa loob ng anim na buwan minus paglihis ng log-price sa loob ng limang taon, sinusuri linggu-linggo gamit ang incremental indicator state.
Mga Resulta ng Beripikasyon
sandbox_timeout: Nabigo ang verification (Layer 3 — sandbox backtest): lumampas ang smoke test sa 300s wall-clock limit sa ~20000-bar window (2400 araw ng SPY.USEQ-1-DAY-LAST-EXTERNAL). Halos palaging nangangahulugan ito ng trabahong ginagawa sa bawat bar na lumalaki kasabay ng history — halimbawa, muling pag-scan sa buong funding/supplementary series, o muling pagbuo ng listahan at pagtawag sa min()/sorted() sa loob ng calculate_signal()/on_bar() sa bawat bar. Paunang ayusin ang mga timestamp array ONCE sa __init__ at gamitin ang bisect, o i-cache ang mga lookup ayon sa timestamp, para maging O(log n) sa halip na O(n) ang gastos sa bawat bar.
Buod ng Resulta
Kailangang magkasya sa 300s smoke-test budget ng sandbox ang multi-instrument panel strategy na may 1260-session warm-up bago masubukan ang research claim nito, kaya sukatin ang runtime habang nakakabit ang bawat dagdag na instrument feed, hindi lang ang indicator math sa bawat bar.
Matapos ang 3 iteration, iniwan ito sa verification loop. Lumampas ang Layer 3 sandbox backtest sa 300s wall-clock limit sa ~20,000-bar window (2400 araw ng SPY.USEQ daily bars), kaya hindi ito umabot sa backtest review, optimization, analyst o risk review.
Pagsubok sa pagpapasinungaling sa pahayag nina Bouchaud et al. (2017): i-trade nang long/flat ang bawat isa sa 10 asset-class ETF (SPY, EFA, EEM, EWJ, TLT, IEF, GLD, SLV, DBC, USO) sa USEQ daily bars. S = T - k*V ang signal, kung saan ang T ay trend na iniangkop sa volatility sa 126-session na EMA at ang V ay log deviation mula sa 1260-session na SMA, na itinakda nang maaga ang k=1; lingguhan ang mga desisyon, at may control na k=0.
Walang nagawang engine backtest o optimization (walang laman ang backtest report, walang optimization report). Sa sariling point-in-time pre-study ng hypothesis, 0.32 ang pooled Sharpe para sa k=1 at 0.33 para sa k=0 (2006-2026, positibo ang 15 sa 21 taon), kaya walang naidagdag ang value term; inaasahan din ng pre-study na hindi maaabot ng strategy ang 0.5 OOS floor.
Pagsusuri
Tama si Black: Nasa loob ng factor na 2 ng Value ang presyo
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.