Artikel sebelumnya, Informasi Inti - Detail dan Pemikiran tentang Penawaran Riil Otomatis Sistem Perdagangan Kuantitatif (I. Masalah dan Kesulitan), membahas beberapa masalah dasar perdagangan riil dalam lingkaran mata uang. Artikel ini membahas tentang tujuan utama penawaran perusahaan.

Menurut saya ada empat yang utama:

1. Menerapkan logika strategi yang telah ditetapkan

Tidak ada keraguan tentang hal ini. Ketika ada sinyal, operasi terkait harus dilakukan, membuka dan menutup posisi. Poin ini mengharuskan Anda mencoba untuk tidak menggunakan limit order. Jika tidak, jika transaksi tidak dapat diselesaikan, Anda harus mengejar order tersebut. Harganya mungkin sudah terlalu jauh .

Dalam jangka panjang, slippage yang disebabkan oleh penggunaan market order kira-kira mirip dengan slippage yang disebabkan oleh kadang-kadang kehilangan limit order tetapi mengejar order, jadi lebih baik masuk dan keluar pasar secara langsung, kecuali strategi Anda sangat khusus.

Selain itu, jika Anda menggunakan limit order, kode Anda akan menjadi lebih rumit karena Anda harus mengelola limit order yang belum terisi lalu mengejar order. Dan bagaimana jika hanya sebagian dari limit order yang terisi? Apakah sisa limit order selalu hang? Atau haruskah saya melewatkan bagian tersebut dan mengeluarkan pesanan pasar lainnya? Operasi satu langkah semacam ini menghasilkan banyak perintah transaksi, dan peninjauan selanjutnya juga merepotkan dan mudah membingungkan. Oleh karena itu, sebaiknya gunakan market order saja. Selama pengajuan berhasil, pada dasarnya transaksi akan terjamin. Jika ini memang merupakan strategi yang sensitif terhadap slippage, maka perdagangkan hanya target dengan likuiditas yang baik.

Selain itu, untuk kontrak, leverage tidak boleh diubah sesuka hati. Yang terbaik adalah menggunakan leverage yang ideal untuk pengujian ulang dan kemudian mendiskonnya sebesar 20%. Jangan memprediksi pasar secara subyektif dan menyesuaikan leverage secara manual. Mengubah posisi juga merupakan hal yang tabu dalam perdagangan otomatis.

Yang terbaik adalah menang atau kalah secara otomatis dan mengurangi posisi. Ketika retracement mencapai level tertentu, leverage harus dikurangi pokok dan mengurangi leverage). Yang terpenting adalah akun kalian tetap hidup, jadi tak terkalahkan dulu. Anda dapat menunggu hingga kurva modal melewati periode retracement sebelum menambahkan kembali leverage. Namun jika menggunakan model bunga majemuk, maka kontrak otomatis menang dan kalah sudah sederhana.

2. Minimalkan selip

Hal ini telah disebutkan pada artikel sebelumnya. Slippage tidak bisa dihilangkan, hanya bisa dimitigasi. Hal ini mengharuskan Anda untuk memperoleh informasi harga pasar secepatnya, serta berbagai informasi dana dan posisi di akun bursa, sehingga Anda dapat merespon dengan cepat.

Dalam hal struktur keseluruhan penawaran sebenarnya, terdapat banyak sub-strategi dan memerlukan perolehan berbagai informasi secara tepat waktu. Oleh karena itu, diperlukan pusat pasar soket web khusus untuk berbagi tugas. Dilengkapi dengan pusat pasar Plan B Restful untuk cadangan. Dengan cara ini, jika websocket terputus dan tidak dapat dihubungkan, masih ada harga yang relatif baru untuk menilai apakah perlu meninggalkan pasar. Saat berlari, Anda harus cepat. Lebih baik berlari ke arah yang salah daripada terjebak kemacetan dan tidak tahu apa yang akan terjadi di masa depan.

3. Operasi jangka panjang

