Bir backtesting kütüphanesi seçmek aslında çoğunlukla bir bakım bahsidir. Stratejinizi fiyatlandıran kod; bir borsa API'sini değiştirdiğinde, bir pandas sürümü bir import'u bozduğunda veya gece 2'de bir hata bulduğunuzda hâlâ hayatta olmalıdır. Bu yüzden bu inceleme en az gösterişli ama en belirleyici sinyalle başlıyor — proje gerçekten bakım görüyor mu? — ve ancak ondan sonra mimari, hız ve özelliklere giriyor.

Aşağıdaki her GitHub rakamı 2026-06-22 tarihinde GitHub API'sinden canlı olarak çekildi ve daha zorlu iddialar birincil kaynaklara (proje repo'ları, resmi dokümanlar) karşı çapraz kontrol edildi ve çelişki arayan bir gözle doğrulandı. Bir rakam, bir üreticinin kendi bildirdiği en iyi senaryo olduğunda bu işaretlenmiştir.

Bakım gerçeğiyle yüzleşme

İşte tüm ekosistem GitHub yıldızlarına göre sıralanmış, üzerinde gerçekten çalışılıp çalışılmadığına göre renk kodlanmış hâliyle:

GitHub yıldızlarına göre sıralanmış ve bakım durumuna göre renklendirilmiş Python backtesting araçları (2026-06-22): freqtrade, NautilusTrader ve LEAN aktif olarak bakım gören grubun başını çekerken, Backtrader uykuda ve Zipline, PyAlgoTrade ve QSTrader terk edilmiş durumda.

Rahatsız edici sonuç: en çok yıldız alan, hakkında en çok blog yazılan iki isim aslında miras (legacy) durumunda.

Bu arada 2026'da gerçek release çıkaran projeler şunlar: Freqtrade (51.7k ⭐), NautilusTrader (24.1k ⭐), LEAN (20k ⭐), backtesting.py (8.5k ⭐), Jesse (8.1k ⭐), vectorbt (8.0k ⭐), PyBroker (3.4k ⭐), bt (2.9k ⭐) ve Lumibot (1.7k ⭐). Yıldızlar geçmişi ölçer; commit tarihleri ise hatanızı birinin düzeltip düzeltmeyeceğini ölçer.

İki mimari: olay tabanlı (event-driven) ve vektörel (vectorized)

Her şeyi belirleyen diğer ayrım da motorun stratejinizi nasıl çalıştırdığıdır.

Hiçbiri kesin galip değil. Hızlısıyla araştırır, gerçekçisiyle doğrularsınız. Bu ödünleşme hakkında aşağıda daha fazlası var.

Aktif olarak bakım gören liderler

NautilusTrader — üretim sınıfı, olay tabanlı, Rust çekirdekli

NautilusTrader (24.1k ⭐, LGPL-3.0) kendini "deterministik olay tabanlı mimariye sahip, üretim sınıfı, Rust-native bir alım-satım motoru" olarak tanımlıyor — kod tabanı ~%70 Rust ve Python bağlamalarına (bindings) sahip. Tick ve emir defteri (order-book) verisi kullanarak birden fazla borsa ve enstrümanı nanosaniye çözünürlüğünde backtest eder ve ~20 canlı entegrasyonla gelir (Binance, Coinbase, Kraken, OKX, Bybit, Interactive Brokers, Betfair ve daha fazlası). Öne çıkan vaadi: araştırmadan canlı dağıtıma kadar aynı strateji kodu. Tick seviyesinde gerçekçilik ve üretime giden gerçek bir yol gerektiren kripto+hisse senedi kitlesi için en güçlü seçim budur. Bedeli: basit kütüphanelere kıyasla daha dik bir öğrenme eğrisi ve daha ağır bir mimari.

vectorbt — büyük ölçekli vektörel araştırma

vectorbt (8.0k ⭐, Apache-2.0 + Commons Clause) vektörel motordur. README'sinden: "mumlar arasında tek seferde bir strateji ile döngü kurmak yerine, binlerce konfigürasyonu NumPy dizilerine yerleştirir, sıcak yolu (hot path) Numba ve Rust ile hızlandırır ve hepsini tek seferde çalıştırır, böylece saatler süren grid aramasını saniyelere indirir." Saniyeler içinde 10.000 ikili SMA pencere kombinasyonunu test etmek bunun klasik örneğidir; üçüncü taraflar bazı iş yüklerinde Backtrader'a kıyasla ~1000× hızlanma bildiriyor (üretici/üçüncü taraf rakamları, bağımsız bir kıyaslama değil). Aşağıdaki parametre taraması — SMA pencereleri boyunca 25 backtest — tam olarak vectorbt'nin sanayileştirdiği şeydir:

