Backtest adalah satu-satunya cara mengetahui apakah sebuah ide trading pernah menghasilkan uang tanpa membayar untuk mengetahuinya. Ia juga cara termudah dalam trading untuk membohongi diri sendiri, karena setiap kesalahan membuat hasilnya terlihat lebih bagus. Inilah cara menjalankannya, dan enam tempat ia diam-diam berubah jadi fiksi.
Apa itu backtest
Anda mengambil sebuah aturan - "beli saat rata-rata 20 hari memotong ke atas rata-rata 50 hari, stop 1,5 ATR di bawah, target 3 ATR di atas" - dan memutarnya ulang bar demi bar atas harga masa lalu, persis seolah Anda ada di sana, mencatat setiap trade. Di akhir Anda punya daftar hasil, dan dari daftar itu, sebuah putusan.
Aturannya harus mekanis. "Beli saat terlihat kuat" tidak bisa diputar ulang. Kalau ada penilaian manusia di mana pun dalam prosesnya, backtest itu mengukur manusianya, bukan aturannya.
Langkah demi langkah
- Tulis aturannya sebagai kode, atau sebagai sesuatu yang bisa diikuti mesin. Syarat masuk, syarat keluar, stop, target. Semuanya.
- Pilih horizon - bar 15 menit, 1 jam, 4 jam, harian. Aturan yang sama berperilaku berbeda di masing-masing, dan bedanya biasanya lebih besar daripada beda antar strategi.
- Ambil riwayat yang cukup. Tahunan, bukan mingguan. Lima ribu bar harian adalah tiga belas tahun; lima ribu bar 15 menit hanya tujuh minggu.
- Putar ulang dengan jujur - lihat enam jebakan di bawah.
- Catat setiap trade dalam R - hasil dibagi risiko yang diambil - supaya trade-nya bisa dibandingkan dan daftarnya bisa dirata-ratakan.
- Baca batas bawahnya, bukan rata-ratanya.
Enam cara ia menjadi salah
1. Mengintip masa depan
Aturan Anda memakai harga penutupan bar i untuk memutuskan, lalu masuk di harga penutupan bar i. Anda tidak mungkin melakukan itu. Harga penutupan belum diketahui sampai bar-nya tutup, dan saat itu harganya sudah jadi pembukaan bar berikutnya. Masuklah di pembukaan bar berikutnya, atau backtest-nya trading dengan informasi dari masa depan.
2. Penyelesaian seri yang optimis
Satu bar menyentuh stop Anda sekaligus target Anda. Mana yang kena duluan? Dari data OHLC Anda tidak bisa tahu. Menghitungnya sebagai target adalah cara strategi yang rugi berubah jadi untung. Hitung sebagai stop.
3. Tanpa biaya
Fee taker kripto 0,1% di spot, 0,045% di futures, dan slippage kira-kira sebesar itu lagi. Di bar 15 menit, pergerakan rata-ratanya tidak jauh lebih besar dari itu. Setiap strategi di NusaTerminal terukur antara −0,48R dan −0,65R per trade di bar kripto 15 menit begitu biaya dimasukkan, dan positif di bar harian. Backtest tanpa biaya akan menunjukkan semuanya untung di setiap horizon.
4. Menyetel per simbol
Sesuaikan panjang moving average untuk BTC dan ia akan salah untuk SOL. Sesuaikan untuk tiap simbol terpisah dan setiap simbol akan terlihat bagus - karena Anda menyesuaikan diri dengan kebisingan. Parameter tetap di semua pasar memberi angka yang lebih kecil dan benar.
5. Memilih baris terbaik
Uji sepuluh strategi di lima horizon di tiga puluh simbol dan urutkan tabelnya. Baris teratas spektakuler. Ia juga, hampir selalu, baris dengan trade paling sedikit - karena sampel kecil punya sebaran paling lebar, dan sebaran paling lebar adalah tempat nilai ekstrem berada. Melaporkan baris itu sebagai hasil Anda adalah cara paling umum sebuah backtest berbohong.
6. Mempercayai rata-rata
Empat puluh trade rata-rata +0,4R dan dua ribu trade rata-rata +0,1R: yang kedua strategi yang lebih baik, dan tabel yang diurutkan berdasarkan rata-rata menaruhnya di posisi kelima. Angka yang mengurutkannya dengan benar adalah batas bawah - rata-rata terburuk yang masih konsisten dengan datanya pada tingkat kepercayaan yang dipilih. Di empat puluh trade ia jauh di bawah rata-rata; di dua ribu ia dekat.
Seperti apa batas bawah itu di data nyata →
Seperti apa hasil yang bagus
Kecil, dan dipertahankan. Sebuah strategi di horizon harian di perpetual Binance paling likuid, diukur atas 2.810 trade dengan semua biaya dimasukkan, rata-rata +0,10R dengan batas bawah 99% +0,06R. Itu edge yang nyata. Ia juga sederhana, dan backtest yang melaporkan sesuatu yang jauh lebih besar dari sebagian kecil sampel sedang melaporkan salah satu dari enam kesalahan di atas, bukan strategi yang lebih baik.
Melakukannya di NusaTerminal
Terminal menyediakan sepuluh strategi tetap dan memutarnya ulang dengan masuk di bar berikutnya, stop-duluan saat seri, model biaya tiap pasar, dan parameter tetap di mana-mana. Hasilnya melaporkan win rate, rata-rata R, profit factor, drawdown, jumlah trade, dan batas bawah. Kode yang sama menghasilkan sinyal live, jadi backtest dan trade yang dijelaskannya tidak bisa saling melenceng.