

Dalam artikel ini, kami akan mengeksplorasi desain dan implementasi algoritma perdagangan dalam mata uang kripto. Secara khusus, kami fokus pada algoritma eksekusi, algoritma pembuat pasar, dan beberapa pertimbangan mikrostruktur pasar. Kami juga meneliti di mana praktik menyimpang dari teori, khususnya dalam menangani kekhasan pasar mata uang kripto.
Sasaran algoritma eksekusi adalah mengubah status portofolio ke status lain sambil meminimalkan biaya untuk melakukannya. Misalnya, jika Anda ingin meningkatkan eksposur BTCUSD Anda sebesar 1.000, Anda mungkin tidak ingin langsung memasukkan order pasar ke dalam saluran perdagangan BitMEX, yang akan menyebabkan slippage besar-besaran. Sebaliknya, Anda dapat mempertimbangkan untuk membangun posisi yang Anda inginkan secara perlahan melalui kombinasi pesanan pasar dan pesanan batas di beberapa bursa yang berbeda.
Biasanya ada 3 lapisan algoritma eksekusi: makrotrader, mikrotrader, dan router pintar.
Lapisan makrotrader membagi pesanan awal yang besar atau pesanan induk menjadi sub-pesanan yang lebih kecil dari waktu ke waktu. Ini sebenarnya adalah bagian penjadwalan dari keseluruhan algoritma. VWAP, TWAP, dan POV adalah contoh umum dan sederhana dari algoritma makrotrader. Biasanya, ada banyak model dampak pasar berbeda yang dapat digunakan untuk merancang lapisan makrotrader yang kompleks. Model dampak pasar dirancang untuk melihat reaksi pasar terhadap suatu eksekusi. Apakah pasar akan tetap sama setelah eksekusi? Atau melangkah lebih jauh? Atau akan kembali ke titik tertentu? Dua model dampak pasar yang paling penting adalah model dampak pasar permanen Almgren-Chriss (1999, 2000) dan model dampak pasar sementara Obizhaeva-Wang (2013). Berdasarkan hal ini, dalam praktiknya, efek pasar tidak bersifat permanen, sehingga Obizhaeva-Wang tampaknya lebih realistis, dan sejak itu, banyak model baru telah dikembangkan untuk mengatasi kekurangannya.

