Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

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

Klasipikasyon: (a) konkretong trading idea. Pinagmulan: QuantConnect Strategy Library na “Momentum-Short Term Reversal Strategy” (mula sa Quantpedia). Ang orihinal ay dollar-neutral na cross-sectional na portfolio sa lahat ng NYSE/NASDAQ stock: i-ranggo ayon sa 12-buwang return, at sa tercile ng mga nanalo, mag-long sa 15 pangalang may LOWEST ratio ng geometric return rate noong nakaraang buwan laban sa geometric return rate sa loob ng 12 buwan (mga nanalo na wala pa sa huling, bumibilis na yugto ng……Magpakita ng higit paMagpakita ng mas kaunti

Klasipikasyon: (a) konkretong trading idea. Pinagmulan: QuantConnect Strategy Library na “Momentum-Short Term Reversal Strategy” (mula sa Quantpedia). Ang orihinal ay dollar-neutral na cross-sectional na portfolio sa lahat ng NYSE/NASDAQ stock: i-ranggo ayon sa 12-buwang return, at sa tercile ng mga nanalo, mag-long sa 15 pangalang may LOWEST ratio ng geometric return rate noong nakaraang buwan laban sa geometric return rate sa loob ng 12 buwan (mga nanalo na wala pa sa huling, bumibilis na yugto ng overreaction). Sa tercile ng mga talo, mag-short sa 15 pangalang may pinakamataas na ratio. Mag-rebalance buwan-buwan, 50/50 long/short. CANNOT ito patakbuhin gaya ng pagkakasulat dito. Ipinagbabawal ng Aral L137 ang mga multi-leg neutral na portfolio (0 natira sa 150 multi_instrument run). Ipinagbabawal ng L151 ang mga unibersong mano-manong inilagay. Ipinagbabawal ng L128 ang mga USEQ na daily-bar portfolio (35-500 rebalancing sa buong buhay ng portfolio, at inaalis ang mga ito ng deflation). Nakadepende rin sa survivorship ang unibersong “lahat ng stock” ng pinagmulan. Ang mekanismong maililipat ay ang ACCELERATION SCREEN sa momentum: sundan ang trend, pero huwag habang mas mabilis ang kamakailang return rate kaysa sa karaniwang rate ng trend mismo (isang blow-off), dahil doon kinakain ng short-term reversal ang pakinabang sa momentum. Isinulat ito muli bilang SINGLE-INSTRUMENT time-series na tuntunin sa asset na sinusukat nito (walang signal sa A, trade sa B, L143). Mas mabilis humina ang momentum ng crypto kaysa sa momentum ng equity, kaya pinaikli ang mga panahon: ang “12 buwan” ay nagiging 60 araw (360 4H bar), at ang “nakaraang buwan” ay nagiging 5 araw (30 4H bar), para mapanatili ang halos 12:1 ratio ng pinagmulan. Pagpili ng instrumento (L122: tahasang nakasaad): BNBUSDT.BINANCE USD-M. Mayroon itong kasaysayan sa Binance na sumasaklaw sa maraming taon mula noong unang bahagi ng 2020 sa 4H (humigit-kumulang 6.5 taon, ~14k bar). Isa itong likidong perp na kabilang sa nangungunang -5, at mas mababa ang beta nito sa BTC kaysa sa mga altcoin. Hindi ito BTC (62% ng bahagi sa kamakailang corpus), at hindi rin ETH (ang pinakamasikip na pangalang hindi-BTC sa kasalukuyang pipeline). Presyo lang ang batayan ng mekanismo, kaya sa Binance ito nananatili sa halip na HL (L168). Pinili ang 4H na dalas para umabot sa >=150 trade sa buong buhay nito; mga 70 naman ang maibibigay ng daily bar. Ipinahayag na flat na estado (L150): flat kapag ipinapakita ng screen na sobra na ang galaw o masyadong mahina ang trend. Inaasahang nasa merkado ito nang mga 45-55% ng oras, at flat nang mga 45-55%. Paunang rehistradong paghahambing, hinihingi ng L130 dahil para na ring gate ang screen: kailangang patakbuhin ang bersiyong walang gate (simpleng sign ng 60-araw na return, kaparehong mga exit) bilang kontrol na SEPARATELY ang marka nito. FALSIFIED ang hypothesis kung hindi hihigitan ng bersiyong may screen ang kontrol na walang gate sa Sharpe na OOS AND sa average na return bawat trade. Buong batayan ng pahayag ang screen, kaya kailangan nitong patunayan na may silbi ito. Babala tungkol sa source code: kinukuha ng leg para sa mga talo ang pinakamataas na GARR ratio gamit ang NEGATIVE denominator, na sa aktuwal ay pumipili ng mga talong bumibilis ang pagbaba at sumasalungat sa nakasaad na lohika na “mas malamang na wala pa sa huling overreaction.” Symetriko nitong isinasagawa ang lohika ng teksto (mag-short lamang sa mga bumabagal na pagbaba, laktawan ang mga capitulation leg) at hindi kinokopya ang kakaibang sign sa code. Profile ng panganib: 1x-1.5x leverage, laki ng posisyong iniangkop sa volatility (target na 2% kontribusyon sa daily volatility ng equity), maximum na 30% ng equity sa notional na tinimbang ayon sa panganib, at ATR stop na naglilimita sa lugi sa humigit-kumulang 2.5% ng equity bawat trade.

Iteration 4 (Layer-3 sandbox_timeout), pagbabago para lang sa performance na hindi binago kahit isang byte ang mga tuntunin sa trading. O(1) na ang trabaho ng strategy sa bawat bar: fixed-size deques, running sums, walang karagdagang pagbasa. May hangganang 500 ang _bars buffer ng base template. Ang natitirang operasyong hindi constant lang ay ang mid-deque lookup na closes[-1-short_bars] sa deque na may habang 361, at O(1) na ngayon ang lookup na iyon: binabasa ang hiwalay na deque na may maxlen short_bars+1 sa……Magpakita ng higit paMagpakita ng mas kaunti

Iteration 4 (Layer-3 sandbox_timeout), pagbabago para lang sa performance na hindi binago kahit isang byte ang mga tuntunin sa trading. O(1) na ang trabaho ng strategy sa bawat bar: fixed-size deques, running sums, walang karagdagang pagbasa. May hangganang 500 ang _bars buffer ng base template. Ang natitirang operasyong hindi constant lang ay ang mid-deque lookup na closes[-1-short_bars] sa deque na may habang 361, at O(1) na ngayon ang lookup na iyon: binabasa ang hiwalay na deque na may maxlen short_bars+1 sa index [0]. Ayon sa aral na L155(c), hindi lumalaki ang gastos sa bawat bar kasabay ng span. Humigit-kumulang 14k 4H bars ang window, at kayang hawakan ito ng purong Python na O(1) logic sa loob ng ilang segundo. Dahil sa kapaligiran ang timeout: 32-39 ang host load average sa 18 cores, at may humigit-kumulang 126k dirs ang bar catalog. Sa parehong oras, umabot din sa parehong 300s wall-clock limit ang mga daily-bar strategy na may ~2400 bars lang (SPY.USEQ, LTCUSDT, BYBIT PCA), kaya nasa engine/catalog setup habang mabigat ang load ang gastos, hindi sa strategy code. Dapat malampasan ito ng muling pagtakbo kapag mas mababa ang load.

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%).

