Bagaimana Mcginley Dynamic Dapat Di-backtest Secara Bertanggung Jawab
Definisikan Mcginley Dynamic dan target backtest yang tepat
Mcginley Dynamic adalah metode bergaya moving average yang menghasilkan garis dinamis yang dimaksudkan untuk beradaptasi dengan perubahan kecepatan tren. Sebelum Anda melakukan backtest, definisikan dua hal secara tepat:
- Seri input (misalnya, bidang harga mana yang Anda gunakan: titik tengah, bid, ask, atau close).
- Tujuan backtest. Backtest bukan sekadar “menghitung indikator.” Backtest harus menentukan keputusan atau pengukuran apa yang Anda evaluasi, seperti kualitas prediksi dari hubungan yang dipilih atau kinerja sebuah aturan.
Jika tujuan Anda adalah kualitas indikator daripada trading, pilih target yang dapat diukur seperti seberapa sering garis berada di atas/bawah seri referensi, atau apakah kemiringan yang dihitung cocok dengan pergerakan selanjutnya. Target mana pun yang Anda pilih, nyatakan di awal agar evaluasi tidak menyimpang setelah Anda melihat hasilnya.
Mekanika: pilih data, resampling, dan aturan yang dapat Anda reproduksi
Backtest yang bertanggung jawab dimulai dengan mekanika yang dapat direproduksi.
Granularitas dan penyelarasan data
- Gunakan satu kerangka waktu yang konsisten (misalnya, bar per jam) dan dokumentasikan apakah indikator dihitung dari penutupan bar atau dari perkiraan waktu intrabar.
- Jika Anda menggunakan harga akhir bar, pastikan sinyal (atau pengukuran) diberi stempel waktu sehingga Anda tidak secara tidak sengaja menggunakan informasi dari masa depan.
Asumsi parameter Mcginley Dynamic biasanya melibatkan parameter yang mengontrol responsivitas (biasanya dilambangkan dalam deskripsi sebagai konstanta). Bahkan jika Anda menjaga rumus indikator tetap, Anda harus menyatakan:
- Nilai parameter yang dipilih.
- Apakah nilai yang sama digunakan di semua periode pengujian.
Model biaya Backtest yang mengabaikan friksi dapat menghasilkan hasil yang menyesatkan. Sertakan setidaknya:
- Proksi untuk spread/slippage sebagai biaya per entry/exit.
- Catatan apakah biaya diterapkan pada bar tempat Anda bertindak.
Aturan posisi dan eksekusi Jika Anda menguji aturan trading, tentukan:
- Kapan order dianggap terisi (pada penutupan, pembukaan berikutnya, atau pada perkiraan yang Anda dokumentasikan).
- Bagaimana Anda menangani beberapa sinyal dalam satu kerangka waktu.
Bukti dan contoh pendekatan: bandingkan in-sample vs. out-of-sample
Karena hubungan historis tidak menjamin hasil masa depan, metode yang cermat memisahkan pemilihan model dari evaluasi.
Struktur yang praktis
- Periode in-sample (pelatihan): pilih nilai parameter dan aturan evaluasi.
- Periode out-of-sample (pengujian): terapkan pilihan tetap tersebut tanpa penyesuaian lebih lanjut.
- Ulangi di beberapa jendela waktu menggunakan jadwal walk-forward.
Ini mengurangi kemungkinan hasil baik berasal dari overfitting. Jika Anda menyesuaikan ulang parameter setelah melihat kinerja pengujian, Anda melemahkan makna pengujian tersebut.
Kontrol bias
- Tanpa look-ahead: pastikan setiap nilai yang digunakan untuk membuat keputusan akan tersedia pada saat itu.
- Aturan tetap: jangan mengubah tujuan setelah mengamati hasil.
- Perlakuan data yang konsisten: tangani data yang hilang dengan cara yang sama di semua periode.
Uji tekanan Jalankan pemeriksaan tambahan di mana hasil cenderung rapuh:
- Pergeseran rezim (lingkungan tren lambat vs. tren cepat).
- Pelebaran spread yang tiba-tiba dan asumsi biaya.
- Periode likuiditas yang berbeda, jika kumpulan data Anda membedakannya.
Keterbatasan dan mode kegagalan yang diharapkan
Bahkan dengan kontrol yang cermat, backtesting dapat gagal dengan cara yang dapat diprediksi.
Sensitivitas biaya transaksi Banyak strategi berbasis indikator memiliki ukuran keunggulan yang bisa lebih kecil daripada biaya realistis. Perubahan kecil dalam asumsi spread/slippage dapat membalikkan kesimpulan.
Masalah kualitas dan konstruksi data Backtest dapat sensitif terhadap bagaimana seri harga dibangun (titik tengah vs. kutipan yang dapat diperdagangkan). Bar yang hilang atau ketidakselarasan stempel waktu dapat menciptakan pola artifisial.
Overfitting terhadap sejarah Jika Anda mencoba banyak nilai parameter dan kriteria seleksi, Anda mungkin “menemukan” pola yang cocok dengan masa lalu tetapi tidak dapat digeneralisasi.
Non-stasioneritas Dinamika pasar berubah seiring waktu. Indikator yang merespons dengan baik dalam satu rezim dapat berperilaku berbeda di rezim lain, terutama jika volatilitas pasar atau struktur tren bergeser.
Verifikasi dan langkah selanjutnya
Untuk memverifikasi bahwa backtest Anda bertanggung jawab, periksa bahwa Anda dapat menjelaskan dan mereproduksinya secara independen:
- Anda dapat menyatakan pilihan data, mekanika indikator, nilai parameter, dan waktu eksekusi.
- Anda dapat menunjukkan bahwa hasil berasal dari evaluasi out-of-sample, bukan hanya dari penyesuaian in-sample.
- Anda dapat membuat daftar setidaknya satu skenario di mana metode tersebut kemungkinan akan gagal (misalnya: biaya lebih tinggi, input harga berbeda, atau perubahan rezim).