Yang Perlu Diketahui Pemula Tentang Backtesting EA
Apa itu backtesting EA (dan apa yang bukan)
Backtesting EA adalah proses mengambil sistem trading berbasis aturan (sering disebut Expert Advisor, atau EA) dan menerapkan aturannya pada data harga historis untuk melihat bagaimana sistem tersebut akan berperilaku. Hasilnya bukan bukti kinerja masa depan. Ini adalah bukti tentang bagaimana aturan bereaksi terhadap data masa lalu dalam asumsi simulasi tertentu.
Backtesting juga berbeda dari paper trading atau trading langsung. Dalam backtesting, Anda mengontrol input (data historis dan pilihan pemodelan). Di pasar langsung, input dapat berbeda: spread melebar, terjadi penundaan eksekusi, dan likuiditas berubah.
Bagaimana backtesting EA bekerja dalam praktik
Sebagian besar backtest mengikuti alur dasar yang sama:
-
Tentukan aturan strategi. EA biasanya memiliki logika entry/exit, logika ukuran posisi, dan aturan risiko atau manajemen uang. Aturan-aturan ini menentukan order apa yang akan dipicu.
-
Pilih data historis. “Harga historis” yang digunakan dalam pengujian memengaruhi hasil. Jika kumpulan data memiliki celah, kualitas tick yang berbeda, atau pembentukan bar yang berbeda dari yang diharapkan EA, hasilnya bisa menyesatkan.
-
Modelkan detail eksekusi. Backtest sering kali memerlukan asumsi tentang spread, komisi, slippage, pemenuhan order, dan apakah stop/target tepat mengenai saat harga muncul. Perubahan kecil di sini dapat menggeser profitabilitas dan drawdown.
-
Jalankan simulasi. Mesin melangkah melalui waktu dan menerapkan aturan EA. Jika EA menggunakan indikator, indikator tersebut dihitung hanya menggunakan informasi yang tersedia hingga setiap momen simulasi.
-
Evaluasi metrik kinerja. Metrik umum mencakup pengembalian bersih, drawdown, rasio kemenangan, dan distribusi trading. Menafsirkan metrik ini memerlukan pemahaman tentang periode waktu, biaya yang disertakan, dan apakah EA telah dioptimalkan.
Bukti dan contoh: dari mana hasil yang “bagus” bisa berasal
Contoh realistis membantu memperjelas jebakan umum:
-
Misalkan sebuah EA terlihat kuat dalam satu bulan data historis karena tren pasar cocok dengan logika EA. Jika logika tersebut bergantung pada momentum yang stabil, aturan yang sama dapat berkinerja buruk dalam rezim sideways atau volatil.
-
Misalkan backtest mengabaikan atau meremehkan biaya transaksi. Dalam trading nyata, spread dan komisi mengurangi pengembalian, dan slippage mengubah harga entry/exit. Backtest yang tidak menyertakan biaya realistis dapat melebih-lebihkan hasil.
-
Misalkan parameter EA disesuaikan berulang kali untuk memaksimalkan hasil pada satu kumpulan data. Ini dapat menciptakan solusi yang overfit: solusi tersebut “mempelajari” keanehan masa lalu daripada perilaku pasar secara umum.
Keterbatasan material dan mode kegagalan
Pemula harus memperlakukan hasil backtesting sebagai bersyarat pada asumsi. Keterbatasan material meliputi:
-
Perubahan rezim pasar Hubungan yang muncul di masa lalu sering kali tidak bertahan. Bahkan jika aturan strategi tetap sama, perilaku pasar dapat berubah.
-
Ketidakcocokan eksekusi Asumsi backtesting tentang pemenuhan order, slippage, dan pemicuan stop/target dapat berbeda dari eksekusi nyata.
-
Kualitas data dan pengambilan sampel Data historis mungkin tidak mereplikasi urutan tick atau bar yang tepat yang diharapkan EA. Ini dapat mengubah nilai indikator dan waktu sinyal.
-
Overfitting Jika penyesuaian parameter, pilihan indikator, atau filter dioptimalkan berulang kali untuk satu periode, strategi dapat menjadi rapuh.
-
Bias kelangsungan hidup dan seleksi (jika berlaku) Jika pengujian menggunakan jendela waktu yang dipilih secara selektif (misalnya, hanya periode yang “terlihat bagus”), hasilnya bisa bias.
Cara memverifikasi fakta relevan secara independen
Titik kontrol praktis adalah memverifikasi bahwa backtest menjawab pertanyaan yang dapat diuji dalam asumsi eksplisit.
Pertimbangkan langkah-langkah verifikasi ini:
-
Replikasi pengujian menggunakan input yang konsisten. Periksa apakah kumpulan data historis yang sama dan pengaturan EA yang sama menghasilkan keluaran yang sama.
-
Gunakan beberapa periode waktu yang tidak tumpang tindih. Menguji lintas tahun yang berbeda (atau setidaknya kondisi pasar yang berbeda) membantu mengungkap apakah hasil bergantung pada satu rezim.
-
Sertakan pengaturan biaya dan eksekusi yang realistis. Jika backtest tidak memodelkan biaya seperti komisi dan spread (dan tidak menyertakan asumsi slippage jika relevan), perlakukan hasil sebagai tidak lengkap.
-
Uji sensitivitas stres. Jika perubahan kecil pada parameter atau pemodelan eksekusi secara drastis mengubah hasil, itu menunjukkan kerapuhan.
-
Bandingkan logika pelatihan vs. validasi. Jika parameter dioptimalkan pada satu periode, validasikan pada periode terpisah yang tidak digunakan untuk penyesuaian.