KenKem Journal

Apa yang Perlu Ditanyakan Sebelum Memercayai Sebuah Backtest?

· #backtesting #overfitting #walk-forward #research-method #systematic-trading

Sebelum memercayai sebuah backtest, tanyakan enam hal: seberapa banyak data yang tidak pernah dilihat sistem, berapa banyak ide yang dicoba sebelum yang ini, berapa jumlah transaksinya, seberapa dalam drawdown terburuk dan berapa lama berlangsung, di mana grafik dimulai dan berakhir, dan biaya apa saja yang dibebankan. Hasil yang tidak bisa menjawab keenamnya hanyalah gambaran sebuah periode, bukan bukti.

Seni garis abstrak hasil kode di atas grid
Digambar dengan kode, bukan difoto. Ilustrasi KenKem.

MasterVP · Systematic Trading Journey

Ditulis oleh pendiri KenKem, seorang insinyur perangkat lunak dengan pengalaman dua puluh tahun yang dulu trading emas secara manual sebelum membangun perangkat riset di balik MasterVP. Sebagai quant trader otodidak, saya memakai daftar ini pada pekerjaan saya sendiri lebih dulu, karena daftar ini menangkap kesalahan saya sama andalnya dengan kesalahan orang lain. Ini berbagi pengetahuan, bukan rekomendasi untuk trading apa pun. Setiap angka di bawah ini adalah hasil backtest pada data tick nyata, bertanggal dan berlabel, dan tidak ada yang merupakan hasil live.

Apa saja enam pertanyaan itu?

Berapa panjang datanya, dan apakah sistem pernah melihatnya? Hasil pada periode tempat pengaturan dibangun hanya menggambarkan periode itu. Bagian yang berguna adalah apa yang dijalankan sesudahnya, pada data yang belum pernah ditemui pengaturan tersebut.

Berapa banyak yang dicoba lebih dulu? Satu ide yang berhasil punya arti. Yang terbaik dari ribuan percobaan sebagian adalah keberuntungan, dan jumlah percobaan itulah yang menunjukkan seberapa besar.

Berapa jumlah transaksinya? Kurva indah dari empat puluh transaksi hanyalah koin yang kebetulan jatuh baik. Tidak ada ambang yang pasti, tetapi jumlah ini sebaiknya ditanyakan sebelum hal lain.

Seberapa buruk titik terburuknya? Bukan rata-rata. Penurunan terdalam dari puncak ke lembah dan berapa lama bertahan di sana, karena itulah yang menentukan apakah orang sungguhan sanggup bertahan.

Di mana grafik dimulai dan berhenti? Kedua ujungnya adalah pilihan.

Biaya apa yang dibebankan? Spread, slippage, komisi, biaya menginap, dan jeda antara memutuskan dan terisinya order. Tes tanpa semua itu adalah tes aritmetika, bukan tes trading.

Saya sudah berusaha membuat sistem emas saya bisa menjawab keenamnya. Hasil jujurnya, sistem ini gagal pada salah satunya dengan cara yang sudah saya publikasikan, dan kegagalan itu menjadi sebagian besar isi artikel ini.

Mengapa jumlah percobaan mengubah arti sebuah hasil?

Karena jika cukup sering mencari, pasti ada sesuatu yang muncul di puncak.

Dalam proses pengembangan quant saya, pencarian itu ikut dihitung. Per catatan Agustus 2026, Dquants engine yang saya kembangkan telah menyimulasikan 7.718 konfigurasi berbeda pada tick nyata untuk merilis tiga sistem, kira-kira dua ribu lima ratus konfigurasi diperiksa untuk setiap sistem yang lolos. Dari 137 eksperimen yang didaftarkan lebih dulu pada saat itu, 122 tidak pernah menjadi produk. Saya pernah menulis cara kerja registri ini di apa yang saya lakukan saat sistem trading berhenti bekerja.

Angka itu merugikan saya dalam jangka pendek, dan justru angka itulah yang memungkinkan pembaca mendiskon hasil saya dengan tepat. Sebuah hasil seharusnya dikurangi nilainya sesuai seberapa keras penulisnya mencari. Jika penulis tidak mau mengatakannya, perhitungan itu tidak bisa dilakukan.

Apa tes terkuat bahwa sebuah sistem tidak curve fitted?

Adu pengaturan yang dirilis dengan optimiser yang punya semua keunggulan kecuali kemampuan melihat ke depan.

Bekukan pengaturan yang dirilis dan nilai pada setiap blok enam bulan secara bergiliran. Lalu jalankan versi kedua yang boleh memilih ulang pengaturannya sebelum setiap blok dari daftar kandidat yang dinyatakan, hanya memakai data sebelum blok itu. Tidak ada versi yang boleh melihat ke depan. Jika versi yang menyetel ulang menang, pengaturan yang dirilis tidak istimewa. Jika pengaturan beku yang menang, ia mengalahkan pencarian yang bisa beradaptasi.

