Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

Taker-Flow / Price Divergence Reversal, Long-Short (Basket na may 3 Asset na Liquid na USD-M ETH/BNB/ADA, 4h Bars + TAKER BUY/SELL VOLUME-RATIO Feed, Kinokontra ang Matitinding Presyo na NOT Kinumpirma ng Daloy ng Aggressor — I-short ang Bagong Mataas na Nabuo Habang FALLING ang Pangingibabaw ng Taker-Buy, Bumili sa Bagong Mababa Habang RISING ang Pangingibabaw ng Taker-Buy, 3-Parameter)

Resulta: Inabandona

TakerFlowPriceDivergenceReversalLS

Buod ng Resulta

Sinikap ng strategy na ito na makakuha ng microstructure edge sa pagkokontra sa matitinding galaw ng presyo na hindi kinumpirma ng daloy ng taker aggressor — pag-short sa hungkag na bagong mataas at pagbili sa bagong mababa na ubos na ang supply — at sadyang inilarawan itong naiiba sa mga fade na nabigo sa buong sesyon. Hindi random ang timing ng entry (57.8% win rate), pero baligtad ang istruktura ng payoff: nilimitahan ng exit na revert-to-midpoint ang karaniwang panalo sa $885, samantalang hinayaang lumaki ng ATR stop ang mga talo hanggang $1,572. Nagresulta ito sa -$150.88/trade, kabuuang return na -36.1%, profit factor na 0.77, at drawdown na 49%. Dagdag pa rito, single-name ETH ang pinatakbo ng code sa halip na ang nilalayong basket na ETH/BNB/ADA, kaya wala ang ipinangakong diversification. Iniwan ito ng analyst sa pagsusuri ng backtest bilang isa na namang single-name reversal na baligtad ang aktuwal na reward:risk — signal na may negatibong expectancy na hindi kayang iligtas ng pagtune sa tatlong parameter.

Hypothesis

Isang LONG-SHORT, multi-instrument na reversal sa tatlong liquid na Binance USD-M perps (ETHUSDT, BNBUSDT, ADAUSDT) gamit ang 4h bars, na pinapagana ng DIVERGENCE sa pagitan ng presyo at ratio ng TAKER buy/sell volume (sum_taker_long_short_vol_ratio sa Binance Vision metrics CSV — ratio ng agresibong market-buy sa market-sell volume, may maaasahang datos sa maraming taon). Microstructure ang mekanismo, hindi pattern sa chart: ang pag-akyat ng presyo sa bagong lokal na mataas habang talagang WEAKENING ang pagbili……Magpakita ng higit paMagpakita ng mas kaunti

Isang LONG-SHORT, multi-instrument na reversal sa tatlong liquid na Binance USD-M perps (ETHUSDT, BNBUSDT, ADAUSDT) gamit ang 4h bars, na pinapagana ng DIVERGENCE sa pagitan ng presyo at ratio ng TAKER buy/sell volume (sum_taker_long_short_vol_ratio sa Binance Vision metrics CSV — ratio ng agresibong market-buy sa market-sell volume, may maaasahang datos sa maraming taon). Microstructure ang mekanismo, hindi pattern sa chart: ang pag-akyat ng presyo sa bagong lokal na mataas habang talagang WEAKENING ang pagbili ng AGGRESSOR (bumababa ang pangingibabaw ng taker-buy) ay rally na dulot ng passive/pekeng liquidity o short-covering na walang tunay na demand — malamang itong mabigo. Gayundin, ang bagong lokal na mababang nabuo habang humuhupa ang SELLING ng aggressor (tumataas ang pangingibabaw ng taker-buy) ay hudyat ng ubos na supply na maaaring bumawi. Sadyang naiiba ito sa iba pang flow research ng factory: hindi ito NOT trend-following na agresibong daloy (hiwalay itong long-only spot strategy) o NOT pagkontra sa sukdulang positioning (account ratio); kinokontra nito ang partikular na sitwasyon kung saan sinasalungat ng aktuwal na FLOW ng aggressor ang PRICE galaw. Sadyang 3-parameter (extreme_lookback, taker_smoothing, atr_stop_mult) para maiwasan ang pagkabigo dahil sa overfit; pinag-iba-iba ang basket para sa dami ng trade at tibay.

Walang edge na dapat i-optimize. Negatibo ang expectancy bawat trade sa nasusukat na sample na 230 trade: avg_trade_return_pct -0.199% (mas mababa sa hangganan ng bayarin), profit_factor 0.77, Sharpe na -0.53 (CI [-1.15, 0.08]), total_return -36.1%, max_drawdown 49.0%, talo sa 4 sa 6 taon (2024 -27.7%). Ipinapakita ng strategy ang mismong baligtad na reward:risk na sinabi ng hypothesis na 'sadyang naiiba' ito: kahit malusog ang 57.8% win rate, maliit lang ang mga panalong naibubulsa sa exit na revert-to-midpoint……Magpakita ng higit paMagpakita ng mas kaunti

