Algoritmik trading'e giriş: Python ile ilk adımlar
Sıfırdan ilk çalışan sistem: kurulum, veri çekme, basit bir stratejiyi kodlama, test etme, kâğıt işlem ve canlıya bağlama. Hangi kütüphaneler, hangi sırayla, hangi hatalar; ve kod yazmayı bilmeyenler için gerçekçi yol.

Contents9 headings
Python, perakende algoritmik trading'in ortak dilidir: ücretsiz, geniş kütüphane desteği, her borsa ve çoğu broker için hazır bağlantı. Bu rehber, hiç kod yazmamış birinin ilk çalışan sisteme ulaşma yolunu anlatıyor; kod satırları değil, adımlar ve kararlar. Kodun kendisi için bolca ücretsiz kaynak var; eksik olan genellikle sıra ve beklentidir.
Ne bekleyin, ne beklemeyin
Üç ayda: veri çeken, basit bir stratejiyi test eden ve kâğıt üstünde (paper trading) çalıştıran bir sistem. Bir yılda: küçük boyutta canlı çalışan denetimli bir sistem. Beklemeyin: ilk stratejinizin kârlı olmasını. İlk sistemin amacı para değil, altyapıdır; strateji sonra değişir, altyapı kalır.
Kod yazmayı bilmiyorsanız: Python temelleri (değişken, döngü, fonksiyon, liste, sözlük) için iki-üç haftalık ücretsiz bir kurs yeterli; sonra doğrudan trading problemine geçin. "Önce Python'u tam öğreneyim" yaklaşımı, altı ay sonra hâlâ kurs izleyen kişiyi üretir. Yapay zeka asistanları kod yazmayı hızlandırır; ama yazdıkları kodu okuyup anlamadan çalıştırmayın, özellikle emir gönderen kısımları.
Kurulum
Python 3 (python.org ya da Anaconda), bir editör (VS Code), sanal ortam (projeye özel kütüphane kurulumu için). Kütüphaneler: pandas (tablo verisi), numpy (sayısal işlem), matplotlib ya da plotly (grafik), ccxt (kripto borsaları), requests (veri indirme). Backtest için backtesting.py (basit, öğrenmesi kolay) ya da vectorbt (hızlı, büyük parametre taramaları için). Bu beş-altı kütüphane, ilk yıl için yeterlidir.
Adım 1: veri
Kripto ile başlayın; veri ücretsiz ve temiz, API'ler açık, gece de çalışır. ccxt ile Binance'ten BTC/USDT 1 saatlik mumları çekip CSV'ye kaydeden on satırlık bir betik, ilk hedefinizdir. Çalıştığında veri kalitesi rehberindeki kontrolleri (mum sayısı, boşluk, aykırı mum) aynı betiğe ekleyin. Döviz ya da vadeli için veri kaynakları rehberindeki kaynaklar; ama ilk sistemi kriptoda kurmak, veri sorunlarını sonraya bırakmanızı sağlar.
Adım 2: strateji
Basit ve mekanik: "20 saatlik ortalama 50 saatlik ortalamanın üstüne çıkınca al, altına inince sat" gibi. Bu strateji muhtemelen kârlı değildir ve önemi yoktur; amaç, giriş/çıkış/boyut/stop mantığını kodda ifade etmek. Strateji yazma rehberindeki yedi bileşeni birer fonksiyon olarak düşünün: bağlam(), kurulum(), tetik(), stop_hedef(), yönetim(). Her biri ayrı test edilebilir olsun.
Adım 3: backtest
backtesting.py ile stratejiyi çalıştırın; sonuç tablosunda kazanma oranı, profit factor, drawdown, işlem sayısı gelir. Sonra backtest rehberindeki hataları arayın: maliyet eklendi mi (komisyon ve kayma parametresi), aynı mumda stop/hedef nasıl çözüldü, ileriye bakma var mı (bir mumun kapanışını o mum kapanmadan kullanan kod, en yaygın hata; sinyali bir mum "kaydırarak" uygulayın). Sonuç makul görünene kadar bunlar düzeltilir. "Makul" demek, profit factor 3'ün üstü değil demek.
Adım 4: kâğıt işlem
Aynı kodu, gerçek zamanlı veriyle, emir göndermeden çalıştırın: her yeni mumda sinyal üretsin, sinyali dosyaya ve size (Telegram botu ile mesaj; kurulumu bir saat) yazsın. Bir ay boyunca sinyalleri backtest'in aynı dönemdeki sinyalleriyle karşılaştırın; farklıysa kodda gerçek zamanlı ile tarihsel arasında tutarsızlık var (çoğu zaman kapanmamış mum sorunu). Bu adım atlanmaz; çoğu "bot para kaybetti" hikâyesi, kâğıt işlem yapılmamış sistemlerdir.
Adım 5: canlı, denetimli, mikro
Borsa API anahtarı (yalnızca işlem yetkisi; para çekme yetkisi kapalı; IP kısıtlı). Emir gönderen fonksiyon: boyut hesaplama, piyasa/limit emri, stop emri, hata yakalama (bağlantı koptu, emir reddedildi, bakiye yetersiz). Her emrin kaydı. Boyut, planlanan riskin onda biri. Gün içinde izlenir; günlük limit koda gömülü (limit dolunca yeni emir yok ve size mesaj). Bir ay sorunsuz çalışırsa boyut kademeli artar.
Sık hatalar
- Kapanmamış mumla sinyal üretmek (tekrar: en yaygın).
- Zaman dilimi karışıklığı: borsa UTC, sizin bilgisayar Türkiye saati; mum sınırları kayar.
- Float karşılaştırması ve yuvarlama: borsanın minimum emir miktarı ve fiyat adımına uymayan emir reddedilir.
- Hata yakalamamak: bir istisna programı durdurur, pozisyon açık kalır, stop yoktur.
- API anahtarını koda gömmek ve kodu paylaşmak; anahtar ortam değişkeninde durur.
- Aynı stratejiyi iki kez çalıştırmak (iki terminal): çift pozisyon.
Sonrası
İlk sistem çalıştığında sırada veri kalitesi, parametre taramaları (vectorbt), yürüyen pencere testi ve altyapı (VPS, izleme) var. Bunların her biri ayrı rehber. Ama ilk sistem, en büyük adımdır: veri → strateji → test → kâğıt → canlı zincirini bir kez kurmuş kişi, ikinci stratejiyi haftalar içinde ekler. Zincir, stratejiden değerlidir.


