Bagaimana Rate Of Change dapat di-backtest secara bertanggung jawab?
Jawaban langsung
Melakukan backtest Rate Of Change (ROC) secara bertanggung jawab berarti memperlakukannya sebagai sebuah eksperimen: Anda menentukan data dan formula ROC secara tepat, memodelkan biaya yang tidak dapat dihindari, mengendalikan bias, dan kemudian memvalidasi kinerja pada data yang tidak digunakan untuk menyetel model. Tujuannya bukan untuk “membuktikan” hasil di masa depan, melainkan untuk memeriksa apakah ide berbasis ROC tetap konsisten di bawah asumsi yang masuk akal dan dinyatakan dengan jelas.
Mekanisme: tentukan apa yang akan Anda backtest
Rate Of Change adalah indikator bergaya momentum yang mengukur seberapa besar perubahan suatu nilai selama periode lookback yang dipilih. Dalam sebagian besar bentuk buku teks, ROC dihitung dari harga (atau deret lainnya) menggunakan panjang jendela tetap. Untuk melakukan backtest secara bertanggung jawab, Anda harus menentukan semua hal berikut di awal:
- Deret input: nilai apa yang Anda gunakan (misalnya, perubahan harga close-to-close) dan apakah Anda menggunakan harga mentah atau return.
- Periode lookback (n): jumlah bar yang digunakan untuk menghitung perubahan.
- Formula ROC: misalnya, perubahan persentase versus perubahan absolut. Gunakan satu definisi secara konsisten.
- Sampling dan waktu: tentukan apakah nilai ROC dihitung pada penutupan bar dan kapan perdagangan diasumsikan masuk (misalnya, pada pembukaan bar berikutnya).
Backtest yang bertanggung jawab juga memisahkan dua lapisan: (1) perhitungan indikator, yang bersifat deterministik berdasarkan formula dan data yang Anda pilih; dan (2) aturan trading serta model eksekusi, yang harus mewakili friksi nyata.
Bukti atau contoh: bangun backtest seperti eksperimen terkontrol
Mode kegagalan yang umum adalah indikator terlihat “berguna” hanya dalam sampel karena backtester secara tidak sengaja mengizinkan strategi untuk memanfaatkan informasi yang tidak akan tersedia secara real-time. Untuk mengurangi risiko ini, sertakan kontrol berikut:
-
Realisme eksekusi (pemodelan biaya) Bahkan tanpa data langsung, Anda dapat memodelkan friksi. Setidaknya, sertakan biaya seperti spread yang umum untuk setiap entry/exit dan kelonggaran slippage yang mencerminkan pengisian yang tidak sempurna. Jelaskan secara eksplisit apakah Anda menerapkan biaya pada setiap aksi trading atau hanya ketika posisi berubah.
-
Waktu pengambilan keputusan Pastikan nilai ROC yang digunakan untuk memutuskan perdagangan hanya dihitung dari bar masa lalu. Ini mencegah bias look-ahead.
-
Disiplin pemilihan parameter Jika Anda memilih panjang lookback ROC, ambang batas, atau parameter aturan lainnya dengan mengoptimalkan hasil pada seluruh kumpulan data, Anda berisiko mengalami overfitting. Pendekatan yang lebih bertanggung jawab adalah memilih parameter pada jendela pelatihan dan kemudian menilainya pada jendela validasi terpisah.
-
Pengujian walk-forward atau out-of-sample Alih-alih satu pembagian train/test, gunakan jendela bergulir (walk-forward) untuk melihat apakah kinerja menurun ketika rezim pasar berubah.
-
Pemeriksaan stabilitas Ulangi pengujian dengan variasi moderat: ubah sedikit periode lookback, geser jendela validasi, atau uji definisi alternatif yang masuk akal dari deret input (hanya jika Anda telah menetapkan eksplorasi ini sebelumnya). Jika hasil runtuh di bawah perubahan kecil, sinyal asli kemungkinan rapuh.
Keterbatasan dan risiko: apa yang bisa salah
Beberapa keterbatasan material dapat membuat backtest ROC menyesatkan:
- Ketidakberulangan historis: hubungan masa lalu tidak menjamin perilaku masa depan. ROC dapat tetap konsisten secara matematis sementara dinamika pasar berubah.
- Sensitivitas biaya: ide momentum sering kali memperdagangkan lebih sering. Jika biaya diremehkan, kinerja dapat tampak lebih kuat daripada yang seharusnya.
- Overfitting dan perbandingan ganda: menguji banyak ambang batas dan nilai parameter meningkatkan peluang menemukan pola yang cocok dengan noise.
- Ketergantungan rezim: ROC dapat berperilaku berbeda selama kondisi tren versus kondisi range-bound, sehingga mencampur rezim dapat menyembunyikan kelemahan.
- Kualitas data dan efek survivorship: jika kumpulan data historis Anda tidak lengkap atau tidak konsisten, hasil dapat mencerminkan artefak data.
Verifikasi atau pertanyaan lanjutan
Untuk memverifikasi fakta-fakta kunci secara independen, Anda dapat melakukan tinjauan daftar periksa terhadap desain backtest Anda sendiri:
- Dapatkah Anda menulis perhitungan ROC secara tepat, termasuk panjang lookback dan deret input yang dipilih?
- Apakah setiap keputusan perdagangan hanya menggunakan informasi yang akan diketahui pada saat pengambilan keputusan?
- Apakah Anda memodelkan biaya dan menerapkannya secara konsisten dengan aturan trading Anda?
- Apakah Anda menyimpan segmen out-of-sample (atau menggunakan validasi walk-forward) yang tidak digunakan untuk memilih parameter?
- Jika Anda mengulangi pengujian dengan variasi kecil yang telah ditentukan sebelumnya, apakah hasilnya tetap serupa secara umum?
Pertanyaan lanjutan yang berguna bukanlah “apakah ROC memprediksi dengan baik,” melainkan “di bawah asumsi apa dan rezim pasar mana perilaku berbasis ROC tetap stabil setelah biaya dan kontrol bias diterapkan?”