کریپٹو میں سٹیٹسٹیکل آربیٹریج — پیرز ٹریڈنگ اور مین ریورژن

سٹیٹسٹیکل آربیٹریج توازن کی قیمتوں سے عارضی انحراف کا فائدہ اٹھاتی ہے۔ جب دو اثاثے جو عام طور پر ایک ساتھ حرکت کرتے ہیں الگ ہو جاتے ہیں، تو ایک سٹیٹسٹیکل آربیٹریج ٹریڈر کم کارکردگی والے کو خریدتا ہے اور بہتر کارکردگی والے کو شارٹ کرتا ہے، اور ان کے دوبارہ ملنے پر شرط لگاتا ہے۔ کریپٹو میں، یہ خاص طور پر طاقتور ہے کیونکہ اثاثے باہم منسلک ہوتے ہیں لیکن مکمل طور پر نہیں، جس سے منافع بخش مواقع پیدا ہوتے ہیں۔

مثال: BTC اور ETH کا باہمی تعلق 0.85 ہے۔ جب ETH ایک گھنٹے کی مدت میں BTC سے 3% کم کارکردگی دکھاتا ہے (غیر معمولی)، تو ایک سٹیٹسٹیکل آربیٹریج ٹریڈر BTC کو شارٹ کرتا ہے اور ETH کو لانگ کرتا ہے۔ تاریخی طور پر، وہ 4-8 گھنٹے کے اندر دوبارہ مل جاتے ہیں، جس سے تقریباً 1-1.5% منافع حاصل ہوتا ہے۔

پیرز ٹریڈنگ کی بنیادی باتیں

جوڑے کا انتخاب

تمام جوڑے کام نہیں کرتے۔ آپ کو درکار ہے:

پائتھن — جوڑے کا انتخاب
درآمد پانڈاز کے طور پر پی ڈی
سے سائپی اسٹیٹس درآمد پیئرسن آر
فنکشن کو انٹیگریٹڈ جوڑے تلاش کریں(علامات، ڈیٹا):
امیدوار = []
کے لیے میں، سم1 میں علامات کو شمار کریں:
کے لیے سم2 میں علامات[i+1:]:
# باہمی تعلق کا حساب لگائیں
کور، پی_ویلیو = پیئرسن آر(ڈیٹا[سم1], ڈیٹا[سم2])
اگر کور > 0.75:
# کو انٹیگریشن ٹیسٹ کریں (اینگل-گرینجر ٹیسٹ)
باقیات = ڈیٹا[سم1] - (ڈیٹا[سم2] * کور)
اے ڈی ایف_سٹیٹ = اے ڈی ایف_ٹیسٹ(باقیات) # سٹیشنریٹی
اگر اے ڈی ایف_سٹیٹ < 0.05: # سٹیشنری
امیدوار.اپینڈ((سم1, سم2, کور))
واپس امیدوار

کو انٹیگریشن تجزیہ

کو انٹیگریشن کیا ہے؟

دو غیر سٹیشنری سیریز کو انٹیگریٹڈ ہوتی ہیں اگر ان کا لکیری مجموعہ سٹیشنری ہو۔ سادہ الفاظ میں: وہ وقت کے ساتھ ساتھ ایک ساتھ حرکت کرتی ہیں، اور اس تعلق سے انحراف آخرکار واپس آ جاتا ہے۔

BTC اور ETH کے لیے:

ہیج ریٹیو تلاش کرنا

عام لیست اسکوائرز ریگریشن کا استعمال کرتے ہوئے بہترین تناسب تلاش کریں:

پائتھن — ہیج ریٹیو کا حساب
سے سکلیرن لکیری_ماڈل درآمد لکیری ریگریشن
فنکشن ہیج ریٹیو حاصل کریں(قیمت1, قیمت2):
# قیمت1 کو قیمت2 پر ریگریس کریں تاکہ بیٹا (ہیج ریٹیو) تلاش کریں
ایکس = قیمت2.ری شیپ(-1, 1)
وائی = قیمت1
ماڈل = لکیری ریگریشن().فٹ(ایکس, وائی)
ہیج ریٹیو = ماڈل.کوف_[0]
انٹرسیپٹ = ماڈل.انٹرسیپٹ_
واپس ہیج ریٹیو, انٹرسیپٹ
# سپریڈ = قیمت1 - (ہیج ریٹیو × قیمت2) + انٹرسیپٹ
بیٹا, الفا = ہیج ریٹیو_حاصل_کریں(btc_قیمتیں, eth_قیمتیں)
سپریڈ = btc - (بیٹا * eth)

مین ریورژن اسٹریٹیجیز

زیڈ سکورز کا استعمال

سپریڈ کو معیاری بنائیں تاکہ انتہائی حالات کا پتہ لگایا جا سکے۔ جب زیڈ سکور > 2 ہو، تو سپریڈ غیر معمولی طور پر وسیع ہوتی ہے (ٹریڈ کا موقع):

