Untuk mengetahui cara kerja bursa, kita perlu melihat pesanan bursa dan cara broker memprosesnya. Artikel ini membahas jenis pesanan, cara eksekusinya di bursa, dan batasan yang diberlakukan oleh sistem perdagangan.
Jika Anda penasaran untuk mengetahui apa saja DAY, GTC, FOK, IOC, GTD, GAT, MOO, MOC, LOO, LOC, MIT, OCO, OSO, PEG artinya, sama-sama.

Pesanan

Semua pelaku pasar tertarik pada banyak hal. Untuk memulai penawaran, kita perlu membuat pesanan jual atau beli untuk instrumen keuangan yang diperlukan. Akibatnya, serangkaian pesanan yang ditempatkan di bursa menciptakan penawaran dan permintaan saat ini. Market order adalah instruksi dari klien kepada brokernya untuk membeli atau menjual instrumen keuangan di bursa. Pesanan tipikal berisi informasi berikut:

  • Pengenal Instrumen Keuangan
  • Jenis pesanan
  • Sisi pesanan. Beli atau jual.
  • Harga
  • Kuantitas
  • Jenis durasi pesanan (opsional)
  • Petunjuk tambahan (opsional)

Kami dapat membagi semua pesanan menjadi tiga kelompok besar:

  • Pesanan pasar. Perintah ini harus segera dieksekusi pada harga pasar saat ini. Jika tidak ada jumlah yang diperlukan, maka pesanan akan dieksekusi sesegera mungkin.
  • Pesanan tertunda. Permintaan memungkinkan untuk mengontrol harga batas untuk membeli dan menjual. Terkadang order seperti itu tidak dapat langsung dieksekusi atau tidak dieksekusi sama sekali. Harga selalu lebih baik untuk limit order.
  • Pesanan bersyarat. Ini semua adalah permintaan kecuali permintaan batas yang memerlukan kondisi tambahan untuk diaktifkan dan dijalankan.

Waktu berlaku

Anda pasti pernah melihat akronim seperti DAY, GTC, FOK, IOC, GTD, GAT. Semuanya menunjukkan berapa lama suatu order akan tetap aktif sebelum dieksekusi atau kedaluwarsa.

  • HARI. Pesanan ini kedaluwarsa pada akhir hari perdagangan.
  • GTC (Bagus hingga dibatalkan). Pesanan ini berlaku sampai dibatalkan. Untuk memastikan mereka tidak berada di pasar tanpa batas waktu, batasan khusus diberlakukan, biasanya antara 30 hingga 90 hari.
  • FOK (Isi Atau Bunuh). Pesanan harus terisi penuh atau segera dibatalkan.
  • IOC (Segera Atau Batal). Pesanan segera dieksekusi atau dibatalkan oleh bursa. Berbeda dengan FOK, tipe ini memungkinkan pemenuhan sebagian.
  • GTD (Baik hingga Tanggal/Waktu).
  • GAT (Baik setelah Waktu/Tanggal).

Kondisi eksekusi order

Dengan menggabungkan instruksi harga, waktu yang berlaku dan batasan ekstra, kita bisa mendapatkan berbagai jenis eksekusi order. Untuk mendapatkan gambaran yang lebih baik, mari kembali ke struktur jenis pesanan yang disajikan di awal artikel ini.

Pesanan pasar saat pembukaan/penutupan

Jika kita membatasi durasi periode validitas market order ini, kita mendapatkan hal berikut:

  • MOO (Pasar Saat Terbuka). Perintah pasar seperti itu hanya dapat dieksekusi pada pembukaan hari perdagangan. Eksekusinya dijamin asalkan ada likuiditas.
  • LOO (Batas-Saat-Terbuka). Seperti MOO, LOO hanya dapat dieksekusi pada pembukaan hari perdagangan. Namun, limit order jenis ini memungkinkan untuk menetapkan instruksi harga. Eksekusinya tidak dijamin.
  • MOC (Pasar-Saat-Tutup). Order ini mirip dengan MOO, namun order pasar hanya dapat dieksekusi pada penutupan hari perdagangan. Eksekusi dijamin asalkan ada likuiditas.
  • LOC (Batas-Saat-Tutup). Order ini mirip dengan LOO, namun order pasar hanya dapat dieksekusi pada penutupan hari perdagangan. Eksekusinya tidak dijamin.

Perintah bersyarat

Saat kita ingin menyesuaikan order untuk suatu strategi trading, kita dapat melakukannya dengan bantuan order bersyarat — order yang diaktifkan hanya setelah kondisi terpenuhi. Oleh karena itu, tujuan utama mereka adalah meminimalkan risiko kerugian finansial yang signifikan.

Hentikan pesanan

Stop order adalah penawaran atau permintaan sejumlah aset keuangan pada harga tertentu atau lebih buruk lagi. Segera setelah harga sama atau melebihi harga stop yang ditentukan untuk order penawaran, maka secara otomatis berubah menjadi order pasar dan dieksekusi secara umum. Cara kerjanya sama dengan stop order untuk penjualan. Segera setelah harga mencapai level yang ditetapkan dalam order dan terus turun, order tersebut berubah menjadi order pasar. Dengan cara ini, eksekusi dijamin untuk stop order aktif. Stop order memungkinkan kita meminimalkan potensi kerugian, itulah mengapa stop loss identik dengan stop order.

