Jawaban langsung: apa yang dimaksud dengan “definisi kurs”
Kurs biasanya didefinisikan sebagai pemetaan antara dua mata uang: kurs memberi tahu Anda berapa banyak satu mata uang bernilai (untuk) satu unit (atau jumlah tetap lain) dari mata uang lainnya. “Definisi Kurs” menjadi lanjutan ketika Anda harus menentukan secara tepat konvensi kuotasi, acuan waktu, dan asumsi yang digunakan untuk menghitung atau mentransformasikan kurs tersebut.
Dalam praktiknya, berbagai “kurs” yang dipublikasikan atau internal bisa terlihat mirip, tetapi sebenarnya mewakili konsep yang berbeda. Tujuan lanjutan adalah menyatakan definisi dengan cukup presisi sehingga Anda bisa (1) mereproduksi sebuah perhitungan dan (2) mendeteksi ketika pihak lain menggunakan konvensi yang berbeda.
Mekanisme: bagian-bagian yang harus Anda definisikan
Definisi yang kuat biasanya mencakup komponen-komponen berikut.
1) Arah kuotasi dan mata uang basis/terms
Sebuah definisi harus menyatakan mata uang mana yang menjadi basis dan mana yang menjadi kuotasi. Misalnya, “X unit mata uang B per 1 unit mata uang A” tidak sama dengan ekspresi kebalikannya, kecuali Anda secara eksplisit membaliknya (invert). Jika nanti Anda menggabungkan sistem yang mengasumsikan arah yang berlawanan, Anda dapat menimbulkan kesalahan yang deterministik namun besar.
2) Level yang dikutip: mid, bid, ask, atau kurs yang dapat dieksekusi
Banyak kurs yang ditampilkan kepada pengguna berasal dari konvensi penetapan harga:
- Mid: rata-rata dari bid dan ask (rujukan pusat).
- Bid: harga di mana seseorang bersedia membeli mata uang basis.
- Ask: harga di mana seseorang bersedia menjual mata uang basis.
Sebuah “definisi kurs” harus menyatakan apakah kurs tersebut berbasis mid, berbasis bid/ask, atau merupakan level harga yang dapat dieksekusi. Jika Anda mendefinisikan perhitungan Anda menggunakan mid tetapi kemudian menerapkannya seolah-olah itu adalah kurs yang dapat dieksekusi, ketidaksesuaian tersebut dapat berperilaku seperti biaya sistematis.
3) Acuan waktu dan penyelarasan timestamp
Kurs bergantung pada waktu. Sebuah definisi harus menyatakan acuan waktu (misalnya, “as of T”) dan menjelaskan bagaimana Anda menangani timestamp yang tidak cocok ketika Anda menggabungkan beberapa langkah, seperti mengonversi dari mata uang A ke B lalu dari B ke C. Bahkan tanpa data real-time, prinsipnya tetap: definisikan kapan input dianggap valid.
4) Normalisasi dan konsistensi satuan
Jika definisi Anda menggunakan “per 1 unit,” pastikan jumlah turunan menggunakan satuan yang sesuai. Jika Anda memodelkan jumlah dalam sen, basis points, lot, atau unit skala lainnya, Anda harus mendefinisikan skala tersebut secara eksplisit; jika tidak, kesalahan pembulatan dan penskalaan dapat mendominasi hasil.
5) Opsional: spread, biaya, dan biaya transaksi lainnya
Definisi kurs murni menggambarkan hubungan harga, tetapi dalam alur kerja nyata konversi efektif dapat mencakup biaya. Jika Anda ingin definisi Anda menghasilkan konversi yang mencerminkan apa yang diterima atau dibayar pengguna, Anda harus menyatakan apakah Anda memasukkan biaya selain bid/ask (misalnya, biaya operasional). Jika Anda tidak memasukkan biaya tersebut, Anda harus jelas bahwa hasilnya bersifat teoritis berdasarkan definisi.
Bukti atau contoh: membangun definisi yang konsisten secara internal
Berikut cara sederhana dan mandiri untuk memeriksa apakah sebuah “definisi kurs” itu koheren.
Contoh model (asumsi dibuat eksplisit)
Anggap Anda mendefinisikan kurs untuk mengonversi jumlah sebagai berikut:
- Anda memiliki kurs kuotasi R yang dinyatakan sebagai “mata uang B per 1 unit mata uang A.”
- Anda akan mengonversi jumlah A_amt (mata uang A) menjadi mata uang B menggunakan: B_amt = A_amt × R.
- Anda menggunakan R pada waktu referensi spesifik T.
- Anda memperlakukan R sebagai konsep “mid” kecuali definisi secara eksplisit menyatakan sebaliknya.
Untuk memvalidasi definisi, ambil pernyataan eksternal apa pun tentang R dan periksa tiga hal:
- Arah: Apakah R yang dikutip benar-benar “B per 1 A,” atau justru dibalik?
- Level: Apakah itu mid, bid, ask, atau executable?
- Timing: Apakah waktu referensi sesuai dengan waktu perhitungan T?
Jika salah satu dari hal-hal ini berbeda, angka R yang sama dapat menghasilkan hasil konversi yang berbeda, bahkan ketika aritmetikanya benar. Ketidaksesuaian ini adalah mode kegagalan lanjutan yang umum: perhitungan bekerja, tetapi definisi tidak cocok dengan input.
Kasus tepi: penggunaan resiprokal
Jika seseorang memberikan kurs “B per 1 A” tetapi definisi Anda mengharapkan “A per 1 B,” Anda harus membaliknya:
- Jika R = B/A, maka resiprokalnya adalah R_inv = A/B = 1/R. Pembalikan yang benar tetap memerlukan Anda menerapkan aturan pembulatan/ketelitian yang tepat secara konsisten, karena pembalikan berulang di berbagai langkah dapat memperbesar perbedaan pembulatan.
Kasus tepi: konversi multi-langkah
Untuk konversi seperti A→B→C, Anda harus mendefinisikan apakah Anda:
- Menggunakan kurs terpisah pada timestamp yang mungkin berbeda, atau
- Menggunakan satu kurs yang dikonsolidasikan. Tanpa definisi yang jelas, dua alur kerja dapat menghasilkan hasil yang berbeda, meskipun keduanya “masuk akal” secara matematis.
Keterbatasan dan risiko: apa yang bisa salah
Setidaknya satu keterbatasan material biasanya muncul dalam penggunaan lanjutan.
1) Ketidaksesuaian definisi
Risiko terbesar adalah menggunakan kurs yang bukan yang diasumsikan oleh definisi Anda. Ini mencakup:
- Mengira bid/ask sebagai mid,
- Membalik arah tanpa menyadarinya,
- Mencampur kurs dari waktu referensi yang berbeda.
2) Konvensi yang tersembunyi
Bahkan untuk konversi sederhana, konvensi bisa tersembunyi:
- Bagaimana penyedia membangun kurs dari kuotasi dasar,
- Bagaimana pembulatan ditangani,
- Apakah kurs hanya mencerminkan harga pasar atau juga kondisi eksekusi yang tertanam. Jika definisi tidak secara eksplisit memasukkan konvensi-konvensi ini, reproducibility gagal.
3) Biaya dan harga efektif
Jika perhitungan digunakan untuk memperkirakan apa yang akan diterima atau dibayar, mengecualikan biaya dapat membuat “exchange-rate definition” menghasilkan hasil efektif yang bias. Sebaliknya, menghitung biaya dua kali juga dapat membias hasil. Risikonya berasal dari batas yang tidak jelas antara “rate definition” dan “execution definition.”
4) Hubungan historis tidak memvalidasi definisi
Meskipun hubungan di masa lalu terlihat stabil, itu tidak membuktikan bahwa definisi tetap konsisten atau bahwa konversi di masa depan akan cocok. Definisi mengatur bagaimana Anda menafsirkan data, bukan apakah perilaku pasar di masa depan akan menyerupai masa lalu.
Verifikasi dan pertanyaan berikutnya
Untuk memverifikasi secara independen sebuah definisi kurs, gunakan pendekatan berbasis definisi terlebih dahulu:
- Tulis pemetaan yang tepat yang Anda asumsikan (arah, satuan, level).
- Identifikasi waktu referensi dan pastikan semua input sesuai dengan waktu tersebut, atau nyatakan bagaimana Anda menangani ketidaksesuaian.
- Hitung ulang konversi dari input yang diasumsikan yang sama.
- Periksa reversibilitas: mengonversi A→B menggunakan definisi lalu B→A menggunakan resiprokalnya harus mengembalikan jumlah awal secara kurang lebih, dalam aturan pembulatan yang ditetapkan.
Pertanyaan berikutnya yang berguna adalah: “Apakah definisi saya menggambarkan market reference price (mid/bid/ask) atau effective execution price (termasuk biaya)?”