Bacaan lebih lanjut: Pengaruh pasar mulai menurun setelah perdagangan algoritmik https://arxiv.org/pdf/1412.2152.pdf
Lapisan mikropedagang memutuskan untuk setiap pesanan anak apakah akan mengeksekusinya sebagai pesanan pasar atau pesanan batas, dan jika sebagai pesanan batas, pada harga berapa. Ada sedikit literatur tentang desain mikrotrader karena ukuran sub-order biasanya merupakan sebagian kecil dari keseluruhan pasar, jadi cara eksekusinya tidak penting. Namun, pasar mata uang kripto berbeda karena likuiditasnya sangat tipis dan penurunan sangat kentara bahkan untuk sub-pesanan berukuran biasa dalam praktiknya. Desain mikrotrader sering kali berfokus pada waktu dan kedalaman, posisi antrian, dan fitur mikrostruktur pasar lainnya. Perintah pasar (yang sama dengan perintah batas jika kita mengabaikan latensi) dijamin akan dieksekusi, sedangkan perintah batas tidak memiliki jaminan seperti itu. Bila eksekusi tidak terjamin, Anda bisa tertinggal dari rencana perdagangan yang Anda buat dengan pedagang makro Anda.
Lapisan router pintar memutuskan cara mengarahkan pesanan ke bursa yang berbeda. Misalnya, jika Kraken memiliki 60% likuiditas dan GDAX (Coinbase ProPrime) memiliki 40% likuiditas pada beberapa tingkat harga tertentu, maka pedagang mikro harus mengimpor pesanan ke bursa Kraken dan GDAX dalam rasio masing-masing 60% dan 40%. . Tempat.
Sekarang Anda dapat mengatakan bahwa pelaku arbitrase dan pembuat pasar di pasar memindahkan likuiditas dari satu bursa ke bursa lainnya, jadi jika Anda mengeksekusi setengah dari pesanan Anda di Kraken dan menunggu beberapa detik, sebagian likuiditas akan berpindah dari arber ke arber. dan stat arbers terhadap likuiditas GDAX di Kraken dan Anda dapat melakukan sisanya dengan harga yang sama. Akan tetapi, bahkan dalam kasus ini, para arber akan mengenakan biaya premium untuk keuntungan mereka sendiri dan meneruskan biaya lindung nilai mereka sendiri ke biaya pembuatan pasar Kraken. Selain itu, beberapa pelaku pasar menempatkan pesanan dalam kuantitas lebih besar daripada yang ingin mereka tempatkan di beberapa bursa dan membatalkan kelebihan jumlah tersebut setelah pesanan dihentikan.
Pada akhirnya, lebih baik memiliki router pintar lokal Anda sendiri. Router pintar lokal ini juga memiliki keunggulan latensi terhadap layanan router pintar pihak ketiga. Dalam kasus pertama, Anda dapat langsung merutekannya ke bursa, sedangkan dalam kasus kedua, Anda harus terlebih dahulu mengirim pesan ke layanan router pihak ketiga, yang kemudian mengirimkan pesanan Anda ke bursa (selain itu, Anda harus mengirim Pihak ketiga membayar biaya router). Jumlah dua kaki suatu segitiga lebih besar dari kaki ketiga.
Pembuatan pasar melibatkan penyediaan likuiditas segera kepada pelaku pasar lainnya dan memperoleh kompensasi atasnya. Anda menanggung risiko inventaris dengan imbalan nilai yang diharapkan positif. Pada akhirnya, pembuat pasar diberi kompensasi karena dua alasan. Pertama, pengambil pasar memiliki preferensi waktu yang tinggi dan membutuhkan kedekatan. Sebagai gantinya, pembuat pasar yang memfasilitasi likuiditas dapat mengkompensasi preferensi waktu dan kesabaran mereka yang lebih rendah. Kedua, laba PnL pembuat pasar condong ke kiri, dan biasanya sebagian besar pedagang memiliki preferensi condong ke kanan. Dengan kata lain, pembuat pasar mirip dengan bandar taruhan di pasar taruhan, kasino, perusahaan asuransi, dan lotere nasional. Mereka sering menang kecil, dan jarang kalah besar. Sebagai imbalan atas hasil yang tidak terduga ini, pembuat pasar diberi kompensasi dengan nilai yang diharapkan.

Bacaan lebih lanjut: Skewness https://en.wikipedia.org/wiki/Skewness
Dari perspektif tingkat tinggi, limit order adalah opsi bebas di pasar lain. Pasar lainnya mempunyai hak tetapi tidak berkewajiban untuk membeli atau menjual aset pada harga batas dari pesanan batas. Di pasar yang informasinya diketahui secara pasti, tidak seorang pun akan menjual opsi gratis. Hal ini karena pasar secara umum bukanlah pasar di mana informasi diketahui dengan pasti dan penjualan opsi gratis tidak pernah masuk akal. Di sisi lain, jika informasi pasar sama sekali tidak diketahui, maka pembuat pasar yang netral terhadap risiko bersedia menjual opsi pesanan batas gratis ini pada spread yang sangat kecil karena semua perdagangan bersifat noise. Jelasnya, pelaku pasar sesungguhnya adalah beragam, masing-masing memiliki tingkat informasi yang diketahui dan tidak diketahui yang unik.
Saat merancang algoritma pembuat pasar, ada tiga perspektif yang perlu dipertimbangkan: perspektif pembuat pasar, perspektif pelaku pasar, dan perspektif pembuat pasar lainnya.
Pandangan pembuat pasar diwakili oleh inventaris mereka. Jika Anda sudah memiliki terlalu banyak eksposur aset maka Anda mungkin ingin menawar dengan harga lebih rendah dan sebaliknya. Anda melakukan ini karena dua alasan berbeda. Pertama, sebagai korporasi Anda memiliki tingkat penghindaran risiko tertentu (mungkin kurang dari individu, tetapi kurva utilitas uang Anda masih cekung).
Ada banyak struktur untuk bentuk fungsi utilitas ini (misalnya CARA, CRRA, HARA, dll.). Kedua, sebagai penyedia likuiditas pasif di pasar, Anda akan menghadapi risiko seleksi yang merugikan. Penerima likuiditas positif mungkin mengetahui sesuatu yang tidak Anda ketahui, atau sekadar lebih pintar dari Anda. Pada dasarnya, ini adalah masalah menjual opsi gratis ke pasar.
Lebih jauh lagi, bahkan pada tingkat mekanis, perintah pasar yang menggerakkan harga menurunkan harga dengan mark-to-market, sementara perintah pasar yang menggerakkan harga lebih tinggi menggerakkan harga dengan mark-to-market. Pada saat yang tepat dalam perdagangan apa pun, Anda selalu berada di pihak yang salah. Selain itu, kutipan pembuat pasar akan memiliki dampak pasar yang pasif. Dengan kata lain, tindakan mengirimkan pesanan ke buku pesanan yang belum terpenuhi setidaknya menjauhkan pasar dari Anda.