Per Agustus 2026 saya menjalankannya pada sistem emas sepuluh menit saya di sebelas blok setengah tahun berturut-turut dari 2021 hingga 2026, dengan 72 konfigurasi kandidat. Delapan dari sebelas blok positif dan tiga merugi, yaitu periode sideways di 2021 dan awal 2023. Pada sembilan blok di mana kedua versi ada, pengaturan beku finis di depan. Menyetel ulang setiap enam bulan justru akan merugikan.

Tes ini punya jebakan yang perlu disebutkan. Walk-forward menghabiskan tahun pertamanya untuk membangun set pelatihan, sehingga blok yang boleh memilih baru dimulai pada 2022, padahal 2021 adalah tahun terburuk dalam catatan. Membuangnya akan membuat hasil saya terlihat lebih bagus dengan sendirinya, jadi 2021 tetap dinilai dengan pengaturan beku dan dibiarkan di grafik.

Mengapa tanggal mulai dan sumbu grafik begitu penting?

Karena keduanya bisa menyesatkan dengan hasil yang nyata dan tidak dipalsukan.

Geser tanggal mulai satu kuartal lebih lambat dan satu tahun buruk bisa hilang. Transaksinya nyata, gambarnya keliru. Sumbu lebih halus lagi: jika skala vertikal dimulai di atas saldo terendah yang pernah dicapai akun, momen terburuk sepanjang periode itu tidak ada di halaman, dan sesuatu yang tidak ada tidak memberi apa pun untuk disadari.

Sumbu logaritmik terlihat seperti trik, padahal bukan. Saat satu kurva jauh lebih besar dari yang lain, skala log membuat tinggi yang sama berarti perubahan persentase yang sama. Itu pilihan yang tepat untuk membandingkan hal dengan ukuran berbeda, selama diberi label.

Saat saya menggambar setiap konfigurasi yang saya pertimbangkan untuk dirilis, dasar sumbu berada di saldo terburuk yang pernah dicapai salah satunya. Salah satu pengaturan yang lebih agresif menghabiskan seluruh 2024 di bawah saldo awalnya, dan itu terlihat.

Apa yang terjadi saat saya menguji sistem pada tahun-tahun yang belum pernah dilihatnya?

Sistemnya merugi, dan saya lebih suka mengatakannya lebih dulu.

Pada Agustus 2026 saya membeli tiga tahun tambahan data tick emas nyata, 2021 hingga 2023, yang tidak ada dalam set riset saya saat sistem dibangun. Saya menjalankan sistem sepuluh menit dengan konfigurasi yang sama persis dengan yang sedang trading, tanpa menyentuh satu parameter pun. Hasilnya rugi sekitar 13 persen, dengan drawdown puncak ke lembah sedikit di bawah 25 persen. Catatannya lima setengah tahun, dan tiga tahun pertama negatif.

Membeli data historis setelah strategi ada adalah cara terdekat bagi developer ritel untuk mendapatkan tes out of sample yang sesungguhnya, karena data itu tidak mungkin bocor ke keputusan apa pun. Penyebab yang terukur juga tidak misterius. Edge-nya adalah breakout yang mengikuti tren, dibangun di dalam salah satu tren naik emas terkuat dalam beberapa dekade, dan di pasar sideways logika yang sama terus mengambil breakout yang tidak berlanjut. Sistem yang edge-nya tidak bisa Anda sebutkan adalah sistem yang tidak bisa Anda nalar saat mulai merugi.

Seperti apa perbaikan yang layak dipercaya?

Perbaikan itu membayar di rezim buruk dan hampir tidak memakan biaya di rezim baik.

Perubahan yang saya rilis adalah batas bawah volatilitas: saat rentang gerak emas yang biasa terlalu kecil dibandingkan harganya, sistem memilih tidak masuk. Level yang mengaktifkannya tetap saya simpan. Pada tiga tahun yang merugi, perubahan ini mengubah kerugian sekitar 13 persen menjadi kira-kira satu persen, dan memangkas drawdown dari sedikit di bawah 25 persen menjadi sekitar 14. Pada periode 2024 hingga 2026, hasil bersihnya tidak berubah.

Perbaikan yang diturunkan dari tahun-tahun yang gagal akan selalu terlihat bagus pada tahun-tahun itu, jadi itu bukan bukti yang bersih. Pemeriksaan yang lebih bersih adalah membiarkan optimiser walk-forward yang buta memilih dari daftar yang juga berisi pilihan tanpa batas bawah sama sekali. Di kesembilan blok tempat ia boleh memilih, ia selalu memilih memakai batas bawah. Perbaikan ini tetap tidak membuat 2021 hingga 2023 menguntungkan. Ia membuatnya bisa dilalui, klaim yang lebih kecil, dan itulah klaim yang saya buat.

Bisakah metrik validasi rusak dengan cara yang menguntungkan Anda?

Bisa, dan metrik itu tidak akan pernah memberi tahu, karena ia terus setuju dengan Anda.