پائتھن — مین ریورژن ٹریڈنگ
فنکشن مین ریورژن سگنل(سپریڈ, لوک بیک=20):
# رولنگ مین اور اسٹیڈ کا حساب لگائیں
مین = سپریڈ.رولنگ(ونڈو=لوک بیک).مین()
اسٹیڈ = سپریڈ.رولنگ(ونڈو=لوک بیک).اسٹیڈ()
# زیڈ سکور: مین سے کتنے اسٹیڈ ڈیویشنز ہیں
زیڈ_سکور = (سپریڈ - مین) / اسٹیڈ
# ٹریڈنگ سگنلز
اگر زیڈ_سکور[-1] > 2.0:
واپس "LONG_SPREAD" # سپریڈ بہت وسیع ہے، کم کارکردگی والے کو خریدیں
ورنہ اگر زیڈ_سکور[-1] < -2.0:
واپس "SHORT_SPREAD" # سپریڈ بہت تنگ ہے، کم کارکردگی والے کو شارٹ کریں
ورنہ:
واپس "NEUTRAL"

ایگزٹ قواعد

بند کریں جب سپریڈ مین پر واپس آ جائے (زیڈ سکور → 0) یا نقصان کی حد (زیڈ سکور کے الٹنے پر روکیں):

پائتھن — ایگزٹ منطق
فنکشن ایگزٹ چیک کریں(انٹری_زیڈ_سکور, موجودہ_زیڈ_سکور, انٹری_قیمت):
# منافع حاصل کریں: سپریڈ مین کی طرف آدھے راستے پر واپس آ گئی ہے
اگر ابس(موجودہ_زیڈ_سکور) < ابس(انٹری_زیڈ_سکور) * 0.5:
واپس "EXIT", "منافع کا ہدف"
# اسٹاپ لاس: زیڈ سکور غلط سمت میں 1 سے زیادہ حرکت کر گیا
اگر (انٹری_زیڈ_سکور > 0 اور موجودہ_زیڈ_سکور < انٹری_زیڈ_سکور + 1.0):
واپس جائیں "EXIT", "اسٹاپ لاس"
ورنہ اگر (انٹری_زیڈ_سکور < 0 اور موجودہ_زیڈ_سکور > انٹری_زیڈ_سکور - 1.0):
واپس جائیں "EXIT", "اسٹاپ لاس"
واپس جائیں "HOLD", کوئی نہیں

بیک ٹیسٹنگ اسٹیٹسٹیکل آربیٹریج اسٹریٹیجز

اسٹیٹسٹیکل آربیٹریج کے لیے اہم میٹرکس:

پائتھون — پیئرز اسٹریٹیجی کو بیک ٹیسٹ کریں
def backtest_pairs_strategy(price1, price2, hedge_ratio):
spread = price1 - (hedge_ratio * price2)
mean = spread.rolling(20).mean()
std = spread.rolling(20).std()
z_score = (spread - mean) / std
trades = []
position = None
for i in range(len(z_score)):
if position is None:
if z_score[i] > 2.0:
position = {"entry": spread[i], "z_entry": z_score[i], "idx": i}
else:
exit_reason = check_exit(position["z_entry"], z_score[i], spread[i])[1]
if exit_reason:
pnl = position["entry"] - spread[i]
trades.append({"pnl": pnl, "reason": exit_reason})
position = None
return pd.DataFrame(trades)

سمارٹ منی انٹیلی جنس کا اضافہ

سمارٹ منی کی تصدیق کے ساتھ ٹریڈز کو فلٹر کر کے پیئرز ٹریڈنگ کو بہتر بنائیں:

پائتھون — فلٹرڈ پیئرز اسٹریٹیجی
def smart_money_pairs_strategy(symbol1, symbol2, z_score):
# پیئر لیول سمارٹ منی تصدیق چیک کریں
sm1 = get_smart_money_signal(symbol1)
sm2 = get_smart_money_signal(symbol2)
# اگر ایک HIGH بلش اور دوسرا HIGH بیرش ہو = مضبوط ڈائیورجنس
# اسپریڈ ٹریڈ کرنے کا بہترین وقت
divergence_score = abs(sm1["composite"] - sm2["composite"])
if z_score > 2.0 and divergence_score > 0.3 and sm1["confidence"] != "VETO":
return "TRADE" # ہائی کانفیڈنس سگنل
else:
return "SKIP" # ایلائنمنٹ کا انتظار کریں

سمارٹ منی پیئرز سگنلز کے ساتھ اسٹیٹسٹیکل آربیٹریج کو سپرچارج کریں

وہیل کانسننس اور ڈیریویٹو ڈیٹا کے ساتھ مین ریورشن ٹریڈز کو فلٹر کریں۔ ہماری API 62% درستگی کے بہتری کے ساتھ پیئر ڈائیورجنس کی توثیق کرتی ہے۔

پیئرز ٹریڈنگ شروع کریں →