Backtesting EA
Apa itu backtesting EA?
Backtesting EA (sering ditulis sebagai “backtesting Expert Advisor”) adalah proses menjalankan strategi trading Forex otomatis terhadap data harga historis untuk melihat bagaimana strategi tersebut akan berperilaku dalam lingkungan simulasi. “EA” adalah bagian dari logika trading otomatis (kode) yang dapat menempatkan dan mengelola trade berdasarkan aturan. Backtesting biasanya digunakan untuk evaluasi dan perbandingan: misalnya, membandingkan set parameter yang berbeda atau memeriksa apakah logika EA konsisten secara internal.
Karena didasarkan pada data masa lalu, backtesting tidak menjamin hasil di masa depan. Bahkan ketika sebuah backtest terlihat kuat, pasar di masa depan dapat berperilaku berbeda, dan simulasi dapat menyederhanakan kondisi trading nyata.
Bagaimana cara kerja backtesting EA?
Backtest yang umum menghubungkan tiga elemen:
- Aturan EA: kode yang mendefinisikan entry, exit, penanganan risiko, dan manajemen order.
- Data pasar historis: rangkaian harga yang digunakan oleh simulator.
- Pengaturan pengujian: pengaturan yang menentukan bagaimana simulator memodelkan eksekusi trade.
Backtesting menjalankan EA selangkah demi selangkah melalui periode historis. Ketika aturan EA memicu kondisi, simulator mencatat order apa yang akan terjadi dan bagaimana posisi serta saldo yang dihasilkan berdasarkan asumsi simulasi.
Input dan asumsi eksekusi
Beberapa pilihan pengaturan sangat memengaruhi apa yang “ditunjukkan” oleh backtest:
- Periode pengujian dan cakupan pasar: tanggal yang berbeda dan rezim pasar yang berbeda (tren vs. sideways) dapat menghasilkan hasil yang berbeda.
- Data bar vs. tick: menggunakan data yang kasar dapat mengubah kapan kondisi tampak terpicu, dan dapat menyembunyikan pergerakan intrabar.
- Pemodelan pemenuhan order: cara simulasi menangani spread, pemenuhan parsial, dan waktu dapat mengubah kinerja. Jika eksekusi dimodelkan terlalu optimistis, hasil dapat terlihat lebih baik daripada kenyataan.
Output yang biasanya Anda evaluasi
Output evaluasi umum mencakup progres ekuitas/saldo dari waktu ke waktu, drawdown (seberapa jauh kinerja turun dari titik tertinggi), jumlah trade, dan metrik terkait konsistensi. Alih-alih berfokus pada satu angka utama, lebih andal untuk membandingkan pola di beberapa periode dan memeriksa apakah hasil berasal dari perilaku yang konsisten atau dari sejumlah kecil kemenangan yang tidak biasa.
Verifikasi melalui perbandingan
Karena backtesting mudah untuk ditafsirkan secara berlebihan, backtesting sering diperlakukan sebagai alat diagnostik. Verifikasi independen dapat mencakup membandingkan hasil di:
- beberapa jendela waktu yang tidak tumpang tindih (konsep in-sample vs. out-of-sample)
- instrumen yang berbeda atau kondisi pasar yang serupa (jika berlaku)
- asumsi pemodelan yang berbeda yang masuk akal (untuk melihat apakah kesimpulan bergantung pada satu pengaturan tertentu)
Keterbatasan dan risiko backtesting EA
Backtesting memiliki nilai, tetapi keterbatasannya bersifat fundamental.
1) Overfitting dan pengejaran parameter
Jika sebuah EA (atau pengaturannya) disetel berulang kali agar sesuai dengan perilaku historis, EA tersebut dapat mempelajari pola yang spesifik untuk kumpulan data tersebut. Ini sering disebut sebagai overfitting. Dalam kasus ini, backtest mungkin terlihat meyakinkan sementara kinerja menjadi lebih lemah ketika kondisi berubah.
2) Bias simulasi dari data dan pemodelan
Backtest dapat menyesatkan jika simulator tidak mewakili eksekusi nyata secara akurat. Misalnya, jika spread diasumsikan terlalu ketat atau waktu order disederhanakan, hasil dapat meningkat. Resolusi historis yang terbatas (seperti menggunakan data bar) juga dapat mengubah waktu pemicu dan karenanya hasil trade.
3) Bias look-ahead
Bias look-ahead terjadi ketika sebuah pengujian secara efektif menggunakan informasi yang tidak akan tersedia pada saat keputusan dibuat. Ini dapat terjadi melalui penggunaan indikator yang salah, penyelarasan data yang tidak tepat, atau kesalahpahaman tentang kapan nilai diketahui.
4) Perubahan rezim pasar
Pasar Forex dapat berubah karena kondisi makro, perubahan volatilitas, dan perbedaan likuiditas. Sebuah EA yang berkinerja baik di satu rezim mungkin tidak berkinerja baik di rezim lain. Backtest terbatas pada rezim historis yang ada dalam periode yang dipilih.
5) Realisme yang terbatas tentang biaya dan gesekan
Trading nyata mencakup gesekan operasional: komisi/biaya (jika ada), spread variabel, dan penundaan eksekusi. Jika backtest tidak memodelkan ini secara konsisten, hasil simulasi dapat berbeda dari perilaku live.
Cara menggunakan backtesting EA secara bertanggung jawab (pendekatan yang dapat diverifikasi secara independen)
Cara praktis untuk memperlakukan backtesting EA sebagai bukti adalah dengan berfokus pada ketahanan, bukan kepastian.
- Periksa sensitivitas: lihat apakah kesimpulan bertahan ketika Anda memvariasikan jendela pengujian, resolusi data, dan asumsi eksekusi dalam batas yang wajar.
- Evaluasi konsistensi: cari pola perilaku yang stabil dari waktu ke waktu, bukan hanya kinerja yang kuat di satu segmen.
- Hindari kesimpulan satu periode: hasil dari satu rentang historis lebih mungkin mencerminkan kebetulan atau perilaku spesifik rezim.
- Dokumentasikan asumsi: catat dengan jelas apa yang diasumsikan simulasi, karena perbedaan kecil dalam pengaturan dapat mengubah hasil.
Jika backtest EA digunakan bersama dengan langkah verifikasi lainnya (seperti pengujian pada periode historis terpisah), backtest dapat membantu mengidentifikasi apakah logika strategi masuk akal dan konsisten. Namun, ketidakpastian yang melekat tetap ada: backtesting dapat menginformasikan evaluasi, tetapi tidak dapat menghilangkan risiko kondisi masa depan yang berbeda.