15 September 2026 · riset

Model Slippage Backtest Anda Sengaja Harus Keliru

Model Slippage Backtest Anda Sengaja Harus Keliru

Model slippage yang paling jujur sering kali sengaja dibuat keliru. Backtest yang melaporkan satu biaya eksekusi presisi dari data historis beresolusi kasar membuat klaim yang tidak didukung oleh datanya.

Kedengarannya seperti alasan untuk memakai asumsi serampangan. Padahal justru sebaliknya: gunakan model sederhana yang bisa Anda jelaskan, lalu buat model itu menghasilkan kesimpulan yang berbeda. Jika strategi hanya berhasil dengan satu estimasi harga fill yang kebetulan menguntungkan, ketidakpastian itu adalah bagian dari hasilnya.

Mengapa estimasi slippage yang presisi bisa menyesatkan?

Misalkan Anda punya bar OHLCV 1 menit dan mengirim order pasar untuk 2,000 saham. Bar tersebut memberi tahu rentang harga dan total volume selama satu menit. Bar itu tidak memberi tahu bid dan ask saat order Anda tiba, antrean di depan Anda, sebaran volume sepanjang menit itu, atau berapa banyak volume yang akan terserap oleh order Anda.

Anda tetap bisa menetapkan angka untuk slippage. Anda bisa mengasumsikan fill pada harga pembukaan bar berikutnya ditambah biaya basis poin tetap, atau menskalakan biaya berdasarkan ukuran order dibagi volume bar. Itu perkiraan yang berguna. Namun, itu bukan hasil pengamatan. Melaporkan hasil sebagai “slippage: 3.2 basis poin” membuat pilihan model terlihat seperti hasil pengukuran.

Sebagai contoh, anggap sebuah strategi bertransaksi sebesar $20,000 per order pada saham yang volume bar berikutnya adalah $400,000. Tingkat partisipasinya 5%. Model yang mengenakan biaya 2 basis poin menimbulkan biaya $4 per order; model yang mengenakan 10 basis poin menimbulkan biaya $20. Dalam 500 transaksi pulang-pergi, selisihnya mencapai $16,000 sebelum komisi. Jika laba kotor strategi menurut backtest adalah $18,000, asumsi eksekusi hampir sama berpengaruhnya dengan sinyalnya.

5%ukuran order sebagai bagian dari volume bar berikutnya
$16,000selisih biaya dalam 500 transaksi pulang-pergi pada 2 vs. 10 bps

Buat rentang yang mencerminkan apa yang bisa dilihat data Anda

Mulailah dengan asumsi dasar yang sesuai dengan jenis order strategi dan resolusi data. Order pasar memerlukan spread dan dampak pasar. Order limit memerlukan aturan untuk menentukan apakah order terisi; mengasumsikan setiap harga yang tersentuh akan terisi adalah bentuk kesalahan eksekusi yang berbeda.

Lalu jalankan backtest yang sama dengan beberapa kasus eksplisit. Pertahankan sinyal, ukuran posisi, dan timestamp agar perubahan bisa dikaitkan dengan eksekusi:

KasusAsumsi eksekusiHal yang diuji
MenguntungkanSpread dasar dan dampak pasar rendahSeberapa besar strategi bergantung pada kondisi trading yang menguntungkan?
DasarSpread tipikal dan dampak pasar yang diskalakan berdasarkan tingkat partisipasiApa implikasi dari asumsi kerja yang dipilih?
MerugikanSpread lebih lebar, dampak pasar lebih tinggi, dan fill tertundaApakah keunggulannya bertahan di pasar sulit yang masuk akal?

Ini bukan interval kepercayaan kecuali Anda telah mengkalibrasinya secara statistik. Ini adalah pengujian skenario. Jelaskan artinya dalam laporan, dan jangan merata-ratakannya menjadi “slippage ekspektasian” yang dibuat-buat tanpa bukti probabilitasnya.

Buat model merespons order

Biaya tetap dalam basis poin bisa menjadi perkiraan awal yang wajar untuk order kecil. Namun, asumsi ini kurang meyakinkan saat tingkat partisipasi meningkat. Setidaknya, catat notional order, volume bar yang tersedia, dan tingkat partisipasi. Jika strategi memperdagangkan futures, catat nilai kontrak dan satuan volume yang relevan; jika memperdagangkan crypto spot, jelaskan mata uang kuotasi dan venue.

Kurva dampak sederhana dapat menampakkan tekanan kapasitas tanpa berpura-pura mereplikasi order book. Misalnya, tetapkan biaya sebagai spread dasar ditambah komponen dampak yang meningkat seiring akar kuadrat tingkat partisipasi. Sesuaikan parameternya hanya jika Anda memiliki data eksekusi yang sesuai. Jika tidak, variasikan parameternya dan tunjukkan seberapa cepat hasilnya memburuk.

Pastikan juga model fill tidak diam-diam menyelamatkan strategi. Sinyal long yang muncul setelah kenaikan tajam tidak seharusnya mendapat harga terendah bar hanya karena harga itu ada di dalam candle. Gunakan konvensi fill yang kausal, lalu uji dengan harga yang lebih buruk dan penundaan. Jika order yang tertunda kehilangan peluang pergerakan harga, itu adalah hasil eksekusi, bukan gangguan yang perlu dihaluskan.

Pertanyaan yang berguna: pada spread, dampak pasar, penundaan, atau tingkat partisipasi berapa kinerja bersih menyentuh nol? Titik impas itu sering lebih berguna untuk ditindaklanjuti daripada satu angka Sharpe backtest.

Gunakan paper trading untuk mempersempit rentang

Paper trading tidak akan mengungkap fill yang akan Anda dapatkan di matching engine live. Namun, paper trading tetap bisa memberi tahu apakah aliran order backtest menyerupai keputusan sistem yang sebenarnya: kapan order dibuat, seberapa besar ukurannya, dan berapa lama order tetap bisa dieksekusi.

Bandingkan harga order simulasi dengan kuotasi pada waktu yang sama atau data pasar lain yang dicatat sistem paper trading Anda. Lacak selisih berdasarkan instrumen, waktu, ukuran order, dan jenis order. Pengamatan itu dapat mempersempit asumsi untuk konfigurasi tersebut. Asumsi itu tidak otomatis berlaku untuk venue, rezim pasar, atau order yang lebih besar.

Kritik bahwa skenario pesimistis bisa dibuat sewenang-wenang memang beralasan. Model yang sengaja dibuat berat bisa menolak strategi yang layak, sama seperti model yang menguntungkan bisa membuat strategi lemah tampak bagus. Jadi, jangan anggap kasus terberat sebagai kebenaran. Publikasikan asumsinya, tunjukkan sensitivitasnya, dan kumpulkan data yang diperlukan untuk mengganti tebakan dengan estimasi terkalibrasi.

Backtest tidak bisa mengetahui posisi antrean historisnya dari sebuah candle. Backtest bisa menunjukkan apakah gagasan strategi masih masuk akal ketika eksekusi memburuk dalam kondisi yang tidak bisa disingkirkan oleh data Anda. Jawaban itu lebih berguna daripada satu angka desimal.

slippagedampak pasarbacktestingeksekusipaper trading
← Semua artikel