Walang edge na dapat i-optimize. Negatibo ang expectancy bawat trade sa nasusukat na sample na 230 trade: avg_trade_return_pct -0.199% (mas mababa sa hangganan ng bayarin), profit_factor 0.77, Sharpe na -0.53 (CI [-1.15, 0.08]), total_return -36.1%, max_drawdown 49.0%, talo sa 4 sa 6 taon (2024 -27.7%). Ipinapakita ng strategy ang mismong baligtad na reward:risk na sinabi ng hypothesis na 'sadyang naiiba' ito: kahit malusog ang 57.8% win rate, maliit lang ang mga panalong naibubulsa sa exit na revert-to-midpoint (avg_win $885), samantalang hinahayaang lumaki ng ATR stop ang mga talo nang ~1.8x beses (avg_loss $1,572), kaya -$150.88/trade ang expectancy. Ito ang klase ng single-name reversal/fade na may baligtad na aktuwal na RR na paulit-ulit nang nabigo sa sesyong ito (SOL/XRP/DOGE/ADA/LINK fade, parehong padron). Ipinapakita ng 57.8% hit rate na hindi random ang timing ng entry, pero hindi kayang baligtarin ng pagtune sa extreme_lookback/taker_smoothing/atr_stop_mult ang negatibong expectancy ng signal na baligtad ang istruktura ng payoff, at negatibo na ang avg_trade_return_pct. Tandaan ding single-name ETH lang ang naihatid na strategy, hindi ang nilalayong basket na may 3 asset. Iwanan ito sa halip na gumugol ng 2 oras sa pag-optimize.

Implementasyon

Long-short na reversal sa microstructure ng ETHUSDT USD-M perp (4h bars), na sumasalungat sa mga sukdulan ng presyo NOT kapag kinumpirma ng daloy ng agresibong trading. Ang daloy ay ratio ng taker buy/sell volume (taker_long_short_vol_ratio mula sa Binance Vision metrics feed — volume ng agresibong market-buy kumpara sa market-sell, na may datos sa loob ng maraming taon). Bawat bar, nagbibigay ang calculate_signal ng CONTINUOUS divergence score na D = long_strength - short_strength: tumataas ang short_strength……Magpakita ng higit paMagpakita ng mas kaunti

Long-short na reversal sa microstructure ng ETHUSDT USD-M perp (4h bars), na sumasalungat sa mga sukdulan ng presyo NOT kapag kinumpirma ng daloy ng agresibong trading. Ang daloy ay ratio ng taker buy/sell volume (taker_long_short_vol_ratio mula sa Binance Vision metrics feed — volume ng agresibong market-buy kumpara sa market-sell, na may datos sa loob ng maraming taon). Bawat bar, nagbibigay ang calculate_signal ng CONTINUOUS divergence score na D = long_strength - short_strength: tumataas ang short_strength habang papalapit ang presyo sa tuktok ng extreme_lookback range nito WHILE at bumababa ang na-smooth na dominasyon ng taker-buy; tumataas ang long_strength habang papalapit ang presyo sa ibaba WHILE at tumataas ang dominasyon ng taker-buy. Nasa ~0 ang score ng mga kumpirmadong galaw (tumataas ang presyo kasabay ng pagtaas ng daloy, o bumababa kasabay ng paghina nito). Binary trigger ang ginagamit sa pagpasok — bagong lokal na high/low sa nakalipas na extreme_lookback bar — kasama ang sign ng divergence: SHORT bagong high na nagawa habang humihina ang daloy (signal<0), BUY bagong low na nagawa habang lumalakas ang daloy (signal>0). Lumalabas kapag bumalik sa mean ang presyo (bumalik ito sa midpoint ng range nito), at gumagamit din ng ATR stop (atr_stop_mult x ATR). Ibinabatay sa panganib ang laki ng mga posisyon: risk_frac ng equity bawat trade sa layo ng ATR stop, na nililimitahan sa notional ng equity na may leverage. Tatlo lang ang na-tune na parameter: extreme_lookback, taker_smoothing, atr_stop_mult.

Pag-aayos sa iteration 2 (synthetic failure sa Layer 2): ang iniulat na TypeError — `_extract() takes 1 positional argument but 2 were given` — ay sanhi ng pagiging `@staticmethod` ng `_extract`. Muling itinatakda ng proxy sa pag-verify ng Layer-2 ang mga method ng strategy sa proxy object nito; inaalis nito ang staticmethod descriptor kaya ipinasa ng `self._extract(rows)` ang `self` + `rows` (2 args) sa function na may 1 parameter. Ang SMALLEST na pag-aayos ay gawing ordinaryong instance method ang `_extract`……Magpakita ng higit paMagpakita ng mas kaunti