Perintah berhenti-batas

Tidak seperti stop order biasa, yang hanya menentukan harga stop, order stop-limit juga memerlukan harga limit. Segera setelah harga aset sama atau lebih buruk dari harga stop, limit order dengan harga limit yang ditentukan secara otomatis dibuat. Eksekusi perintah tersebut tidak dijamin.

Perintah penghentian jejak

Tidak seperti stop order biasa, di mana harga stop ditampilkan dalam satuan absolut, trailing order menggunakan persentase. Setelah aktivasi, ini berubah menjadi order pasar biasa. Dengan cara ini, harga stop dikaitkan dengan harga pasar dan tumbuh bersamanya. Misalnya, kami telah melakukan pemesanan sebesar 10 dolar dan menetapkan harga stop sebesar 10% dari harga saat ini, mis. harga penghentian absolut sama dengan 9 dolar. Kemudian, asetnya tumbuh menjadi 15 dolar seiring dengan harga stop yang tumbuh menjadi 13,5 dolar. Jenis order ini digunakan untuk meminimalkan kerugian sekaligus memaksimalkan keuntungan.

Perintah trailing stop-limit

Berbeda dengan order trailing stop, order ini berubah menjadi order limit, bukan order pasar, setelah aktivasi.

pesanan PEG

Ini adalah semacam limit order. Ini mengubah harganya secara otomatis setelah perubahan harga bid atau ask. Dalam instruksi harga, diindikasikan adanya pergeseran ke arah yang lebih buruk dari harga bid/ask terbaik saat ini.

Pesanan OCO (yang satu membatalkan yang lain)

Ini adalah sepasang pesanan. Biasanya terdiri dari stop order dan limit order. Kedua pesanan bekerja dengan instrumen yang sama. Jika salah satunya dijalankan, maka yang kedua otomatis dibatalkan. Contoh sederhananya: bayangkan kita membeli sebuah aset seharga $10. Kami bertujuan untuk mendapatkan setidaknya $3 keuntungan dan membatasi kerugian paling banyak hingga $2. Maka harga stop kita akan menjadi $8 dan harga batas kita $13.

Pesanan OSO (yang satu mengirim yang lain)

Ordo ini terdiri dari ordo utama dan kelompok ordo yang saling terkait. Pesanan dapat bekerja dengan instrumen yang berbeda. Jika pesanan utama dieksekusi, semua pesanan terkait kemudian dikirim.

Sekarang setelah kita meninjau secara singkat teori pesanan, mari kita mulai berlatih.

Praktik

Dari sudut pandang sistem, sangat penting untuk mendefinisikan struktur dasar untuk semua pesanan dengan cara yang fleksibel namun tepat. Erlang memungkinkan kita melakukan itu dengan bantuan catatan:

Identifikasi pesanan

Setelah pesanan dilakukan di bursa, ia mendapat pengidentifikasi internal — bidang id. Untuk meningkatkan pengalaman pengguna, saat kita mengoordinasikan pertukaran dengan sistem eksternal, kita harus mengaktifkan sistem eksternal untuk menyetel idnya sendiri ke pesanan yang dibuat. Ini akan memberi kami kemungkinan untuk meminta pesanan berdasarkan id dan orig_id. Selain itu, ini akan memungkinkan kita untuk tidak menggunakan pemetaan pesanan tambahan di sistem eksternal.

Kepemilikan pesanan

Mari berikan kemungkinan untuk membuat agen (broker eksternal) di sistem kami. Order bisa datang langsung dari trader atau dari broker yang memberikan layanan kepada klien yang tidak memiliki akses langsung ke bursa. Dalam hal pemilik pesanan langsung dan pedagang bertepatan.

Pengodean instruksi

Mari kita lihat bidang lainnya. Ada dua bidang untuk menyandikan instruksi berdasarkan harga: price, yang merupakan harga batas untuk pesanan batas, dan trigger_price, yang merupakan harga pemicu untuk jenis khusus. Misalnya, dalam kasus stop order, kolom ini akan mengkodekan harga stop.

Kami menggunakan qty dan qty_orig untuk menyandikan volume. Qty_orig menetapkan volume pesanan awal dan qty - volume pesanan saat dipenuhi. deals_history array akan membantu mendapatkan informasi yang tepat tentang pemenuhan sebagian. Dengan bantuannya, kita dapat, misalnya, menghitung harga rata-rata pesanan setelah terisi penuh. Bidang linked_orders diperlukan untuk menyandikan informasi tentang pesanan tertaut untuk OCO dan OSO.

Untuk memperbesar sistem tanpa mengubah data exchange_order, mari tambahkan bidang opts yang merupakan kamus dinamis.

Kesimpulan sementara

Sejujurnya, saya pikir bagian kedua dari seri ini akan lebih kompak. Namun, saya harus lebih detail untuk menguraikan topik tersebut. Bagian teoretis dari artikel berikut akan menjelaskan buku pesanan dan aturan pemrosesan pesanan. Bagian teknis akan membahas skema pengolahan data pasar dan masalah penyimpanan data historis.

Terima kasih kepada Nadezda Popova untuk mengoreksinya.

Awalnya diterbitkan di https://www.vonmo.com.