← Makalelere geri dön
April 12, 2026
5 dakikalık okuma

VectorBT: Python için En Hızlı Backtesting Çerçevesi

VectorBT: Python için En Hızlı Backtesting Çerçevesi
#backtesting
#python
#vectorbt
#algotrading
#numba
#kantitatif analiz

VectorBT Genel Bakış

Algotrading ve Python'da ticaret stratejilerini backtesting ile test etmeyle hiç uğraştıysanız, muhtemelen aynı sorunla karşılaşmışsınızdır: hız. Klasik kütüphaneler (örneğin Backtrader veya Zipline), olay tabanlı (event-driven) bir yaklaşım kullanarak geçmiş veriler üzerinde olay olay iterasyon yapar. Bu, mantık yazmak için kullanışlıdır; ancak binlerce kombinasyon üzerinde parametre optimizasyonu söz konusu olduğunda, saatlerce bekleme katlanılmaz hale gelir.

İşte tam burada VectorBT devreye girer — backtesting'e temelden farklı bir yaklaşım uygulayan bir kantitatif analiz kütüphanesi.

VectorBT Nedir?

VectorBT Nedir

VectorBT yalnızca pandas ve NumPy nesneleriyle çalışır ve hesaplamaları hızlandırmak için Numba derleyicisini kullanır. Bu sayede inanılmaz hız ve ölçeklenebilirlik ile her türlü veriyi analiz etmek ve kelimenin tam anlamıyla saniyeler içinde on binlerce strateji test etmek mümkün olur.

Her çubuğu veya tiki sırayla işlemek yerine (geleneksel backtest araçlarının yaptığı gibi), VectorBT karmaşık verileri yapılandırılmış diziler olarak temsil eder. Numba ile birleştirilmiş işlem vektörizasyonu (Python döngülerinin makine koduna derlenmesine izin vererek yol bağımlılığı sorununu çözen), C dili düzeyinde performans sağlar.

Temel Özellikler

VectorBT Temel Özellikler

  • Vektörize Backtesting: Birkaç satır kodla strateji testi. Yavaş Python döngüsü yok.
  • Büyük Ölçekli Optimizasyon: Ticaret stratejinizi aynı anda birçok parametre, zaman dilimi ve varlık üzerinde tek seferde optimize edin.
  • Etkileşimli Görselleştirme: Plotly ve Jupyter Widgets ile yerleşik entegrasyon, Jupyter Notebook'ta fark edilir bir render gecikmesi olmadan doğrudan son derece karmaşık grafikler ve gösterge panelleri (Tableau gibi) oluşturmaya olanak tanır.
  • Kontrol Kaybı Yok: TradingView gibi bulut platformlarının aksine, verileriniz ve algoritmalarınız yalnızca size ait kalır. Aynı zamanda hesaplama performansı, hazır platformlarla karşılaştırılabilir düzeyde hatta çoğu zaman onları geride bırakır.
  • Veri Hazırlama: Makine öğrenimi modelleri için zaman serisi analizi ve özellik mühendisliği konusunda mükemmel bir araç seti.

Nasıl Çalışır (Örnek)

Nasıl Çalışır - Strateji Pipeline

Bitcoin (BTC) üzerinde klasik Çift Hareketli Ortalama Kesişimi (DMAC) stratejisini test etmek istediğimizi varsayalım.

Klasik bir OOP çerçevesinde, bir strateji sınıfı oluşturmanız, her çubukta tetiklenen next() mantığını tanımlamanız ve tüm çubuklar üzerinde iterasyon yapmanız gerekirdi. VectorBT'de her şey çok daha zarif ve hızlıdır:

import vectorbt as vbt

btc_price = vbt.YFData.download('BTC-USD', start='2019-01-01 UTC', end='2020-01-01 UTC').get('Close')

fast_ma = vbt.MA.run(btc_price, [10, 20], short_name='fast')
slow_ma = vbt.MA.run(btc_price, [30, 30], short_name='slow')

entries = fast_ma.ma_crossed_above(slow_ma)
exits = fast_ma.ma_crossed_below(slow_ma)

pf = vbt.Portfolio.from_signals(btc_price, entries, exits)

print(pf.total_return())

Bu örnekte DMAC stratejisinin birden fazla varyasyonunu tek bir anda test ettik: (10, 30) ve (20, 30) kombinasyonları. Sonuç (sütun biçiminde) her parametre varyantı için getiriyi gösterir:

fast_window  slow_window
10           30             0.848840
20           30             0.543411
Name: total_return, dtype: float64

Ethereum, Solana ve bir düzine daha fazla coin eklemek ister misiniz? Fiyatlarını tek bir DataFrame'de birleştirin. Farklı zaman aralıklarını test etmek ister misiniz? range_split fonksiyonunu kullanın. Vektör gösterimi, boyutları neredeyse sınırsız biçimde çoğaltmanıza olanak tanır (yeterli RAM olduğu sürece).

VectorBT PRO

VectorBT PRO Elite Araçlar

Kütüphanenin ticari bir sürümü de mevcuttur — VectorBT PRO, daha da güçlü araçlar ekler. Paralel işleme, gelişmiş portföy optimizasyonu, fiyat örüntüsü tanıma, olay projeksiyonu, marjin ticareti ve limit emir hesaplama ile gerçek ticaret için önemli yüzden fazla metrik sunar.

Neden VectorBT Kullanmalısınız?

Yalnızca tek bir enstrümanda tek bir stratejiyi "çalıştırmanız" gerekiyorsa, standart çerçeveler yeterli olabilir. Ancak hedefiniz keşif analizi, istatistiksel örüntüler (alfa) bulmak, aynı anda binlerce enstrümanda hipotezleri test etmekse, VectorBT sizin için gerçek bir keşif olacaktır.

Bu, ticarete uyarlanan veri bilimcilerinin bir aracıdır. Diğer piyasa katılımcılarının Python üzerinde yaptığından onlarca ve yüzlerce kat daha hızlı fikir kontrol etme kapasitesiyle rekabetçi bir bilgi avantajı sağlar.

Sorumluluk Reddi: Bu makalede sağlanan bilgiler yalnızca eğitim ve bilgilendirme amaçlıdır ve finansal, yatırım veya ticaret tavsiyesi niteliği taşımaz. Kripto para ticareti önemli bir kayıp riski içerir.

Yazarlar

Eugen Soloviov
Eugen Soloviov

Trading-systems engineer

Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.

Newsletter

Piyasanın Önünde Olun

Özel yapay zeka ticaret içgörüleri, piyasa analizi ve platform güncellemeleri için bültenimize abone olun.

Gizliliğinize saygı duyuyoruz. İstediğiniz zaman abonelikten çıkabilirsiniz.