Tüm projeler

Algoritmik Trading ve Portföy Optimizasyonu

Bir backtest, var olmayan bir piyasa hakkında bir iddiadır.

  • Python
  • pandas
  • SciPy
  • CCXT

Problem

Backtest edilen piyasada komisyon yoktur, pozisyon büyüklükleri sonsuz bölünebilir, alışla satış tek fiyattan olur, o fiyatta derinlik sınırsızdır ve analist hangi parametrelerin çalışacağını önceden bilir.

Bu varsayımların hiçbiri doğru değil. Soru hangisinin ne kadar pahalı olduğu.

Çözüm

On likit kripto paritesinde kesitsel momentum, üç yıllık günlük bar, 250.000 USDT, 45 parametrelik ızgara. Varsayımlar tek tek kaldırılıyor ve her basamakta en iyi sonuç yeniden raporlanıyor: gerçek komisyon, tick ve lot yuvarlama, spread, sonlu derinlik, ve son olarak ileriye doğru yürüme.

Markowitz iddiası da kontrol grubuyla test ediliyor: teğet portföy, minimum varyans, eşit ağırlık, ve en az oynak tek varlığı tut kontrolü.

Sonuç

Sürtünmesiz backtest Sharpe 1,90 ve yıllık %165,1. İleriye doğru yürümeden sonra Sharpe 0,70 ve yıllık %26,0: backtest edilen yıllık getirinin %15,7'si hayatta kalıyor.

Sıralama beklenen sıralama değil. Perakende tartışmasının konusu komisyon ve kayma; komisyon 7 puan, kayma 0,4 puan. Öldüren ikisi derinlik (−70 puan) ve kendi parametre aramanız (−61,7 puan). Sekiz katmanın sekizi de farklı parametre seçti; eğitimde 1,18-2,42 Sharpe alan katmanlar örneklem dışında +3,26 ile −1,93 arasına dağılıyor.

Markowitz tarafında minimum varyans teğeti yeniyor (örneklem dışı 1,57'ye karşı 1,41) ve yarısından az kaybediyor. Ama iki optimizatör de ağırlığın %73-83'ünü altına koyuyor; eklenen kontrol farkın %60'ını yeniden üretiyor.

Corwin-Schultz tahmin edicisi (Journal of Finance, 2012) spread'i günlük yüksek-düşük aralığından çıkarır. BTC/USDT'de 75 baz puan diyor; emir defteri 0,002 baz puan diyor. Aradaki fark 48.398 kat.

Tahmin edici bozuk değil: hisse senetleri için türetildi, orada aralık anlamlı biçimde spread'den oluşur. Likit bir kripto paritesinde aralık tamamen oynaklıktır.

Kullanılsaydı "spread maliyeti" diye raporlanan şey oynaklık olacaktı ve manşet bulgu bir yapaylıktan ibaret kalacaktı, üstelik kod doğru olduğu için her türlü incelemeden sağ çıkardı. Yakalanmasının tek sebebi emir defterinin ayrıca ölçülmüş olması.

Kaynak kod

Yorumlar sayfanın dilinde gösteriliyor. Depodaki dosyalar hem İngilizce hem Türkçe yorum taşır.

Proje yapısı

README.md

119 satır · 9 KB

Yükleniyor…