Kripto Sinyal Üretimi için Makine Öğrenmesi

Makine öğrenmesi, kripto para ticaretini kökten değiştirdi. Eskiden yalnızca teknik analize ve manuel yoruma dayanan süreç, artık milyonlarca fiyat tikinden, emir defteri anlık görüntülerinden ve zincir üstü olaylardan desenler çıkarabilen sinir ağlarından faydalanıyor. Bu rehber, kripto para sinyalleri için ML destekli onay sistemleri oluşturmayı — Smart Money API'nin güven puanlarını desteklemek için kullandığı aynı teknikleri — ele alıyor.

Temel içgörü: ML sinyalleri, geleneksel metriklerle birleştirildiğinde en iyi şekilde çalışır. %52 doğrulukla fiyat yönünü tahmin eden bir sinir ağı işe yaramaz. Ancak fonlama oranları pozitif olduğunda ve balina fikir birliği yükseliş eğilimindeyken momentumu doğrulayan bir ağ? İşte bu %60+ başarı oranına sahip bir sistemdir.

Matematiksel Temeller

Koda dalmadan önce matematiği anlayın. Her sinir ağı temelde bir fonksiyon yaklaştırıcıdır. Verilen girdi özellikleri (fiyat, hacim, fonlama oranı, balina fikir birliği) ile tarihsel verilerde tahmin hatasını en aza indiren ağırlıkları öğrenir.

Denetimli Öğrenme Çerçevesi

Etiketli verilerle başlayın: tarihsel fiyat/sinyal çiftleri.

Python — Veri Hazırlama
# Denetimli verileri hazırlama
import numpy as np
import pandas as pd
# BTC için OHLCV verilerini yükle
df = pd.read_csv('btc_5m.csv')
# Özellikler: [açılış, yüksek, düşük, kapanış, hacim, fonlama_oranı, balina_long_yüzdesi]
features = df[['open', 'high', 'low', 'close', 'volume', 'fr', 'whale_long']].values
# Hedef: sonraki 5 mumda fiyat yükseldi (1) veya düştü (0)
targets = (df['close'].shift(-5) > df['close']).astype(int).values
# Özellikleri [0,1] aralığına normalize et
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
X = scaler.fit_transform(features)

Kripto için Özellik Mühendisliği

Ham OHLCV verileri yeterli değildir. Şunlara ihtiyacınız var:

Anahtar nokta, bilgi asimetrisini yakalamaktır — çoğu trader'ın görmediği sinyaller. Smart Money API'miz üç katmanı (türevler, on-chain, balinalar) birleştirerek tek bir metrikten daha üstün bir kompozit özellik sunar.

Sinir Ağı Mimarisi

Sınıflandırma için Çok Katmanlı Algılayıcı (MLP)

İkili sınıflandırma (al/sat) için basit bir ileri beslemeli ağ şaşırtıcı derecede iyi çalışır:

Python — PyTorch MLP
import torch
import torch.nn as nn
class CryptoMLP(nn.Module):
def __init__(self, input_size=7):
super().__init__()
self.fc1 = nn.Linear(input_size, 128)
self.fc2 = nn.Linear(128, 64)
self.fc3 = nn.Linear(64, 32)
self.fc4 = nn.Linear(32, 1)
self.dropout = nn.Dropout(0.3)
def forward(self, x):
x = torch.relu(self.fc1(x))
x = self.dropout(x)
x = torch.relu(self.fc2(x))
x = self.dropout(x)
x = torch.relu(self.fc3(x))
x = torch.sigmoid(self.fc4(x))
return x

Bu mimari, 7 girdi özelliğinin giderek daralan katmanlardan (128 → 64 → 32 → 1) geçtiği, ReLU aktivasyonları ve düzenlileştirme için dropout içeren bir yapıdır. Sigmoid çıktısı, son katmanı [0,1] aralığına sıkıştırarak alım olasılığını temsil eder.

LSTM ile Sıra Tahmini

Neden Yinelemeli Ağlar?

Fiyat hareketleri bağımsız değildir — bir hafızaya sahiptir. Bir LSTM (Uzun Kısa Vadeli Hafıza) ağı zamansal bağımlılıkları öğrenebilir: "Eğer momentum yükseliyorsa ve fonlama oranı 3 saatlik negatiflerden sonra pozitife döndüyse, sonraki 5 dakikalık mumun %58 ihtimalle yükseliş yönlü olması muhtemeldir."

Python — Kripto için LSTM
class CryptoLSTM(nn.Module):
def __init__(self, input_size=7, hidden_size=64, num_layers=2):
super().__init__()
self.lstm = nn.LSTM(input_size, hidden_size, num_layers, batch_first=True, dropout=0.3)
self.fc1 = nn.Linear(hidden_size, 32)
self.fc2 = nn.Linear(32, 1)
def forward(self, x):
# x shape: (batch, seq_len, features)
lstm_out, _ = self.lstm(x)
# Take last timestep
last_hidden = lstm_out[:, -1, :]
x = torch.relu(self.fc1(last_hidden))
x = torch.sigmoid(self.fc2(x))
return x

Bu LSTM, 60 zaman adımından (5 dakikalık mumlarla 5 saat) oluşan dizileri alır ve bir sonraki yönü tahmin eder. Hücre durumu, dizinin farklı noktalarında hangi özelliklerin en önemli olduğunu öğrenir.

Sıra Hazırlama

Düz verinizi kaydırma pencerelerine dönüştürün:

