Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

DOGE USD-M Taker-Flow Imbalance Continuation, Long-Short (Perp na BINANCE sa iisang instrumento, 15m Bars + Multi-Year na TAKER BUY/SELL Aggressor-Volume Feed, Pumapasok sa Direksiyon ng Bugso ng Aggressor Flow sa Itaas/Ibaba ng Decile na Hindi Pa NOT Ganap na Naipresyo, Continuation na Nauuna ang Flow sa Presyo, 3-Parameter)

Resulta: Inabandona

DogeTakerFlowImbalanceContinuationLS15m

Saklaw ng multi-year taker feed (sumasaklaw ang mga trade sa 2021-2022, hindi lang kamakailang datos); tunay na non-price signal; mga lookup na O(log n) at ligtas sa timeout

Hypothesis

Isang LONG-SHORT, iisang-instrumentong estratehiya sa microstructure sa DOGEUSDT.BINANCE (USD-M perpetual, 15m na mga bar ng pagpapasya) na tumataya sa direksiyon ng agresibong taker order flow BEFORE bago lubusang maiayon muli ang presyo rito. Sadyang pinili ang DOGE: isa ito sa mga perp sa Binance na pinakadinodomina ng retail at may pinakamaraming agresibong order, kaya may di-pangkaraniwang lakas bilang panandaliang directional signal ang imbalance ng taker buy/sell volume nito kumpara sa mga pangunahing……Magpakita ng higit paMagpakita ng mas kaunti

Isang LONG-SHORT, iisang-instrumentong estratehiya sa microstructure sa DOGEUSDT.BINANCE (USD-M perpetual, 15m na mga bar ng pagpapasya) na tumataya sa direksiyon ng agresibong taker order flow BEFORE bago lubusang maiayon muli ang presyo rito. Sadyang pinili ang DOGE: isa ito sa mga perp sa Binance na pinakadinodomina ng retail at may pinakamaraming agresibong order, kaya may di-pangkaraniwang lakas bilang panandaliang directional signal ang imbalance ng taker buy/sell volume nito kumpara sa mga pangunahing asset. Ang perp ang instrumentong tine-trade; ang SIGNAL ay ang ratio ng Binance taker buy/sell aggressor volume (karagdagang feed ng `taker_ratio`, maraming taon), NOT raw OHLCV. Saklaw nito ang dalawang diversity bucket na pinakamalayo sa target na naaabot ng kasalukuyang portfolio ko nang hindi napupunta sa kilalang sementeryo: short_1m_15m na horizon (8.6% kumpara sa target na >=10%) at long_short na direksiyon (14.3% kumpara sa kisameng >=55% na nilalampasan ng long_only sa 85.7%). Iniiwasan din nito ang bitag ng survival na pure_ohlcv (1% sa 80) dahil umaasa ito sa tunay na microstructure feed, at NOT itong estratehiya sa Hyperliquid (L11: 0/84 na survival ng HL), NOT itong estratehiya sa options (L23), NOT itong cross-sectional basket (L12), NOT itong signal ng funding level sa mga pangunahing asset (L13), NOT itong nakadepende sa liquidation feed (L3), at NOT itong cross-venue carry (L1). Mekanismo: sa bawat pagsasara ng 15m, kinukuwenta ang rolling taker-buy fraction na TB = taker_buy_vol / (taker_buy_vol + taker_sell_vol) sa maikling window, pati ang percentile nito sa mahabang trailing distribution. Kapag umabot sa sukdulang decile ang aggressor flow (matindi ang one-sided na pressure ng market order) AND at SMALL pa rin ang aktuwal na galaw ng presyo sa bar sa kaparehong window (naipon na ang flow ngunit hindi pa naiaayon muli rito ang presyo -> nauuna ang flow sa presyo), pumasok sa direksiyon ng flow. Sadyang kakaunti ang parameter (3 na knob) dahil ang sobrang pag-angkop sa datos ang #1 pangunahing sanhi ng pagkabigo rito (233x).

