Backtest pasar prediksi bisa menggunakan ticker yang tampak benar, riwayat harga yang tepat, tetapi kontrak yang salah. Kesalahan ini mudah luput karena nama pasar pendek, halaman peristiwa diperbarui, dan saham YES selalu tampak seperti harga antara nol dan satu.
Bayangkan pasar hipotetis berlabel “Apakah Undang-Undang Transit Bersih akan disahkan?” Sebuah strategi membeli YES di 0.42 setelah menerima sinyal berita. Backtest kemudian menilai posisi itu sebesar 1.00. Sebelum memercayai kemenangan tersebut, saya ingin tahu persis apa yang dijanjikan kontrak: RUU yang mana, apa arti “disahkan”, tenggatnya, dan sumber yang menetapkan hasilnya.
Judul: “Apakah Undang-Undang Transit Bersih akan disahkan?”
Judul adalah teks tampilan, bukan pengenal instrumen yang stabil. Dua pasar bisa memakai redaksi yang nyaris sama, tetapi merujuk pada masa sidang legislatif, versi RUU yang telah diubah, atau tenggat yang berbeda. Platform juga dapat mengubah judul untuk memperjelas pasar tanpa mengubah ketentuan dasarnya.
Karena itu, backtest harus mengaitkan posisi ke ID pasar atau kontrak platform yang tidak berubah, lalu menyimpan teks aturan lengkap beserta versinya. Jika data historis hanya memuat judul dan ticker, Anda tidak dapat memastikan bahwa rangkaian harga tersebut memang milik kontrak yang hendak diperdagangkan oleh strategi Anda.
| Bidang identitas | Yang dipastikan | Risiko jika dihilangkan |
|---|---|---|
| Platform dan ID pasar | Pasar spesifik yang tercatat | Judul serupa digabungkan |
| Versi aturan | Ketentuan yang disepakati para peserta | Perubahan belakangan diterapkan pada transaksi terdahulu |
| ID token hasil | Klaim YES atau NO yang diperdagangkan | Harga YES dan NO tertukar atau digabungkan |
| Sumber penetapan hasil | Bukti yang digunakan untuk menentukan hasil | Backtest mengasumsikan otoritas yang berbeda |
Aturan: apa arti “disahkan”?
Misalkan aturan menyatakan bahwa RUU harus disahkan oleh DPR dan Senat sebelum 30 Juni, lalu ditandatangani presiden. Backtest yang menganggap persetujuan salah satu kamar saja sebagai keberhasilan telah mengubah taruhannya. Begitu pula backtest yang menghitung RUU bernama sama pada masa sidang berikutnya.
Baca kriteria penetapan hasil yang sebenarnya sebagai kondisi yang dapat dieksekusi. Catat tenggat dan zona waktunya, peristiwa yang memenuhi syarat, pengecualian apa pun, serta sumber penetapan hasil yang disebutkan. Ambiguitas juga penting: jika aturan platform tidak menetapkan hasil untuk suatu skenario yang masuk akal, jangan diam-diam memilih tafsir yang cocok dengan hasil historis.
Ada bagian pekerjaan ini yang sangat tidak glamor: menyimpan halaman aturan sebelum sesuatu yang menarik terjadi. Halaman yang baru diarsipkan setelah hasil ditetapkan mungkin menampilkan redaksi final, sementara strategi Anda masuk berdasarkan versi sebelumnya.
Linimasa: kapan strategi bisa mengetahui informasinya?
Sekarang anggap aturannya sudah jelas dan sinyal berita muncul pada 14:05 UTC. Feed historis mencatat transaksi pada 14:05 dengan harga 0.42. Cap waktu itu saja tidak memberi tahu apakah informasi tersedia sebelum transaksi, apakah harga tercatat masih bisa dieksekusi sesudahnya, atau apakah bar tersebut mewakili kuotasi, transaksi, atau ringkasan interval.
Pisahkan waktu tersedianya sinyal dari waktu peristiwa pasar. Lalu kirim order setelah strategi sempat menghitung dan mengajukannya. Di pasar yang tipis, transaksi tercatat berikutnya mungkin baru terjadi beberapa menit kemudian; itu bukan bukti bahwa order Anda akan terisi pada harga tersebut.
Harga: kuotasi bukan fill
YES di 0.42 berarti harga 42 sen per saham, tetapi rangkaian transaksi terakhir menyembunyikan spread dan ukuran yang tersedia. Jika ask terbaik 0.45 untuk 20 saham, simulasi pembelian 100 saham tidak mungkin seluruhnya terisi di 0.42. Order mungkin menghabiskan likuiditas di buku, menunggu, atau tidak terisi.
Harga pasar prediksi juga mengundang jalan pintas akuntansi: menganggap 0.42 sebagai peluang 42% dan lupa bahwa angka itu juga merupakan pengeluaran kas saat masuk. Posisi YES sebanyak 100 saham menelan biaya $42 sebelum biaya. Jika diselesaikan pada $1, hasil kotor sebesar $100; jika diselesaikan pada $0, hasilnya nol. Biaya, fill parsial, dan mekanisme penyelesaian khusus platform harus masuk ke buku besar.
Penyelesaian: apa yang menutup transaksi?
Backtest sering mengakhiri posisi pada harga pasar terakhir. Namun, kontrak yang ditahan hingga hasil ditetapkan membayar sesuai aturan, dan harga kuotasi terakhirnya mungkin sudah usang, memiliki spread lebar, atau jauh dari pembayaran akhirnya. Modelkan penetapan hasil sebagai peristiwa tersendiri: hasil, waktu penyelesaian, dan pergerakan kas harus berasal dari catatan kontrak.
Perhitungkan juga pasar yang hasilnya dinyatakan tidak sah atau disengketakan, jika aturan platform menetapkan kemungkinan itu. Taruhan bisa dikembalikan, dibayar dengan jumlah berbeda, atau pembayarannya ditunda. Asumsi pembayaran biner tidak dapat mewakili semua jalur penyelesaian.
Kesimpulan tentang backtest
Untuk contoh ini, saya baru akan menerima kemenangan yang dilaporkan setelah mencocokkan ID pasar yang tidak berubah, versi aturan yang berlaku saat masuk, token YES, waktu tersedianya sinyal, ask dan ukuran yang dapat dieksekusi, biaya, serta penyelesaian yang tercatat. Jika arsip harga tidak dapat mendukung pemeriksaan tersebut, keluaran yang jujur adalah rentang skenario atau hasil yang belum terverifikasi.
Ini mungkin terdengar ketat untuk satu transaksi kecil. Jika kesalahan penggabungan data yang sama terjadi di ribuan pasar, backtest bisa berubah menjadi pengukuran cermat atas kontrak yang tidak pernah diperdagangkan oleh strategi Anda.
← Semua artikel


