22 Agustus 2026 · riset

Mengapa Order Terbuka dalam Backtest Membutuhkan Batas Waktu

Mengapa Order Terbuka dalam Backtest Membutuhkan Batas Waktu

Sebuah strategi mengirim limit order pada pukul 10:00. Sinyalnya berubah pada pukul 10:03. Backtest diam-diam mengganti order itu pada pukul 10:04, lalu mencatat fill pada pukul 10:05. Dalam paper trading, order asli mungkin masih menunggu di venue. Jika order itu terisi sementara order penggantinya juga masih aktif, strategi memiliki 2 order, tetapi model posisinya seolah-olah hanya ada 1.

Order terbuka memerlukan status dan pencatat waktunya sendiri. Backtest harus mengetahui kapan setiap order dikirim, kapan order itu bisa dibatalkan, apakah pembatalannya sampai ke venue, dan apa yang terjadi jika fill terjadi bersamaan dengan pembatalan. Ada 3 jalan pintas yang sering menghapus fakta-fakta ini.

Kesalahan 1: Menganggap sinyal baru langsung membatalkan order

Banyak backtest menghitung ulang target posisi pada setiap bar, lalu menimpa order yang masih menunggu dengan apa pun yang diinginkan sinyal terbaru. Akibatnya, order seolah menghilang tepat saat strategi berubah pikiran. Venue sungguhan tidak bekerja seperti itu. Permintaan pembatalan membutuhkan waktu, dan order bisa tereksekusi sebelum diproses venue.

Misalkan ada buy limit untuk 100 saham pada harga $50.00. Pada pukul 10:03, sinyal melemah sehingga strategi mengirim permintaan pembatalan. Pada pukul 10:03:00.080, sebanyak 60 saham terisi; pembatalan dikonfirmasi pada pukul 10:03:00.110. Sisa 40 saham dibatalkan, tetapi posisi kini mencakup 60 saham. Backtest berbasis bar yang menghapus order pada pukul 10:03 mungkin melaporkan posisi 0. Backtest yang menganggap pembatalan terjadi seketika, tetapi tetap mencatat fill setelahnya, justru mengada-adakan eksposur ke arah berlawanan.

Lacak siklus hidup order secara eksplisit: dikirim, dikonfirmasi, terisi sebagian, menunggu pembatalan, dibatalkan, atau terisi penuh. Tetap catat fill yang terjadi sebelum pembatalan dikonfirmasi. Untuk simulasi bar kasar, pilih dan jelaskan aturan urutan yang konservatif jika kedua peristiwa mungkin terjadi dalam bar yang sama.

Kesalahan 2: Membiarkan order menunggu tanpa batas waktu

Limit order yang harganya ditentukan oleh sinyal pada pukul 10:00 bisa kedaluwarsa sekalipun sinyal tidak memiliki aturan keluar yang eksplisit. Order book bergerak, volatilitas berubah, dan nilai instrumen di pasar bisa bergeser. Namun, simulator yang membiarkan order aktif sampai terisi mungkin mendapatkan fill berbulan-bulan kemudian, lalu mengaitkannya dengan tesis yang sudah tidak berlaku.

Tetapkan kebijakan masa berlaku order yang sesuai dengan strategi. Sinyal 1 menit mungkin menggunakan kedaluwarsa 30 detik; rebalance harian mungkin membiarkan order tetap aktif sampai penutupan. Itu adalah pilihan strategi, bukan pengaturan bawaan yang berlaku untuk semua kondisi. Jika strategi memperbarui harga pada setiap bar, modelkan rangkaian pembatalan dan penggantian, alih-alih memindahkan order begitu saja ke harga baru.

Kebijakan orderPenggunaan umumPertanyaan untuk backtest
Langsung eksekusi atau batalkanAmbil likuiditas yang tersedia, lalu berhentiBerapa banyak yang bisa terisi saat order dikirim?
Kedaluwarsa singkatSinyal cepat dengan jendela eksekusi singkatApakah order masih berlaku saat harga kembali?
Sampai sesi berakhirRebalance lambat atau niat mengikuti lelang penutupanApakah venue benar-benar mendukung masa berlaku tersebut?

Kesalahan 3: Menganggap setiap sentuhan harga sebagai fill

Jika harga terendah sebuah candle menyentuh buy limit, belum tentu order itu terisi. Mungkin ada antrean di depannya, volume transaksi pada harga itu mungkin sedikit, atau transaksi singkat tersebut mungkin terjadi sebelum order tiba. Model order kedaluwarsa sering menggabungkan ketiga kekeliruan ini: order dibiarkan aktif terlalu lama, diasumsikan berada di urutan pertama, lalu dianggap terisi penuh begitu harga menyentuhnya.

Paling tidak, cegah fill sebelum waktu kedatangan order dan batasi kuantitas simulasi berdasarkan volume transaksi yang masuk akal pada harga limit. Untuk strategi yang bergantung pada posisi antrean, gunakan data transaksi dan order book, atau model antrean yang sengaja dibuat konservatif. Simulasi fill berdasarkan sentuhan harga tetap berguna untuk penyaringan kasar, tetapi tandai sebagai perkiraan optimistis dan bandingkan dengan asumsi yang lebih ketat.

Audit praktis: catat waktu pembuatan setiap order, jendela aktifnya, permintaan dan konfirmasi pembatalan, waktu fill, kuantitas yang terisi, serta kuantitas yang tersisa. Lalu putar ulang beberapa transaksi di sekitar pembalikan sinyal. Jika Anda tidak bisa menjelaskan mengapa setiap order masih aktif saat terisi, pencatatan fill dalam backtest perlu dibenahi.

Modelkan order yang ingin Anda uji lewat paper trading

Status order menghubungkan niat strategi dengan eksposur aktualnya. Posisi harus berubah ketika order terisi, bukan ketika target sinyal berubah atau permintaan pembatalan dikirim. Penggantian order harus meninggalkan jejak yang bisa diaudit, dan fill sebagian harus tetap diperhitungkan dalam keputusan berikutnya. Backtest memang jadi lebih rumit, tetapi perbandingannya dengan paper trading juga jadi lebih bermakna: perbedaan eksekusi di antara kedua sistem dapat dijelaskan dengan alasan yang jelas.

Jika model order mengandung ketidakpastian, pertahankan ketidakpastian itu dalam hasil. Simulasikan order berumur singkat dan panjang, variasikan jeda pembatalan, lalu tunjukkan seberapa besar kinerja bergantung pada asumsi antrean yang optimistis. Strateginya mungkin memang bagus. Namun, keunggulan yang tampak itu bisa saja berasal dari bunga yang dihasilkan order yang dalam sistem nyata sudah dibatalkan berjam-jam sebelumnya.

manajemen orderbacktestingeksekusipaper trading
← Semua artikel