Mga Estratehiya
BNB Decelerating-Trend Momentum (GARR-Ratio Overreaction Screen, muling isinulat bilang single-instrument mula sa QuantConnect na 'Momentum-Short Term Reversal'): I-trade ang Sign ng 60-Araw na Return Lamang Kapag Mas Mababa sa 60-Araw na Rate ang Return Rate Bawat Araw sa Nakaraang -5 Araw, Lumabas Kapag May Overreaction / Pagbabago ng Trend / ATR Stop, Long-Short na may Flat na Estado (BNBUSDT.BINANCE 4H, purong OHLCV)
Resulta: Inabandona
BnbDeceleratingTrendMomentumGarr
Buod ng Resulta
Isinulat muli ng hypothesis ang cross-sectional equity momentum/reversal screen bilang long-short time-series na tuntunin sa BNBUSDT 4H bars, na may gate na ratio na kahawig ng GARR para sa return rate sa 5 araw kumpara sa 60 araw. Sa 4 iterations, nilimitahan ng developer ang gross exposure sa 30% ng equity at muling isinulat ang indicators bilang O(1) incremental updates para ayusin ang Layer 3 sandbox timeouts. Lumampas pa rin ang smoke backtest sa limitasyong 300s sa window na ~20,000 bars, at iniwan ang run sa verification loop. Hindi ito nakagawa ng backtest o nakarating sa analyst, kaya hindi na-score ang na-screen na strategy o ang ungated control.
Hypothesis
verification_loop: sandbox_timeout: Nabigo ang verification (Layer 3 — sandbox backtest): lumampas ang smoke test sa 300s wall-clock limit sa window na ~20000 bars (2400 araw ng BNBUSDT.BINANCE-4-HOUR-LAST-EXTERNAL). Karaniwang nangangahulugan ito ng trabahong tumataas kasabay ng kasaysayan sa bawat bar — 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 kalkulahin ang mga nakaayos na timestamp array ONCE sa __init__ at gumamit ng bisect, o i-cache ang mga lookup ayon sa timestamp, para O(log n) sa halip na O(n) ang gastos sa bawat bar.
Implementasyon
BNBUSDT.BINANCE 4H time-series momentum na may GARR acceleration screen. Sign ng 60-araw (360-bar) log return ang trend. Pumapasok ang strategy sa direksiyon ng trend kapag mas mababa sa entry_ratio_max ang 5-araw na return rate sa bawat bar na hinati sa 60-araw na rate sa bawat bar, ibig sabihin ay bumabagal ang trend sa halip na nagkakaroon ng blow-off. Lumalabas ito kapag may overreaction (ratio > exit_ratio), pagbabago ng trend, o ATR stop na nakabatay sa entry na ATR. Laki ng posisyon ang pinakamababa sa 30% gross cap, 2.5% na equity risk sa ATR stop, at 2% daily-vol target, lahat ay pinarami sa leverage. Ang use_screen=False ang ungated control.
Mga Resulta ng Beripikasyon
sandbox_timeout: Nabigo ang verification (Layer 3 — sandbox backtest): lumampas ang smoke test sa 300s wall-clock limit sa window na ~20000 bars (2400 araw ng BNBUSDT.BINANCE-4-HOUR-LAST-EXTERNAL). Karaniwang nangangahulugan ito ng trabahong tumataas kasabay ng kasaysayan sa bawat bar — 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 kalkulahin ang mga nakaayos na timestamp array ONCE sa __init__ at gumamit ng bisect, o i-cache ang mga lookup ayon sa timestamp, para O(log n) sa halip na O(n) ang gastos sa bawat bar.
Magbalik ng maliit na halaga mula sa min_bars_required() (hal. 2) at hayaang ang internal na _closes deque ang magtakda kung handa na. Bilang alternatibo, punan ang _closes/_rets/ATR mula sa self._bars sa unang tawag.
Ibinabalik ng min_bars_required() ang 361, at hindi tinatawag ng batayang on_bar ang calculate_signal hangga't hindi umaabot sa 361 ang len(self._bars). Nagsisimulang mapuno ang sariling mga deque ng strategy (_closes maxlen 361, _rets) pagkatapos nito, kaya dumarating ang unang wastong ratio bandang bar 722 (~120 araw ng 4H) sa halip na bar 361. Hindi ito bug sa correctness: doble lang ang haba ng warmup, at nawawalan ng humigit-kumulang 120 araw ang bawat walk-forward window.
Kung notional cap ang ibig sabihin ng 30%, itakda ang max_gross_frac sa 0.2 (0.3/1.5) para tahasang ilahad ng config ang limitasyong paunang nirehistro.
Sinasabi sa risk profile ng hypothesis na 'max 30% ng equity sa risk-weighted notional'. Ang gross cap ng code ay equity x max_gross_frac(1.0) x leverage(1.5) = 150%. Sa aktuwal, ang nagtatakdang cap ay ang ATR-stop risk cap: 2.5% equity / (3 x ATR% ≈ 4-5%) ≈ 50-60% notional, at 50% ang sandbox avg_position_pct. May hangganan ang worst-case gross (≤1.5x equity, pasok sa venue cap), at ≤2.5% ng equity ang lugi hanggang stop, na tugma sa hypothesis. Malabo ang bilang na 30% sa hypothesis, kaya minarkahan ito sa halip na bigong resulta.
Opsyonal na maglagay ng stop_market order sa entry_price ∓ atr_stop_mult*entry_atr kapag nagbukas ang posisyon, at kanselahin ito kapag lumabas batay sa signal.
Sa pagsasara lang ng 4H bar sinusuri ang 3xATR stop, kaya maaaring magdulot ang gap o galaw sa loob ng bar ng luging lampas sa nilalayong 2.5% ng equity. Hindi maipapahayag bilang fixed-% bracket ang distansiyang batay sa ATR, kaya katanggap-tanggap ito, pero lalampas sa disenyo ang aktuwal na stop losses (pinakamalaking lugi sa sandbox ay $5.66k sa book na humigit-kumulang $100k, ~5.7%).
Pagsusuri
Gate ng backtest: - hindi maaasahan ang metrics: Hindi magkatugma: salungat ang sign ng Sharpe na 0.12 sa total_return -32.08% — kinukuwenta ang Sharpe mula sa series na mtm_equity_curve, samantalang mula sa equity curve ang return. Hatulan batay sa equity curve.
Buod ng Resulta
Bago magsumite, sukatin ang aktuwal na runtime ng strategy sa bawat bar sa window na ~20k-bar: isinulat muli ng iterations 3 at 4 ang indicators bilang O(1) deque updates pero nag-timeout pa rin, kaya hindi naayos ng paghula sa bottleneck ang sandbox timeout.
Iniwan ito sa verification loop matapos ang 4 iterations. Paulit-ulit na lumampas sa 300s wall-clock limit ang Layer 3 sandbox backtest sa window na ~20,000 bars (2400 araw) na BNBUSDT 4H, at hindi ito nakalampas sa verification para makarating sa backtest review, analysis, o risk review.
Isang instrumentong restatement ng acceleration screen na 'Momentum-Short Term Reversal' ng QuantConnect sa BNBUSDT.BINANCE 4H: i-trade ang sign ng 60-araw na return kapag mas mababa sa 60-araw na rate ang return rate sa bawat bar sa loob ng 5 araw (ibig sabihin, iwasan ang blow-off stages), at lumabas kapag may overreaction, pagbabago ng trend, o ATR stop, kasama ang paunang rehistradong ungated control.
Walang datos ng performance: walang laman ang ulat ng backtest at walang optimization na isinagawa, kaya walang bilang para sa return, Sharpe, o dami ng trades.
Pagsusuri ng Backtest
- Sharpe
- 0.12
- Kabuuang Return
- -32.08%
- Max Drawdown
- 45.23%
- Kabuuang Trade
- 283
- Win Rate
- 52.3%
- Profit Factor
- 0.88
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.