GaiaExGaiaEx
Kripto İşlemcileri İçin Zaman Serisi Tahmini
GeliştiriciAI & ML12 min read

Kripto İşlemcileri İçin Zaman Serisi Tahmini

Dizi modelleriyle fiyat hareketlerini tahmin etmek

Paylaş

Zaman Serisi Verisini Anlamak

Bir zaman serisi, zamana göre sıralanmış bir veri noktaları dizisidir — her dakikadaki hisse senedi fiyatları, günlük Bitcoin kapanışları, saatlik sıcaklık okumaları. Zaman serisini diğer verilerden ayıran şey, sıranın önemli olmasıdır. Bir sınıflandırma veri kümesinde satırları karıştırmak zararsızdır; bir zaman serisini karıştırmak anlamını yok eder.

Üç özellik, herhangi bir zaman serisinin karakterini tanımlar. Trend, uzun vadeli yöndür — BTC'nin fiyatı 2019 başlarındaki 3.000 dolardan 2021 sonlarına kadar 60.000 dolara hareket etti, açık bir yükseliş trendi. Mevsimsellik, sabit aralıklarda tekrarlanan kalıpları ifade eder — kripto piyasaları genellikle ABD piyasa saatlerinde artan hacim ve hafta sonlarında azalan aktivite görür. Durağanlık (Stationarity), ortalama ve varyans gibi istatistiksel özelliklerin zaman içinde sabit kaldığı anlamına gelir. Çoğu finansal zaman serisi durağan değildir — fiyatlar yukarı sürüklenir veya çöker — bu, kararlı dağılımları varsayan modeller için zorluklar yaratır.

Finansal veriyi herhangi bir modele beslemeden önce, onu dönüştürmen gerekir. Log getirilerini (ardışık dönemler arasındaki fiyat oranlarının doğal logaritması) almak, durağan olmayan fiyatları yaklaşık olarak durağan getirilere dönüştürür. Fark alma — önceki değeri çıkarmak — benzer bir etki sağlar. Bu dönüşümler isteğe bağlı değildir; çoğu tahmin yönteminin doğru çalışması için ön koşuldur.

Finansal bir zaman serisini ayrıştırmak (kavramsal) Trend Mevsimsel kıpırdanma zaman → Gözlem = trend + mevsimsellik + gürültü (getiriler genellikle gürültüyü stabilize eder)
Gerçek fiyatlar yavaş bir sürüklenmeyi, tekrarlanan kalıpları ve rastgeleliği harmanlar — modeller tahmin etmek istediğin kısmı hedefler.

ARIMA: Klasik Temel Model

ARIMA (AutoRegressive Integrated Moving Average — Otoregresif Entegre Hareketli Ortalama), on yıllardır zaman serisi tahmininin iş yükünü çeken model olmuştur. Üç bileşeni birleştirir: AR(p) önceki p değeri bir sonrakini tahmin etmek için kullanır, I(d) seriyi durağanlığa ulaşmak için d kez fark alır ve MA(q) geçmiş tahminlerden gelen hata terimlerini modeller.

Finansal veri için, ARIMA kritik bir temel model olarak işlev görür. Belirli veri kümende iyi ayarlanmış bir ARIMA'yı yenemeyen herhangi bir makine öğrenmesi modeli, değer katmadan karmaşıklık ekliyordur. Pratikte, ARIMA, sinyal-gürültü oranının yönetilebilir olduğu düşük frekanslı verinin (günlük veya haftalık mumlar) kısa vadeli tahminleri için şaşırtıcı derecede iyi performans gösterir.

# BTC günlük getirileri için ARIMA temel modeli
from statsmodels.tsa.arima.model import ARIMA
import pandas as pd

returns = prices.pct_change().dropna()
model = ARIMA(returns, order=(2, 0, 1))  # AR(2), fark yok (getiriler zaten durağan), MA(1)
fitted = model.fit()
forecast = fitted.forecast(steps=5)
print(f"AIC: {fitted.aic:.2f}")  # Daha düşük AIC = daha iyi model

ARIMA'nın sınırlamaları, karmaşık doğrusal olmayan kalıplar, rejim değişiklikleri ve yüksek boyutlu özellik uzaylarıyla ortaya çıkar. Derin öğrenme burada devreye girer.

ARIMA(p,d,q): geçmiş değerler ve hatalar tahmini nasıl besler AR(p) y, yt-1…t-p kullanır I(d) d fark MA(q) hatalar εt-1…t-q ŷt+1 tahmin ACF/PACF, AIC veya rolling CV ile (p,d,q) seç — sonra ML temel modelleriyle karşılaştır. Finansal getiriler genellikle log-getirileri doğrudan kullanırken d=0 ayarlar
Otoregresyon, entegrasyon (fark alma) ve hareketli ortalama şokları, tek bir derli toplu doğrusal tahmin motorunda birleşir.

Dizi Modelleme İçin LSTM Ağları

