Dalam artikel ini, kami akan membincangkan reka bentuk dan pelaksanaan algoritma perdagangan dalam mata wang Kanada. Khususnya, kami memberi tumpuan kepada algoritma pelaksanaan, algoritma pembuat pasaran dan beberapa pertimbangan struktur mikro pasaran. Kami juga mengkaji penyimpangan amalan dari teori, terutama dalam menangani ciri-ciri pasaran cryptocurrency.
Matlamat algoritma pelaksanaan adalah untuk mengubah keadaan portfolio ke dalam keadaan yang berbeza, sambil meminimumkan kos untuk melakukannya. Sebagai contoh, jika anda ingin meningkatkan kadar pendedahan BTCUSD sebanyak 1000, anda mungkin tidak mahu memasukkan pesanan pasaran ke dalam saluran perdagangan BitMEX dengan segera, yang mengakibatkan sejumlah besar titik geser. Sebaliknya, anda boleh mempertimbangkan untuk mendapatkan kedudukan yang anda mahukan secara perlahan melalui gabungan pesanan pasaran dan had pelbagai bursa yang berbeza.
Algoritma pelaksanaan biasanya mempunyai 3 lapisan: microtrader, microtrader dan penghala pintar.
Lapisan macrotrader membahagikan pesanan awal yang besar atau pesanan induk menjadi pesanan yang lebih kecil yang merangkumi masa. Sebenarnya, ia adalah bahagian penjadwalan keseluruhan algoritma. VWAP, TWAP, dan POV adalah contoh yang biasa dan mudah algoritma macrotrader. Secara umum, terdapat banyak model kesan pasaran yang berbeza yang boleh digunakan untuk merancang lapisan macrotrader yang kompleks. Reka bentuk model kesan pasaran memberi tumpuan kepada tindak balas pasaran terhadap pelaksanaan. Adakah pasaran akan kekal tidak berubah selepas pelaksanaan? atau pergi lebih jauh? atau akan kembali ke tahap tertentu? Dua model kesan pasaran yang paling inovatif adalah model kesan pasaran kekal Almgren-Chriss (1999, 2000) dan model kesan pasaran sementara Obizhu-Wang (2013) Obizhu-Wang.
Bacaan yang diperluaskan: pengaruh pasaran mula merosot selepas pelaksanaan perdagangan algoritma:https://arxiv.org/pdf/1412.2152.pdf.
Tahap microtrader menentukan sama ada untuk melaksanakan setiap suborder sebagai pesanan pasaran atau pesanan had, dan jika ia adalah pesanan had, harga apa yang harus ditentukan. Terdapat sedikit kesusasteraan mengenai reka bentuk microtrader, kerana saiz suborder biasanya merupakan sebahagian kecil dari keseluruhan pasaran, jadi bagaimana untuk melaksanakannya tidak penting. Walau bagaimanapun, pasaran mata wang digital berbeza, kerana kecairan sangat kecil, dan walaupun untuk suborder saiz biasa dalam amalan, titik geser sangat jelas. Reka bentuk Microtrader biasanya memberi tumpuan kepada masa dan kedalaman, kedudukan antrian dan ciri-ciri lain dari mikrostruktur pasaran. Perintah pasaran (yang sama dengan pesanan had jika kita mengabaikan kelewatan) boleh dijamin untuk dilaksanakan, tetapi pesanan had tidak mempunyai jaminan seperti itu. Jika anda tidak dapat menjamin pelaksanaan, anda mungkin tertinggal dari rancangan perdagangan yang ditetapkan oleh macrotrader.
Lapisan penghala pintar memutuskan bagaimana mengarahkan pesanan ke bursa yang berbeza. Sebagai contoh, jika Kraken mempunyai kecairan 60% dan GDAX (Coinbase ProPrime) mempunyai kecairan 40% pada tahap harga tertentu, maka microtrader harus mengimport pesanan ke bursa Kraken dan GDAX masing-masing pada 60% dan 40%.
Sekarang anda boleh mengatakan bahawa perantara dan pembuat pasaran di pasaran memindahkan kecairan dari satu bursa ke yang lain, jadi jika anda melaksanakan separuh daripada pesanan di Kraken dan menunggu beberapa saat, beberapa kecairan akan ditambah dari arbers dan stat arbers ke kecairan GDAX di Kraken, dan anda boleh menyelesaikan selebihnya kerja dengan harga yang sama. Walau bagaimanapun, walaupun dalam kes ini, arbers akan mengenakan bayaran tambahan untuk keuntungan sendiri dan memindahkan kos lindung nilai ke yuran pembuatan pasaran Kraken. Di samping itu, jumlah pesanan yang dikeluarkan oleh beberapa peserta pasaran melebihi skala yang ingin mereka lakukan di beberapa bursa, dan skala yang berlebihan akan dibatalkan sebaik sahaja kerugian dihentikan.
Akhirnya, adalah lebih baik untuk mempunyai penghala pintar tempatan anda sendiri. Penghala pintar tempatan ini juga mempunyai kelebihan kelewatan untuk perkhidmatan penghala pintar pihak ketiga. Dalam kes pertama, anda boleh mengarahkan secara langsung ke pertukaran, sementara dalam kes kedua, anda perlu menghantar mesej ke perkhidmatan penghala pihak ketiga terlebih dahulu, dan kemudian mereka menghantar pesanan anda ke pertukaran (selain itu, anda mesti membayar yuran penghala kepada pihak ketiga). Jumlah dua kaki segitiga mana-mana lebih besar daripada kaki ketiga.
Pembuat pasaran merujuk kepada menyediakan kecairan serta-merta dan pampasan untuk peserta pasaran yang lain. Anda mengambil risiko inventori sebagai pertukaran untuk nilai yang diharapkan positif. Pada akhirnya, terdapat dua sebab mengapa pembuat pasaran mendapat pampasan. Pertama, penerima pasaran mempunyai keutamaan masa dan mereka memerlukan segera. Sebagai pertukaran, pembuat pasaran yang memudahkan kecairan dapat mengimbangi keutamaan masa dan kesabaran mereka yang lebih rendah. Kedua, keuntungan PnL pembuat pasaran cenderung ke kiri, dan kebanyakan peniaga biasanya mempunyai keutamaan yang cenderung ke kanan. Dengan kata lain, pembuat pasaran serupa dengan syarikat perjudian di pasaran perjudian, kasino, syarikat insurans dan loteri nasional. Mereka sering memenangi bahagian kecil, tetapi mereka biasanya tidak kehilangan bahagian besar. Sebagai pampasan untuk pulangan yang tidak dijangka, pembuat keuntungan pasaran diberi pampasan untuk nilai yang dijangka.
Bacaan yang diperluaskan: kebelakangan:https://en.wikipedia.org/wiki/Skewness.
Dari perspektif peringkat tinggi, pesanan had adalah pilihan bebas di pasaran lain. Selebihnya pasaran mempunyai hak tetapi tidak berkewajiban untuk membeli atau menjual aset pada harga had pesanan had. Di pasaran di mana maklumat diketahui sepenuhnya, tidak ada yang akan menjual pilihan bebas. Ini kerana pasaran secara keseluruhan bukan pasaran dengan maklumat yang diketahui sepenuhnya dan tidak akan pernah masuk akal untuk menjual pilihan bebas. Di sisi lain, jika maklumat pasaran tidak diketahui sepenuhnya, pembuat pasaran netral risiko bersedia menjual pilihan pesanan had percuma ini dengan perbezaan harga yang kecil, kerana semua transaksi adalah bunyi bising. Jelas, peserta pasaran sebenar bercampur, dan setiap peserta mempunyai tahap maklumat yang diketahui dan tidak diketahui yang unik.
Apabila merancang algoritma pembuat pasaran, terdapat tiga pandangan yang perlu dipertimbangkan: pembuat pasaran, peserta pasaran dan pembuat pasaran lain.
Pembuat pasaran' pandangan sendiri diwakili oleh inventori mereka. Jika anda sudah mempunyai risiko aset yang terlalu banyak, anda mungkin mengurangkan sebut harga anda, dan sebaliknya. Anda melakukan ini untuk dua sebab yang berbeza. Pertama sekali, sebagai sebuah syarikat, anda mempunyai tahap tertentu keengganan risiko (mungkin kurang daripada individu, tetapi kurva utiliti mata wang anda masih cekung).
Bentuk fungsi utiliti ini mempunyai banyak struktur (seperti CARA, CRRA, dan HARA, dan lain-lain). Kedua, sebagai pembekal kecairan pasif di pasaran, anda akan menghadapi risiko pemilihan yang buruk. Penerima kecairan positif mungkin tahu apa yang anda tidak mempunyai, atau hanya lebih pintar daripada anda. Ini pada dasarnya adalah masalah menjual pilihan percuma ke pasaran.
Selain itu, walaupun pada tahap operasi mekanikal, pesanan pasaran dengan pesanan harga pasaran juga akan mengurangkan harga dengan cara penetapan harga pada harga pasaran, dan pesanan pasaran dengan sebut harga yang lebih tinggi akan dihargai pada harga pasaran. Pada saat yang tepat dari mana-mana transaksi, anda selalu berada di sisi yang salah. Di samping itu, sebut harga pembuat pasaran akan mempunyai kesan pasaran pasif. Dengan kata lain, tindakan menghantar pesanan ke buku pesanan yang tidak terisi sekurang-kurangnya akan menjauhkan pasaran dari anda.
Bacaan lanjutan: Fungsi penghindaran risiko:https://en.wikipedia.org/wiki/Risk_aversion.
Pandangan penerima pasaran dinyatakan oleh aliran pesanan. Kekerapan pesanan yang ditimbang jumlah sebagai fungsi kedalaman harus mempunyai beberapa ciri utama.
Fungsi harus:
Di samping itu, satu lagi faktor yang tidak diketahui ialah berapa banyak
Selain itu, mempertimbangkan dua kes dengan bentuk buku pesanan yang sama, tawaran terbaik buku pesanan terakhir akan menunjukkan bahawa harga yang wajar lebih rendah daripada tawaran terbaik buku pesanan sebelumnya. Satu lagi persoalan adalah sama ada sejarah buku pesanan itu penting. Jika ya, adakah kita harus memberi perhatian yang dekat kepada masa harga atau masa jumlah transaksi? Jadi memandangkan ciri-ciri aliran pasaran, di mana pesanan had harga terbaik pembuat pasaran harus diletakkan? Jika anda mengetatkan kedalaman di bahagian atas buku pesanan, pesanan kedalaman anda akan banyak, tetapi mereka sangat sedikit setiap kali. Jika anda mengetatkan kedalaman di bahagian bawah buku pesanan, pesanan mendalam anda akan sedikit, tetapi ada banyak setiap kali.
Ini sebenarnya adalah masalah pengoptimuman melengkung dengan maksimum global yang unik. Faktor lain yang perlu dipertimbangkan adalah bahawa aliran pesanan tiba sepanjang masa, yang kelihatan seperti proses
Bacaan yang diperluaskan: intensiti ketibaan pesanan berhubung kedalaman (https://arxiv.org/pdf/1204.0148.pdf).
Bacaan lanjutan: Proses Hawkes (http://jheusser.github.io/2013/09/08/hawkes.html)
Pendapat pembuat pasaran lain diwakili oleh buku pesanan, yang mendedahkan beberapa maklumat pembuat pasaran lain. Harga pembelian berhampiran bahagian atas buku pesanan lebih tinggi daripada harga jual, yang menunjukkan bahawa pembuat pasaran lain lebih bersedia untuk menjual daripada membeli. Pembuat pasaran ini mungkin sudah mempunyai jumlah stok yang tidak seimbang, atau mereka hanya berfikir bahawa harga lebih cenderung turun daripada naik dalam jangka pendek. Dalam kedua-dua kes, sebagai pembuat pasaran, anda boleh menyesuaikan sebut harga mengikut penyimpangan buku pesanan carta.
Selain itu, anda sering melihat tingkah laku
Bacaan lanjutan:http://parasec.net/transmission/order-book-visualisation/
Akhirnya, isyarat orientasi jangka panjang boleh merangkumi algoritma pembuatan pasaran, di mana matlamat algoritma pembuatan pasaran bukan lagi untuk mengekalkan tahap inventori atau tidak berubah, tetapi untuk mempertimbangkan beberapa matlamat jangka panjang dan penyimpangan yang sepadan untuk menjadikannya kenyataan.
Kelajuan adalah penting kerana dua sebab utama. Pertama, anda boleh menutup pesanan dalam buku pesanan sebelum membatalkan. Kedua, anda boleh membatalkan pesanan dalam buku pesanan sebelum diisi. Dengan kata lain, anda ingin mengambil inisiatif dalam mengisi dan membatalkan pesanan setiap masa. Algoritma arbitrage (aktif) dan algoritma pelaksanaan (aktif) lebih peduli dengan yang pertama, sementara algoritma pembuatan pasaran (pasif) lebih peduli dengan yang kedua.
Secara amnya, pada prinsipnya, strategi yang paling mendapat manfaat daripada kelajuan adalah yang mempunyai logika penghakiman yang paling mudah. Logik yang kompleks tidak dapat dielakkan akan memperlahankan masa perjalanan pulang pulang. Jenis strategi algoritma yang kompleks ini adalah kereta perlumbaan Formula 1 dalam dunia perdagangan. Pengesahan data, pemeriksaan keselamatan, tetapan perkakasan, dan kaedah susun atur mungkin dirampas, semua demi kelajuan. Langkau OMS, EMS dan PMS (Sistem Pengurusan Portfolio) dan sambungkan logik pengiraan pada GPU ke antara muka API binari pertukaran yang sama secara langsung. Permainan yang cepat dan berbahaya.
Satu lagi jenis strategi sensitif kelajuan, berbanding dengan strategi arbitrase statistik, pelayan sebenarnya terletak di beberapa bursa, dan bukannya hidup bersama dengan satu bursa.
Bacaan lanjutan: Lokasi simpul perdagangan perantara terbaik bursa saham terbesar di dunia (https://www.alexwg.org/publications/PhysRevE_82-056104.pdf)
Dalam permainan kelajuan, pemenang mengambil semua. Dalam contoh yang paling mudah, jika terdapat peluang arbitrase, sesiapa yang dapat mendapatkan peluang arbitrase terlebih dahulu akan mendapat keuntungan. Tempat kedua mendapat remah-remah, dan tempat ketiga tidak mendapat apa-apa. Pendapatan mungkin diedarkan dengan cara undang-undang kuasa. (Tentang undang-undang kuasa:https://zh.wikipedia.org/wiki/冪定律)
Permainan kelajuan juga merupakan persaingan. Apabila semua orang menaik taraf dari rangkaian serat optik ke rangkaian gelombang mikro atau laser, semua orang akan kembali ke persekitaran persaingan yang adil, dan sebarang kelebihan awal akan dikomersialkan.
Kebanyakan enjin yang menyamai pesanan mengikuti prinsip harga terlebih dahulu, dan kemudian masa terlebih dahulu (pencocokan proporsional adalah alternatif yang kurang biasa, tetapi kita tidak akan mempertimbangkannya sekarang). Harga yang lebih baik akan dilaksanakan sebelum pesanan had harga yang lebih buruk dilaksanakan. Untuk pesanan harga terhad dengan harga yang sama, pesanan yang dihantar sebelumnya akan dilaksanakan sebelum pesanan yang dihantar kemudian.
Binance membahagikan pesanan hingga 8 tempat perpuluhan. Jika harga transaksi adalah.000001, harga.00000001 adalah 1% daripada transaksi. Jika harga transaksi adalah.0001, harga.00000001 adalah 1 bps (iaitu, satu hop). Ini adalah perbezaan yang besar. Dalam kes pertama, melangkau pesanan besar mengambil titik lengkap, jadi keutamaan masa lebih penting. Dalam kes kedua, ia 100 kali lebih murah, jadi keutamaan harga lebih penting.
Dengan kata lain, jika anda perlu membayar 1% daripada jumlah penuh untuk mendapatkan keutamaan transaksi, ia mungkin tidak berbaloi, kerana anda membayar jumlah yang agak besar, dan meningkatkan kemungkinan ditutup dengan jumlah yang agak kecil, dan mungkin lebih baik menunggu dalam barisan, tetapi jika anda hanya perlu membayar 1 bps untuk mendapatkan keutamaan transaksi, anda boleh melakukannya, kerana anda mengurangkan kos marginal yang agak kecil, ia meningkatkan kebarangkalian sejumlah transaksi yang agak besar pada masa yang sama. lompatan harga yang lebih kecil mendorong keutamaan harga, sementara lompatan harga yang lebih besar mendorong keutamaan masa.
Ini secara semula jadi membawa kepada soalan seterusnya: Apakah nilai kedudukan barisan anda?https://moallemi.com/ciamac/papers/queue-value-2016.pdf)
Terdapat hanya dua cara untuk mengurangkan jumlah urus niaga pesanan dalam buku pesanan: mereka dibatalkan secara sukarela atau ditutup. Jika penurunan disebabkan oleh proses perdagangan, semua harga lain juga akan menurun kerana proses perdagangan. Kita boleh menyusun rekod transaksi ini dengan menyusunnya dan menandakan sama ada setiap pengurangan disebabkan oleh transaksi atau pembatalan.
Secara intuitif, perdagangan bermaksud bahawa kedua-dua pihak bersetuju untuk berdagang pada harga tertentu, sementara pembatalan bermaksud bahawa satu pihak memutuskan untuk tidak membeli atau menjual pada harga tertentu.
Sebaliknya, harga dalam buku pesanan mula meningkat. hanya ada satu kemungkinan: meningkatkan bilangan pesanan had yang tersisa.
Peningkatan dan penurunan dalam buku pesanan menunjukkan kehendak peribadi peserta pasaran, sehingga memberikan isyarat pergerakan harga jangka pendek.
Pada masa ini, kebanyakan indeks harga mendapatkan data dagangan dari pelbagai bursa dan menggabungkannya bersama-sama untuk mendapatkan harga purata berwajaran jumlah. Khususnya indeks Tradeblock juga akan meningkatkan mekanisme penalti berat pertukaran, yang sangat berkaitan dengan ketidakaktifan dan pertukaran yang menyimpang terlalu jauh dari harga. Selain itu, apa lagi yang boleh kita perbaiki?
Pada GDAX, yuran pembuat adalah 0 mata asas dan yuran pengambil adalah 30 mata asas. Sebagai contoh, harga urus niaga ditunjukkan sebagai $ 4000 / BTC, yang sebenarnya adalah harga jual penjual $ 4000 / BTC dan harga pembelian pembeli $ 4012/BTC.
Oleh itu, dari perspektif penemuan harga, harga rekod transaksi tidak boleh dibandingkan secara langsung di antara bursa, dan harus disatukan selepas pembinaan indeks harga mengambil kira keadaan di atas. Sudah tentu, terdapat beberapa faktor kompleks yang membawa kepada komisen yang berbeza berdasarkan jumlah transaksi. Sebagai contoh, beberapa bursa menetapkan dan mengenakan yuran pembuat dan pembuat mengikut jumlah transaksi. Ini juga menyiratkan dua kesimpulan yang menarik.
Pertama sekali, penemuan harga adalah terhad. Dalam beberapa cara, ia juga menguatkan asimetri antara pertukaran mengenai pembuat dan kos pembuat. Dengan mengandaikan bahawa kebanyakan akaun GDAX berada pada tahap 0/30 mata asas yuran pembuat dan penerima dan bahawa GDAX biasanya mempunyai perbezaan sen dalam buku pesanan BTCUSD, harga yang dipaparkan dalam tawaran untuk setiap transaksi adalah kira-kira
Buku pesanan GDAX
Kedua, seperti hubungan cukai antara pengeluar dan pengguna, terdapat tahap kesamaan antara pembuat dan penerima dari segi kesan kos. Jika anda mengenakan bayaran kepada pembuat yang agak lebih tinggi, mereka akan memperluaskan buku pesanan dan memindahkan beberapa yuran kepada penerima. Jika anda mengenakan bayaran yang agak lebih tinggi untuk penerima, pembuat akan mengetatkan buku pesanan dan menyerap sebahagian daripada yuran pembuat.
Satu kes yang melampau di sini adalah bahawa anda suka pembuat begitu banyak bahawa buku pesanan ditekan ke dalam lompatan harga (seperti yang sering kita lihat di GDAX) dan buku pesanan tidak boleh diperketat lagi.
Sebagai tambahan kepada contoh yang melampau, kita dapat melihat bahawa tidak penting pihak mana yang mengumpul yuran, tetapi jumlah yuran pembuat dan pembuat. Akhirnya, seperti dasar cukai Laffer Curvein, pertukaran menghadapi masalah pengoptimuman pendapatan dalam dasar pengisian. Kita dapat melihat bahawa pendapatan keuntungan adalah sama dengan dasar cukai. Jika pertukaran tidak mengenakan sebarang yuran, mereka tidak akan mendapat pendapatan. Jika pertukaran mengenakan yuran 100% yuran, tidak ada transaksi, jadi mereka tidak mempunyai pendapatan. Melalui beberapa penyelidikan tambahan, jelas bahawa pendapatan pertukaran pada tahap kos keseluruhan adalah fungsi cekung dengan maksimum yang unik.
Penjelasan istilah: Laffer lengkung (https://en.wikipedia.org/wiki/Laffer_curve)
Untuk diteruskan...