Inaayos ng Iteration-3 ang naiulat na pagkabigo sa Layer-2 lamang sa ONLY, at wala nang iba. Naglabas ang Layer 2 ng `TypeError: _num() takes 2 positional arguments but 3 were given` sa lahat ng anim na synthetic scenario: @staticmethod ang `_num` ngunit tinatawag ito bilang `self._num(...)`, at itinatali muli ng verifier proxy ng Layer-2 ang mga callable attribute bilang bound method, kaya naipapasa ang `self` bilang dagdag na positional argument. Naayos na ng code ang kaparehong sitwasyon para sa `_to_ns` sa pamamagitan ng paggawa rito bilang ordinaryong instance method; inilapat ko ang kaparehong minimal na ayos sa `_num`. Ginawa ko ring instance method ang `_pctile` (ang nag-iisang iba pang @staticmethod, na tinatawag din sa pamamagitan ng `self._pctile(...)`) para hindi lang umulit ang strategy sa susunod na staticmethod kapag lampas na ang `_num`. Walang binagong call site (ginagamit na ng lahat ang `self.`), at hindi ginalaw ang signal logic, imports, parameter, o config — nananatiling pasado ang lahat ng naunang layer at hindi ginalaw ang gumaganang signal path.

Netong lugi dahil sa fees na LIQUIDATED sa account (total_return -100%, max_drawdown 100%, liquidation 2022-10-19; taunang returns 2021 -14%, 2022 -127% at saka flat). Sa mahigit 12,810 trades: profit_factor 0.46, Sharpe -0.77 (CI [-4.76, -0.01]), PSR 0.06, expectancy -$17.83/trade, win_rate 39.7%, avg_trade_return_pct 0.0069% (malayong mas mababa sa 0.15% na fee floor, L22). 50.1% ng gross ang commissions ($99k commission + $131k impact) — nangingibabaw ang mga gastos sa trading sa high-frequency na……Magpakita ng higit paMagpakita ng mas kaunti

Netong lugi dahil sa fees na LIQUIDATED sa account (total_return -100%, max_drawdown 100%, liquidation 2022-10-19; taunang returns 2021 -14%, 2022 -127% at saka flat). Sa mahigit 12,810 trades: profit_factor 0.46, Sharpe -0.77 (CI [-4.76, -0.01]), PSR 0.06, expectancy -$17.83/trade, win_rate 39.7%, avg_trade_return_pct 0.0069% (malayong mas mababa sa 0.15% na fee floor, L22). 50.1% ng gross ang commissions ($99k commission + $131k impact) — nangingibabaw ang mga gastos sa trading sa high-frequency na 'flow-leads-price continuation' (12,810 trades sa 15m, 66-min na average hold), at dahil avg_loss ($55) > avg_win ($39), kasama ang skew -4.1, kurtosis 627 at 19 sunod-sunod na lugi, naubos ang pondo nito dahil sa mga gastos hanggang ma-liquidate. Di tulad ng mga taker feed na para lang sa kamakailang panahon sa ibang lugar, saklaw ng pinagsamang metrics+taker_ratio feed dito ang 2021-2022, kaya hindi ito kaso ng data wall — malinaw na walang edge at pinangingibabawan ng fees ang single-perp na estratehiyang ginagabayan ng order flow (L73 / L18 fee_edge extreme). Walang pag-tune sa flow_window/flow_pct/price_move_pct ang makapag-aangat sa 0.007%/trade na edge nang lampas sa ~0.10% na round-trip o makapagbabawas sa ~12.8k na turnover ng trades nang hindi iniiwan ang mekanismo. Pattern ng pagkabigo: fee_edge/no_edge na single-perp taker-flow continuation, na-liquidate. Hindi sulit ang 2 oras ng optimization.

Implementasyon

Long-short na microstructure strategy sa iisang instrumento sa DOGEUSDT.BINANCE USD-M perp (15m bars). Ang signal ay ang imbalance ng agresor-volume ng taker buy/sell sa Binance (mula sa multi-year na seryeng `metrics` na pinagsama sa siksik na feed na `taker_ratio`), NOT raw OHLCV. Sa bawat pagsasara ng 15m, pinapakinis nito ang signed imbalance na (R-1)/(R+1) sa loob ng flow_window bars at niraranggo bilang percentile sa trailing distribution. Kapag umabot sa decile extreme ang biglang bugso ng agresor at hindi pa ganap na muling naitatakda ng presyo ang halaga (NOT ang realized |return| sa parehong window), pumapasok ito sa direksiyon ng daloy para sakyan ang pagpapatuloy. Lumalabas sa take-profit, stop-loss, hard time stop, o pagkaubos ng daloy (kapag tumawid pabalik sa neutral ang daloy ng agresor laban sa posisyon). Nananatiling flat kapag walang bagong taker reading (walang fallback na presyo lang ang batayan).

