100 trade. Biaya taker 0.04%. Asumsi slippage 0.02%. Angka-angka itu bisa membuat backtest tampak terukur, tetapi angka terakhir justru yang paling mengejutkan: satu tingkat slippage saja hampir tidak memberi tahu apakah order Anda bisa dieksekusi pada harga tersebut.
Slippage bergantung pada apa yang Anda perdagangkan, kapan Anda bertransaksi, dan seberapa besar order Anda dibandingkan dengan likuiditas yang tersedia saat itu. Backtest berbasis candle biasanya hanya mengetahui dua hal pertama secara kasar, dan sama sekali tidak mengetahui hal ketiga. Menganggap harga rata-rata eksekusinya sebagai fakta bisa membuat strategi seolah memiliki catatan eksekusi yang sebenarnya tidak pernah dicapainya.
Mengapa OHLCV tidak bisa memberi tahu harga rata-rata eksekusi saya?
Candle mencatat rentang harga dan volume agregat selama suatu interval. Candle tidak menunjukkan bagaimana volume tersebar pada berbagai harga, berapa banyak likuiditas yang tersedia di bid dan ask terbaik, atau apakah order Anda tiba sebelum atau sesudah transaksi yang membentuk harga terendah candle. Harga terendah yang tercatat sekali dalam transaksi kecil dan harga terendah yang menyerap volume secara konsisten memiliki nilai OHLC yang sama.
Bayangkan bar 1-minute dengan volume $200,000 dan market buy sebesar $50,000. Order itu setara dengan 25% volume bar. Ini tidak membuktikan bahwa order akan menggerakkan pasar sebesar 25%, atau bahwa order bisa dieksekusi pada harga pembukaan bar. Namun, ini menunjukkan bahwa ukuran order cukup besar dibandingkan volume bar sehingga asumsi tanpa dampak patut dicurigai. Jika order yang sama hanya sebesar 0.2% volume, kekhawatirannya lebih kecil, meski volume saja tetap tidak mengungkap kedalaman order book atau penambahan kembali likuiditas.
Karena itu, “slippage sebesar 2 basis poin” adalah pilihan model, bukan karakteristik suatu simbol. Angka itu bisa menjadi patokan awal yang berguna. Namun, angka itu tidak bisa menjadi jawaban universal.
Bagaimana cara memperkirakan dampak pasar dari data bar?
Mulailah dengan ukuran yang didukung oleh data Anda. Untuk setiap order, hitung tingkat partisipasi: nilai nosional order dibagi nilai nosional yang diperdagangkan pada bar tersebut. Lalu amati perubahan hasil strategi pada berbagai rentang tingkat partisipasi. Berikut ilustrasi yang sengaja dibuat sederhana; asumsi dampak ini adalah masukan untuk stress test, bukan perkiraan eksekusi di venue tertentu.
| Nosional order / bar | Ilustrasi dampak satu arah | Pertanyaan yang perlu diajukan |
|---|---|---|
| 0.2% | 1 bp | Apakah spread dan biaya taker sudah lebih besar dari angka ini? |
| 2% | 5 bp | Apakah edge tetap bertahan jika spread melebar dan eksekusi melambat? |
| 20% | 25 bp | Apakah tingkat partisipasi itu sendiri akan mengubah pergerakan harga? |
Satu basis poin adalah 0.01%. Jika strategi melakukan turnover $100,000 untuk setiap arah, dampak 5 bp di kedua sisi menelan biaya sekitar $100 untuk transaksi pulang-pergi, sebelum biaya. Hitungannya sederhana; menentukan apakah 5 bp masuk akal membutuhkan lebih banyak bukti. Jika sinyal Anda bertransaksi tepat saat volume melonjak, penyebut volume sepanjang bar bahkan bisa membuat tingkat partisipasi tampak lebih aman daripada kondisi sebenarnya pada menit-menit saat order Anda tiba.
Apa saja yang perlu dicakup dalam stress test slippage?
Jangan sembunyikan ketidakpastian eksekusi dalam satu angka rata-rata untuk seluruh portofolio. Tampilkan dimensi yang mengubah hasilnya:
- Arah: order beli melewati ask dan order jual melewati bid; biaya spread berlaku pada setiap entry dan exit.
- Ukuran order: laporkan tingkat partisipasi per trade dan menurut kondisi likuiditas, bukan hanya sebagai rata-rata backtest.
- Jenis order: market order membayar demi eksekusi segera; resting limit order bisa melewatkan pergerakan harga atau berada di belakang order lain dalam antrean.
- Waktu: sinyal saat penutupan bar tidak bisa mengklaim harga penutupan bar sebagai harga eksekusi setelah melihat harga penutupan tersebut.
- Kondisi pasar: perbesar asumsi biaya saat terjadi pergerakan cepat, pada jam-jam sepi, dan dalam kondisi spesifik yang memicu strategi.
Jalankan setidaknya skenario dasar dan skenario yang lebih berat. Misalnya, gandakan asumsi spread dan dampak, lalu periksa trade dan periode mana yang paling berkontribusi pada perubahan. Jika strategi hanya berhasil saat eksekusinya paling menguntungkan, itu adalah temuan riset. Lebih baik mengetahuinya sebelum paper trading.
Pisahkan biaya, spread, dan dampak sebagai pos tersendiri. Biaya mengikuti jadwal akun; spread dan dampak bergantung pada eksekusi. Menggabungkannya menyamarkan asumsi mana yang paling berpengaruh.
Kapan saya membutuhkan data order book?
Gunakan data trade dan kuotasi jika edge strategi sebanding dengan spread, strategi sering bertransaksi, atau hasilnya bergantung pada likuiditas yang hanya tersedia sebentar. Gunakan snapshot kedalaman atau data order book pada tingkat peristiwa jika posisi antrean, eksekusi sebagian, atau terkurasnya order book menentukan apakah sinyal bisa dieksekusi. Meski begitu, replay historis tidak akan sepenuhnya meniru dampak pasar dari order Anda sendiri; likuiditas yang teramati tercatat tanpa order hipotetis Anda di dalamnya.
Untuk strategi yang lebih lambat, data bar tetap bisa digunakan untuk menyaring ide. Jaga ukuran posisi tetap kecil dibandingkan volume teramati, ungkapkan kurva dampak yang Anda asumsikan, dan uji apakah perubahan yang wajar menghapus hasilnya. Itulah penggunaan model harga eksekusi kasar yang dapat dipertanggungjawabkan. Menyebutnya harga rata-rata eksekusi yang pasti bukanlah hal yang tepat.
Tujuan praktisnya bukan menebak satu angka slippage yang paling benar. Tujuannya adalah menemukan rentang ketika strategi tak lagi masuk akal, lalu melihat apakah data dan ukuran order Anda masih cukup jauh dari batas tersebut. Jika tidak, langkah riset berikutnya yang berguna adalah mendapatkan data eksekusi yang lebih baik, bukan menambah satu angka desimal lagi pada laporan backtest.
← Semua artikel