Bir parametre tarama ısı haritası: hızlı/yavaş SMA pencerelerinin 25 kombinasyonu boyunca −%5'ten +%54'e kadar toplam getiri. Bu grid araması, vectorbt'nin saniyeler içinde çalıştırmak için tasarlandığı kitlesel parametre optimizasyonudur.

Bilmeye değer iki uyarı: Commons Clause ticari yeniden satışı kısıtlar (bir ürün geliştiriyorsanız önemlidir) ve cilalı, ücretli vectorbt PRO, açık kaynak sürümden ayrı bir üründür. vectorbt yalnızca backtest içindir — canlı alım-satım yoktur.

backtesting.py — hafif favori

backtesting.py (8.5k ⭐, AGPL-3.0) bir framework'ün getirdiği tören yükü olmadan temiz, hızlı, okunabilir bir backtest istediğinizde başvuracağınız araçtır. init() ve next() tanımlayın, çalıştırın, bir istatistik nesnesi ve etkileşimli bir Bokeh grafiği alın. AGPL-3.0 lisansı önemlidir: ağ kullanımı hükümleri içeren güçlü bir copyleft'tir, dolayısıyla kapalı kaynaklı bir SaaS içinde sorun yaratabilir. Yalnızca backtest içindir. Bu sayfadaki sermaye eğrisi (kapak) ve aşağıdaki istatistikler gerçek bir backtesting.py çalıştırmasından geliyor — sentetik bir seri üzerinde düz bir SMA(20/50) kesişimi:

Örnek bir SMA(20/50) kesişimi için backtesting.py performans istatistikleri: +%46 al-ve-tut'a karşı +%1.6 getiri, Sharpe 0.05, maksimum düşüş −%38, 4 işlem. Dürüst bir sonuç — naif kesişim, tutmanın altında performans gösterdi.

Dürüst sonuca dikkat edin: naif kesişim, al-ve-tut için +%46'ya karşı +%1.6 getiri sağladı ve acımasız bir −%38 düşüş yaşadı. Bu, gerçek bir backtest'in normal ilk sonucudur ve tam olarak herhangi bir şeye inanmadan önce neden parametreleri taradığınızın ve varsayımları doğruladığınızın sebebidir.

Freqtrade — kripto varsayılanı

Freqtrade (51.7k ⭐, GPL-3.0) bu listedeki en çok yıldız alan proje ve fiilî açık kaynaklı kripto alım-satım botudur. Backtesting, dry-run (kâğıt üzerinde) alım-satım ve büyük borsalarda canlı alım-satım yapar; Telegram veya yerleşik bir web arayüzü üzerinden kontrol edilir ve aylık release çıkarır. Yalnızca kriptodur — hisse senedi yoktur — ama kripto için bakımı sürdürülen, topluluk destekli standarttır.

Lumibot, bt, PyBroker, Jesse, LEAN, zipline-reloaded

Mezarlık — yeni projeler için kaçının

Bunlar hâlâ arama sonuçlarında ve eski blog yazılarında yer alıyor ama 2026'da buradan başlamayın:

Mimari önemli: gerçekçilik ödünleşmesi

Vektörel-ve-olay tabanlı ayrımı akademik bir konu değil. vectorbt'nin hızı, her gerçekleşmenin bir sonraki mumun fiyatında, kayma olmadan gerçekleştiğini varsaymasından gelir. 500 varlık genelinde bir momentum taraması için bu sorun değil. Avantajı mum içi yürütmede yaşayan bir strateji için — stop yerleşimi, kısmi gerçekleşmeler, kuyruk pozisyonu — vektörel bir backtest size sessizce yalan söyler ve dürüst bir rakam elde etmek için olay tabanlı bir motora (NautilusTrader, Backtrader) veya canlı bir dry-run'a (Freqtrade, Lumibot) ihtiyacınız vardır. Profesyonel iş akışı her ikisini de kullanır: parametre uzayını keşfetmek için vectorbt, hayatta kalanları doğrulamak için olay tabanlı bir motor.

Lisanslama — bir ürün geliştirmeden önce bunu okuyun

Backtesting kütüphaneleri alışılmadık şekilde lisans-ağırlıklıdır ve birkaçı copyleft'tir:

