HyperliquidSolFundingExtremeContrarian
مفروضے
Hyperliquid SOL Perp Funding-Extreme Contrarian — لانگ-شارٹ، سنگل-نام: FADE جب رولنگ فنڈنگ Z-Score انتہا تک پہنچے تو بھری ہوئی پوزیشننگ کے خلاف تجارت (بہت مثبت فنڈنگ = حد سے زیادہ لیوریج والے لانگز → SHORT؛ بہت منفی = ہتھیار ڈالنے والے شارٹس → LONG)، قیمت کی عدم تصدیق سے توثیق شدہ، فنڈنگ کے ریورژن / ATR اسٹاپ / ٹائم اسٹاپ پر اخراج (SOLUSDT.HYPERLIQUID، 4H، 3-پیرامیٹر)
مفروضے
Hyperliquid کے SOL پرپیچوئل پر ایک LONG-SHORT، واحد انسٹرومنٹ والی، POSITIONING سے چلنے والی خلافِ رجحان حکمتِ عملی، جو ایک NON-OHLCV میکانکی سگنل — پرپیچوئل FUNDING — کے گرد بنائی گئی ہے، جسے فیکٹری کے ناکام کیش اینڈ کیری خاندان کے مقابلے میں OPPOSITE طریقے سے استعمال کیا گیا ہے۔ یہ NOT ڈیلٹا نیوٹرل کیری ہے (جو اس لیے ناکام ہوئی کہ بیسس کے شور کے مقابلے میں فنڈنگ کا نفع و نقصان بہت کم تھا) اور NOT قیمت کا مومینٹم ہے (HL مومینٹم باسکٹس 0/84 ہیں)۔ اس کے بجائے، فنڈنگ کو ہجوم کے ارتکاز/پوزیشننگ کے پیمانے کے طور پر استعمال کیا جاتا ہے تاکہ DIRECTIONAL فیڈ کا وقت طے کیا جا سکے: یہ اچھی طرح دستاویزی نتیجہ کہ جب پرپیچوئل فنڈنگ انتہائی مثبت ہوتی ہے تو لانگ پوزیشن رکھنے والے حد سے زیادہ لیوریج استعمال کر رہے ہوتے ہیں اور پوزیشن برقرار رکھنے کے لیے ادائیگی کر رہے ہوتے ہیں — ایک ایسی حالت جس کے بعد تاریخی طور پر پرپیچوئل کے آئندہ ریٹرنز LOWER ہوتے ہیں (اسکوئیز/واش آؤٹ کا خطرہ)، اور اسی طرح انتہائی منفی فنڈنگ ہتھیار ڈال چکے شارٹ پوزیشن رکھنے والوں کی نشاندہی کرتی ہے، جس کے بعد قیمت میں اچھال آتے ہیں۔ اسے بیک وقت تین کم نمائندگی والے زمروں کو پُر کرنے کے لیے منتخب کیا گیا: HYPERLIQUID (6.8% بمقابلہ 20% ہدف)، long_short (14.2%)، اور ڈیٹا کے لحاظ سے محفوظ غیر-OHLCV برتری جو OHLCV اوورفٹنگ کے قبرستان میں نہیں ہے۔ دانستہ طور پر ایک ہی اثاثے اور 3 پیرامیٹر تک محدود، تاکہ اسے قابلِ نفاذ رکھا جا سکے (متعدد انسٹرومنٹس والی HL باسکٹس کوڈنگ کے ٹائم آؤٹس میں ناکام ہو گئیں) اور اوورفٹنگ سے بچا جا سکے۔ IMPLEMENTATION NOTE: فنڈنگ کی بنیادی سطح کو ایک رولنگ deque کے طور پر برقرار رکھیں جسے بتدریج اپ ڈیٹ کیا جائے (ہر اپ ڈیٹ پر O(1)) — on_bar کے اندر فنڈنگ کی پوری سیریز کو دوبارہ اسکین کرنا NEVER (اسی پیٹرن کی وجہ سے سینڈباکس میں بار بار 300s کے ٹائم آؤٹس ہوئے)۔
مفروضے
Iteration 2 واحد Layer-2 ناکامی کو درست کرتی ہے (`FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given`، تمام چھ scenarios)۔ Layer-2 `_StrategyProxy`، `types.MethodType` کے ذریعے حکمتِ عملی کے ہر callable attribute کو ایک سادہ wrapper پر دوبارہ باندھتا ہے، جو base class کے ایک-argument `_bar_ts` staticmethod کو bound method میں تبدیل کر دیتا ہے — لہٰذا `self._bar_ts(bar)` دو arguments کے ساتھ پہنچتا ہے۔ کم سے کم اصلاح اس ایک کال کو module-level `_bar_timestamp_ns(bar)` helper سے بدل دیتی ہے جو `bar.ts_event` کو براہِ راست پڑھتا ہے (اور بصورتِ دیگر `ts_init` پر واپس آتا ہے) — رویے کے لحاظ سے یکساں، proxy کی rebinding سے محفوظ۔ باقی کچھ تبدیل نہیں ہوا: imports، class structure، funding parsing، signal logic، entries، exits اور sizing، سب previous_code کے byte-identical ہیں جس نے Layer 1 پاس کیا تھا، لہٰذا پہلے کی کوئی جانچ regress نہیں ہو سکتی۔ نوٹ کریں کہ `_bar_interval_ns` اب بھی `__init__` سے کال ہوتا ہے، جو proxy کے کسی چیز کو دوبارہ باندھنے سے پہلے حقیقی instance پر چلتا ہے، اس لیے یہ متاثر نہیں ہوتا۔ Leverage 2.0 کو `position_size` میں gross-notional cap کے اندر `self.config.leverage` کے ذریعے استعمال کیا جاتا ہے۔
مفروضے
منفی توقع والی سنگل-نام فنڈنگ-انتہا کے خلاف تجارت — آپٹیمائز کرنے کے لیے کوئی برتری نہیں۔ PF 0.60، total_return -33.7%، Sharpe -0.42، توقع -$156/ٹریڈ، اور avg_trade_return_pct -0.37% (منفی، 0.15% Hyperliquid فیس فلور سے کم، L22)۔ ہر سال خسارہ (2024 -14.8%، 2025 -13.8%، 2026 -6.5%) جبکہ لانگ اور شارٹ دونوں ٹانگوں کی جیت کی شرح sub-43% اور avg_loss > avg_win — خلافِ رجحان تجارت منظم طور پر حرکت کے غلط رخ پر ہے، اور واحد مثبت مہینہ صرف ایک +10.77% غیر معمولی دن ہے (kurtosis 9.8)۔ طریقۂ کار اچھی طرح نافذ ہے (کوئی ٹائم آؤٹ نہیں، فنڈنگ کریڈٹ کی گئی) مگر دو zero-survivor خاندانوں میں آتا ہے: سنگل-نام mean-reversion/fade (L55) اور single-perp supplementary(funding)-gated directional (L73)۔ قیمت کی عدم تصدیق کے گیٹ نے حقیقی برتری شامل نہیں کی۔ فی ٹریڈ برتری کا نشان منفی ہے، جسے کوئی پیرامیٹر ٹیوننگ تبدیل نہیں کر سکتی۔ آپٹیمائزیشن کے 2 گھنٹوں کے قابل نہیں۔ ناکامی کا نمونہ: fee_edge/no_edge single-perp funding-gated contrarian fade۔
نفاذ
Hyperliquid SOL perp پر لانگ-شارٹ سنگل-نام خلافِ رجحان حکمتِ عملی (4H bars)۔ فنڈنگ کو ہجوم کے پیمانے کے طور پر استعمال کیا جاتا ہے: hl_funding_rates print کا اس کی اپنی سابقہ distribution کے مقابل rolling z-score ہر bar پر مسلسل سگنل کے طور پر واپس کیا جاتا ہے۔ انتہائی مثبت z (ہجوم میں شامل، حد سے زیادہ ادائیگی کرنے والے لانگز) کو SHORT کے ساتھ fade کیا جاتا ہے؛ انتہائی منفی z (ہتھیار ڈالنے والے شارٹس) کو LONG کے ساتھ fade کیا جاتا ہے، مگر صرف اس وقت جب قیمت ہجوم کی تصدیق نہ کرے (close تازہ ترین confirm_bars-bar high/low نہ بنا رہا ہو)۔ فنڈنگ کے ریورژن (|z| <= exit_z)، داخلے کے وقت snapshot کیے گئے ATR stop، یا position.ts_opened سے ناپے گئے calendar time stop پر اخراج ہوتا ہے۔ سائزنگ risk-first ہے: ATR stop ایکویٹی کی تقریباً risk_frac لاگت رکھتا ہے، جبکہ gross-notional cap آزادانہ طور پر لاگو ہے۔
تصدیق کے نتائج
CLEAN RESTART 2026-09-04 — اس رَن کی فیصلہ جاتی تاریخ اور سیکھنے کے ریکارڈز حذف کر دیے گئے اور اسے تصدیق سے دوبارہ شروع کیا گیا۔ اس کا سابقہ ترک ہونا پائپ لائن کی وجہ سے تھا، مارکیٹ کی وجہ سے نہیں: Layer-2 ہارنس نے @staticmethod مددگاروں کو غلط طور پر باندھا تھا (درست کر دیا گیا)، QA نے غیر موزوں اسموک ٹیسٹ پر حتمی کارکردگی کے فیصلے جاری کیے تھے (ہٹا دیا گیا — QA اب صرف درستی کا فیصلہ کرتا ہے)، اور سینڈ باکس ٹائم آؤٹ بیک ٹیسٹ-سلاٹ کی قلت کی وجہ سے تھے (درست کر دیے گئے)۔ مفروضہ اور حکمتِ عملی کا کوڈ تبدیل نہیں ہوا۔ کوڈ کی تصدیق اس کی اپنی خوبیوں پر کریں؛ کارکردگی کا فیصلہ بعد میں مکمل بیک ٹیسٹ اور آپٹیمائزر کرے گا۔
تصدیق کے نتائج
_param_bounds کو 3 نمایاں tunables (entry_z، exit_z، funding_lookback_prints) تک محدود کریں؛ risk/plumbing پیرامیٹرز کو constants کے طور پر lock کریں۔
تصدیق کے نتائج
مفروضہ ایک ایسے ڈیزائن کی تشہیر کرتا ہے جس میں 'اوورفٹنگ سے بچنے کے لیے دانستہ طور پر 3 پیرامیٹر' ہیں، لیکن _param_bounds میں 11 قابلِ اصلاح پیرامیٹر دستیاب ہیں۔ طریقۂ کار درست ہے، لیکن 11 جہتی واک فارورڈ تلاش، اوورفٹنگ سے بچنے کی بیان کردہ دلیل سے متصادم ہے اور PBO کا خطرہ بڑھاتی ہے۔ یہ رکاوٹ نہیں ہے۔
تصدیق کے نتائج
کوئی چیز درکار نہیں؛ تجزیہ کار کے لیے نوٹ کر لیا گیا۔
تصدیق کے نتائج
Layer-2 synthetic signals سب 0.0 پر منجمد ہیں (کوئی funding inject نہیں کی گئی)، لہٰذا trading path صرف sandbox کے ذریعے exercise ہوا (جس نے حقیقی funding پر 65 بار trade کیا)۔ غیر مہلک۔
بیک ٹیسٹ جائزہ
طریقۂ کار صاف طور پر فعال ہوتا ہے اور مناسب نمونہ پیدا کرتا ہے (201 ٹریڈز، 953 دنوں میں) بغیر کسی ٹائم آؤٹ کے — O(log n) فنڈنگ کا نفاذ حسبِ منشا کام کرتا ہے
بیک ٹیسٹ جائزہ
سنگل-انسٹرومنٹ، واحد supplementary feed (hl_funding_rates)، ڈیٹا/تصدیق کا کوئی مسئلہ نہیں؛ فنڈنگ PnL میں کریڈٹ کی جاتی ہے
بیک ٹیسٹ جائزہ
منفی توقع: profit_factor 0.60، total_return -33.7%، توقع -$156/ٹریڈ
بیک ٹیسٹ جائزہ
avg_trade_return_pct -0.37% — منفی اور 0.15% Hyperliquid فیس فلور (L22) سے بہت کم
بیک ٹیسٹ جائزہ
تینوں سالوں میں خسارہ (2024 -14.8%، 2025 -13.8%، 2026 -6.5%) — مستقل no-edge، زائل شدہ edge نہیں
بیک ٹیسٹ جائزہ
دونوں ٹانگیں خسارے میں ہیں (long win 42%، short win 42%) جبکہ avg_loss > avg_win — فنڈنگ-انتہا کا fade حرکت کے غلط رخ پر ہے
بیک ٹیسٹ جائزہ
واحد مثبت مہینہ صرف ایک +10.77% غیر معمولی دن کی وجہ سے ہے (کرٹوسس 9.8)؛ بنیادی مارکیٹ کی حرکت یکساں طور پر منفی ہے
بیک ٹیسٹ جائزہ
سنگل-نام funding-gated directional fade — mean-reversion (0/174) اور single-perp supplementary-gated directional (L73) zero-survivor کلاسز
Iteration History
تصدیق ناکام ہوئی (Layer 2 — synthetic scenarios):
استعمال کیے گئے پیرامیٹرز: ['exit_z', 'entry_z', 'atr_bars', 'risk_frac', 'min_prints', 'confirm_bars', '_param_bounds', 'atr_stop_mult', 'max_hold_bars', 'max_lag_seconds', 'max_notional_frac', 'funding_lookback_prints']
چیک کریں کہ __init__، self.parameters.get() سے تمام attributes سیٹ کرتا ہے۔
- steady_uptrend: TypeError: FactoryStrategy._bar_ts() کو 1 positional argument درکار ہیں، مگر 2 دیے گئے (bar timestamp: 1735690500000)
- steady_downtrend: TypeError: FactoryStrategy._bar_ts() کو 1 positional argument درکار ہیں، مگر 2 دیے گئے (bar timestamp: 1735690500000)
- flat_ranging: TypeError: FactoryStrategy._bar_ts() کو 1 positional argument درکار ہیں، مگر 2 دیے گئے (bar timestamp: 1735690500000)
- volatility_spike: TypeError: FactoryStrategy._bar_ts() کو 1 positional argument درکار ہیں، مگر 2 دیے گئے (bar timestamp: 1735690500000)
- zero_volume: TypeError: FactoryStrategy._bar_ts() کو 1 positional argument درکار ہیں، مگر 2 دیے گئے (bar timestamp: 1735690500000)
- price_gap: TypeError: FactoryStrategy._bar_ts() کو 1 positional argument درکار ہیں، مگر 2 دیے گئے (bar timestamp: 1735690500000)
Stratmill ایک تحقیقی اور پیپر ٹریڈنگ ٹول ہے، مالیاتی مشورہ یا بروکر نہیں۔ بیک ٹیسٹ اور پیپر نتائج فرضی ہیں۔ ٹریڈنگ میں نقصان کا خطرہ شامل ہے۔