Araştırma Ortamı Kurmak: Python, Sanal Ortamlar, Jupyter ve VS Code
Python'u yükleyin, yalıtılmış bir proje ortamı oluşturun, pandas, numpy ve matplotlib ekleyin ve ilk not defteri hesaplamanızı çalıştırın.
Neler öğreneceksiniz
- 2026'da hangi Python sürümünü yüklemeniz gerektiği ve "en yeninin bir gerisindeki sürüm" seçiminin neden genellikle daha güvenli olduğu.
- Her trading projesinin kendine ait, yeniden üretilebilir bir paket setine sahip olması için sanal ortamın nasıl oluşturulacağı.
- pandas, numpy, matplotlib ve Jupyter'in nasıl yükleneceği ve sürümlerin bir
requirements.txtdosyasında nasıl sabitleneceği. - Verilerin, not defterlerinin ve yeniden kullanılabilir kodun birbirine karışmaması için bir araştırma klasörünün nasıl düzenleneceği.
Açıklama
Python, veri kütüphaneleri sayesinde finansta nicel araştırmanın standart aracı hâline gelmiş genel amaçlı bir programlama dilidir. "Sistematik Trading ve Geriye Dönük Test" kursunda bir kural elektronik tabloda test edilmişti; bu kurs aynı fikirleri koda taşıyor.
Hangi sürüm? 2026'nın sonları itibarıyla en yeni Python serisi 3.15'tir ve pandas 3.0 (Ocak 2026'da yayımlandı) Python 3.11 veya daha yenisini gerektirir. Pratik bir kural: en az birkaç aylık olan en son sürümü yükleyin, çünkü yepyeni sürümlerde bilimsel kütüphaneler için önceden derlenmiş paketler ("wheel") bazen henüz bulunmaz. Her zaman güncel indirme sayfasını kontrol edin ve Windows'ta kurulum sırasında "Add python to PATH" seçeneğini işaretleyin. Bir terminalde python --version ile doğrulayın (macOS ve Linux'ta python3 kullanmanız gerekebilir).
Sanal ortamlar. Sanal ortam (venv), tek bir proje için Python paketlerinin kendi kopyasını tutan özel bir klasördür. Sanal ortam olmadan A projesi için pandas'ı yükseltmek B projesini fark ettirmeden bozabilir. Yerleşik modül bir sanal ortam oluşturur:
python -m venv .venv
Ortamı .venv\Scripts\activate (Windows) veya source .venv/bin/activate (macOS/Linux) ile etkinleştirin. Komut istemi bundan sonra (.venv) gösterir ve artık pip yalnızca bu klasöre yükleme yapar. pip aracı Python'un paket yükleyicisidir; PyPI (Python Package Index, Python Paket Dizini) ise paketlerin indirildiği herkese açık depodur.
Temel kütüphaneler. numpy hızlı sayısal diziler sağlar; pandas numpy'nin üzerine etiketli tablolar (DataFrame) kurar ve bu kursun ana iş aracıdır; matplotlib grafik çizer; Jupyter ise kodu, çıktıyı ve notları bir arada barındıran belgeler olan not defterlerini sunar. Hepsini tek satırda yükleyin:
pip install pandas numpy matplotlib jupyterlab pyarrow
pyarrow paketi isteğe bağlıdır, ancak pandas ekibi tarafından önerilir; çünkü pandas 3.0 bu paketi yeni varsayılan metin (string) türü ve daha hızlı dosya okuma için kullanır.
Yeniden üretilebilirlik. Kurulumdan sonra pip freeze > requirements.txt komutunu çalıştırın. Dosya kesin sürümleri listeler, örneğin pandas==3.0.1. Daha sonra pip install -r requirements.txt birebir aynı ortamı yeniden oluşturur; böylece bugünkü bir geriye dönük test aynı sayıları üretir. Yeniden üretemediğiniz bir sonuç, sonuç değildir.
Not defteri mi, betik mi? Jupyter not defterleri (jupyter lab ile başlatılır) keşif için idealdir, çünkü her hücre ayrı çalışır ve kendi çıktısını gösterir. VS Code (Visual Studio Code, ücretsiz bir düzenleyici) aynı .ipynb not defterlerini ve düz .py betiklerini açar, bir hata ayıklayıcı sunar ve hataları siz yazarken gösterir. VS Code'da .venv içindeki yorumlayıcıyı seçin; aksi takdirde pandas'ı yüklemiş olsanız bile içe aktarmalarınız "No module named pandas" hatasıyla başarısız olur.
Büyüdükçe işe yarayan bir klasör düzeni:
- Elle asla düzenlemediğiniz indirilmiş dosyalar için
data/raw/, temizlenmiş sürümler içindata/processed/. - Keşif için numaralandırılmış
notebooks/(01_load.ipynb,02_returns.ipynb). - Yeniden kullanılabilir fonksiyonlar (göstergeler, metrikler) için
src/, 9. derste yazacağınız birim testleri içintests/. requirements.txtve.venv/klasörünü, büyük veri dosyalarını ve API anahtarı içeren her dosyayı hariç tutan bir.gitignore.
Çözümlü örnek
Varsayımsal örnek: "Risk ve İşlem Yönetimi" kursunda elle yapmış olabileceğiniz bir pozisyon büyüklüğü hesaplamasının yerini alan ilk not defteri hücresi. Varsayımlar: hesap €10,000, işlem başına risk 1%, giriş €50.00, stop €47.00. Ücretler, spread ve kayma (slippage) dikkate alınmamıştır.
account = 10_000
risk_pct = 0.01
entry, stop = 50.0, 47.0
risk_eur = account * risk_pct
per_share = entry - stop
shares = int(risk_eur // per_share)
print(shares, shares * entry, shares * per_share)
Adım adım: euro cinsinden risk = 10,000 × 0.01 = €100. Hisse başına risk = 50 − 47 = €3. Hisse adedi = 100 ÷ 3 = 33.3 ve tam bölme operatörü // sonucu 33'e aşağı yuvarlar (yukarı yuvarlamak risk bütçesini aşardı). Pozisyon değeri = 33 × €50 = €1,650. Gerçek planlanan risk = 33 × €3 = €99. Çıktı 33 1650.0 99.0 olur.
10_000 içindeki alt çizgi yalnızca okunabilirliği artırır. Ayrıca planlanan risk, maksimum kayıp değildir: stopun üzerinden atlayan bir fiyat boşluğu (gap) €99'dan fazla kaybettirebilir.
Sık yapılan hata
pip install komutunu çoğu zaman etkinleştirilmiş bir ortam olmadan, hatta bazen yönetici haklarıyla çalıştırır. Aylar sonra iki proje farklı pandas sürümlerine ihtiyaç duyar, bir yükseltme eski not defterlerini bozar ve geçen yılın geriye dönük testini hangi sürümlerin ürettiğini kimse bilmez. Her proje için bir .venv oluşturun, requirements.txt dosyasını sürüm kontrolüne ekleyin (commit) ve sistem Python'una asla yükleme yapmayın.Uygulama etkinliği
Kâğıt üzerinde şu işlemler için terminal komutlarının tam sırasını yazın: momentum_research adlı bir proje klasörü oluşturmak, içinde bir sanal ortam oluşturup etkinleştirmek, pandas, numpy, matplotlib ve JupyterLab'i yüklemek, sürümleri kaydetmek ve JupyterLab'i başlatmak. Ardından kurulum başarılı olduysa python -c "import pandas; print(pandas.__version__)" komutunun ne yazdırması gerektiğini belirtin.
Çözümü göster
mkdir momentum_researchardındancd momentum_researchpython -m venv .venvsource .venv/bin/activate(macOS/Linux) veya.venv\Scripts\activate(Windows)pip install pandas numpy matplotlib jupyterlabpip freeze > requirements.txtjupyter lab
Kontrol komutu 3.0.1 gibi bir sürüm dizesi yazdırır (kesin numara, kurulum yaptığınız sırada güncel olan sürüme bağlıdır).
Sınırlamalar: şirket dizüstü bilgisayarları ve bazı Linux dağıtımları kurulum yollarını kısıtlar; python bulunamazsa python3 komutunu veya yükleyicinizin gösterdiği tam yolu kullanın.
Önemli çıkarımlar
- Güncel ama yepyeni olmayan bir Python 3 sürümü kullanın; pandas 3.0, Python 3.11 veya daha yenisini gerektirir.
- Proje başına bir sanal ortam ve sürümleri sabitlenmiş bir
requirements.txt, her geriye dönük testi yeniden üretilebilir kılar. - pandas, numpy, matplotlib ve Jupyter bu kursun dayandığı dört araçtır; VS Code not defterlerini ve betikleri bir araya getirir.
- Ham veriyi, işlenmiş veriyi, not defterlerini ve yeniden kullanılabilir kodu ilk günden ayırın.
Sonraki adım
2. ders, pandas'a geçmeden önce ihtiyaç duyduğunuz az miktardaki temel Python bilgisini ele alıyor: veri türleri, listeler, sözlükler, döngüler, fonksiyonlar ve bir hata mesajının nasıl okunacağı.
Öz değerlendirme
Soruları yanıtlayın, ardından yanıtlarınızı kontrol edin. İstediğiniz kadar tekrar deneyebilirsiniz.
Kendi tekrarınız için otomatik öz değerlendirme. Cevaplarınız tarayıcınızda kontrol edilir; bunları görmez ve değerlendirmeyiz. Bu bir sınav veya yeterlilik değildir.
İlerlemeniz
“Tamamlandı” yalnızca dersi bitirdiğinizi işaretlediğiniz anlamına gelir. Anlayışınızın bir sınavı değildir. İlerleme ve notlar yalnızca bu cihazdaki bu tarayıcıda saklanır — bir hesapta değil.