Bagaimana Fibonacci Retracement dapat di-backtest secara bertanggung jawab?
Tentukan konsep sebelum melakukan backtest
Fibonacci Retracement adalah cara untuk menandai level harga potensial di antara dua titik yang dipilih pada grafik (sering kali awal dan akhir dari sebuah ayunan). Metode ini biasanya menggambar garis horizontal pada rasio tetap dari jarak antara titik-titik tersebut (misalnya, level yang umumnya diberi label menggunakan rasio Fibonacci). Metode ini paling baik dipahami sebagai prosedur pengukuran yang dapat diulang pada data harga historis, bukan sebagai aturan trading yang dijamin.
Backtest yang bertanggung jawab dimulai dengan membuat “prosedur pengukuran yang dapat diulang” menjadi eksplisit: data grafik apa yang Anda gunakan, bagaimana Anda memilih dua titik ayunan, level retracement mana yang dihitung, dan aturan keputusan apa yang Anda terapkan ketika harga mencapai (atau gagal mencapai) sebuah level.
Pisahkan mekanisme yang stabil dari kondisi yang bervariasi
Sebuah backtest dapat dengan mudah menjadi menyesatkan jika kondisi yang bervariasi dicampur menjadi satu. Jaga dua kategori tetap terpisah:
- Mekanisme yang stabil (proses yang Anda definisikan)
- Definisi data: kerangka waktu (misalnya, menit, jam, harian), bidang harga yang digunakan (open/high/low/close), dan apakah Anda melakukan resampling.
- Aturan pemilihan titik ayunan: bagaimana Anda memutuskan awal dan akhir dari pergerakan yang diukur (misalnya, berdasarkan ekstrem lokal menggunakan jendela lookback tetap).
- Definisi level: rasio retracement mana yang disertakan dan bagaimana Anda memperlakukan “sentuhan” versus “penembusan harga penutupan.”
- Aturan evaluasi: apa yang dimaksud dengan “hit,” seberapa jauh harga harus bergerak setelah hit, dan panjang jendela pengukuran.
- Kondisi yang bervariasi (realitas pasar dan eksekusi)
- Biaya: spread, komisi, dan biaya.
- Eksekusi: bagaimana order diisi ketika harga bergerak cepat, dan apakah Anda berasumsi pengisian pada penutupan bar atau pada level selama bar berlangsung.
- Perubahan rezim: volatilitas dan likuiditas dapat berubah seiring waktu.
Pendekatan yang bertanggung jawab menggunakan mekanisme yang sama di semua periode pengujian sambil memungkinkan asumsi biaya dan eksekusi bervariasi dalam rentang yang masuk akal.
Buat asumsi eksplisit dan pilih pengaturan data yang konsisten
Kualitas backtesting bergantung pada asumsi yang jelas dan dinyatakan. Bahkan jika Anda menggunakan logika indikator yang sama, asumsi yang berbeda dapat menghasilkan hasil yang berbeda.
Item kunci untuk didokumentasikan:
- Identifikasi ayunan: Jika titik ayunan dipilih secara manual dalam backtest, pengujian berisiko bias melihat ke belakang (hindsight bias). Lebih suka pendekatan berbasis aturan.
- Pencegahan look-ahead: Pastikan keputusan titik ayunan hanya menggunakan informasi yang tersedia pada saat ayunan berakhir (atau pada saat evaluasi Anda dimulai).
- Penanganan bar: Putuskan bagaimana “sentuhan” retracement dideteksi pada bar OHLC. Misalnya, apakah menggunakan high/low berarti sentuhan intrabar dihitung meskipun penutupan tidak pernah mencapai level tersebut?
- Logika ukuran posisi dan penahanan: Jika Anda mensimulasikan hasil, tentukan durasi penahanan atau kondisi keluar dengan cara yang dapat dihitung dari data historis.
Tanpa definisi ini, angka kinerja apa pun sulit untuk diinterpretasikan dan mudah untuk di-overfit.
Sertakan biaya dan asumsi eksekusi sebagai input kelas satu
Banyak backtest gagal karena mengabaikan friksi ekonomi yang dapat mendominasi keunggulan kecil. Bahkan ketika Anda menghindari merekomendasikan trading, Anda tetap dapat mengevaluasi perilaku indikator di bawah asumsi yang realistis.
Pertimbangkan pemodelan:
- Biaya transaksi: spread/komisi/biaya per putaran penuh (round-trip) atau per aksi.
- Slippage: aturan untuk perbedaan antara entry/exit yang dimaksudkan dan pengisian yang dicapai.
- Konvensi pengisian: apakah Anda berasumsi order terisi pada harga level, pada pembukaan bar, pada penutupan bar, atau menggunakan perkiraan intrabar.
Jika backtest Anda tidak dapat menyatakan input ini, backtest tersebut tidak dapat diinterpretasikan secara bertanggung jawab. Praktik yang baik adalah menjalankan kembali logika yang sama di bawah beberapa skenario biaya/slippage dan mengamati apakah kesimpulan tetap stabil.
Kontrol bias dan overfitting dengan pemeriksaan yang kuat
Bias sering muncul ketika aturan disetel hingga “terlihat bagus” pada satu segmen historis. Gunakan kontrol bias untuk mengurangi risiko ini.
Kontrol praktis meliputi:
- Uji sensitivitas parameter: Jika deteksi ayunan Anda menggunakan panjang lookback, variasikan dalam rentang yang wajar daripada menggunakan satu nilai yang dipilih.
- Pengujian walk-forward: Latih/setel pada periode sebelumnya, lalu evaluasi pada periode berikutnya tanpa menyetel ulang.
- Ide purge/embargo (secara konseptual): Hindari periode pengujian yang tumpang tindih secara berat dengan data yang digunakan untuk mendefinisikan peristiwa dengan cara yang dapat membocorkan informasi.
- Evaluasi buta: Putuskan semua aturan sebelum melihat kinerja masa depan, lalu terapkan.
Pemeriksaan ini tidak menjamin kebenaran, tetapi membuatnya lebih sulit bagi struktur yang tidak disengaja untuk menyamar sebagai keunggulan.