Cara Menguji Strategi Trading Saat News Backtest yang Jujur untuk Kondisi Pasar yang Tidak Jujur
Strategi yang terlihat bagus di backtest sering kehilangan keunggulannya begitu bertemu rilis data seperti NFP atau keputusan suku bunga bank sentral. Penyebabnya jarang soal sinyal yang salah. Yang berubah adalah biaya dan kondisi eksekusi, dan itu hampir tidak pernah ikut terhitung di pengujian standar.
Artikel ini membahas cara menyusun pengujian yang lebih realistis untuk strategi yang trading saat news, atau strategi biasa yang harus bertahan melewatinya.
Mengapa news merusak backtest biasa
Backtest standar mengasumsikan dua hal yang tidak berlaku saat rilis berita: spread tetap dan order terisi di harga yang diminta.
Saat rilis besar seperti NFP atau kenaikan suku bunga, spread melebar dan menimbulkan slippage, yaitu selisih antara harga yang diharapkan dan harga eksekusi sebenarnya. Backtest dengan spread tetap meremehkan risiko dan melebih-lebihkan keandalan eksekusi, terutama di sekitar rilis berita. Pelebaran ini tidak hanya menimpa pasangan yang spread normalnya lebar. Pasangan yang biasanya sangat rapat pun bisa melebar tajam saat berita besar atau tekanan pasar.
Konsekuensinya konkret. Stop loss 20 pip terlihat aman di backtest, tetapi kalau spread sempat melompat ke 30 pip, posisi bisa tersenggol sebelum harga bergerak sesuai analisis. Seorang trader di forum BabyPips pernah bertanya apakah keunggulan rata-rata sekitar 25 pip per transaksi masih bertahan setelah slippage. Jawabannya: slippage di sekitar news bisa besar dan tak terduga, dan masalah utamanya adalah stop loss yang belum tentu dihormati broker.
Pahami keterbatasan Strategy Tester
Sebelum merancang pengujian, kenali apa yang sebenarnya dimodelkan alat Anda. Di MetaTrader, hasil sangat bergantung pada model pengujian yang dipilih. Pengujian dengan real ticks memakai data tick historis dari broker yang menyertakan bid dan ask, sehingga perubahan spread masa lalu setidaknya ikut terekam. Model berbasis bar atau harga pembukaan tidak memberi gambaran sedetail itu.
Namun, bahkan model terbaik pun tidak menangkap semuanya. Pengguna di forum mengingat bahwa requote dan slippage tidak tercermin dalam backtest, padahal dampaknya di akun live bisa besar. Kualitas data tick juga bervariasi antar broker dan antar periode, jadi menguji satu rilis di data satu broker belum tentu menggambarkan kondisi di akun Anda.
Ada satu jebakan lagi di filter berita. Bias look-ahead bisa muncul pada implementasi filter berita, perhitungan spread, dan akuntansi komisi. Kalau data kalender ekonomi yang dipakai sudah memuat angka aktual hasil rilis, strategi seolah-olah tahu hasilnya sebelum waktunya.
Siapkan file data berita sebelum pengujian dimulai
EA yang dirancang khusus untuk trading berita biasanya tidak mengambil jadwal rilis dari internet saat berjalan, apalagi di Strategy Tester. EA tersebut membaca jadwal dari file lokal bernama NewsEvents.txt. Tanpa file itu, EA tidak tahu kapan rilis terjadi. Hasilnya bisa berupa tidak ada transaksi sama sekali, atau EA berjalan seperti strategi biasa sehingga backtest tidak mencerminkan logika berita yang ingin diuji.
Pastikan NewsEvents.txt sudah disalin ke direktori Common/Files. File ini tidak ada dalam paket EA dan harus diunduh terpisah. Buka folder itu lewat menu File → Open Data Folder di MetaTrader, naik satu tingkat ke folder Terminal, lalu masuk ke Common → Files. Folder ini dipakai bersama oleh semua terminal MetaTrader di komputer yang sama.
Dua hal perlu dicek sebelum backtest berjalan:
Cakupan tanggal. Isi file harus mencakup seluruh periode yang diuji. Kalau backtest berjalan dari 2020 tetapi file hanya memuat jadwal beberapa bulan terakhir, hasil di tahun-tahun sebelumnya tidak valid.
Zona waktu. Jam rilis di file harus sesuai zona waktu server broker, bukan zona waktu lokal. Selisih beberapa jam saja membuat EA masuk atau keluar di momen yang salah, dan hasilnya tampak seperti kelemahan strategi padahal masalahnya ada di data.
Gunakan juga data yang hanya berisi jadwal dan angka perkiraan, bukan hasil akhir rilis, supaya bias look-ahead tadi tidak ikut masuk.
Langkah menguji strategi saat news
-
Tentukan apakah strategi Anda trading saat news atau menghindari news
Dua tujuan ini membutuhkan pengujian berbeda.
Kalau strategi Anda menghindari news, misalnya scalping di jam tenang, yang diuji adalah apakah filter berita bekerja dan seberapa besar hasil berubah saat filter dimatikan. Banyak EA scalping membawa filter semacam ini karena rilis berita menyebabkan spread melebar cepat dan lonjakan harga liar yang bisa menghancurkan transaksi dengan target pip kecil dalam hitungan detik.
Kalau strategi Anda memperdagangkan news, spread dan slippage bukan gangguan melainkan bagian utama dari hasil, jadi pengujian harus memodelkan keduanya secara eksplisit.
-
Kumpulkan daftar kejadian yang spesifik
Jangan menguji "periode yang ada beritanya". Buat daftar rilis tertentu, misalnya hanya NFP atau hanya keputusan suku bunga, lengkap dengan tanggal dan jam persisnya. Pisahkan jenisnya, karena reaksi pasar terhadap data ketenagakerjaan berbeda dengan reaksi terhadap pidato pejabat bank sentral.
Perhatikan juga jumlah sampel. NFP terbit sekali sebulan, jadi satu dekade data hanya menghasilkan sekitar seratus dua puluh kejadian. Jumlah itu kecil untuk menarik kesimpulan, dan hasilnya perlu dibaca dengan hati-hati.
-
Pakai spread dan slippage yang sengaja dinaikkan
Karena spread asli saat rilis sulit direproduksi, pendekatan yang lebih aman adalah menguji dengan asumsi yang lebih buruk dari normal. Jalankan backtest yang sama beberapa kali dengan spread tambahan dan slippage yang makin besar, lalu lihat di titik mana strategi berhenti menguntungkan.
Hasilnya lebih berguna daripada satu angka profit. Strategi yang bertahan di spread dua kali lipat punya margin keamanan. Strategi yang langsung rugi begitu spread naik sedikit sebenarnya bergantung pada eksekusi yang ideal.
Satu sumber menyebut bahwa memasukkan slippage yang realistis dapat mengurangi return backtest sekitar 0,5% sampai 3% per tahun. Angka itu berasal dari konteks aset dan strategi tertentu, jadi jangan dianggap berlaku universal, apalagi untuk news yang kondisinya jauh lebih ekstrem.
-
Pisahkan hasil di sekitar rilis dari hasil lainnya
Jangan hanya melihat total profit. Pecah hasil menjadi tiga kelompok: transaksi yang dibuka sebelum rilis, yang berlangsung saat rilis, dan yang jauh dari rilis. Biasanya terlihat bahwa keuntungan atau kerugian terkonsentrasi di jendela waktu sempit. Kalau kerugian terbesar hampir semuanya terjadi dalam beberapa menit sekitar rilis, yang perlu diperbaiki adalah pengelolaan di momen itu, bukan strategi intinya.
-
Uji filter spread, bukan hanya filter jam
Menghindari rentang waktu tertentu belum tentu cukup, karena berita yang tidak terjadwal tetap bisa muncul. Alternatifnya, batasi entri ketika spread melampaui ambang tertentu relatif terhadap spread normal.
Salah satu saran umum adalah menunda atau memblokir transaksi saat spread melebar di atas ambang yang disesuaikan dengan volatilitas, atau mengurangi ukuran posisi. Bandingkan hasil dengan filter jam, filter spread, dan tanpa filter, lalu pilih yang paling stabil, bukan yang paling tinggi profitnya.
-
Lanjutkan ke forward test dan catat semuanya
Backtest hanya setengah pekerjaan. Setelah lolos, jalankan di akun demo atau akun live berukuran sangat kecil selama beberapa bulan, dan catat spread saat entri, slippage, order yang ditolak, serta jarak waktu ke rilis.
Dalam sebuah diskusi analis yang mengulas bot serupa, kesimpulannya adalah langkah berikutnya bukan langsung live penuh, melainkan forward testing beberapa bulan dengan pencatatan rinci. Catatan itu juga yang akan menunjukkan seberapa jauh asumsi spread di backtest Anda meleset.
Pandangan ini tidak seragam. Sebagian trader berpengalaman justru menganggap strategi news hampir mustahil diuji lewat backtest. Seorang pengguna forum mengaku satu-satunya cara memperoleh data andal adalah memperdagangkan rilis itu secara langsung. Itu pandangan ekstrem, tetapi ada benarnya: untuk strategi yang bergantung pada eksekusi dalam hitungan detik, hasil live berukuran sangat kecil adalah bukti yang paling bisa dipercaya.
Backtest hanya setengah pekerjaan. Setelah lolos, jalankan di akun demo atau akun live berukuran sangat kecil selama beberapa bulan, dan catat spread saat entri, slippage, order yang ditolak, serta jarak waktu ke rilis. Dalam sebuah diskusi analis yang mengulas bot serupa, kesimpulannya adalah langkah berikutnya bukan langsung live penuh, melainkan forward testing beberapa bulan dengan pencatatan rinci. Catatan itu juga yang akan menunjukkan seberapa jauh asumsi spread di backtest Anda meleset.
Pandangan ini tidak seragam. Sebagian trader berpengalaman justru menganggap strategi news hampir mustahil diuji lewat backtest. Seorang pengguna forum mengaku satu-satunya cara memperoleh data andal adalah memperdagangkan rilis itu secara langsung. Itu pandangan ekstrem, tetapi ada benarnya: untuk strategi yang bergantung pada eksekusi dalam hitungan detik, hasil live berukuran sangat kecil adalah bukti yang paling bisa dipercaya.
Kesalahan yang membuat hasil terlalu bagus
Spread tetap rendah di seluruh pengujian. Ini yang paling umum dan paling merusak. Memakai harga tengah tanpa biaya masuk dan keluar juga membuat performa strategi tampak lebih baik daripada kenyataan.
Memilih parameter terbaik dari ratusan variasi. Bila ratusan atau ribuan variasi diuji pada data yang sama lalu yang terbaik dipilih, hasilnya bukan gambaran jujur dari performa yang diharapkan. Dengan sampel news yang kecil, risikonya lebih besar.
Menyimpulkan dari sedikit transaksi. Tiga puluh sampai empat puluh transaksi jarang cukup untuk membedakan keunggulan nyata dari keberuntungan.
Mengabaikan posisi yang saling berkorelasi. Beberapa pasangan mata uang bereaksi pada berita yang sama, sehingga posisi yang tampak terpisah sebenarnya satu taruhan yang sama.
File berita yang tidak lengkap atau salah zona waktu. Kesalahan ini tidak kelihatan di laporan backtest, tetapi merusak seluruh hasil.
Ringkasan praktis
Pengujian yang masuk akal untuk strategi di sekitar news dimulai dengan memastikan file data berita tersedia dan benar, lalu menyatakan dengan jelas apa yang diuji, memakai daftar rilis yang spesifik, mengasumsikan spread dan slippage lebih buruk dari normal, memisahkan hasil di jendela rilis dari hasil lainnya, dan memverifikasi lewat forward test berukuran kecil. Hasil yang bertahan setelah semua langkah itu jauh lebih layak dipercaya daripada kurva ekuitas mulus dari satu kali backtest dengan spread default.
Sumber
LuxAlgo, Backtesting Limitations: Slippage and Liquidity Explained (luxalgo.com)
Finage, The Impact of Forex Spreads on Trading Algorithms dan How Currency Spreads Impact Your Forex Algo (finage.co.uk)
MQL5 Blog, Why Your Expert Advisor Worked in Backtest and Failed Live (mql5.com)
Diskusi komunitas BabyPips tentang otomatisasi strategi dan backtest saat news (forums.babypips.com)
NYC Servers, ulasan Forex Robotron (newyorkcityservers.com)

Posting Komentar