Hal ini telah disebutkan pada artikel sebelumnya. Lingkaran mata uang berjalan 7*24, dan kode Anda tidak dapat dimatikan. Hal ini mensyaratkan bahwa kode tidak akan terganggu oleh berbagai pengecualian yang diberikan, dan harus ada kode untuk menangani berbagai situasi yang tidak terduga. Seharusnya juga tidak ada bug seperti kebocoran memori, jika tidak program akan crash seiring waktu, dan bahkan seluruh server akan down. Untungnya, Python tidak rentan terhadap masalah seperti itu. Ia memiliki mekanisme daur ulang memori otomatis. Jika tidak berhasil, Anda dapat memulai ulang program perdagangan secara manual setiap hari atau beberapa hari. Bagaimanapun, ini adalah perdagangan frekuensi menengah dan rendah. Ini adalah persyaratan dasar pengembangan kode back-end dan mudah dicapai.

Umumnya, perdagangan kuantitatif menggunakan Python. Fitur utama Python, bahasa skrip, adalah kompilasi dinamis, yang memiliki efisiensi pengoperasian yang sedikit lebih rendah karena tidak mudah untuk di-debug karena dikompilasi dan dieksekusi pada saat yang sama (tetapi tidak akan memengaruhi transaksi frekuensi menengah dan rendah di semua). Jika ada masalah yang tersirat dalam logika kode, mungkin tidak mudah untuk dideteksi. Misalnya, jika ada 100 baris kode dan ada masalah pada baris 99, tetapi setiap kali hanya berjalan ke baris 95, maka masalah tidak akan ditemukan karena kesalahan harus ditemukan setelah berjalan ke baris 99 dan memicu kode yang relevan. Tapi ini mungkin sudah terlambat dan program akan langsung crash jika Anda tidak mencoba menangkap pengecualian.

Fitur lain sebenarnya termasuk dalam masalah yang disebutkan di atas. Karena Python diketik dengan kuat, konversi implisit jarang terjadi. Jika Anda terlalu mempercayai tipe data yang dikirimkan oleh server, terutama angka-angka tersebut, kemungkinan besar Anda akan mengalami kerugian, karena terkadang angka-angka tersebut akan menjadi string. Mata uang yang berbeda dalam pertukaran, versi API yang berbeda, dan data pengembalian yang sama dari websocket dan lainnya mungkin memiliki jenis yang berbeda. Oleh karena itu, pada prinsipnya, Anda harus memaksakan transformasi setiap saat, atau menentukan terlebih dahulu apakah perlu dilakukan transformasi.

Selain itu, jangan mencampurkan posisi pembukaan dan penutupan antara berbagai strategi, terutama strategi dengan mata uang yang sama, dan lakukan isolasi dengan baik. Jika tidak, dalam beberapa kondisi pasar yang ekstrem, strategi A akan menutup posisi strategi B, yang pada akhirnya akan menyebabkan ketidakselarasan. Anda mungkin harus menghentikan penawaran sebenarnya dan memulai lagi, yang akan menjadi tidak koheren dan Anda mungkin kehilangan tren pasar utama.

Singkatnya, semuanya ditujukan untuk pengoperasian real deal yang sepenuhnya otomatis dan bebas intervensi dalam jangka panjang.

Namun, jika strateginya terlalu rumit, mungkin tidak mudah untuk mencapai pendekatan yang sepenuhnya bebas intervensi. Menyederhanakan strategi juga menjadi titik awal, jangan terlalu rumit. Misalnya, sinyal seperti OBV harus digunakan dengan hemat, karena OBV perlu melacak informasi harga dan volume jangka panjang, dan perdagangan nyata memerlukan penyimpanan terlalu banyak data. Setiap gangguan dan restart adalah masalah yang merepotkan. Sebagai upaya terakhir, hindari faktor-faktor tersebut.

4. Pengendalian risiko

Ini adalah prioritas utama dari persyaratan penawaran perusahaan.

Yang paling bahaya adalah tidak bisa close posisi. Pasar bergerak ke arah sebaliknya dan terus berjalan liar Akibatnya, kode keluar Anda tidak terkendali, apa pun alasannya, posisi ditutup dengan kerugian. Dalam lingkaran mata uang, altcoin mungkin naik beberapa kali lipat dalam waktu singkat. Oleh karena itu, dalam kasus short sell, bahkan jika Anda tidak menggunakan leverage dan masih memiliki setengah posisi, karena berpikir bahwa Anda tidak perlu khawatir, posisi tersebut mungkin telah terhapus di pagi hari.