Sandbox (isang hindi in-optimize na draw): -29% kabuuan, PF 0.89, Sharpe -0.08, IR kumpara sa buy-and-hold -1.09, max DD 43.9% sa loob ng 1824 araw, at nasa 'normal' vol tercile ang karamihan ng mga lugi. Ang PF na ganito kalapit sa 1 sa 283 trades ay nagpapahiwatig ng mahina o walang edge, hindi maling polarity. Ang paunang rehistradong falsification test ang mahalaga: patakbuhin ang use_screen=False bilang hiwalay na na-score na control at kailangan mas mahusay dito ang na-screen na bersyon sa OOS Sharpe AND……Magpakita ng higit paMagpakita ng mas kaunti

Sandbox (isang hindi in-optimize na draw): -29% kabuuan, PF 0.89, Sharpe -0.08, IR kumpara sa buy-and-hold -1.09, max DD 43.9% sa loob ng 1824 araw, at nasa 'normal' vol tercile ang karamihan ng mga lugi. Ang PF na ganito kalapit sa 1 sa 283 trades ay nagpapahiwatig ng mahina o walang edge, hindi maling polarity. Ang paunang rehistradong falsification test ang mahalaga: patakbuhin ang use_screen=False bilang hiwalay na na-score na control at kailangan mas mahusay dito ang na-screen na bersyon sa OOS Sharpe AND avg trade return. Pagsusuri ng ledger (L116/L140): avg_trade_return_pct ay +0.62%, samantalang total_return ay -29% at PF ay 0.89. Posible ito kapag malaki ang pagkakaiba ng laki ng trades (vol/ATR sizing: positibo ang equal-weighted pct, negatibo ang dollar-weighted), pero +0.62% x 283 ≈ +175% ang ipinahihiwatig kumpara sa aktuwal na -29%. Huwag gamitin ang avg_trade_return_pct laban sa fee floor hangga't hindi ito tinatimbang ng harness batay sa notional. Ang avg_holding_bars=0.0 kumpara sa holding period na 4d5h ay isa ring artifact sa pag-uulat ng harness. funding_folded=false na may 0 funding events: hindi sinisingil ng funding ang 4-araw na perp holds, kaya malamang sobra ang PnL ng long-side sa BNB.

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.