Menilai Kualitas Eksekusi untuk Akses API (Konteks Forex, Edukasi)
Apa yang dimaksud dengan “kualitas eksekusi” untuk akses API
Kualitas eksekusi adalah seberapa baik sebuah pesanan yang ditempatkan melalui API menghasilkan hasil yang diinginkan jika dibandingkan dengan apa yang Anda harapkan pada saat Anda mengirimkannya. Dalam praktiknya, Anda menilai kualitas eksekusi menggunakan perilaku sistem yang dapat diamati: waktu, penanganan pesanan, korespondensi antara pengisian yang diminta dan aktual, serta seberapa sering kesalahan atau peristiwa tak terduga terjadi.
Akses API mengubah di mana masalah eksekusi dapat muncul. Alih-alih hanya melihat perilaku pasar dan strategi, Anda juga mempertimbangkan “jalur” di sekitar pengiriman pesanan dan siklus hidup pesanan: bagaimana API menerima permintaan Anda, bagaimana API mengonfirmasi penerimaan, bagaimana API memperbarui status pesanan, dan bagaimana API melaporkan perdagangan kembali ke sistem Anda.
Mekanisme inti: apa yang dapat Anda ukur
Untuk menilai kualitas eksekusi, definisikan beberapa istilah terlebih dahulu.
- Waktu permintaan: saat aplikasi Anda mengirim pesan pesanan.
- Konfirmasi/penerimaan: saat API mengonfirmasi bahwa pesanan diterima untuk diproses.
- Waktu peristiwa eksekusi: saat pengisian atau pembatalan terjadi (sebagaimana dilaporkan oleh API).
- Hasil yang diharapkan vs. aktual: apakah harga, kuantitas, atau waktu pengisian yang dieksekusi sesuai dengan asumsi sistem Anda.
Evaluasi yang terukur biasanya mencakup:
- Distribusi latensi (bukan hanya rata-rata). Lacak waktu dari permintaan hingga konfirmasi, dan dari konfirmasi hingga pengisian pertama. Pertimbangkan persentil (misalnya, seberapa sering “cukup cepat”).
- Keandalan. Ukur tingkat pesanan yang ditolak, waktu habis, permintaan duplikat, dan pembaruan status yang hilang.
- Akurasi hasil pesanan. Bandingkan harga/ukuran/batasan yang diminta dengan apa yang akhirnya dieksekusi atau dikonfirmasi (termasuk pengisian parsial).
- Integritas peristiwa. Periksa apakah urutan status pesanan yang Anda terima (diterima → terisi sebagian → terisi/dibatalkan) konsisten dan lengkap.
- Transparansi biaya. Kualitas eksekusi tidak dapat dipisahkan dari total biaya transaksi (spread, komisi, biaya, dan selisih harga yang tersirat dari perbedaan pengisian). Anda hanya dapat mengevaluasinya menggunakan harga dan biaya yang benar-benar diterapkan.
Ide kuncinya adalah membandingkan eksekusi yang Anda amati dengan garis dasar yang Anda kendalikan. Garis dasar Anda dapat berupa pengujian terkontrol menggunakan pesanan kecil dalam kondisi yang konsisten, dengan stempel waktu dan masukan yang dicatat dengan jelas.
Bukti dan contoh: pengujian gaya verifikasi
Asumsikan Anda menjalankan pengujian di mana Anda mengirimkan pesanan limit yang identik melalui API dan mencatat:
- stempel waktu permintaan yang tepat dari aplikasi Anda,
- stempel waktu penerimaan API,
- stempel waktu pengisian pertama dan pengisian penuh,
- harga yang dieksekusi dan kuantitas yang dieksekusi,
- kode kesalahan atau pembaruan yang hilang.
Anda kemudian menghitung beberapa ringkasan di banyak percobaan:
- Penundaan konfirmasi = waktu penerimaan − waktu permintaan.
- Waktu hingga pengisian pertama = waktu pengisian pertama − waktu permintaan (atau − waktu penerimaan, selama Anda memilih satu definisi).
- Deviasi pengisian = perbedaan antara harga batasan Anda dan harga yang dieksekusi (secara arah dan absolut).
- Kelengkapan pengisian = (kuantitas terisi ÷ kuantitas yang diminta) untuk setiap pesanan, dan bagian pesanan yang berakhir terisi sebagian.
Karena kondisi pasar dapat berubah dengan cepat, Anda memisahkan dua lapisan bukti:
- Bukti perilaku sistem: apakah penundaan, penolakan, dan pembaruan yang hilang terjadi pada tingkat yang dapat diprediksi atau stabil dalam kondisi yang sebanding.
- Bukti pasar dan biaya: apakah perbedaan pengisian dapat dijelaskan oleh perubahan likuiditas dan biaya transaksi, bukan oleh penanganan API.
Anda juga harus membuat asumsi tetap eksplisit. Misalnya, jika pengujian Anda menggunakan pengaturan waktu aktif yang sama atau jenis pesanan yang sama, catatlah; jika tidak, interpretasi penerimaan dan pengisian parsial menjadi ambigu.
Keterbatasan dan mode kegagalan yang perlu diperhitungkan
Bahkan ketika pengukuran terlihat baik, kualitas eksekusi tidak sepenuhnya dapat diprediksi. Keterbatasan material yang umum meliputi:
- Mode kegagalan: pesanan ditolak atau waktu habis. Sebuah sistem bisa cepat saat berfungsi, namun tetap memiliki tingkat penolakan yang tidak dapat diterima ketika beban atau konektivitas berubah. - Mode kegagalan: data pasar basi atau tidak konsisten. Jika aplikasi Anda mendasarkan keputusan pada data yang tertinggal dari momen penempatan pesanan, Anda mungkin melihat pengisian yang lebih buruk yang bukan hanya masalah “latensi”. - Mode kegagalan: pengisian parsial dan pembaruan pasca-pengisian. Pengisian parsial bisa akurat, tetapi jika aplikasi Anda salah melacak kuantitas yang tersisa atau salah menangani urutan status, “kualitas” eksekusi yang Anda ukur dapat mencerminkan kesalahan logika perangkat lunak. - Keterbatasan pengukuran: penyelarasan stempel waktu. Jika Anda membandingkan stempel waktu lokal Anda dengan stempel waktu yang dilaporkan API tanpa memahami sinkronisasi jam, kesimpulan latensi Anda mungkin bias. - Keterbatasan bukti: historis tidak menjamin masa depan.