Oleh karena itu, penting untuk memastikan bahwa mekanisme keluar harus diterapkan. Jika Anda melewatkan kesempatan untuk membuka posisi, setidaknya tidak berakibat fatal. Jika Anda melewatkan kesempatan itu, sangat disayangkan, namun jika Anda melewatkan kesempatan untuk menutup posisi, maka akan menimbulkan masalah yang besar.

Berikut adalah dua solusi secara singkat, dan saya akan membicarakannya secara mendetail nanti ketika saya punya waktu.

Poin pertama adalah yang terbaik adalah memiliki stop loss keras, yang mirip dengan stop loss rasio kerugian tetap. Misalnya, jika mata uang besar kehilangan lebih dari 10% dan mata uang kecil kehilangan 15%, maka posisinya akan segera ditutup dan kabur.

Untuk metode hard stop loss, harga stop loss harus ditetapkan pada saat pembukaan posisi. Oleh karena itu, order stop-loss algoritmik (beberapa juga disebut order bersyarat) harus diajukan sesegera mungkin setelah pembukaan posisi, dan tidak perlu mengubah harga di tengah jalan. Dengan cara ini, bursa akan membantu Anda memantau harga secara real-time, dan kemudian membantu Anda mengirimkan perintah pasar untuk keluar dari pasar setelah dipicu. Mungkin ada banyak slippage dalam pendekatan ini, namun kemungkinan besar lebih stabil dan dapat diandalkan daripada stop loss yang Anda tentukan sendiri. Dan bahkan jika terjadi kesalahan dan tidak terpicu, Anda masih dapat pergi ke bursa hak klaim (jadi harus ke bursa paling atas) .

Tentu saja, stop loss semacam ini digunakan untuk menutupi bagian bawah dan sebaiknya jarang dipicu. Yang terbaik adalah mengontrol waktu keluar sesuai dengan strategi Anda sendiri, sehingga kemungkinan retracementnya lebih kecil.

Poin kedua adalah program tidak akan membuka posisi secara acak. Jangan membuka posisi terus-menerus tetapi mengira tidak, dan akhirnya membuka eksposur yang besar. Tidak apa-apa jika harga tidak berfluktuasi dalam waktu singkat, Anda bisa melakukan intervensi manual untuk memperbaikinya. Jika tiba-tiba berbalik, posisi Anda mungkin akan dilikuidasi, tergantung berapa banyak posisi yang Anda buka. Tentu saja ini adalah kesalahan tingkat rendah, tapi hal ini memang terjadi. Apalagi setelah melakukan iterasi dan upgrade kode di tengah jalan, hal itu mungkin tidak dipertimbangkan dengan cermat.

Dalam hal ini, Anda perlu memperlambat laju pembukaan posisi terlebih dahulu dan menunggu kembalinya hasil pembukaan posisi. Selain itu, pastikan untuk memeriksa dan mengonfirmasi informasi akun pada saat itu sebelum membuka posisi. Tentu saja, Anda juga dapat mencatat semua operasi secara lokal, yang akan menghemat jumlah permintaan API dan waktu untuk menanyakan bursa. status akun sendiri.

Selain itu, yang lebih efektif adalah membatasi leverage maksimum suatu bursa terlebih dahulu. Hal ini bisa Anda sesuaikan sendiri. Default Binance adalah 20 kali, tetapi Anda dapat mengubahnya menjadi 3 kali atau bahkan 2 kali (tentu saja, ini mengharuskan strategi Anda sendiri tidak menggunakan leverage yang tinggi, jika tidak, Anda tidak akan dapat membuka leverage yang tinggi pada saat yang seharusnya). Jadi betapapun gilanya kodenya, tidak mungkin membuat eksposur besar saat Anda sedang tidur. Ini lebih aman.

Singkatnya, terkadang penawaran sebenarnya tidak hanya berupa kode transaksi, tetapi juga perlu memberikan garis pertahanan lain agar tidak ditembus oleh peristiwa black swan. Jangan pernah menganggap enteng hal ini kapan pun dan cobalah untuk menutup titik buta.