Bacaan lebih lanjut: Fungsi penghindaran risiko https://en.wikipedia.org/wiki/Risk_aversion
Pandangan pengambil pasar diwakili oleh aliran pesanan. Frekuensi kedatangan pesanan yang ditimbang berdasarkan volume sebagai fungsi kedalaman harus memiliki beberapa properti utama.
Fungsinya seharusnya:
Selain itu, ada faktor yang tidak diketahui tentang berapa harga tengah yang wajar. Saat mengirim dan membatalkan pesanan besar, harga tengah antara harga penawaran terbaik dan harga permintaan terbaik rentan terhadap harga gangguan.
Lebih jauh lagi, jika diberikan dua kasus dengan bentuk buku pesanan yang identik, tawaran terbaik dari buku pesanan yang terakhir akan menunjukkan harga wajar yang lebih rendah daripada tawaran terbaik dari buku pesanan yang pertama. Pertanyaan lainnya adalah apakah riwayat buku pesanan penting, dan jika demikian, haruskah kita fokus pada harga-waktu atau volume-waktu? Jadi, di mana limit order optimal pembuat pasar harus ditempatkan, mengingat karakteristik likuiditas pasar? Jika Anda memperketat kedalaman di bagian atas buku pesanan, pesanan dalam Anda akan melimpah, tetapi sedikit dalam satu waktu. Jika Anda memperketat kedalaman di bagian bawah buku pesanan, pesanan kedalaman Anda akan tipis, tetapi jumlahnya akan banyak setiap saat.
Ini sesungguhnya adalah masalah optimasi cembung dengan maksimum global yang unik. Pertimbangan lain adalah bahwa aliran pesanan datang seiring waktu dan terlihat seperti “proses Poisson” (https://zh.wikipedia.org/wiki/%E6%B3%8A%E6%9D%BE%E8%BF% 87 (%E7%A8%8B). Beberapa pihak berpendapat bahwa hal ini lebih dekat dengan “Proses Hawkes” (http://jheusser.github.io/2013/09/08/hawkes.html). Lebih jauh lagi, lonjakan beli dan jual yang coba ditangkap oleh para pembuat pasar adalah yang terpendek. versi istilah dari mean reversion. Karena pembalikan rata-rata jangka sangat pendek ini diskalakan oleh volatilitas lokal, masuk akal bagi para pembuat pasar untuk memperluas kuotasi mereka saat harga tinggi, dan memperketat kuotasi mereka saat volume rendah.

Bacaan lebih lanjut: mengurutkan intensitas kedatangan berdasarkan kedalaman (https://arxiv.org/pdf/1204.0148.pdf)

Bacaan lebih lanjut: Proses Hawkes (http://jheusser.github.io/2013/09/08/hawkes.html)
Pandangan pembuat pasar lainnya diwakili oleh buku pesanan ini. Buku pesanan mengungkapkan beberapa informasi tentang pembuat pasar lainnya. Ada lebih banyak tawaran daripada permintaan di dekat bagian atas buku pesanan, yang menunjukkan bahwa pembuat pasar lainnya lebih bersedia untuk menjual daripada membeli. Para pembuat pasar ini mungkin sudah memiliki kelebihan persediaan yang besar dan tidak seimbang, atau mereka mungkin sekadar percaya bahwa harga lebih mungkin turun daripada naik dalam jangka pendek. Dalam kedua kasus tersebut, sebagai pembuat pasar, Anda dapat menyesuaikan kuotasi Anda berdasarkan penyimpangan dalam buku pesanan.
Selain itu, ketika para pelaku pasar bersaing satu sama lain, Anda akan sering melihat perilaku “penny tick” ini jika tick-nya kecil. Para pelaku pasar bekerja dengan cara bersaing satu sama lain untuk menentukan harga hingga mencapai titik kapitulasi dan hanya satu “pemenang” yang diutamakan. Setelah pemenangnya ditentukan, pemenang kedua biasanya akan kembali ke harga sebelumnya sebelum tawaran atau penawaran terbaik berikutnya. Jika Anda kehilangan prioritas kutipan, Anda mungkin bisa mendapatkan prioritas kutipan kedua. Hal ini mengakibatkan fenomena regresi di mana pemenang kini mundur satu pergerakan harga di depan runner-up dan permainan tangga yang sama dengan dua pendaki dimulai lagi.

Bacaan lebih lanjut: http://parasec.net/transmission/order-book-visualisation/
Akhirnya, sinyal arah jangka panjang dapat mengesampingkan algoritma pembuatan pasar, di mana tujuan algoritma pembuatan pasar bukan lagi menjaga persediaan tetap stabil atau tidak berubah, tetapi memperhitungkan beberapa tujuan jangka panjang dan penyimpangan yang sesuai untuk mewujudkannya.
Kecepatan penting karena dua alasan utama. Pertama, Anda dapat mengisi pesanan di buku pesanan sebelum dibatalkan. Kedua, Anda dapat membatalkan pesanan di buku pesanan sebelum pesanan tersebut terpenuhi. Dengan kata lain, Anda ingin memiliki inisiatif dalam pelaksanaan dan pembatalan pesanan setiap saat. Algoritma arbitrase (aktif) dan algoritma eksekusi (aktif) lebih memperhatikan yang pertama, sedangkan algoritma pembuatan pasar (pasif) lebih memperhatikan yang terakhir.
Secara umum, pada prinsipnya, strategi yang paling diuntungkan dari kecepatan adalah strategi dengan logika paling sederhana. Logika yang rumit apa pun pasti akan memperlambat waktu perjalanan pulang pergi. Jenis strategi algoritmik yang rumit ini adalah mobil Formula 1 dalam dunia perdagangan. Validasi data, pemeriksaan keamanan, pengaturan perangkat keras, metode orkestrasi, dll. semuanya dapat ditiadakan demi kecepatan. Lewati OMS, EMS, dan PMS (Sistem Manajemen Portofolio Proyek) dan hubungkan langsung logika komputasi pada GPU ke antarmuka API biner dari bursa yang berlokasi bersama. Permainan yang cepat dan berbahaya.
Tipe lain dari strategi yang sensitif terhadap kecepatan, strategi arbitrase statistik relatif, adalah bahwa server benar-benar berlokasi di antara beberapa bursa, dan bukan berdampingan dengan satu bursa saja. Meskipun mereka tidak akan menjadi yang tercepat dengan data dari bursa tunggal mana pun, mereka akan mendapatkan harga sebelum strategi lain dan dapat bertindak berdasarkan data yang berkorelasi dan terkointegrasi.

Bacaan lebih lanjut: Lokasi Node Perdagangan Menengah yang Optimal untuk Bursa Efek Terbesar di Dunia (https://www.alexwg.org/publications/PhysRevE_82-056104.pdf)
Dalam permainan kecepatan, pemenangnya mengambil semuanya. Dalam contoh paling sederhana, jika ada peluang arbitrase, siapa pun yang dapat memperolehnya terlebih dahulu akan memperoleh keuntungan. Juara kedua mendapat remah-remah, juara ketiga tidak mendapat apa pun. Hasilnya kemungkinan didistribusikan menurut metode hukum daya. (Tentang hukum daya: https://zh.wikipedia.org/wiki/%E5%86%AA%E5%AE%9A%E5%BE%8B)
Permainan kecepatan juga merupakan sebuah kompetisi. Saat semua orang beralih dari jaringan fiber ke jaringan gelombang mikro atau laser, semua orang akan kembali berada pada posisi yang setara dan keuntungan awal apa pun akan dikomoditisasi.
Kebanyakan mesin pencocokan pesanan menganut pendekatan mengutamakan harga, kemudian mengutamakan waktu (pencocokan proporsional merupakan alternatif yang kurang umum, tetapi kami tidak akan mempertimbangkannya untuk saat ini). Harga yang lebih baik akan dieksekusi sebelum limit order pada harga yang lebih buruk dieksekusi. Untuk order limit pada harga yang sama, order yang dikirim lebih awal akan dieksekusi sebelum order yang dikirim kemudian.
Binance membagi order hingga 8 tempat desimal. Jika harga suatu transaksi adalah .000001, maka harga .00000001 adalah 1% dari transaksi. Jika harga transaksi adalah .0001, maka harga .00000001 adalah 1bps (yaitu, satu hop). Itu perbedaan yang besar. Dalam kasus pertama, melewatkan pesanan besar akan dikenakan biaya satu poin penuh, sehingga prioritas waktu lebih penting, sedangkan dalam kasus kedua, biayanya 100 kali lebih murah, sehingga prioritas harga lebih penting.
Dengan kata lain, jika Anda harus membayar 1% penuh untuk mendapatkan prioritas, hal itu mungkin tidak sepadan karena Anda membayar jumlah yang relatif besar sambil meningkatkan kemungkinan jumlah yang relatif kecil untuk diisi, dan mungkin pilihan yang lebih baik adalah untuk menunggu dalam antrean, tetapi jika Anda hanya perlu membayar 1 bps untuk mendapatkan prioritas perdagangan, Anda dapat melakukannya karena Anda mengurangi biaya marjinal dengan jumlah yang relatif kecil sambil meningkatkan kemungkinan sejumlah besar perdagangan terisi. Tanda harga yang lebih kecil mendukung prioritas harga, tanda harga yang lebih besar mendukung prioritas waktu.
Ini tentu saja mengarah ke pertanyaan berikutnya: Berapa nilai posisi antrian Anda? (Bacaan lebih lanjut: https://moallemi.com/ciamac/papers/queue-value-2016.pdf)

Hanya ada dua cara untuk mengurangi jumlah perdagangan dalam buku pesanan: dibatalkan secara aktif atau diisi. Jika pengurangan tersebut disebabkan oleh proses perdagangan, maka semua harga lainnya kecuali harga ini juga akan dikurangi karena proses perdagangan. Kita dapat mengurutkan catatan transaksi ini dengan mengaturnya dan menandai apakah setiap pengurangan disebabkan oleh transaksi atau pembatalan.
Secara intuitif, perdagangan berarti dua pihak sepakat untuk berdagang pada harga tertentu, sementara pembatalan berarti satu pihak memutuskan tidak lagi bersedia membeli atau menjual pada harga tertentu. Jadi, di permukaan, kita dapat mengatakan bahwa pembatalan pada tawaran terbaik adalah sinyal yang sangat kuat bahwa harga pasar akan bergerak turun dalam jangka pendek, diikuti oleh harga perdagangan di dekatnya.
Di sisi lain, harga dalam buku pesanan mulai naik, yang hanya dapat memiliki satu kemungkinan: meningkatkan jumlah pesanan batas yang tersisa.
Baik kenaikan maupun penurunan dalam buku pesanan mengindikasikan niat pribadi para pelaku pasar, sehingga memberikan sinyal pergerakan harga jangka pendek.
Saat ini, sebagian besar indeks harga mengambil data perdagangan dari beberapa bursa dan menggabungkannya bersama-sama untuk mendapatkan harga rata-rata tertimbang volume. Secara khusus, Indeks Tradeblock juga akan meningkatkan mekanisme penalti untuk bobot pertukaran, karena bobot pertukaran terkait erat dengan bursa yang tidak aktif dan bursa yang harganya menyimpang terlalu jauh. Apa lagi yang dapat kami tingkatkan?
Di GDAX, biaya pembuat adalah 0 basis poin dan biaya penerima adalah 30 basis poin. Misalnya, jika harga transaksi ditampilkan sebagai \(4000/BTC, harga jual sebenarnya adalah \)4000/BTC dan harga beli adalah \(4012/BTC. . “Harga wajar” untuk transaksi ini seharusnya mendekati \)4006/BTC daripada harga sebenarnya yang ditampilkan. Di sisi lain, karena biaya Bittrex sebesar 25bps berlaku untuk pembuat dan penerima, harga sebenarnya adalah harga yang ditampilkan. Dengan kata lain, harga yang ditampilkan sebesar \(4000/BTC sebenarnya adalah harga pembeli yang membeli pada harga \)4010/BTC dan harga penjual yang menjual pada harga $3990/BTC, dengan harga rata-rata merupakan harga yang ditampilkan itu sendiri.
Oleh karena itu, dari perspektif penemuan harga, harga catatan transaksi tidak dapat dibandingkan secara langsung di seluruh bursa, tetapi harus distandarisasi setelah mempertimbangkan hal di atas saat menyusun indeks harga. Tentu saja, ada beberapa faktor rumit yang menyebabkan komisi berbeda berdasarkan volume perdagangan. Misalnya, beberapa bursa menetapkan dan mengenakan biaya taker dan maker berdasarkan ukuran volume perdagangan. Hal ini juga menunjukkan dua akibat wajar yang menarik.
Pertama, penemuan harga terbatas, dalam beberapa hal, sementara juga memperkuat asimetri antara biaya pembuat dan penerima yang membagi bursa. Dengan asumsi bahwa sebagian besar akun di GDAX berada dalam tingkatan biaya pembuat dan penerima 0/30bps dan GDAX biasanya memiliki spread 1 sen pada buku pesanan BTCUSD, harga yang ditunjukkan dalam bid/ask untuk setiap perdagangan kira-kira adalah “nilai wajar”, dalam 15 poin spot dan setiap transaksi tinggi atau rendah, harga yang ditampilkan di antaranya kira-kira “nilai wajar”. Dengan demikian, “harga wajar” pada masa tenang berfluktuasi cepat antara kedua titik tersebut, tanpa penyempurnaan lebih lanjut dalam penentuan harga di antara keduanya.

Buku Pesanan GDAX
Kedua, seperti halnya hubungan pajak antara produsen dan konsumen, ada kesetaraan tertentu dalam tarif biaya yang dikenakan antara pembuat dan penerima. Jika Anda mengenakan biaya yang relatif lebih banyak pada pembuat, mereka akan memperluas buku pesanan dan meneruskan sebagian biaya kepada penerima. Jika Anda mengenakan biaya yang relatif lebih besar kepada penerima, maka pembuat akan memperketat buku pesanan dan menyerap sebagian biaya penerima.
Kasus ekstrem di sini adalah saat Anda sangat menyukai maker sehingga order book dipadatkan menjadi satu tick pada spread (seperti yang sering kita lihat pada GDAX) dan order book tidak bisa lebih ketat lagi. Berdasarkan ini, biaya tambahan apa pun kini akan dibebankan pada bursa itu sendiri sebagai pendapatan yang hilang.
Selain contoh ekstrem ini, kita dapat melihat bahwa yang menjadi masalah bukanlah pihak mana yang memungut biaya, melainkan jumlah biaya penerima dan pembuat. Pada akhirnya, seperti halnya kebijakan pajak Laffer Curvein, bursa menghadapi masalah pengoptimalan pendapatan dalam kebijakan biaya mereka. Kita dapat melihat bahwa pendapatan laba adalah sama dengan kebijakan pajak. Jika bursa tidak mengenakan biaya apa pun, mereka tidak memiliki pendapatan. Jika bursa mengenakan biaya 100%, tidak akan ada perdagangan dan dengan demikian tidak akan ada pendapatan bagi mereka. Dengan beberapa penyelidikan tambahan, menjadi jelas bahwa pendapatan pertukaran pada tingkat biaya total adalah fungsi cekung dengan maksimum yang unik.

Glosarium: Kurva Laffer (https://en.wikipedia.org/wiki/Laffer_curve)
Akan dilanjutkan