Στατιστική Αρμπιτράζ στην Κρυπτονομισματική — Συναλλαγές Ζευγών και Μέση Επιστροφή

Η στατιστική αρμπιτράζ εκμεταλλεύεται προσωρινές αποκλίσεις από τις τιμές ισορροπίας. Όταν δύο περιουσιακά στοιχεία που συνήθως κινούνται μαζί αποκλίνουν, ένας έμπορος στατιστικής αρμπιτράζ αγοράζει το υποδεέστερο και πουλάει short το ανώτερο, στοιχηματίζοντας στη σύγκλιση. Στην κρυπτονομισματική, αυτό είναι ιδιαίτερα ισχυρό επειδή τα περιουσιακά στοιχεία συσχετίζονται αλλά όχι τέλεια, δημιουργώντας κερδοφόρες ευκαιρίες.

Παράδειγμα: Η συσχέτιση BTC και ETH είναι 0,85. Όταν το ETH υπολείπεται του BTC κατά 3% σε διάστημα 1 ώρας (ασυνήθιστο), ένας έμπορος στατιστικής αρμπιτράζ πουλάει short το BTC και αγοράζει long το 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:
# Δοκιμή συνενσωμάτωσης (δοκιμή Engle-Granger)
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:

Εύρεση του Hedge Ratio

Χρησιμοποιήστε γραμμική παλινδρόμηση ελαχίστων τετραγώνων για να βρείτε τη βέλτιστη αναλογία:

Python — Υπολογισμός hedge ratio
from sklearn.linear_model import LinearRegression
def get_hedge_ratio(price1, price2):
# Παλινδρόμηση price1 στο price2 για εύρεση beta (hedge ratio)
X = price2.reshape(-1, 1)
y = price1
model = LinearRegression().fit(X, y)
hedge_ratio = model.coef_[0]
intercept = model.intercept_
return hedge_ratio, intercept
# Spread = price1 - (hedge_ratio × price2) + intercept
beta, alpha = get_hedge_ratio(btc_prices, eth_prices)
spread = btc - (beta * eth)

Στρατηγικές Μέσης Επιστροφής

Χρήση Z-Scores

Τυποποιήστε το spread για ανίχνευση ακραίων τιμών. Όταν το z-score > 2, το spread είναι ασυνήθιστα ευρύ (ευκαιρία συναλλαγής):

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" # spread πολύ ευρύ, αγορά υποδεέστερου
elif z_score[-1] < -2.0:
return "SHORT_SPREAD" # spread πολύ στενό, πώληση short υποδεέστερου
else:
return "NEUTRAL"

Κανόνες Έξοδου

Κλείσιμο όταν το spread επιστρέψει στον μέσο όρο (z-score → 0) ή όριο ζημίας (διακοπή σε αναστροφή z-score):

Python — Λογική εξόδου
def check_exit(entry_z_score, current_z_score, entry_price):
# Λήψη κέρδους: το spread συγκλίνει κατά το ήμισυ πίσω στον μέσο όρο
if abs(current_z_score) < abs(entry_z_score) * 0.5:
return "ΕΞΟΔΟΣ", "στόχος_κέρδους"
# Stop loss: το z-score κινήθηκε σε λάθος κατεύθυνση κατά >1
εάν (entry_z_score > 0 και current_z_score < entry_z_score + 1.0):
επιστροφή "ΕΞΟΔΟΣ", "stop_loss"
αλλιώς_εάν (entry_z_score < 0 και current_z_score > entry_z_score - 1.0):
επιστροφή "ΕΞΟΔΟΣ", "stop_loss"
επιστροφή "ΚΡΑΤΗΣΗ", Κανένα

Δοκιμή Στρατηγικών Στατιστικού Arbitrage

Κύρια μετρικά για στατιστικό arbitrage:

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
για i σε range(len(z_score)):
εάν position είναι None:
εάν z_score[i] > 2.0:
position = {"entry": spread[i], "z_entry": z_score[i], "idx": i}
αλλιώς:
exit_reason = check_exit(position["z_entry"], z_score[i], spread[i])[1]
εάν exit_reason:
pnl = position["entry"] - spread[i]
trades.append({"pnl": pnl, "reason": exit_reason})
position = None
επιστροφή pd.DataFrame(trades)

Προσθήκη Ευφυΐας Smart Money

Ενίσχυση του pairs trading με φιλτράρισμα συναλλαγών με επιβεβαίωση Smart Money:

Python — Φιλτραρισμένη στρατηγική ζευγών
def smart_money_pairs_strategy(symbol1, symbol2, z_score):
# Έλεγχος επιβεβαίωσης Smart Money σε επίπεδο ζεύγους
sm1 = get_smart_money_signal(symbol1)
sm2 = get_smart_money_signal(symbol2)
# Εάν ένα είναι ΥΨΗΛΟ bullish και το άλλο ΥΨΗΛΟ bearish = ισχυρή απόκλιση
# Ιδανική στιγμή για συναλλαγή του spread
divergence_score = abs(sm1["composite"] - sm2["composite"])
εάν z_score > 2.0 και divergence_score > 0.3 και sm1["confidence"] != "VETO":
επιστροφή "ΣΥΝΑΛΛΑΓΗ" # Σήμα υψηλής εμπιστοσύνης
αλλιώς:
επιστροφή "ΠΑΡΑΛΕΙΨΗ" # Αναμονή για ευθυγράμμιση

Ενίσχυση του στατιστικού arbitrage με σήματα Smart Money ζευγών

Φιλτράρετε συναλλαγές μέσης επιστροφής με συναίνεση φαλαινών και δεδομένα παραγώγων. Το API μας επιβεβαιώνει την εγκυρότητα απόκλισης ζεύγους με βελτίωση ακρίβειας 62%.

Ξεκινήστε Συναλλαγές Ζευγών →