المراجحة الإحصائية في العملات المشفرة — تداول الأزواج والعودة إلى المتوسط

تستغل المراجحة الإحصائية الانحرافات المؤقتة عن أسعار التوازن. عندما يتباعد أصلان يتحركان معًا عادةً، يشتري متداول المراجحة الإحصائية الأداء الأضعف ويبيع الأداء الأقوى على المكشوف، مراهنًا على التقارب. في العملات المشفرة، يكون هذا قويًا بشكل خاص لأن الأصول مترابطة ولكن ليس بشكل مثالي، مما يخلق فرصًا مربحة.

مثال: الارتباط بين BTC و ETH هو 0.85. عندما يتخلف ETH عن BTC بنسبة 3٪ خلال فترة ساعة واحدة (غير معتادة)، يبيع متداول المراجحة الإحصائية BTC على المكشوف ويشتري ETH. تاريخيًا، يتقاربان خلال 4-8 ساعات، مما يحقق ربحًا بنحو 1-1.5٪.

أساسيات تداول الأزواج

اختيار الأزواج

ليس كل الأزواج تعمل. تحتاج إلى:

Python — اختيار الزوج
import pandas as pd
from scipy.stats import pearsonr
def find_cointegrated_pairs(symbols, data):
candidates = []
for i, sym1 in enumerate(symbols):
for sym2 in symbols[i+1:]:
# حساب الارتباط
corr, p_value = pearsonr(data[sym1], data[sym2])
if corr > 0.75:
# اختبار التكامل المشترك (اختبار إنجل-جرانجر)
residuals = data[sym1] - (data[sym2] * corr)
adf_stat = adf_test(residuals) # الثبات
if adf_stat < 0.05: # ثابت
candidates.append((sym1, sym2, corr))
return candidates

تحليل التكامل المشترك

ما هو التكامل المشترك؟

سلسلتان غير ثابتة تكونان متكاملتين مشتركًا إذا كان تركيبهما الخطي ثابتًا. بلغة بسيطة: يتحركان معًا بمرور الوقت، وتعود الانحرافات عن هذه العلاقة في النهاية.

بالنسبة لـ BTC و ETH:

إيجاد نسبة التحوط

استخدم الانحدار الخطي العادي لإيجاد النسبة المثلى:

Python — حساب نسبة التحوط
from sklearn.linear_model import LinearRegression
def get_hedge_ratio(price1, price2):
# انحدار price1 على price2 لإيجاد بيتا (نسبة التحوط)
X = price2.reshape(-1, 1)
y = price1
model = LinearRegression().fit(X, y)
hedge_ratio = model.coef_[0]
intercept = model.intercept_
return hedge_ratio, intercept
# الفرق = price1 - (hedge_ratio × price2) + intercept
beta, alpha = get_hedge_ratio(btc_prices, eth_prices)
spread = btc - (beta * eth)

استراتيجيات العودة إلى المتوسط

استخدام Z-Scores

قم بتوحيد الفرق لاكتشاف التطرف. عندما يكون z-score > 2، يكون الفرق غير عاديًا (فرصة تداول):

Python — تداول العودة إلى المتوسط
def mean_reversion_signal(spread, lookback=20):
# حساب المتوسط المتحرك والانحراف المعياري
mean = spread.rolling(window=lookback).mean()
std = spread.rolling(window=lookback).std()
# Z-score: كم عدد انحرافات المعيار عن المتوسط
z_score = (spread - mean) / std
# إشارات التداول
if z_score[-1] > 2.0:
return "LONG_SPREAD" # الفرق واسع جدًا، شراء الأداء الأضعف
elif z_score[-1] < -2.0:
return "SHORT_SPREAD" # الفرق ضيق جدًا، بيع الأداء الأضعف على المكشوف
else:
return "NEUTRAL"

قواعد الخروج

أغلق عندما يعود الفرق إلى المتوسط (z-score → 0) أو عتبة الخسارة (توقف عند انعكاس z-score):

Python — منطق الخروج
def check_exit(entry_z_score, current_z_score, entry_price):
# جني الأرباح: تقارب الفرق إلى منتصف الطريق إلى المتوسط
if abs(current_z_score) < abs(entry_z_score) * 0.5:
return خروج, هدف الربح
# وقف الخسارة: تحرك z-score في الاتجاه الخاطئ بأكثر من 1
إذا (entry_z_score > 0 و current_z_score < entry_z_score + 1.0):
إرجاع خروج, وقف_الخسارة
وإلا إذا (entry_z_score < 0 و current_z_score > entry_z_score - 1.0):
إرجاع خروج, وقف_الخسارة
إرجاع الاحتفاظ, لا شيء

اختبار استراتيجيات المراجحة الإحصائية

المقاييس الرئيسية للمراجحة الإحصائية:

Python — اختبار استراتيجية الأزواج
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)

إضافة ذكاء الأموال الذكية

عزز تداول الأزواج عن طريق تصفية الصفقات بتأكيد الأموال الذكية:

Python — استراتيجية الأزواج المصفاة
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" # انتظر المحاذاة

عزز المراجحة الإحصائية بإشارات أزواج الأموال الذكية

صفِّ صفقات العودة إلى المتوسط بإجماع الحيتان وبيانات المشتقات. واجهة برمجة التطبيقات الخاصة بنا تؤكد صلاحية تباعد الأزواج بتحسن دقة بنسبة 62٪.

ابدأ تداول الأزواج →