Bagaimana Donchian Channels Dapat Di-backtest Secara Bertanggung Jawab
Jawaban langsung
Backtesting Donchian Channels secara bertanggung jawab berarti membangun pengujian yang transparan dan dapat diulang di sekitar empat hal: (1) definisi data, (2) asumsi biaya dan eksekusi, (3) kontrol bias yang mencegah “pencocokan dengan sejarah,” dan (4) pemeriksaan out-of-sample yang menguji apakah perilaku yang diamati bertahan di luar periode yang digunakan untuk menyetel pengaturan.
Mekanisme dan definisi
Donchian Channels dibangun dari jendela bergerak dari harga ekstrem. Untuk panjang jendela lookback yang dipilih N, pita atas didasarkan pada harga tertinggi yang diamati selama N bar terakhir, dan pita bawah didasarkan pada harga terendah yang diamati selama N bar terakhir. Pita yang dihasilkan diperbarui setiap bar baru tiba.
Untuk backtest secara bertanggung jawab, Anda harus menyatakan input pasti yang menghasilkan pita tersebut:
- Definisi harga: putuskan apakah high/low menggunakan bid, ask, mid, atau konvensi lain, dan jaga konsistensinya.
- Granularitas bar: tentukan apakah seri tersebut harian, per jam, atau timeframe lain.
- Penyelarasan jendela: konfirmasi apakah pita pada waktu t menggunakan bar yang benar-benar sebelum t (untuk menghindari look-ahead yang tidak disengaja).
- Cakupan parameter: perlakukan panjang lookback N sebagai parameter yang dapat dikonfigurasi yang pilihannya harus dibenarkan dan dikontrol.
Kesalahan umum adalah menghitung pita dengan cara yang secara implisit menggunakan informasi masa depan (misalnya, dengan salah menyelaraskan timestamp). Kesalahan lain adalah mengubah asumsi antara langkah “pembuatan pita” dan langkah “simulasi perdagangan”.
Pendekatan bukti atau contoh (tanpa mengasumsikan sinyal)
Untuk menguji perilaku pita itu sendiri, Anda dapat memisahkan mekanisme saluran dari aturan apa pun yang mungkin Anda terapkan nanti:
- Buat hanya seri pita. Catat nilai pita atas dan bawah untuk setiap bar bersama dengan rolling high/low yang mendasarinya.
- Ukur bagaimana pita berhubungan dengan harga dengan cara yang ditentukan. Misalnya, hitung metrik jarak (seperti seberapa jauh harga saat ini dari pita bawah) menggunakan penyelarasan waktu yang sama yang Anda gunakan untuk membangun pita.
- Pisahkan tuning dan evaluasi. Jika Anda mencoba beberapa nilai N, gunakan satu periode untuk memilih N (tuning) dan periode lain yang berbeda dan lebih baru untuk mengevaluasi.
Bahkan jika Anda tidak mendefinisikan aturan perdagangan lengkap, Anda masih dapat mengukur stabilitas. Misalnya, periksa apakah distribusi jarak pita, lebar pita, atau perilaku waktu-dalam-pita berubah tajam di berbagai rezim (trending vs ranging). Pergeseran besar menunjukkan bahwa penilaian kinerja selanjutnya bisa sensitif terhadap kondisi pasar.
Keterbatasan dan risiko (mode kegagalan material)
Ada beberapa cara backtest Donchian Channels umumnya gagal:
- Overfitting (kegagalan kontrol bias): mencoba banyak panjang jendela, aturan entry/exit, atau ambang batas sampai kurva historis terlihat bagus.
- Bias look-ahead: penyelarasan yang salah membuat pita “mengetahui” masa depan.
- Penghilangan biaya: perdagangan realistis melibatkan spread, komisi, slippage, dan penundaan; mengabaikannya dapat menggelembungkan kinerja yang tampak.
- Ketidakcocokan eksekusi: backtest dapat mengasumsikan eksekusi pada harga yang tidak akan tercapai mengingat resolusi berbasis bar.
- Non-stasioneritas: hubungan yang berlaku selama periode sampel mungkin tidak berlaku kemudian, karena perilaku pasar dan dinamika volatilitas berubah.
Ini bukan jaminan kegagalan, tetapi ini adalah alasan yang kredibel mengapa hasil historis mungkin tidak dapat digeneralisasi.
Verifikasi dan pertanyaan berikutnya
Untuk memverifikasi secara bertanggung jawab, gunakan pendekatan berlapis:
- Validasi walk-forward atau bergulir: berulang kali menyetel parameter pada jendela sebelumnya dan mengevaluasi pada jendela berikutnya.
- Out-of-sample terlebih dahulu: jangan menafsirkan hasil dari periode tuning sebagai bukti kinerja umum.
- Pemeriksaan sensitivitas: uji apakah kesimpulan berubah secara dramatis ketika Anda memvariasikan N, timeframe bar, atau konvensi harga tertentu.
- Log asumsi: simpan catatan yang jelas tentang semua asumsi (sumber data, definisi harga, penyelarasan jendela, dan pemodelan biaya/eksekusi).
Jika langkah berikutnya adalah mengubah perilaku pita menjadi evaluasi penuh, pertanyaan kuncinya menjadi: apakah model eksekusi dan biaya yang Anda asumsikan cocok dengan bagaimana sinyal sebenarnya akan diubah menjadi pesanan pada timeframe yang Anda pilih?