Python — LSTM dizileri oluşturma
def create_sequences(data, seq_len=60):
X, y = [], []
for i in range(len(data) - seq_len):
X.append(data[i:i+seq_len])
y.append(data[i+seq_len, -1]) # next target
return np.array(X), np.array(y)
X, y = create_sequences(X)
# X.shape: (n_samples, 60, 7)

Eğitim ve Değerlendirme

Eğitim-Test Bölme Stratejisi

Zaman serisi verileri için, asla karıştırma. Gelecek veri sızıntısı doğruluğu abartır.

Python — Doğru zaman serisi bölme
# Split: 70% train, 20% val, 10% test
n = len(X)
train_idx = int(n * 0.7)
val_idx = int(n * 0.9)
X_train, y_train = X[:train_idx], y[:train_idx]
X_val, y_val = X[train_idx:val_idx], y[train_idx:val_idx]
X_test, y_test = X[val_idx:], y[val_idx:]

Eğitim Döngüsü

İkili çapraz entropi kaybı ve Adam optimize edici kullanın:

Python — Eğitim
model = CryptoLSTM()
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)
loss_fn = nn.BCELoss()
for epoch in range(100):
model.train()
optimizer.zero_grad()
preds = model(X_train_tensor)
loss = loss_fn(preds, y_train_tensor)
loss.backward()
optimizer.step()
model.eval()
with torch.no_grad():
val_preds = model(X_val_tensor)
val_loss = loss_fn(val_preds, y_val_tensor)
print(f"Epoch {epoch}: train={loss:.4f}, val={val_loss:.4f}")

Smart Money API ile Entegrasyon

ML modellerimiz geleneksel metriklerin yerini almaz — onları güçlendirir. İşte Smart Money API bunları nasıl birleştiriyor:

Python — Toplu skorlama
def compute_confirmation_score(symbol, direction):
# 1. Get derivatives score (funding rate, LSR)
deriv_score = get_derivatives_score(symbol, direction)
# 2. Get on-chain score (MVRV, SOPR, exchange flow)
onchain_score = get_onchain_score(symbol)
# 3. Get whale score (consensus direction, pnl)
whale_score = get_whale_score(symbol, direction)
# 4. Run ML model on features
features = [deriv_score, onchain_score, whale_score, volatility, volume_trend]
ml_signal = lstm_model.predict(features)
# 5. Weighted ensemble
composite = (deriv_score * 0.35 + onchain_score * 0.25 + whale_score * 0.25 + ml_signal * 0.15)
return {
"composite": composite,
"confidence": classify_confidence(composite),
"components": {"deriv": deriv_score, "onchain": onchain_score, "whale": whale_score, "ml": ml_signal}
}

En İyi Uygulamalar

1. Aşırı Uyumdan Kaçının

2. Sınıf Dengesizliğini Yönetin

Eğer "yukarı" günler "aşağı" günlerden fazlaysa, model daha sık yukarı tahmin edecektir. Ağırlıklı kayıp kullanın:

Python — Ağırlıklı BCE
# Eğer vakaların %60'ı yukarı ise, aşağı vakalar daha ağır şekilde ağırlıklandırılmalıdır
pos_weight = (len(y_train) - y_train.sum()) / y_train.sum()
loss_fn = nn.BCEWithLogitsLoss(pos_weight=torch.tensor(pos_weight))

3. Özellik Normalizasyonu

Sinir ağları özellik ölçeğine duyarlıdır. Giriş özelliklerini her zaman [0,1] veya [-1,1] aralığına normalize edin. Normalizasyonu yalnızca eğitim verileri üzerinde yeniden uydurun, ardından validasyon/test verilerine uygulayın.

4. İleriye Dönük Validasyon

Tek bir test seti yerine, kayan pencereler kullanın: 1 yıllık veri üzerinde eğitin, sonraki ayı test edin, ardından 13 ay üzerinde yeniden eğitin ve 14. ayı test edin, vb. Bu, canlı ticaret koşullarını simüle eder.

5. Gerçek Dünya Performansını İzleyin

Backtest doğruluğu asla canlı doğruluk değildir. Modelinizi dağıtın, gerçek ticaret sonuçlarını takip edin ve yeni verilerle aylık olarak yeniden eğitin. Kullanın Sharpe oranı ve kazanma oranı gerçek metrikleriniz olarak, F1 skoru değil.

İleri Teknikler

Dikkat Mekanizmaları

Transformer tabanlı modeller (Attention Is All You Need gibi), ağınızın bir dizideki en önemli zaman noktalarına "odaklanmasını" sağlar. Kripto için bu, eski verilere kıyasla son volatilite artışlarını daha ağır şekilde ağırlıklandırmaya yardımcı olur.

Topluluk Yöntemleri

Birden fazla mimariyi (MLP, LSTM, XGBoost) eğitin ve tahminleri ortalamasını alın. Topluluk modelleri genellikle tek modellerden %2-5 daha iyi performans gösterir.

Pekiştirmeli Öğrenme

Fiyat yönünü tahmin etmek yerine, bir ajanı kümülatif PnL'yi maksimize etmek üzere eğitin. Ajan, güven ve piyasa koşullarına göre pozisyon büyüklüğünü belirlemeyi öğrenir. Bu, kripto ticaret yapay zekasının sınırıdır.

Smart Money API ile ML'yi çalıştırın

Kompozit puanlama sistemimiz, türev istihbaratı, zincir üstü analiz ve balina takibini birleştirir — tümü ML modellerinize ek özellikler olarak entegre etmeye hazır. Bunları LSTM giriş özelliklerinize ekleyin ve doğruluğun %3-5 artışını izleyin.

Ücretsiz API Anahtarı Al →