কনটেন্টে যান

মূল লেখা দেখুন

BtcTakerFlowExhaustionReversalLS1H

হাইপোথিসিস

BTC Taker-Flow Exhaustion Reversal, Long-Short (Single-Instrument BINANCE USD-M Perp, 1h Bars, Fade Extreme Aggressor Imbalance — Short Late-Stage FOMO Buying / Buy Panic Selling — Range-Regime Gated, Novel Taker-Ratio Signal, 3-Parameter)

হাইপোথিসিস

BTCUSDT.BINANCE-এ একটি LONG-SHORT, একক-ইনস্ট্রুমেন্ট গড়ে প্রত্যাবর্তন কৌশল (USD-M পার্প, 1 ঘণ্টার বার), যা মূল্য নয়, ORDER FLOW দ্বারা চালিত — এমন একটি সিগন্যাল ইনপুট যা কোনো মোতায়েন করা কৌশল ব্যবহার করে না। প্রতি বারে এটি Binance ফিউচার্সের টেকার-রেশিও সম্পূরক ডেটা থেকে টেকার ক্রয়/বিক্রয় আগ্রাসীর ভারসাম্যহীনতা (টেকার-ক্রয় ভলিউমের অনুপাত) হিসাব করে (বিকল্প উৎস: আগ্রাসী অনুযায়ী শ্রেণিবদ্ধ trade_ticks), যা একটি সংক্ষিপ্ত উইন্ডো জুড়ে মসৃণ করা হয়। মূল ধারণা: আগ্রাসী ক্রয় যখন চরম ও স্থায়ী হয় (যেমন মসৃণকরণ উইন্ডো জুড়ে টেকার-ক্রয়ের অনুপাত ≥ 0.68), তখন প্রান্তিক মার্কেট-ক্রেতা শেষ পর্যায়ের FOMO / বাধ্যতামূলক শর্ট কভারিংয়ের অংশ, যার পেছনে নতুন লিমিট-অর্ডারের চাহিদা নেই — এই আগ্রাসী নিঃশেষের পর নির্ভরযোগ্যভাবে স্বল্পমেয়াদি পুলব্যাক আসে, তাই এটিকে FADE করুন SHORT। একইভাবে, চরম ও স্থায়ী টেকার-SELL আগ্রাসন (অনুপাত ≤ 0.32) হলো আতঙ্ক/আত্মসমর্পণজনিত মার্কেট-বিক্রয়, যখন অফার পাতলা হয়ে আসছে — LONG অবস্থান নিন। এই ফ্যাক্টরিতে ব্যর্থ হতে থাকা সবকিছু থেকে এটিকে ইচ্ছাকৃতভাবে একটি DIFFERENT পরিবার করা হয়েছে: এটি NOT ট্রেন্ড-ফলোয়িং (209-মৃত্যুর একক-রেজিম কবরস্থান — এটি বিপরীতমুখী এবং বিভিন্ন রেজিমে বিস্তৃত; ফ্লো যেদিকেই অতিরিক্ত প্রসারিত হোক, সেদিকেই লাভ দেয়), NOT ফান্ডিং ক্যারি (ফি-তে নিঃশেষ হওয়া স্যাচুরেটেড বাস্কেট পরিবার — এর এজ হলো 0.4–0.6% রিভার্সাল মুভ, এক বেসিস পয়েন্টের কম নগদ প্রবাহ নয়), NOT একটি N-লেগ বাস্কেট (এটি একক-ইনস্ট্রুমেন্ট, প্রতি রাউন্ড-ট্রিপে 2টি ফিল, তাই এটি L12-এর 2N×10bps ফি-প্রাচীর এড়িয়ে যায়), এবং NOT অপশন (ট্রেড-সংখ্যার কোনো বাধা নেই — চরম-ফ্লো ঘটনা বছরে কয়েক ডজনবার ঘটে, ফলে এজ নির্ভরযোগ্যভাবে মাপার জন্য শত শত ট্রেড পাওয়া যায়)। এটি NON-TRENDING রেজিমে সীমাবদ্ধ (ধীর ট্রেন্ড ফিল্টার সমতল/রেঞ্জবদ্ধ থাকলেই শুধু ফেড), যাতে একমাত্র প্রকৃত ব্যর্থতার ধরনটি এড়ানো যায় — এমন চরম ফ্লো যা নিঃশেষ হওয়ার বদলে INFORMED ধারাবাহিকতা। 3 অল্পসংখ্যক প্যারামিটার (ফ্লো মসৃণকরণ উইন্ডো, ভারসাম্যহীনতার সীমা, এক্সিট) এটিকে ওভারফিটিং-প্রতিরোধী রাখে।