Uzun Kısa Süreli Bellek (LSTM) ağları, sıralı verilerde uzun menzilli bağımlılıkları öğrenmek için tasarlanmış bir tekrarlayan sinir ağı türüdür. Kaybolan gradyanlardan muzdarip olan ve sadece birkaç zaman adımı sonra bilgiyi unutan sıradan RNN'lerin aksine, LSTM'ler bilgiyi yüzlerce adım boyunca seçici olarak koruyan veya atan bir kapı mekanizması kullanır — unutma kapısı, giriş kapısı ve çıkış kapısı.

Finansal zaman serileri için, LSTM'ler ARIMA'ya göre iki avantaj sunar: doğrusal olmayan ilişkileri modelleyebilirler (fiyat dinamikleri nadiren doğrusaldır) ve aynı anda birden fazla girdi özelliğini dahil edebilirler — sadece geçmiş fiyatları değil, hacmi, oynaklığı, fonlama oranlarını, emir defteri dengesizliğini ve tahmine değer taşıdığına inandığın herhangi bir başka sinyali.

Bir LSTM için veri hazırlamak dikkatli bir pencereleme gerektirir. Sabit uzunlukta girdi dizileri (örn. 60 zaman adımı) oluşturursun ve bunları hedef değerle (bir sonraki fiyat veya getiri) eşleştirirsin. Normalleştirme kritiktir — özellikleri [0, 1] aralığına ölçeklendir veya sıfır ortalama, birim varyansa standartlaştır. Ama işte tuzak: ölçekleyiciyi sadece eğitim verisine uydurmalı ve doğrulama ile test verisini aynı parametrelerle dönüştürmelisin. Tam veri kümesine uydurmak, gelecekteki bilgiyi sızdırır.

Asla tüm veri kümesinden hesaplanan istatistikleri kullanarak normalleştirme yapma. Ölçekleyicini sadece eğitim setine uydur, sonra doğrulama ve test setlerine uygula. Bu tek hata, diğer herhangi bir veri hazırlama hatasından daha fazla ileri-görüş önyargısına (look-ahead bias) neden olur.

# Doğru normalleştirme ile LSTM veri hazırlama
import numpy as np
from sklearn.preprocessing import MinMaxScaler

def create_sequences(data, window=60):
    X, y = [], []
    for i in range(window, len(data)):
        X.append(data[i - window:i])
        y.append(data[i, 0])  # Bir sonraki kapanışı tahmin et
    return np.array(X), np.array(y)

# Ölçekleyiciyi SADECE eğitim verisine uydur
scaler = MinMaxScaler()
train_scaled = scaler.fit_transform(train_data)
test_scaled = scaler.transform(test_data)  # Dönüştür, uydurma

X_train, y_train = create_sequences(train_scaled)
X_test, y_test = create_sequences(test_scaled)

Dikkat Mekanizmaları ve Temporal Fusion Transformer'lar

Doğal dil işlemede devrim yaratan aynı öz dikkat (self-attention) mekanizması, zaman serileri için de eşit derecede güçlü olduğunu kanıtladı. Bir LSTM gibi dizileri adım adım işlemek yerine, dikkat, modelin tüm zaman adımlarına eş zamanlı bakmasına izin verir, hangi geçmiş anların geleceği tahmin etmek için en alakalı olduğunu öğrenir.

2021'de Google Research tarafından tanıtılan Temporal Fusion Transformer (TFT), çok-ufuklu (multi-horizon) zaman serisi tahmini için özel olarak inşa edilmiştir. Birkaç yeniliği birleştirir:

  • Değişken seçim ağları — Hangi girdi özelliklerinin en önemli olduğunu otomatik olarak öğrenir, yerleşik yorumlanabilirlik sağlar. Modelin fiyat momentumuna, hacme veya fonlama oranlarına daha fazla mı güvendiğini görebilirsin.
  • Kapılı artık ağlar — Alakasız girdileri bastırır ve modelin karmaşık doğrusal olmayan özellik etkileşimlerini yönetmesini sağlar.
  • Zaman boyunca çok-başlı dikkat — Her tahmin ufku için hangi geçmiş zaman adımlarının en bilgilendirici olduğunu belirler.
  • Kuantil çıktıları — Nokta tahminleri yerine tahmin aralıkları (10., 50., 90. yüzdelikler) üretir, sana bir belirsizlik ölçüsü verir — işlemde risk yönetimi için gerekli.

Pratikte, TFT'ler elektrik talebi tahmini, perakende satış tahmini ve finansal oynaklık modellemesi dahil karşılaştırma ölçütlerinde LSTM'leri ve geleneksel modelleri geride bırakmıştır. GaiaEx gibi platformlar aracılığıyla erişilebilen kripto piyasaları için, TFT'nin heterojen girdileri işleme yeteneği — statik meta veri (varlık türü, listeleme tarihi), bilinen gelecek değerler (haftanın günü, günün saati) ve gözlemlenen zamanla değişen özellikler (fiyat, hacim, zincir üstü metrikler) — onu özellikle uygun kılar.