Mga Resulta ng Beripikasyon

CLEAN RESTART 2026-09-04 — inalis ang kasaysayan ng hatol at mga tala ng pagkatuto sa run na ito at sinimulan itong muli mula sa verification. Nagmula sa pipeline, hindi sa merkado, ang naunang pag-abandona: mali ang pagkakatali ng Layer-2 harness sa mga @staticmethod helper (naayos); naglabas ang QA ng pinal na hatol sa performance batay sa smoke test na hindi na-optimize (inalis — QA tama lang ang sinusuri ngayon); at sanhi ng kakulangan ng backtest slot ang mga timeout sa sandbox (naayos). Hindi binago ang hypothesis at code ng strategy. Suriin ang code batay sa merito nito; ang performance ay pagpapasiyahan sa buong backtest at ng optimizer.

Hindi kayang tustusan ng mataas na turnover ang mga bayarin: 1552 trades/206 araw, 96.78% ng gross ang komisyon, avg_trade_return_pct -0.014% — pangunahing sanhi ng -93%. Ang flow_pct/price_move_pct ang mga knob ng optimizer, kaya problema ito sa dalas/edge para sa optimizer, hindi depekto sa code. Dapat limitahan ng optimizer ang bilang ng trade at netong kita bawat trade matapos ang bayarin; iwanan kung walang makitang mapagkakakitaang operating point.

Baligtad na reward/risk + posibleng maling direksiyon ang palagay: avg_win $61 < avg_loss $132 sa kabila ng TP>SL (nililimitahan ng flow-exhaustion exit ang panalo), ipinahihiwatig ng win_rate 0.37 na mas mahusay ang fading kaysa continuation sa DOGE 15m. Tama ang pagkakagawa ng code sa hypothesis ayon sa pagkakasulat, kaya tanong ito tungkol sa palagay/edge para sa analyst/research. Ihambing ang continuation at reversal polarity sa A/B test.

Pagsusuri ng Backtest

Sharpe
-0.77
Kabuuang Return
-100.00%
Max Drawdown
100.00%
Kabuuang Trade
12810
Win Rate
39.7%
Profit Factor
0.46

Saklaw ng multi-year taker feed (sumasaklaw ang mga trade sa 2021-2022, hindi lang kamakailang datos); tunay na non-price signal; mga lookup na O(log n) at ligtas sa timeout

Account LIQUIDATED 2022-10-19: total_return -100%, max_drawdown 100% (CI hanggang 100%), CAGR -100%

Pagkamatay sa bayarin: commission_pct_of_gross 50.1% ($99k komisyon + $131k impact), avg_trade_return_pct 0.0069% (malayong mas mababa sa hangganang 0.15%) sa loob ng 12,810 trades

Negatibo ang inaasahang kita: profit_factor 0.46, Sharpe -0.77 (CI [-4.76, -0.01]), PSR 0.06, inaasahang -$17.83/trade, win_rate 39.7%, avg_loss > avg_win

Pagkalugi sa pagpulot ng baryang tig-iisang sentimo: skew -4.1, kurtosis 627, 19 magkakasunod na pagkalugi; pumapasok ang continuation sa 12,810x at nauubos ang pondo sa mga gastos hanggang ma-liquidate

Backtesting: L73 single-perp order-flow L18 fee_edge sukdulan | Stratmill

Kasaysayan ng Iterasyon

Bumagsak ang verification (leverage_set_but_unused): nakatakda sa config ang leverage=2.0 ngunit hindi ginagamit ng strategy ang leverage sa sizing. Gamitin ito sa pag-size ng mga posisyon — notional = equity * fraction * leverage / price (basahin ang self.config.leverage) — o itakda sa leverage=1.0. Sa kasalukuyang anyo, walang bisa ang leverage at kapareho ng 1x ang backtest.