Lisans Kütüphaneler Bilmeniz gerekenler
AGPL-3.0 backtesting.py En güçlü copyleft; ağ/SaaS kullanımı kaynak ifşasını tetikleyebilir
Apache-2.0 + Commons Clause vectorbt (OSS sürümü) İzin verici, ama onu bir ürün olarak satamazsınız
GPL-3.0 Backtrader, Freqtrade, Lumibot Copyleft; bir türevi dağıtmak onu açık kaynak yapmak demektir
LGPL-3.0 NautilusTrader Daha zayıf copyleft; bağlantı kurmak (linking) genellikle sorun değil
MIT bt, Jesse, QSTrader, fastquant İzin verici — neredeyse her şeyi yapabilirsiniz
Apache-2.0 LEAN, zipline-reloaded, finmarketpy İzin verici, patent hakkı dahil

Ticari ve kapalı kaynaklı bir şey geliştiriyorsanız, MIT/Apache araçları sorunsuz seçimlerdir; AGPL ve Commons Clause bir avukatın okumasını gerektirir.

Bir bakışta karşılaştırma

Araç ⭐ Yıldız Mimari Lisans Bakım Canlı alım-satım En uygun olduğu yer
NautilusTrader 24.1k Olay tabanlı (Rust) LGPL-3.0 🟢 Aktif Evet Üretim, tick/emir defteri gerçekçiliği
vectorbt 8.0k Vektörel Apache+CC 🟢 Aktif Hayır Kitlesel parametre araması
backtesting.py 8.5k Olay tabanlı AGPL-3.0 🟢 Aktif Hayır Hızlı, temiz tekil backtest'ler
Freqtrade 51.7k Olay tabanlı GPL-3.0 🟢 Aktif Evet (kripto) Bakımı sürdürülen kripto botu
Backtrader 22.1k Olay tabanlı GPL-3.0 🟡 Uykuda Evet Miras projeler (durağanlığa dikkat)
Lumibot 1.7k Olay tabanlı GPL-3.0 🟢 Aktif Evet Çoklu varlık, birleşik backtest/canlı
LEAN 20k Olay tabanlı Apache-2.0 🟢 Aktif Evet Ağır siklet çoklu varlık platformu
bt 2.9k Vektörel/ağırlıklar MIT 🟢 Aktif Hayır Portföy tahsisi stratejileri
PyBroker 3.4k Olay tabanlı OSS 🟢 Aktif Hayır ML stratejileri + walk-forward
zipline-reloaded 1.8k Olay tabanlı Apache-2.0 🟢 Aktif Hayır Akademi, ML4T kitabı
Zipline (orij.) 19.9k Olay tabanlı Apache-2.0 🔴 Terk edilmiş Hiçbir şey — reloaded kullanın
PyAlgoTrade 4.7k Olay tabanlı 🔴 Arşivlenmiş Yeni hiçbir şey

Yıldızlar ve durumlar 2026-06-22 anlık görüntüleridir ve değişecektir; bakım en değişken boyuttur, bu yüzden bir araca bağlanmadan önce commit etkinliğini yeniden kontrol edin.

Tek nefeste nasıl seçilir

Her piyasa rejiminde geçerliliğini koruyan tek kural: yıldız sayısını kontrol etmeden önce son commit tarihini kontrol edin. 2023'ten beri release çıkarmamış 22k yıldızlı bir kütüphane, geçen hafta release çıkaran 8k yıldızlı birinden üretime giden daha yavaş bir yoldur.


Metodoloji: GitHub metrikleri 2026-06-22 tarihinde GitHub API'sinden canlı olarak çekildi; mimari, bakım, lisans ve canlı alım-satım iddiaları proje repo'larına ve resmi dokümanlara karşı çapraz kontrol edildi ve çelişki arayan bir gözle, derlenmiş kataloglardan (PyTrade.org, awesome-systematic-trading) ve kernc'in alternatifler listesinden yararlanılarak doğrulandı. Sermaye eğrisi, istatistikler ve parametre ısı haritası, yeniden üretilebilir bir sentetik fiyat serisi üzerinde yapılan bir backtesting.py çalıştırmasının gerçek çıktısıdır — açıklayıcı niteliktedir, bir strateji önerisi değildir. Üreticilere atfedilen performans rakamları (vectorbt'nin hızlanmaları, NautilusTrader'ın nanosaniye çözünürlüğü) bağımsız kıyaslamalar değil, kendi bildirimleridir.