7 November 2026 · mikrostruktur

Backtest Membaca Harga yang Tepat dari Pasar yang Salah

Backtest Membaca Harga yang Tepat dari Pasar yang Salah

Pada pukul 10:14 UTC, strategi breakout sederhana membeli perpetual kripto setelah harga menembus level tertinggi dalam 20 menit. Backtest menunjukkan eksekusi pada harga $64,210. Angka itu tercantum dalam data, sinyal diberi stempel waktu dengan benar, dan order simulasi tiba pada bar berikutnya. Kami nyaris menyebut hasilnya bersih.

Lalu kami mencocokkan ID instrumennya. Sinyal berasal dari perpetual BTCUSDT. Eksekusinya berasal dari kontrak inverse BTCUSD. Keduanya diperdagangkan di sekitar $64,210, dan keduanya merupakan pasar likuid. Namun, keduanya memiliki buku order yang berbeda, dengan harga, ukuran tick, kedalaman, dan skema biaya yang berbeda. Backtest itu telah merangkai pasar yang tak bisa diakses oleh trader mana pun.

Strateginya sendiri biasa saja: masuk saat penutupan berada di atas level tertinggi bergulir, keluar saat penutupan berada di bawah level terendah bergulir, dan sesuaikan ukuran setiap posisi dengan risiko dolar tetap. Masalahnya baru terlihat ketika kami mengajukan pertanyaan yang lebih spesifik daripada “berapa nilai BTC?” Kami bertanya, “apa yang bisa dibeli order ini dalam kontrak yang persis ini pada waktu tersebut?”

Grafiknya sudah merupakan gabungan sebelum strategi dijalankan

Feed riset kami memudahkan perbandingan antarvenue. Feed itu menormalkan simbol dan menampilkan rangkaian harga gabungan. Praktis untuk mengamati pasar, tetapi buruk sebagai acuan eksekusi. Harga terbaik dari berbagai bursa bisa muncul dalam satu rangkaian gabungan, padahal strategi hanya bisa mengirim order ke satu venue.

Saat breakout terjadi, harga tertinggi bar gabungan adalah $64,205. Harga transaksi terakhir kontrak yang dipilih sudah bergerak ke $64,218. Sementara itu, kuotasi tersimpan untuk kontrak inverse masih menunjukkan ask di $64,210. Simulator menggunakan sinyal breakout dari satu rangkaian dan ask menarik dari rangkaian lain. Masing-masing angka memang nyata. Kombinasinya fiktif.

InputYang digunakan backtestYang dibutuhkan order
Level tertinggi breakoutHarga BTC gabunganRiwayat harga kontrak yang dipilih
Acuan masukAsk kontrak inverse tersimpanAsk terkini untuk instrumen yang diperdagangkan
Kuantitas eksekusiUkuran posisi yang dimintaKuantitas yang tersedia di setiap level harga

Satu baris dalam tabel data pasar bisa tampak lengkap, sementara kolom-kolomnya menggambarkan pasar yang berbeda. Alias simbol bukan bukti bahwa dua instrumen berbagi buku order. ID kontrak, venue, mata uang kuotasi, dan stempel waktu harus terus menyertai data selama proses pembuatan sinyal dan eksekusi.

Kami memutar ulang order terhadap buku order

Kami mengulangi simulasi masuk menggunakan ask terbaik dari perpetual yang dipilih serta pembaruan buku order yang tersedia saat keputusan dibuat. Kuotasinya masih baru, tetapi hanya 0.18 BTC tersedia di level teratas. Order simulasi kami sebesar 0.50 BTC. Sisa 0.32 BTC akan menyapu ask yang lebih tinggi.

$64,218ask terbaik saat order tiba
0.18 BTCtersedia pada ask tersebut
$64,231harga pemutaran ulang berbobot volume

Harga masuk yang disesuaikan lebih tinggi $21 per BTC daripada harga eksekusi yang tercatat, sebelum biaya. Selisih itu kecil untuk satu transaksi. Namun, sepanjang pengujian, sebagian besar laba kotor strategi berasal dari segelintir breakout cepat. Memutar ulang entri tersebut terhadap buku order yang tepat memangkas hasil kotor sebesar 31%; biaya taker dan dampak pasar menguranginya lebih jauh.

Kami juga menemukan dua kasus saat kuotasi top-of-book tiba setelah waktu keputusan sinyal. Backtest yang menggabungkan data berdasarkan stempel waktu terdekat bisa diam-diam memilih pembaruan dari masa depan. Kini kami menggabungkannya secara mundur: kuotasi harus sudah teramati saat order dikirim, dan usianya kami catat. Jika kuotasi terbaru yang dapat digunakan terlalu usang, simulator menandai order sebagai tidak dapat dieksekusi atau menerapkan aturan data usang yang eksplisit.

Syarat harga yang bisa diperdagangkan

Harga penutupan bar berguna untuk menghitung sinyal. Namun, harga itu tidak membuktikan bahwa order tertentu bisa dieksekusi di sana. Untuk itu, harga harus berasal dari instrumen dan venue yang persis sama, tersedia saat order tiba, dan memiliki kuantitas lawan yang cukup untuk memenuhi ukuran yang diminta. Jika data tidak bisa menjawab pertanyaan tersebut, keluaran yang jujur adalah rentang atau eksekusi yang tidak tercatat, bukan harga pasti yang dibuat-buat.

Kami mempertahankan rangkaian gabungan untuk konteks pasar dan mengeluarkannya dari jalur eksekusi. Kini sinyal mengacu pada riwayat kontrak yang dipilih; order diputar ulang terhadap buku order kontrak tersebut, lalu biaya dan ukuran diterapkan setelah harga eksekusi dihitung. Sedikit tambahan pengaturan, dan kurva ekuitas yang jauh kurang mengesankan.

Breakout itu memang terjadi. Backtest hanya memberinya kondisi pasar yang lebih menguntungkan daripada pasar kontrak yang dipilih strategi.

futures kriptobuku orderdata pasarbacktestingeksekusi
← Semua artikel