হাইপোথিসিস

Iteration 3 একমাত্র Layer-4 QA failure—trade starvation (6 trades/363d), যা অতিরিক্ত tight compound gate থেকে এসেছে—সমাধান করে। কোনো mechanism, import, বা signal-logic change নেই (সেগুলো Layers 1-3 পাস করেছে); কেবল তিনটি entry/exit throttle loosen করা হয়েছে, যাতে strategy প্রায় 100-trade measurability floor অতিক্রম করে। entry_z 1.2->0.8 আরও flow extreme-এ trigger হয়, noise-এর বাইরে এবং 0.10% round-trip taker cost-এর ওপরে থেকে (thesis reversal হলো 0.4-0.6%)। regime_threshold 0.55->0.65 আরও ranging bar গ্রহণ করে, ফলে ranging-AND-extreme-z conjunction rarity বাড়াতে থাকে না, অথচ strong trend বাদ দেয় (informed-continuation failure mode)। exit_z 0.3->0.25 এবং max_hold_bars 24->10 turnover দ্রুত করে, strategy-কে দ্রুত flat অবস্থায় ফিরিয়ে আনে এবং বছরে entry window-এর সংখ্যা বাড়ায়। Rolling-z scale-invariant signal (L5) এবং trend/carry/basket/options graveyard থেকে পৃথককারী contrarian, regime-distributed, single-instrument design অপরিবর্তিত।

হাইপোথিসিস

ঋণাত্মক প্রত্যাশিত লাভের একক-পার্প টেকার-ফ্লো নিঃশেষভিত্তিক ফেড, যার কোনো এজ নেই এবং সম্পূরক ডেটার সীমাবদ্ধতাও রয়েছে (L73/L55)। profit_factor 0.62, total_return -5.29%, শার্প -0.71 (CI [-1.35, 0.02]), প্রত্যাশিত লাভ -$62.6/ট্রেড, avg_trade_return_pct 0.0146% (প্রায় শূন্য, নিট লোকসানকারী); avg_loss > avg_win, সঙ্গে win_rate 0.447, তাই ফেডটি ফ্লোর ভুল দিকে রয়েছে। গুরুতর বিষয় হলো, 2019-2026 জুড়ে 58,512 বার থাকা সত্ত্বেও, ALL 85 ট্রেড এবং রিটার্নের 100% একটি মাত্র প্রায় 6-মাসের 2026 উইন্ডোতে পড়ে, কারণ taker_ratio সম্পূরক ফিড কেবল সাম্প্রতিক সময়ের একটি অংশ কভার করে — annual_returns={2026:-5.32}, মাসিক 2026-03..08 — তাই 3-উইন্ডোর ওয়াক-ফরোয়ার্ডের সঙ্গে 20% হোল্ডআউট তৈরি করা যায় না। এটি সেই একই অর্ডার-ফ্লো দ্বারা শর্তযুক্ত একক-পার্প বৈশিষ্ট্য, যা এই ব্যাচে ইতিমধ্যেই তিনবার পরিত্যাগ করা হয়েছে (BtcTakerAggressionPersistence, AvaxTakerAggressorDominance, EthTakerFlowBreakout)। কোনো প্যারামিটার টিউনিং ট্রেডপ্রতি ঋণাত্মক এজকে ধনাত্মক করে না, আর ফিডে যে ক্যালেন্ডার সময়কালের কভারেজ নেই, অপ্টিমাইজার তা কিনে আনতে পারে না। 2 ঘণ্টা অপ্টিমাইজেশন করার যোগ্য নয়। ব্যর্থতার ধরন: fee_edge/no_edge একক-পার্প অর্ডার-ফ্লো দ্বারা শর্তযুক্ত ফেড, যার সম্পূরক ডেটার উইন্ডো কেবল সাম্প্রতিক সময়েই সীমিত।

구현

BTCUSDT.BINANCE USD-M perp-এ long-short order-flow mean-reversion (1h bars)। Binance taker_ratio supplementary data থেকে smoothed taker-buy aggressor fraction-এর rolling z-score গণনা করে; extreme sustained aggressor buying SHORT (late-stage FOMO exhaustion) এবং extreme aggressor selling LONG (panic capitulation) fade করে, কেবল ranging (low Kaufman efficiency ratio) regime-এ। Flow normalization, একটি 1% hard stop, অথবা time cap-এ exit করে। Single-instrument, leverage 1.0, 3 core tunables।

검증 결과

