Backtest satu rentang panjang dapat menyembunyikan proses pemilihan parameter. Walk-forward testing meniru cara strategi digunakan: parameter dipilih dari masa lalu, lalu diuji pada periode berikutnya yang belum dilihat.
Konsep Dasar
Satu siklus terdiri dari:
1. Train atau optimasi pada jendela historis.
2. Bekukan strategi dan parameter.
3. Test pada jendela berikutnya.
4. Geser waktu ke depan.
5. Ulangi proses.
Hanya hasil test yang digabung menjadi kurva out-of-sample.
Rolling dan Expanding Window
Rolling Window
Jendela training memiliki panjang tetap. Contoh: train 24 bulan, test 3 bulan, lalu geser 3 bulan. Data lama keluar ketika data baru masuk.
Ini cocok jika karakter pasar berubah dan sejarah terlalu lama kurang relevan.
Expanding Window
Training selalu dimulai dari tanggal yang sama dan terus bertambah. Metode ini menggunakan seluruh sejarah yang tersedia.
Ia cocok jika edge dianggap struktural, tetapi optimasi semakin berat dan regime lama dapat mendominasi.
Menentukan Panjang Jendela
Jendela harus menghasilkan jumlah trade yang cukup. Strategi 4 jam mungkin membutuhkan training lebih panjang daripada strategi 5 menit.
Pertimbangkan:
- Frekuensi trade.
- Siklus pasar yang ingin dicakup.
- Banyaknya parameter.
- Biaya optimasi.
- Seberapa sering parameter realistis diperbarui live.
Jangan membuat jendela test sangat pendek hanya agar sebagian besar data masuk training.
Contoh Desain
| Siklus | Training | Testing |
|---|---|---|
| 1 | Jan 2022–Des 2023 | Jan–Mar 2024 |
| 2 | Apr 2022–Mar 2024 | Apr–Jun 2024 |
| 3 | Jul 2022–Jun 2024 | Jul–Sep 2024 |
| 4 | Okt 2022–Sep 2024 | Okt–Des 2024 |
Parameter setiap siklus hanya boleh menggunakan jendela training masing-masing.
Implementasi dengan Freqtrade
Freqtrade menyediakan CLI untuk Hyperopt dan backtesting, sedangkan orkestrasi walk-forward dapat dilakukan dengan script:
1. Buat daftar window.
2. Jalankan Hyperopt pada timerange training.
3. Simpan parameter terbaik.
4. Jalankan backtest pada timerange testing.
5. Export transaksi.
6. Gabungkan hanya hasil testing.
Simpan command dan parameter per siklus. Jangan membiarkan file parameter dari siklus berikutnya masuk ke test sebelumnya.
Metrik yang Dinilai
Jangan hanya jumlahkan profit. Periksa:
- Berapa banyak window yang profit.
- Profit factor median.
- Drawdown terburuk.
- Stabilitas jumlah trade.
- Konsistensi pair dan entry tag.
- Turnover parameter.
- Deviasi training versus testing.
Jika training selalu hebat tetapi test buruk, proses optimasi overfit.
Parameter Turnover
Catat perubahan parameter antarwindow. Parameter yang selalu meloncat dari minimum ke maksimum menunjukkan tidak adanya area stabil.
Parameter dapat berubah mengikuti regime, tetapi perubahan tersebut harus dapat dijelaskan dan tidak terlalu sensitif.
Menggabungkan Equity Curve
Gabungkan transaksi out-of-sample secara kronologis. Pastikan modal, compounding, dan posisi yang melewati batas window ditangani konsisten.
Pilihan konservatif adalah menutup atau mengisolasi setiap window sesuai desain. Pilihan lain meneruskan saldo dan posisi, tetapi implementasinya lebih kompleks.
Kesalahan Umum
- Mengoptimalkan ulang setelah melihat hasil test.
- Memilih window yang memberi hasil terbaik.
- Menggunakan parameter global yang sebenarnya dibuat dari seluruh data.
- Mengabaikan biaya dan slippage.
- Membandingkan window dengan universe pair berbeda tanpa catatan.
- Menggabungkan hasil training ke equity curve final.
Kriteria Lulus
Tidak ada ambang universal, tetapi kandidat yang sehat biasanya:
- Positif pada mayoritas window.
- Memiliki drawdown yang dapat ditoleransi pada window terburuk.
- Tidak bergantung pada satu window spektakuler.
- Menunjukkan degradasi wajar dari train ke test.
- Memakai parameter yang relatif stabil.
- Tetap layak di bawah stress fee dan slippage.
Penutup
Walk-forward mengubah pertanyaan dari “apakah strategi cocok dengan sejarah?” menjadi “apakah proses pembuatan strategi pernah berhasil ketika diterapkan pada masa depan yang belum dilihat?”
Jika hasilnya stabil, kandidat dapat masuk ke tahap risiko dan dry-run. Artikel berikutnya membahas risk management futures—bagian yang menentukan apakah edge dapat bertahan ketika trade buruk benar-benar terjadi.
Bacaan lanjutan
Walk-forward mengurangi risiko overfitting, tetapi tidak menghilangkan perubahan regime dan risiko eksekusi live.