Pag-aayos sa iteration 2 (synthetic failure sa Layer 2): ang iniulat na TypeError — `_extract() takes 1 positional argument but 2 were given` — ay sanhi ng pagiging `@staticmethod` ng `_extract`. Muling itinatakda ng proxy sa pag-verify ng Layer-2 ang mga method ng strategy sa proxy object nito; inaalis nito ang staticmethod descriptor kaya ipinasa ng `self._extract(rows)` ang `self` + `rows` (2 args) sa function na may 1 parameter. Ang SMALLEST na pag-aayos ay gawing ordinaryong instance method ang `_extract` (`def _extract(self, rows)`); ginagamit na ng lahat ng call site ang `self._extract(...)`, kaya walang ibang code na binago. Hindi ginalaw ang lahat ng lohikang dati nang pumapasa (Layer 1 static at ang buong disenyo ng signal/entry/exit/sizing): byte-identical sa iteration 1 ang tuloy-tuloy na score ng divergence ng taker laban sa presyo, trigger ng entry na bagong sukdulan + tanda ng daloy, mga exit na revert-to-mean + ATR-stop, at sizing batay sa panganib. Hindi nagbago ang disenyo mula sa iteration 1: single-instrument ETHUSDT sa BINANCE USD-M futures (para lang sa pangunahing instrumento ini-inject ang metrics/taker data sa bawat bahagi, kaya walang flow data ang mga dagdag na bahagi sa literal na ETH/BNB/ADA basket); 3 parameter ang tinune; sizing na nililimitahan ng panganib (leverage=1.0).

Mga Resulta ng Beripikasyon

Nabigo ang pag-verify (Layer 2 — mga sintetikong senaryo): Mga parameter na ginamit: ['risk_frac', 'atr_period', 'min_notional', 'atr_stop_mult', 'min_ratio_pts', 'taker_smoothing', 'extreme_lookback'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: TakerFlowPriceDivergenceReversalLS._extract() tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735690920000) - steady_downtrend: TypeError:……Magpakita ng higit paMagpakita ng mas kaunti

Nabigo ang pag-verify (Layer 2 — mga sintetikong senaryo): Mga parameter na ginamit: ['risk_frac', 'atr_period', 'min_notional', 'atr_stop_mult', 'min_ratio_pts', 'taker_smoothing', 'extreme_lookback'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: TakerFlowPriceDivergenceReversalLS._extract() tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735690920000) - steady_downtrend: TypeError: TakerFlowPriceDivergenceReversalLS._extract() tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735690920000) - flat_ranging: TypeError: TakerFlowPriceDivergenceReversalLS._extract() tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735690920000) - volatility_spike: TypeError: TakerFlowPriceDivergenceReversalLS._extract() tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735690920000) - zero_volume: TypeError: TakerFlowPriceDivergenceReversalLS._extract() tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735690920000) - price_gap: TypeError: TakerFlowPriceDivergenceReversalLS._extract() tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735690920000)

Magpasya kung tumutugma sa layunin ang single-name ETH; kung kailangan ng tunay na basket, kakailanganin nito ng taker supp sa bawat bahagi. Kung tatanggapin, bigyan ng malaking timbang ang OOS/holdout.

UNIVERSE REDUCED FROM 3-ASSET BASKET TO SINGLE-NAME ETH (analyst/PM ang magpapasya). Basket na may 3 asset (ETH/BNB/ADA) ang hypothesis, at umaasa ito sa basket para sa dami ng trade at tibay; iisang instrumento lang ang nasa config: ETHUSDT. Isiniwalat ng developer ang limitasyon ng framework (para lang sa pangunahing instrumento ang taker/metrics supp) at tama siyang tumanggi sa proxy ng taker mula sa ibang pangalan (partikular sa asset ang daloy ng aggressor). ETH ay pinangalanang asset na may kaparehong mekanismo — hindi malaking hindi pagtutugma — pero inaalis nito ang proteksiyon ng basket laban sa overfit.

Ipadala sa holdout pero ituring na marupok; tiyaking nananatili ang win rate/dami ng trade sa OOS; isaalang-alang ang trailing exit para maituwid ang RR.

Maliit, kaunti ang sample, at baligtad ang RR edge: +4.66%, Sharpe na 0.27 (CI [-1.34, 2.01] na sumasaklaw sa sero), 52 trade lang (mas mababa sa hangganang ~100). avg_win $1,225 < avg_loss $1,726 (0.71) — nakasalalay ang pagiging kumikita sa 62% win rate dahil nililimitahan ng revert-to-mean ang mga panalo sa gitna, samantalang hinahayaang lumaki ng 2-ATR stop ang mga talo. Marupok: sapat ang maliit na pagbaba ng win rate para maging negatibo ang expectancy.