CLEAN RESTART 2026-09-04 — এই রানটির verdict history এবং learning records মুছে ফেলে verification থেকে পুনরায় শুরু করা হয়েছে। এর আগের abandonment pipeline থেকে হয়েছিল, market থেকে নয়: Layer-2 harness @staticmethod helper-গুলোকে ভুলভাবে bind করেছিল (সংশোধন করা হয়েছে), QA একটি unoptimized smoke test-এর ওপর terminal performance verdict দিয়েছিল (সরিয়ে ফেলা হয়েছে — QA এখন শুধু correctness বিচার করে), এবং sandbox timeout হয়েছিল backtest-slot starvation-এর কারণে (সংশোধন করা হয়েছে)। Hypothesis এবং strategy code অপরিবর্তিত। code-টি তার নিজস্ব merits অনুযায়ী verify করুন; performance পরে full backtest এবং optimizer দ্বারা নির্ধারিত হবে।

검증 결과

taker_lag_seconds default প্রায় 7200-14400s-এ কমান, যাতে stale feed entry suppress করে।

검증 결과

taker_lag_seconds default হলো 90000 (25 hours), তাই _current_fraction প্রায় 25h পর্যন্ত stale একটি taker_ratio observation গ্রহণ করে, তারপর None ফেরত দেয়। এটি look-ahead নয় (bar ts_event <= ts_init-এ bisect bound একতরফা), কিন্তু feed gap হলে strategy এক দিন পুরোনো flow reading-এ trade করে।

검증 결과

self._tk_ts[idx] advance করলেই কেবল _frac_buf-এ append করুন।

검증 결과

_current_fraction novelty নির্বিশেষে latest observation ফেরত দেয়, তাই feed advance না করা পর্যন্ত প্রতিটি bar-এ একই fraction _frac_buf-এ পুনরায় append হয়, rolling-z baseline std সামান্য compress করে। 1h cadence-এ correctness break নয়।

ব্যাকটেস্ট রিভিউ

পরিষ্কার single-instrument implementation (2 fills/round-trip, কোনো basket fee wall নেই), regime-gated, মাত্র 3 core tunables — design থেকেই overfit-resistant

ব্যাকটেস্ট রিভিউ

Order-flow signal input trend/carry/basket graveyard-গুলোর তুলনায় প্রকৃতপক্ষে পৃথক

ব্যাকটেস্ট রিভিউ

কোনো edge নেই, net loser: profit_factor 0.62, total_return -5.29%, Sharpe -0.71 (CI [-1.35, 0.02]), expectancy -$62.6/trade, avg_trade_return_pct 0.0146% (~zero এবং negative sign)

ব্যাকটেস্ট রিভিউ

avg_loss ($301) avg_win ($232)-কে ছাড়িয়ে গেছে win_rate 0.447 সহ — exhaustion-fade systematicভাবে flow move-এর ভুল পাশে অবস্থান করছে

ব্যাকটেস্ট রিভিউ

Supplementary data wall (L73): সব 85 trades এবং returns-এর 100% একটি মাত্র প্রায় 6-month 2026 window-এ পড়ে (annual_returns={2026:-5.32}, monthly 2026-03..08), কারণ taker_ratio feed কেবল 2019-2026 OHLCV history-এর সাম্প্রতিক slice কভার করে — effective sample একটি 3-window walk-forward + 20% holdout সমর্থন করতে পারে না

ব্যাকটেস্ট রিভিউ

commission_pct_of_gross 47% — negative-sign edge-এর আগেই fees plus impact gross-এর অর্ধেক খরচ করে ফেলে

ব্যাকটেস্ট রিভিউ

zero-survivor single-perp order-flow-gated class-এর সঙ্গে মেলে (BtcTakerAggressionPersistence, AvaxTakerAggressorDominance, EthTakerFlowBreakout—সব abandoned) এবং L55 sub-1.15-PF single-name fade class-এর সঙ্গে

ব্যাকটেস্ট রিভিউ

6mo (2026 only)

ব্যাকটেস্ট রিভিউ

বহু-বছরের

Iteration History

Verification ব্যর্থ হয়েছে (Layer 3 — sandbox backtest): কোনো trade উৎপন্ন হয়নি ব্যবহৃত bar type: BTCUSDT.BINANCE-1-HOUR-LAST-EXTERNAL, প্রক্রিয়াকৃত bars: 8729 Diagnostics: should_enter() 8679টি evaluated bar-এর মধ্যে 0 বার একটি side ফেরত দিয়েছে -> আপনার ENTRY CONDITION কখনো trigger হয়নি। Entry logic / thresholds loosen করুন। প্রদত্ত data এবং parameters দিয়ে আপনার strategy যেন trade উৎপন্ন করে তা নিশ্চিত করুন।

Iteration History

