Skip to content

Modüler, test edilebilir ve production-ready bir algoritmik trading research platformu. BTC/USD çifti üzerinde makine öğrenmesi tabanlı sinyal üretimi, event-driven backtesting ve Alpaca paper trading entegrasyonu sunar.

Notifications You must be signed in to change notification settings

neuralforgeone/ForgeOne

Repository files navigation

Algo Trade Bot

Python 3.10+ License: MIT

Modüler, test edilebilir ve production-ready bir algoritmik trading research platformu. BTC/USD çifti üzerinde makine öğrenmesi tabanlı sinyal üretimi, event-driven backtesting ve Alpaca paper trading entegrasyonu sunar.

🎯 Proje Amaçları

  • Data Pipeline: Binance/CoinGecko'dan OHLCV verisi çekme, feature engineering, label generation
  • ML Pipeline: Walk-forward validation ile model eğitimi, kalibrasyon, registry
  • Backtesting: Event-driven, lookahead-free backtest engine
  • Live Trading: Alpaca Paper Trading entegrasyonu ile gerçek zamanlı sinyal çalıştırma

📁 Dizin Yapısı

algo-trade-bot/
├── src/algo_trader/          # Ana kaynak kod
│   ├── common/               # Ortak yardımcı modüller (config, logger, storage)
│   ├── interfaces/           # Abstract base class'lar (broker, model, strategy)
│   ├── data/                 # Veri ingestion ve feature engineering
│   ├── models/               # ML modelleri (SklearnBaseline, Calibrator)
│   ├── research/             # Eğitim pipeline (dataset, train, evaluate, registry)
│   ├── backtest/             # Event-driven backtest engine
│   ├── strategy/             # Sinyal ve pozisyon yönetimi
│   ├── broker/               # Alpaca broker implementasyonu
│   ├── live/                 # Canlı paper trading runner
│   ├── bot/                  # Legacy PyBroker bot
│   └── tests/                # Pytest test suite
├── data/raw/                 # Ham OHLCV verileri (parquet)
├── artifacts/                # Model registry, backtest raporları, live state
├── docs/                     # Detaylı dokümantasyon
├── notebooks/                # Jupyter araştırma notları
└── ai_memory/                # AI asistan kalıcı notları

🔧 Teknoloji Stack

Kategori Teknoloji
Data pandas, numpy, pyarrow
ML scikit-learn, joblib
Config pydantic, pydantic-settings
Logging loguru
Backtesting Custom event-driven engine, PyBroker
Broker alpaca-trade-api
Scheduling APScheduler
Testing pytest

🛡️ Data Leakage Koruması

Bu projede data leakage önlenmesi kritik öneme sahiptir:

  1. Temporal Ordering: Tüm split'ler kronolojik sırada, random shuffle yok
  2. Feature Computation: Sadece geçmiş veriden hesaplama (lookahead yok)
  3. Label Shifting: Label'lar geleceğe kaydırılmış (t+n dönemine ait)
  4. Walk-Forward Validation: Train < Validation < Test zaman sırası garanti
  5. Backtest Execution: Karar bar kapanışında, uygulama gelecek bar'da

🚀 Hızlı Başlangıç

Kurulum

make install

Veri indirme

make ingest # Binance'ten BTC OHLCV make ingest-coingecko # CoinGecko'dan BTC tarihsel veri

Feature ve label oluşturma

make features make labels

Test

make test

Trading Bot

make backtest # Backtest çalıştır


### Paper Trading

```bash
# Alpaca credentials ayarla
export ALGO_TRADER_ALPACA_API_KEY="your-key"
export ALGO_TRADER_ALPACA_API_SECRET="your-secret"

# Paper trading başlat
make paper-run

# Tek bir decision cycle çalıştır
make paper-once

# Durumu kontrol et
make paper-status

# Pozisyonları kapat ve durdur
make paper-stop

📊 Makefile Komutları

Komut Açıklama
make install Paketi editable mode'da kur
make ingest Binance'ten BTC OHLCV verisi indir
make features 37 teknik gösterge hesapla
make labels Target label'ları oluştur
make train Walk-forward validation ile model eğit
make backtest Event-driven backtest çalıştır
make test Pytest test suite çalıştır
make paper-run Paper trading başlat
make paper-once Tek decision cycle
make paper-stop Pozisyonları kapat
make pipeline Tam pipeline (ingest → train)

📚 Dokümantasyon

Detaylı dokümantasyon için docs/ klasörüne bakın:

⚠️ Önemli Uyarılar

  1. Paper Trading Only: Bu sistem şu anda sadece paper trading destekliyor
  2. Risk Limitleri: Varsayılan %20 max position, %10 max drawdown
  3. Credentials: API anahtarlarını environment variable olarak saklayın

Alpaca API Credentials

Environment variable olarak ayarlanabilir:

  • ALGO_TRADER_ALPACA_API_KEY
  • ALGO_TRADER_ALPACA_API_SECRET
  • ALGO_TRADER_ALPACA_BASE_URL

About

Modüler, test edilebilir ve production-ready bir algoritmik trading research platformu. BTC/USD çifti üzerinde makine öğrenmesi tabanlı sinyal üretimi, event-driven backtesting ve Alpaca paper trading entegrasyonu sunar.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published