PROYEK Sistem Trading ML dengan Anaconda & MLflow
Proyek ini adalah sistem pembelajaran mesin lengkap untuk analisis data perdagangan dan prediksi sinyal menggunakan MLflow untuk pelacakan eksperimen. Dirancang khusus untuk data backtest XAUUSD dengan fokus pada probabilitas tingkat kemenangan yang tinggi, rasio risiko-imbalan yang jelas, dan stabilitas jangka panjang.
- Probabilitas Tingkat Kemenangan Tinggi: Mengidentifikasi pola perdagangan dengan tingkat kemenangan > 60%
- Risiko Imbalan yang Jelas: Mengoptimalkan rasio risiko-imbalan untuk profitabilitas maksimum
- Stabilitas Jangka Panjang: Model yang konsisten dan andal
- Keluaran Sinyal Berkualitas: Menghasilkan sinyal perdagangan yang dapat ditindaklanjuti
- β Saluran Lanjutan Diperbaiki: Semua kesalahan indentasi telah diselesaikan
- β UI MLflow Berjalan: Pelacakan eksperimen di http://127.0.0.1:5000
- β Beberapa Model: Random Forest, Gradient Boosting, Regresi Logistik
- β Rekayasa Fitur: 12+ fitur khusus perdagangan telah diimplementasikan
- β Pelacakan Eksperimen: Integrasi MLflow penuh berfungsi
- β Skrip yang Mudah Digunakan: Alat otomatisasi yang ramah bagi pemula
# Klik dua kali file ini di Windows Explorer
start_experiments.batpython run_experiments.py# Saluran sederhana (ML dasar)
python simple_ml_pipeline.py
# Saluran lanjutan dengan MLflow
python -c "from advanced_ml_pipeline import AdvancedTradingPipeline; p=AdvancedTradingPipeline(); p.run_complete_pipeline(10)"python check_status.py-
Mulai UI MLflow (jika belum berjalan):
python -m mlflow ui --port 5000
-
Buka di browser: http://127.0.0.1:5000
-
Jelajahi eksperimen Anda:
- Bandingkan kinerja model
- Lihat pentingnya fitur
- Analisis sinyal perdagangan
- Lacak riwayat eksperimen
python main.pymlflow ui --backend-store-uri ./mlruns --port 5000Buka browser ke http://localhost:5000 untuk melihat pelacakan eksperimen.
- Simple Moving Average (SMA): Periode 5, 10, 20, 50
- Exponential Moving Average (EMA): Periode 12, 26
- RSI (Relative Strength Index): Periode 14
- MACD (Moving Average Convergence Divergence)
- Bollinger Bands dengan deviasi standar 2
- Pengkodean jam, hari dalam seminggu, bulan
- Pengkodean siklus (transformasi sin/cos)
- Indikator sesi perdagangan (Asia, Eropa, AS)
- Periode tumpang tindih pasar
- Volatilitas historis (periode 5, 10, 20)
- Statistik MAE/MFE
- Rasio risiko-imbalan
- Skewness dan kurtosis
- Statistik bergulir (rata-rata, median, std, min, maks)
- Fitur jeda (periode 1, 2, 3, 5, 10)
- Fitur kuantil (25%, 75%)
- Interaksi harga-volume
- Interaksi sesi-volatilitas
- Interaksi waktu-harga
- XGBoost: Gradient boosting dengan optimasi untuk perdagangan
- LightGBM: Gradient boosting cepat dengan efisiensi memori
- Random Forest: Model ansambel untuk perbandingan dasar
Semua model dilacak menggunakan MLflow dengan:
- Pencatatan parameter
- Pelacakan metrik
- Pembuatan versi model
- Analisis pentingnya fitur
- Akurasi, Presisi, Perolehan Kembali, Skor-F1
- AUC-ROC untuk prediksi probabilitas
- Tingkat Kemenangan: Persentase perdagangan yang menguntungkan
- Faktor Keuntungan: Rasio total keuntungan vs total kerugian
- Rasio Risiko-Imbalan: Rata-rata keuntungan vs rata-rata kerugian
- Penarikan Maksimum: Kerugian maksimum dari puncak
- Rasio Sharpe: Imbalan yang disesuaikan dengan risiko
- Harapan: Nilai yang diharapkan per perdagangan
- Presisi pada berbagai ambang probabilitas
- Frekuensi dan cakupan sinyal
- Metrik stabilitas lintas periode waktu
- is_profitable: Perdagangan menghasilkan keuntungan (biner)
- is_winning_trade: Keuntungan perdagangan > 10 pips (biner)
- Simbol, Stempel Waktu, Jenis (BELI/JUAL)
- HargaBuka, HargaTutup, Volume
- Keuntungan, MAE_pips, MFE_pips
- AlasanKeluar, Sesi perdagangan
- 100+ indikator teknis
- Fitur berbasis waktu
- Metrik risiko
- Fitur statistik
models:
- name: "xgboost"
params:
n_estimators: [100, 200, 300]
max_depth: [3, 5, 7]
learning_rate: [0.01, 0.1, 0.2]
- name: "lightgbm"
params:
n_estimators: [100, 200, 300]
max_depth: [3, 5, 7]
learning_rate: [0.01, 0.1, 0.2]MLflow melacak semua eksperimen dengan informasi:
- Hiperparameter model
- Pengaturan rekayasa fitur
- Parameter pra-pemrosesan data
- Metrik pelatihan dan validasi
- Metrik kinerja perdagangan
- Skor validasi silang
- Model terlatih
- Plot pentingnya fitur
- Laporan kinerja
- Pembuatan versi model
- Penerapan pentahapan dan produksi
- Perbandingan model
- Mengidentifikasi fitur yang paling berpengaruh
- Menganalisis kontribusi setiap kategori fitur
- Menghilangkan fitur yang tidak relevan
- Membandingkan kinerja antar model
- Menganalisis stabilitas lintas waktu
- Mengidentifikasi overfitting
- Kualitas sinyal pada berbagai ambang batas
- Pertukaran frekuensi sinyal vs akurasi
- Metrik kinerja yang disesuaikan dengan risiko
- Caching Data: Caching otomatis untuk iterasi yang lebih cepat
- Validasi Data: Pemeriksaan kualitas untuk integritas data
- Pembuatan Versi Fitur: Melacak perubahan rekayasa fitur
- Validasi Sadar Waktu: TimeSeriesSplit untuk evaluasi yang realistis
- Pemilihan Fitur: Analisis pentingnya fitur secara sistematis
- Penyetelan Hiperparameter: Pencarian grid dengan validasi silang
- Pemantauan Penarikan: Pelacakan berkelanjutan terhadap penarikan maksimum
- Penyaringan Sinyal: Ambang kualitas untuk pembuatan sinyal
- Pemantauan Kinerja: Evaluasi kinerja model secara berkala
- Kinerja Masa Lalu: Hasil historis tidak menjamin kinerja di masa depan
- Kondisi Pasar: Kinerja model dapat berubah seiring kondisi pasar
- Manajemen Risiko: Selalu gunakan stop loss dan ukuran posisi yang tepat
- Overfitting: Pantau tanda-tanda overfitting pada data yang tidak terlihat
- Gunakan ambang probabilitas > 0,7 untuk sinyal dengan keyakinan tinggi
- Fokus pada periode tumpang tindih sesi (Eropa-AS)
- Pertimbangkan konfirmasi volume untuk validasi sinyal
- Tetapkan batas penarikan maksimum 10%
- Gunakan rasio risiko-imbalan minimal 2:1
- Terapkan ukuran posisi berdasarkan keyakinan sinyal
- Latih ulang model setiap 3-6 bulan
- Pantau penyimpangan fitur dan perubahan rezim pasar
- Terapkan prediksi ansambel untuk stabilitas
- Pelatihan Ulang Reguler: Jadwalkan pelatihan ulang model
- Pemantauan Kinerja: Lacak kinerja langsung vs backtest
- Pemantauan Fitur: Pantau penyimpangan fitur
- Kualitas Data: Pemeriksaan kualitas data berkelanjutan
Untuk pengembangan lebih lanjut:
- Implementasi saluran prediksi waktu-nyata
- Integrasi dengan platform perdagangan
- Metode ansambel lanjutan
- Analisis multi-kerangka waktu
- Optimasi portofolio
Catatan: Proyek ini dirancang untuk tujuan pendidikan dan penelitian. Selalu gunakan manajemen risiko yang tepat dalam perdagangan nyata.
PROYEK Sistem Trading ML dengan Anaconda & MLflow