Bagaimana strategi MACD dapat di-backtest secara bertanggung jawab?
Apa arti backtesting MACD yang “bertanggung jawab”
Backtesting yang bertanggung jawab adalah proses menguji strategi MACD berbasis aturan pada data harga historis dengan cara yang memungkinkan orang lain mereproduksi kalkulasi, asumsi, dan metode evaluasi Anda secara persis. Ini juga memperlakukan hasil sebagai sesuatu yang tidak pasti: kinerja historis tidak menetapkan hasil masa depan, dan pasar yang berbeda, kondisi eksekusi, atau pilihan parameter dapat mengubah hasil.
Untuk melakukan ini, Anda memisahkan mekanisme yang stabil dari kondisi yang bervariasi. Mekanisme yang stabil adalah kalkulasi indikator dan aturan strategi yang Anda tulis (misalnya, kapan persilangan MACD dianggap “valid”). Kondisi yang bervariasi mencakup rezim pasar, likuiditas, spread bid–ask, penundaan eksekusi order, dan biaya tambahan lainnya.
Mekanisme: input, asumsi, dan apa yang Anda ukur
Indikator MACD biasanya menggunakan dua moving average dari harga dan rangkaian “selisih” turunan, opsional dengan garis sinyal dan histogram. Bahkan jika Anda mengetahui rumus umumnya, backtest yang bertanggung jawab dimulai dengan menyatakan pilihan pasti yang Anda gunakan.
Definisikan item-item ini secara eksplisit:
- Data: kerangka waktu apa (misalnya, bar menit vs. bar harian), dan apakah Anda menggunakan titik tengah/penutupan/ask/bid. Jika Anda hanya memiliki bar OHLC, Anda harus menyatakan bagaimana fill diperkirakan.
- Parameter indikator: jenis moving average, panjang lookback (cepat/lambat), panjang smoothing sinyal, dan penskalaan apa pun.
- Aturan strategi: logika entry/exit yang presisi, termasuk bagaimana Anda menangani tie (misalnya, saat MACD sama dengan garis sinyal), dan apakah Anda bertindak pada penutupan bar atau intrabar.
- Model posisi: apakah Anda sepenuhnya berinvestasi, bagaimana Anda mengukur posisi, dan bagaimana Anda menangani pembalikan.
- Biaya: biaya trading dan friksi yang Anda sertakan, seperti spread dan komisi. Jika Anda tidak dapat memodelkan spread secara langsung, Anda harus menjelaskan proksi apa yang Anda gunakan (misalnya, biaya tetap per trade) dan seberapa sensitif hasil terhadap asumsi tersebut.
Apa yang Anda ukur harus sesuai dengan tujuan. Metrik umum mencakup total return, drawdown, tingkat keberhasilan, dan durasi rata-rata trade. Pendekatan yang bertanggung jawab juga mencatat metrik operasional seperti jumlah trade dan waktu di pasar, karena hal-hal tersebut sangat berinteraksi dengan biaya.
Bukti atau contoh: struktur out-of-sample dengan kontrol bias
Cara praktis untuk mengurangi hasil yang menyesatkan adalah dengan menggunakan desain evaluasi yang mencerminkan bagaimana Anda akan membuat keputusan secara real-time.
- Sisihkan periode pengujian akhir yang tidak pernah Anda sentuh selama pemilihan parameter.
- Sesuaikan parameter hanya pada jendela pelatihan/validasi terpisah (atau dengan pembagian walk-forward), menggunakan prosedur tetap.
- Gunakan aturan keputusan dan asumsi biaya yang sama di semua pembagian.
- Laporkan hasil per pembagian, bukan hanya satu angka utama.
Kontrol bias penting karena backtest sering kali “memperbaiki” hasil secara tidak sengaja:
- Bias look-ahead: menggunakan informasi dari bar yang sama yang tidak akan diketahui pada saat eksekusi.
- Bias survivorship dan seleksi: membatasi pada pasar atau periode yang kebetulan berhasil.
- Overfitting: memilih parameter yang cocok dengan noise dalam set pelatihan.
Untuk mengontrol hal-hal ini, Anda harus:
- Membekukan kalkulasi indikator dan logika keputusan sebelum menguji beberapa pembagian.
- Menjaga pencarian parameter tetap terbatas dan terdokumentasi.
- Lebih memilih interpretasi aturan yang lebih sederhana jika sesuai, karena kompleksitas dapat menyembunyikan overfitting.
Pemeriksaan fitur-biaya (uji stres sederhana)
Setelah Anda menghitung hasil dasar, jalankan uji stres biaya. Misalnya, evaluasi ulang menggunakan spread/komisi yang diasumsikan lebih tinggi dan eksekusi yang sedikit tertunda. Ini tidak “membuktikan” bahwa strategi akan gagal, tetapi membantu Anda mengidentifikasi apakah keunggulan yang tampak bergantung pada kondisi yang tidak realistis.
Keterbatasan dan risiko: setidaknya satu mode kegagalan material
Bahkan dengan kerja yang cermat, backtest MACD dapat gagal karena alasan yang tidak terlihat dalam tabel hasil dasar. Satu mode kegagalan material adalah pergeseran rezim: perilaku momentum-dan-persilangan dapat bekerja selama kondisi volatilitas dan tren tertentu, lalu menurun ketika dinamika pasar berubah.
Keterbatasan penting lainnya:
- Realisme eksekusi: backtest berbasis bar dapat mengasumsikan fill pada harga yang tidak dapat dicapai, terutama selama pergerakan cepat atau likuiditas rendah.
- Penghilangan mikro-struktur: spread dan slippage tidak konstan; memodelkannya sebagai tetap dapat melebih-lebihkan kinerja.
- Ketidakstabilan parameter: perubahan kecil pada panjang MACD dapat mengubah sinyal secara material, sehingga hasil mungkin tidak dapat digeneralisasi.
- Non-stasioneritas: hubungan historis antara perilaku indikator dan hasil dapat bergeser.
Karena ketidakpastian ini, Anda harus memperlakukan output backtest sebagai bukti tentang asumsi dan model Anda, bukan sebagai bukti kinerja masa depan.