Verification ব্যর্থ হয়েছে (Layer 4 — QA review): - Entry gate measurable result উৎপাদনের জন্য অত্যন্ত বিরলভাবে trigger হয়। Sandbox 363 দিনের মধ্যে মাত্র 6 trades তৈরি করেছে (~6 trades/year)। Compound gate একই সঙ্গে চায় (a) একটি RANGING regime (Kaufman efficiency ratio < regime_threshold), (b) taker-buy fraction-এর extreme rolling z (|z| >= entry_z=1.2), এবং (c) strategy-টি FLAT হওয়া, তারপর সর্বোচ্চ 24 bars ধরে রাখে -- তাই z প্রায়ই band cross করলেও genuine entry বিরল। এটি ঠিক L16 failure mode ('BTC 4H aggressor imbalance 16 trades', 'BTC taker-ratio 16 trades'), এবং এখানেও তা WORSE (6 trades)। এই rate-এ multi-year backtest-ও প্রায় 100-trade measurability floor-এর অনেক নিচে থাকবে। Hypothesis-এর নিজস্ব justification ('বছরে dozens of times, reliable edge measurement-এর জন্য hundreds of trades') 6-trade result দ্বারা সরাসরি খণ্ডিত। - ফলাফলটি 6 trades-এর ওপর নির্ভর করায় প্রতিটি headline metric non-diagnostic: Sharpe 0.84, কিন্তু sharpe_ci_low -1.08 (CI zero-কে straddle করে), profit_factor 10.26 এবং win_rate 0.667 6 samples-এর ওপর, return_skew 7.23 / kurtosis 94.8, এবং avg_win $300 বনাম avg_loss $58 -- একটি মাত্র largest_win $662 পুরো positive return বহন করে (+1.08%)। এগুলোর কোনোটিকেই edge-এর evidence হিসেবে বিশ্বাস করা যায় না। এটি trade-count issue-এর সরাসরি ফল, আলাদা কোনো defect নয়।

Iteration History

Verification ব্যর্থ হয়েছে (Layer 4 — QA review): - মূল edge negative এবং fees-এর নিচে, ফলে hypothesis-এর কেন্দ্রীয় claim মিথ্যা প্রমাণিত হয়েছে। Hypothesis বলছে fade একটি '0.4-0.6% reversal move' ধরে; sandbox মাপে avg_trade_return_pct -0.025% -- negative, এবং claim ও 0.15% futures fee floor—উভয়ের তুলনায় এক order of magnitude কম। প্রকৃত no-edge-এর corroborating evidence (শুধু noise নয়): profit_factor 0.518, Sharpe -1.53 (CI [-2.73, +0.07]), win_rate 0.50 একটি INVERTED reward/risk সহ (avg_loss $338 ~= 2x avg_win $175), omega_ratio 0.35। গুরুত্বপূর্ণভাবে, এটি iter-3 loosening-এর BECAUSE পরে দেখা দেয় (entry_z 1.2->0.8, regime_threshold 0.55->0.65) trades যোগ করেছিল: অতিরিক্ত entry দুর্বল flow extreme-এ trigger হয়েছিল, যা NOT revert করেনি, ফলে average edge negative হয়েছে। এটি সরাসরি প্রমাণ করে যে taker-flow-exhaustion signal-এর এমন কোনো reversal alpha নেই যা costs অতিক্রম করে -- এই threshold-এ extreme aggressor-imbalance bar-গুলো systematicভাবে mean-revert করে না। - Trade count এখনও measurability floor-এর নিচে। iter-3 trades 6 থেকে 26-এ 363 দিনে (~26/yr) বাড়িয়েছে, কিন্তু noise থেকে edge আলাদা করার জন্য প্রয়োজনীয় প্রায় 100-trade floor-এর তুলনায় তা এখনও অনেক কম (L16; sibling BTC aggressor-imbalance/taker-ratio attempts 16 trades-এ ব্যর্থ হয়েছে)। 26 trades এবং skew -4.83 / kurtosis 43 সহ (একটি -$945 loss প্রাধান্য বিস্তার করছে), metrics এখনও noise-dominated -- Sharpe CI -2.73 থেকে +0.07 পর্যন্ত বিস্তৃত। Developer দুটি failing regime-এর মাঝে আটকে আছে: tighter gate -> unmeasurable (6 trades), looser gate -> মোটামুটি measurable কিন্তু negative edge (26 trades, -0.025%/trade)। উভয়ই ব্যর্থ।
কৌশল প্রতিবেদন

Stratmill একটি রিসার্চ ও পেপার-ট্রেডিং টুল, আর্থিক পরামর্শ বা ব্রোকার নয়। ব্যাকটেস্ট ও পেপার ফলাফল কাল্পনিক। ট্রেডিংয়ে ক্ষতির ঝুঁকি রয়েছে।