Pada Agustus 2026 saya membangun ulang gerbang rilis saya. Saya dulu mengutip statistik yang dirancang untuk mengurangi nilai hasil sesuai lebar pencarian, lalu mendapati statistik itu hampir sempurna untuk hampir semua kandidat begitu sampelnya besar. Filter yang mengatakan ya pada segalanya hanyalah hiasan. Kini statistik itu tidak lagi mengikat, dan tidak ada sistem saya yang dianggap selesai hanya berdasarkan bukti backtest. Dengan aturan itu, sistem andalan saya sendiri dinilai sebagai forward test, belum dikunci.

Di bulan yang sama saya menemukan cacat akuntansi. Salah satu broker tempat saya menguji membebankan seluruh komisi pulang pergi pada transaksi masuk, dan ekspor per transaksi saya tidak mengantisipasinya, sehingga baris untuk broker itu sekitar 11,5 persen terlalu optimistis. Saya memperbaiki ekspornya, mengambil angka utama broker itu dari laporan MetaTrader sendiri, dan membiarkan baris lama di tempatnya dengan catatan yang menyebutkan baris mana yang salah dan seberapa besar.

Bug yang membuat hasil lebih buruk ditemukan hari itu juga. Bug yang membuat hasil lebih bagus bisa diam berbulan-bulan. Satu-satunya pertahanan yang saya tahu adalah mengaudit hal-hal yang sedang berjalan baik.

Pertanyaan yang sering diajukan

Bagaimana cara tahu sebuah backtest overfitted? Tanyakan berapa konfigurasi yang dicoba, dan apakah pengaturan beku mengalahkan walk-forward yang boleh menyetel ulang tanpa melihat ke depan. Dalam tes saya pada Agustus 2026, pengaturan beku finis di depan versi yang menyetel ulang selama sembilan blok setengah tahun.

Berapa jumlah transaksi yang dibutuhkan sebuah backtest? Tidak ada angka universal, dan itu bergantung pada berapa banyak ide yang diuji untuk menemukannya. Empat puluh transaksi hanyalah koin yang jatuh baik. Tanyakan jumlahnya sebelum melihat kurva.

Apa tes out of sample yang sesungguhnya bagi trader ritel? Data yang tidak ada dalam set riset saat sistem dibangun. Saya membeli tiga tahun tick emas setelah membangun sistem saya, dan konfigurasi yang tidak diubah merugi sekitar 13 persen pada data itu.

Mengapa tanggal mulai kurva ekuitas penting? Menggesernya satu kuartal bisa menghapus satu tahun rugi dari hasil yang nyata. Periksa kedua tanggal sebelum melihat bentuknya.

Apakah grafik logaritmik cara menyembunyikan kerugian? Tidak, jika diberi label. Grafik itu membuat tinggi yang sama berarti perubahan persentase yang sama, yang tepat untuk membandingkan kurva dengan ukuran sangat berbeda. Sumbu vertikal yang dipotong adalah risiko sebenarnya.

Bagaimana sebuah perbaikan bisa curve fitted? Perbaikan apa pun yang diturunkan dari tahun-tahun rugi akan memperbaiki tahun-tahun itu. Periksa apakah ia hampir tidak memakan biaya di tahun-tahun baik, dan apakah optimiser yang buta juga akan memilihnya.

Haruskah saya memercayai statistik validasi yang selalu lolos? Tidak. Metrik yang tidak pernah tidak setuju dengan Anda tidak menyaring apa pun. Saya membuat salah satu metrik saya tidak mengikat pada Agustus 2026 karena alasan itu.

Mengapa memublikasikan bug yang membuat hasil saya sendiri terlihat lebih bagus? Karena menghapus baris yang merepotkan menyembunyikan bahwa baris itu pernah ada, sementara angka yang ditandai masih mengajarkan sesuatu. Bug saya membuat baris turunan satu broker sekitar 11,5 persen terlalu optimistis.

Jika Anda ingin melihat ke mana proses ini berujung, MasterVP adalah metode intraday saya sendiri yang dibangun di atas teori volume profile yang terbuka untuk umum. Metode ini hadir sebagai Master Volume Profiler indicator di TradingView dan MetaTrader 5, yang menampilkan bacaan pasar dan menyerahkan order kepada Anda, dan sebagai Master Volume Sniper di MQL5 market, sebuah Expert Advisor yang menjalankan aturan dan pengaturan risiko yang Anda konfigurasi.


Artikel ini disusun dari rangkaian postingan tentang cara menilai backtest dalam seri catatan pembangunan MasterVP. Hanya untuk tujuan edukasi. Bukan nasihat keuangan. Angka yang dikutip adalah hasil backtest pada data tick nyata, dan kinerja masa lalu tidak menjamin hasil di masa depan. Setiap trader tetap bertanggung jawab atas pengaturan risiko dan keputusannya sendiri.

← All journal articles

Chat