Bagaimana SMA dapat di-backtest secara bertanggung jawab?

Pelajari cara melakukan backtest SMA dengan kontrol bias dan batasan.

Bagaimana SMA dapat di-backtest secara bertanggung jawab?

Tentukan SMA dan apa yang sebenarnya sedang diuji

Backtesting Simple Moving Average (SMA) menguji aturan yang mengubah data harga menjadi rata-rata terhitung dan kemudian mengevaluasi bagaimana aturan keputusan yang dipilih berperilaku ketika rata-rata tersebut tersedia. Bahkan jika Anda tidak mengubah SMA menjadi “sinyal trading,” Anda tetap perlu menentukan mekanisme yang Anda evaluasi: rumus SMA, kerangka waktu, dan frekuensi pengambilan sampel (misalnya, penutupan harian versus bar intraday).

Definisi yang bertanggung jawab dimulai dengan asumsi yang dituliskan. Contoh asumsi yang harus Anda buat secara eksplisit adalah: seri harga apa yang Anda gunakan (close, typical price, atau definisi lain), apa arti “bar” dalam kumpulan data Anda, dan apa yang diwakili oleh panjang jendela SMA dalam satuan waktu tersebut. Jika Anda kemudian mengubah salah satu pilihan ini, Anda tidak lagi menguji ide yang sama.

Gunakan aturan data yang sesuai dengan cara keputusan akan dibuat

Backtest menjadi tidak dapat diandalkan ketika kumpulan data mencakup informasi yang tidak akan diketahui pada saat pengambilan keputusan. Mode kegagalan yang umum adalah look-ahead bias: menggunakan harga atau nilai terhitung yang secara implisit menyertakan data masa depan. Untuk SMA, Anda biasanya ingin nilai SMA pada waktu t dihitung hanya dari data yang tersedia hingga t (atau hingga t-1 jika keputusan Anda diasumsikan terjadi pada pembukaan bar).

Juga kendalikan konsistensi data. Jika Anda melakukan resampling, interpolasi, penyesuaian untuk aksi korporasi (jika berlaku), atau menyambungkan beberapa sumber, hasil backtest dapat berubah. Praktik yang bertanggung jawab adalah menentukan satu pipeline pra-pemrosesan dan menjaganya tetap tetap di semua eksperimen.

Sertakan biaya, slippage, dan asumsi eksekusi

Bahkan dalam backtest edukasional, Anda harus memodelkan biaya dan asumsi eksekusi, karena sering kali biaya tersebut mendominasi hasil. Faktor variabel termasuk spread/biaya, jadwal komisi, slippage, dan perbedaan antara harga bar yang diamati dan harga yang sebenarnya bisa Anda dapatkan.

Nyatakan asumsi seperti: bagaimana Anda menerjemahkan waktu berbasis SMA menjadi waktu eksekusi (akhir bar vs bar berikutnya), apakah Anda mengasumsikan trading terjadi pada harga bid/ask atau harga mid, dan bagaimana Anda memperlakukan partial fill. Jika Anda tidak menyertakan biaya, peringkat antar varian bisa menyesatkan karena perubahan kecil pada waktu mungkin terlihat menguntungkan hanya di dunia tanpa friksi.

Kendalikan overfitting menggunakan pemeriksaan bias dan uji out-of-sample

Backtesting yang bertanggung jawab bukan hanya “jalankan sekali dan lihat return.” Anda memerlukan kontrol bias yang memisahkan eksplorasi dari evaluasi.

Mulailah dengan pembagian terblokir atau terurut waktu: gunakan periode awal untuk memilih parameter (misalnya, panjang jendela SMA atau ambang aturan lain yang mungkin Anda pasangkan dengan SMA), lalu simpan periode selanjutnya yang sepenuhnya tidak tersentuh untuk evaluasi. Jika Anda menguji banyak nilai parameter dan memilih yang terbaik berdasarkan data yang sama yang kemudian Anda evaluasi, backtest dapat melebih-lebihkan kinerja.

Kemudian tambahkan pemeriksaan out-of-sample yang mencerminkan ketidakpastian nyata. Misalnya:

  • Ulangi proses dengan beberapa jendela pengujian yang tidak tumpang tindih (bergulir ke depan).
  • Coba uji ketahanan di mana Anda sedikit mengganggu kumpulan data (misalnya, perubahan kecil dalam frekuensi pengambilan sampel) dan lihat apakah kesimpulan runtuh.
  • Gunakan evaluasi sadar rezim secara konseptual (misalnya, bandingkan perilaku selama kondisi tren versus ranging), tetapi selalu jaga aturan data dan logika jendela evaluasi yang sama.

Uji keterbatasan dan mode kegagalan, bukan hanya hasil utama

Hubungan historis tidak menetapkan hasil masa depan. Untuk backtest berbasis SMA, keterbatasan material dan mode kegagalan sering kali mencakup:

  1. Pergeseran rezim: SMA bekerja berbeda ketika pasar tren versus ketika pasar mean-revert.
  2. Sensitivitas terhadap parameter: kesimpulan mungkin bergantung pada satu panjang jendela yang kebetulan cocok dengan sampel yang dipilih.
  3. Kualitas data: bar yang hilang, riwayat simbol yang berbeda, atau definisi harga yang tidak konsisten dapat mengubah SMA yang dihitung.
  4. Ketidakcocokan eksekusi: backtest yang mengasumsikan fill ideal dapat melebih-lebihkan apa yang sebenarnya dapat dicapai oleh aturan waktu.

Untuk membuat keterbatasan ini konkret, tentukan seperti apa “kegagalan” itu dalam metrik evaluasi Anda. Daripada mengandalkan satu angka, lihat bagaimana hasil berubah ketika biaya meningkat, ketika asumsi slippage memburuk, dan ketika Anda berpindah dari satu jendela pengujian ke jendela lainnya.

Verifikasi dan pertanyaan berikutnya: apa yang harus Anda validasi secara independen?

Untuk memverifikasi backtest Anda secara bertanggung jawab, perlakukan sebagai eksperimen yang dapat direproduksi.

Pertama, hitung ulang seri SMA secara independen dan konfirmasi bahwa nilai SMA cocok dengan implementasi Anda untuk sampel kecil di mana Anda dapat memeriksa jendela bergerak secara manual.

Perdagangan forex dan CFD memiliki risiko besar. Informasi FoxiForex bersifat edukatif dan bukan nasihat keuangan pribadi. Penempatan bersponsor diberi label dengan jelas.