Bumagsak ang verification (Layer 2 — mga synthetic scenario): Mga ginamit na parameter: ['dist_min', 'flow_pct', 'flow_window', 'min_notional', 'dist_lookback', 'max_lag_hours', 'stop_loss_pct', 'price_move_pct', 'time_stop_bars', 'take_profit_pct', 'position_fraction'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: DogeTakerFlowImbalanceContinuationLS15m._num() takes 2 positional arguments but 3 were given (oras ng bar: 1735691040000) -……Magpakita ng higit paMagpakita ng mas kaunti

Bumagsak ang verification (Layer 2 — mga synthetic scenario): Mga ginamit na parameter: ['dist_min', 'flow_pct', 'flow_window', 'min_notional', 'dist_lookback', 'max_lag_hours', 'stop_loss_pct', 'price_move_pct', 'time_stop_bars', 'take_profit_pct', 'position_fraction'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: DogeTakerFlowImbalanceContinuationLS15m._num() takes 2 positional arguments but 3 were given (oras ng bar: 1735691040000) - steady_downtrend: TypeError: DogeTakerFlowImbalanceContinuationLS15m._num() takes 2 positional arguments but 3 were given (oras ng bar: 1735691040000) - flat_ranging: TypeError: DogeTakerFlowImbalanceContinuationLS15m._num() takes 2 positional arguments but 3 were given (oras ng bar: 1735691040000) - volatility_spike: TypeError: DogeTakerFlowImbalanceContinuationLS15m._num() takes 2 positional arguments but 3 were given (oras ng bar: 1735691040000) - zero_volume: TypeError: DogeTakerFlowImbalanceContinuationLS15m._num() takes 2 positional arguments but 3 were given (oras ng bar: 1735691040000) - price_gap: TypeError: DogeTakerFlowImbalanceContinuationLS15m._num() takes 2 positional arguments but 3 were given (oras ng bar: 1735691040000)

Bumagsak ang verification (Layer 4 — pagsusuri ng QA): - Nagdudulot ng ganap na liquidation ng account ang hindi nakokontrol na exposure / pyramiding. Naglalabas ang should_enter() ng BUY/SELL kapag natugunan ang kondisyon ng flow/price at hindi nito sinusuri kung may nakabukas nang posisyon, kaya sa magkakasunod na 15m bar kung saan nananatiling nasa decile extreme ang agresor flow at nananatiling 'maliit' ang presyo, muli itong pumapasok sa parehong panig at patung-patong ang mga posisyon. Pinatutunayan ito ng……Magpakita ng higit paMagpakita ng mas kaunti

Bumagsak ang verification (Layer 4 — pagsusuri ng QA): - Nagdudulot ng ganap na liquidation ng account ang hindi nakokontrol na exposure / pyramiding. Naglalabas ang should_enter() ng BUY/SELL kapag natugunan ang kondisyon ng flow/price at hindi nito sinusuri kung may nakabukas nang posisyon, kaya sa magkakasunod na 15m bar kung saan nananatiling nasa decile extreme ang agresor flow at nananatiling 'maliit' ang presyo, muli itong pumapasok sa parehong panig at patung-patong ang mga posisyon. Pinatutunayan ito ng sandbox: avg_position_pct = 463% ng equity kumpara sa ~30% na layon ng sizing (position_fraction 0.15 × leverage 2.0) — sobrang lampas na ~15x na maaari lang magmula sa paulit-ulit na pagdagdag. Resulta: liquidated=true (2026-05-02), total_return -100%, max_drawdown 100%. Kritikal na depekto sa pagkontrol ng panganib. - Walang lamang / mas mababa sa bayarin. Sa run na may sapat na sample (2636 trades, turnover 720): avg_trade_return_pct -0.0225% (negatibo, malayong mas mababa sa futures floor na 0.15% at round-trip na 0.10%), profit_factor 0.405, win_rate 0.39, avg_win $75 kumpara sa avg_loss $120 (baligtad ang reward/risk), Sharpe -2.29 na may CI [-10.68, -2.10] na pawang negatibo. Tugma ito sa paulit-ulit na inabandunang klase ng microstructure na taker-flow/taker-ratio. Hindi natatalo ng signal ang mga bayarin. - Nakadepende ang signal sa pinagsamang metrics/taker_ratio supplementary series na sumasaklaw sa window; tahimik na nagiging walang bisa ang strategy (walang fallback sa presyo) kapag kapos sa datos ang walk-forward window. Nakagawa ito ng mga trade rito, ngunit dapat kumpirmahin ang saklaw.

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.