Tiyaking tumutugma ang na-load na key sa sum_taker_long_short_vol_ratio; piliin nang tahasan ang column kung malabo.

Tiyaking ang flow field ay ratio ng aggressor-VOLUME ng taker (taker_long_short_vol_ratio), hindi ang account ratio na batay sa bilang na ginagamit ng kaugnay na retail-crowding strategy — magkasalungat ang kahulugan ng dalawa.

Pagsusuri ng Backtest

Sharpe
-0.53
Kabuuang Return
-36.07%
Max Drawdown
48.98%
Kabuuang Trade
230
Win Rate
57.8%
Profit Factor
0.77

Mahusay na natukoy at naiibang microstructure signal (divergence ng taker-flow laban sa presyo) na gumagamit ng datos sa maraming taon

Ipinahihiwatig ng disenteng 57.8% win rate na hindi random ang timing ng entry

230 trade = nasusukat; walang liquidation

avg_trade_return_pct -0.199% — negatibo ang expectancy bawat trade, mas mababa sa hangganan ng bayarin

profit_factor 0.77, Sharpe na -0.53 (CI [-1.15, 0.08]), total_return -36.1%, max_drawdown 49.0% (malapit sa mahigpit na hangganan ng pag-abandona)

Baligtad ang reward:risk sa kabila ng 57.8% win rate — avg_win $885 ay ~0.56x avg_loss $1,572 lamang; nililimitahan ng paglabas sa gitna ang panalo habang hinahayaang lumaki ng ATR stop ang talo, kaya -$150.88/trade ang neto

Talo sa 4 sa 6 taon (2024 -27.7%); walang tumatagal na rehimen

Basket na may 3 asset na ETH/BNB/ADA ang itinakda ng hypothesis, pero single-name ETH lang ang pinatakbo ng code — walang diversification

Ito ang klase ng single-name reversal/fade na may baligtad na aktuwal na RR na paulit-ulit nang nabigo sa sesyong ito

Buod ng Resulta

Hindi nangangahulugan ang mataas na win rate na positibo ang edge — kapag ipinares ang target na revert-to-midpoint sa mas malawak na ATR stop, nakakakuha ng maliliit na panalo habang hinahayaang lumaki ang mga talo nang ~1.8x beses, kaya negatibo ang expectancy; ang ayos ng exit, hindi ang hit rate ng entry, ang nagpapasya kung makatatagal ang fade, at kailangang aktuwal na ipatupad ng naihatid na strategy ang ipinagpalagay na diversification.

Iniwan ito ng analyst sa yugto ng pagsusuri ng backtest bago ang pag-optimize: negatibo ang expectancy bawat trade sa nasusukat na sample, baligtad ang istruktura ng payoff (kaparehong baligtad na reward:risk na pumatay sa iba pang single-name fade sa sesyon), talo sa 4 sa 6 taon, at malapit sa 50% mahigpit na drawdown limit para sa pag-abandona; hindi kayang baligtarin ng pagtune sa mga parameter ang signal na likas na may negatibong expectancy. Nabanggit din na single-name ETH lang ang pinatakbo ng naihatid na code, hindi ang nilalayong basket na may 3 asset.

Long-short reversal ito na kumontra sa matitinding galaw ng presyo na hindi kinumpirma ng daloy ng aggressor — nagso-short sa bagong lokal na mataas habang bumababa ang pangingibabaw ng taker-buy (rally na walang tunay na demand), at bumibili sa bagong lokal na mababa habang humuhupa ang presyur ng taker-sell (ubos na ang supply) — gamit ang ratio ng taker buy/sell volume ng Binance na may datos sa maraming taon, at nilayon bilang basket na may 3 asset na ETH/BNB/ADA 4h.

Sa mahigit 230 trade (99 long / 131 short), lugi ito sa kabuuan sa kabila ng malusog na 57.8% win rate: avg_trade_return_pct -0.199% (mas mababa sa hangganan ng bayarin), expectancy na -$150.88/trade, profit factor na 0.77, Sharpe na -0.53 (CI [-1.15, 0.08]), kabuuang return na -36.1%, at maximum drawdown na 49.0%. Baligtad ang reward:risk — ang karaniwang panalo na $885 ay ~0.56x lang ng karaniwang talo na $1,572 — dahil nililimitahan ng revert-to-midpoint exit ang mga panalo, samantalang hinahayaang lumaki ng ATR stop ang mga talo.

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.