Pratik Örnek: BTC Fiyat Yönünü Tahmin Etmek

Ulaşılabilir olan hakkında dürüst olalım. Bitcoin'in yarınki tam fiyatını tahmin etmek esasen imkansızdır. Etkin piyasa hipotezi (EMH), fiyatların zaten mevcut tüm bilgiyi yansıttığını, tutarlı tahminin bir enayi işi olduğunu savunur. Kriptoda, EMH'nin zayıf formu tartışmalıdır — piyasalar hisse senetlerine göre daha az etkindir — ama gürültü-sinyal oranı hâlâ vahşidir.

Daha gerçekçi bir hedef yönlü doğruluktur: BTC açıldığından daha yüksek mi daha alçak mı kapanacak? Bu ikili sınıflandırma sorunu daha ele alınabilirdir ve %50 doğruluğun üzerinde mütevazı iyileştirmeler bile (örneğin sürekli olarak %53-55) doğru pozisyon boyutlandırma ve risk yönetimiyle son derece kârlı olabilir.

Pratik bir boru hattı şuna benzer:

  • Özellikler: 60 dönemlik getiriler, RSI, MACD histogramı, Bollinger Bant genişliği, hacim oranı (mevcut vs. 20 dönemlik ortalama), sürekli vadeli işlemlerden fonlama oranı, BTC baskınlığı ve açık pozisyon değişimi.
  • Model: 128 gizli birimli, 0,3 dropout'lu iki katmanlı LSTM, ardından ikili sınıflandırma için sigmoid aktivasyonlu bir dense katman.
  • Bölme: 2020–2023'te eğit, Ocak-Haziran 2024'te doğrula, Temmuz-Aralık 2024'te test et. Asla karıştırma — her zaman kronolojik olarak böl.
  • Değerlendirme: Yönlü doğruluk, yükseliş vs düşüş tahminlerinde kesinlik/duyarlılık ve — en önemlisi — sinyal başına sabit bir pozisyon boyutu varsayan simüle edilmiş P&L.

Modelin, örnek dışı test setinde 1,2'nin üzerinde bir kâr faktörüyle %54 yönlü doğruluk sağlıyorsa, incelemeye değer bir şeyin var. %65 doğruluk gösteriyorsa, neredeyse kesinlikle aşırı uyumlusun. Finansal piyasalardaki gerçek avantajlar küçüktür ve aksini iddia eden herkes sana başka bir şey satıyordur.

Değerlendirme Metrikleri ve Topluluk Yaklaşımları

Doğru metriği seçmek, doğru şeyi optimize edip etmediğini belirler. MAE (Ortalama Mutlak Hata), tahmin hatalarının ortalama büyüklüğünü verinle aynı birimde söyler — sezgiseldir ama büyük hataları orantısız cezalandırmaz. RMSE (Kök Ortalama Kare Hatası), ortalamadan önce hataları karesini alır, aykırı değerleri ağır bir şekilde cezalandırır — tek bir felaket boyutunda yanlış tahminin birçok küçük hatadan daha önemli olduğu durumlarda uygundur. Yönlü doğruluk, modelinin fiyatın yukarı mı aşağı mı gittiğini doğru tahmin ettiği zamanların yüzdesini ölçer — genellikle işlem sinyalleri için en alakalı metriktir.

Topluluk yöntemleri, varyansı azaltmak ve dayanıklılığı iyileştirmek için birden fazla modelin tahminlerini birleştirir. Yaygın yaklaşımlar şunları içerir:

  • Basit ortalama — Bir LSTM'in, bir Transformer'ın ve bir ARIMA'nın tahminlerini ortala. Her model sinyalin farklı yönlerini yakalıyorsa, topluluk herhangi bir tek modelden daha iyi performans gösterir.
  • Yığma (Stacking) — Temel model tahminlerinin optimal kombinasyonunu öğrenmek için bir meta model (örn. gradyan güçlendirilmiş bir ağaç) eğit.
  • Rejim-farkında geçiş — Hangi modele güveneceğini seçmek için bir oynaklık rejimi dedektörü kullan. Bir LSTM, trend piyasalarında öne çıkabilir, ortalamaya dönüş modeli ise aralıklı koşullarda daha iyi performans gösterebilir.

Hangi yaklaşımı benimsersen benimse, araştırma ve üretim arasındaki boşluğun çok büyük olduğunu unutma. Bir Jupyter notebook'unda %55 doğrulukla BTC yönünü tahmin eden bir model, GaiaEx gibi bir platform üzerinden canlı yürütüldüğünde gecikmeye, kaymaya ve işlem maliyetlerine hayatta kalması gerekir. Değerlendirme boru hattını, sonradan değil, ilk günden bu gerçeklikleri simüle etmek için inşa et.