Pemula, periksa Membawa Anda ke Cryptocurrency Quantitative Trading (1)

Penulis:Ninabadass, Dibuat: 2022-04-15 17:32:34, Diperbarui: 2022-04-22 14:44:33

Pemula, periksa Membawa Anda ke Cryptocurrency Quantitative Trading (1)

Dengan perkembangan perdagangan kuantitatif aset blockchain, semakin banyak pedagang aset blockchain telah mengenali alat perdagangan kuantitatif. Tetapi sebagai anggota baru dari lingkaran ini, Anda sangat bingung tentang banyak konsep, bingung dengan berbagai istilah, perangkat lunak, informasi, dll. Artikel ini akan membawa Anda untuk memahami dan membiasakan diri dengan konsep umum, dan memahami berbagai informasi berguna dalam perdagangan kuantitatif aset blockchain dari berbagai aspek. Artikel ini pertama-tama meringkas konsep dasar, dan kemudian memberikan contoh pada platform FMZ Quant Trading yang sesuai dengan konsep dasar ini.

  • Platform

    Pertama-tama, kita perlu memahami konsep platform. Kita perlu berspekulasi dan berinvestasi dalam aset blockchain di tangan kita pada platform. Ada banyak platform saat ini, senior, berkembang, skala besar dan skala kecil.

    • Akun platform Akun platform adalah akun yang terdaftar dan dibuka di platform. aset blockchain dapat disimpan di akun ini untuk perdagangan.Sub-rekeningDi bawah akun utama untuk memfasilitasi perdagangan terpisah dan spekulasi aset. Aplikasi, mekanisme, dan penggunaan sub-akun untuk setiap platform berbeda. Anda perlu memeriksa informasi di situs web platform tertentu. atau berkonsultasi dengan layanan pelanggan platform.

      Setelah masuk dengan akun di situs web platform, Anda biasanya dapat melihat bahwa tempat di mana aset blockchain dapat disimpan dibagi menjadi beberapa akun (di sini adalah akun logis, bukan akun platform).rekening dompet, akun perdagangan mata uang, rekening manajemen keuangan, Rekening perdagangan kontrakBiasanya, setelah terjun ke aset blockchain (koin), aset berada di bawah akun (bisa di akun dompet, atau langsung ke akun perdagangan mata uang). Oleh karena itu, setelah mengisi ulang, Anda perlu memeriksa di mana aset berada, dan mentransfer ketika Anda perlu mentransfer (misalnya, ketika Anda perlu berdagang futures).

    • API sistem platform Banyak siswa yang belum menggunakan fungsi di platform mungkin bertanya: Apa itu antarmuka API? Antarmuka API adalah antarmuka yang diberikan oleh sistem platform yang memungkinkan operasi program. Sederhananya, pertukaran memberikan saluran untuk memungkinkan (bot script) program dalam sistem platform (bayangkan pasar pasangan perdagangan tertentu di situs web platform) untuk menempatkan pesanan, membatalkan pesanan, memeriksa pesanan, aset dan posisi akun, serta melakukan operasi lain dalam sistem platform.

      API platform dibagi menjadi berbagai jenis antarmuka; biasanya, adaRESTantarmuka protokol danWebSocketbeberapa platform juga menyediakanFIXkita hanya perlu memiliki pemahaman tentang antarmuka tersebut. antarmuka yang paling umum digunakan adalah protokol REST. dokumentasi antarmuka ini biasanya dapat ditemukan di link dengan kataAPIdi bagian bawah situs web resmi platform tersebut. Terkadang, untuk menanyakan beberapa informasi kesalahan antarmuka, Anda masih perlu memeriksa dokumentasi antarmuka. Sistem API dari setiap platform berbeda, dan perbedaannya relatif besar. Untuk masalah tertentu, Anda perlu memeriksa dokumentasi mereka. Jika Anda bukan pengembang strategi, ini hanya untuk pemahaman.

    • Kunci API dari akun Akun API KEY harus dipahami dengan cermat, karena ini terkait dengan keamanan aset blockchain yang disimpan di platform yang Anda gunakan. Dikatakan bahwa antarmuka API adalah saluran, maka API KEY dapat dipahami sebagailulusJika ada saluran akses, tidak semua program dapat diizinkan untuk mengakses, karena itu berbahaya. Oleh karena itu, verifikasi diperlukan, dan API KEY digunakan untuk memverifikasi identitas. Oleh karena itu, API KEY terkait dengan keamanan aset Anda, sehingga harus disimpan dengan benar.

      Biasanya, APIKEY dari sebuah platform dibuat di sudut kanan atas halaman platform, di halaman manajemen akun (dapat juga ada platform yang menempatkannya di tempat lain di halaman web, cari tautan dengan kata kunci API dan klik untuk menemukannya). API KEY terdiri dari dua string; string pertama biasanya disebutaccess key, dan string kedua biasanya disebutsecret key. Ada juga platform yang API KEY juga memiliki informasi lain. Misalnya antarmuka OKEX V5 dan V3 juga memilikiPassPhrase, yang juga terdiri dari satu string (string yang perlu diatur oleh Anda sendiri untuk memperkuat verifikasi keamanan). Ketika mengatur API KEY, biasanya perlu untuk mengatur izin dari API KEY ini. Secara umum, ada izin seperti trade dan withdrawal. Ini harus diatur sesuai dengan tujuan API KEY, dan izin untuk menarik koin perlu digunakan dengan hati-hati. Selain izin, API KEY juga dapat mengatur daftar putih alamat IP. Jika Anda menggunakan IP selain daftar putih alamat IP ini (Anda dapat mencari di Baidu jika Anda tidak memahami konsep alamat IP) untuk mengakses antarmuka, akses akan ditolak (yaitu, jaringan di luar daftar putih IP tidak dapat mengakses atau mengoperasikan akun Anda).

    • Obyek pertukaran Konsep objek pertukaran adalah konsep di FMZ Quant Trading Platform (FMZ.COMSederhananya, ini mengacu pada objek yang dihasilkan oleh enkapsulasi antarmuka platform. Obyek ini adalah exchange dalam kode strategi FMZ. Menelpon fungsi exchange.GetTicker sebenarnya memanggil antarmuka untuk mengakses data pasar platform. Untuk rincian, silakan lihat dokumentasi API FMZ:https://www.fmz.com/api#exchangeSebuah platform dapat memiliki modul futures dan modul spot. Karena objek pertukaran futures dan objek pertukaran spot yang didefinisikan di FMZ adalah jenis objek pertukaran yang berbeda, modul tersebut dibedakan (objek pertukaran futures memiliki beberapa fungsi lebih dari objek pertukaran spot, seperti fungsi pengaturan leverage dan fungsi permintaan posisi, dll.

      Jika strategi adalah untuk mengoperasikan obyek pertukaran berjangka, tambahkan berjangka, dan jika Anda ingin mengoperasikan obyek pertukaran spot, tambahkan spot. Alasan untuk desain ini adalah bahwa platform mungkin memiliki antarmuka berjangka dan spot yang sama sekali berbeda, dan bahkan alamat basis antarmuka yang berbeda, sehingga mereka dikemas secara terpisah.

      Pada platform FMZ, exchange adalah objek pertukaran, yang mewakili akun platform.https://www.fmz.com/api#exchanges

  • Pasar Perdagangan

    Pasar perdagangan yang disebutkan di sini mengacu pada situasi pasar perdagangan tertentu (bayangkan halaman perdagangan), biasanya diperdagangkan dalam beberapa modul.perdagangan mata uang, perdagangan margin spot, perdagangan kontrak, dll.

    • Pasangan perdagangan Apa yang biasanya kita maksud dengan trading pair adalah apa yang kita beli dan jual, seperti ketika kita pergi ke pasar untuk membeli kubis.kuah_uangadalah pasangan perdagangan (menggunakan tanda sorot " _ " untuk membagi). Seorang pembeli membayar kubis, dan penjual memberikan kubis kepada pembeli untuk mendapatkan uang.BTC_USDT; kita membeli dalam pasangan perdagangan ini, yang berarti membayar USDT untuk mendapatkan BTC. Operasi penjualan adalah membayar BTC untuk mendapatkan USDT. MengambilBTC_USDTSebagai contoh, kita biasanya menyebut BTC sebagai simbol mata uang perdagangan dan USDT sebagai simbol mata uang kutipan.

      • Mata uang dasar
      • Mata uang kutipan
    • Tempatperdagangan mata uangdanperdagangan margin spotPerdagangan spot hanya perlu menentukanpasangan perdaganganuntuk menggambarkan pasar mana yang diperdagangkan. Misalnya, ketika Anda menggunakannya di FMZ Quant, jika Anda ingin membuat pasangan perdagangan pertukaran BTC untuk USDT. Mata uang perdagangan adalah BTC, dan mata uang kutipan adalah USDT. Kita menggunakan fungsiexchange.SetCurrency("BTC_USDT")di platform FMZexchange.SetCurrency("BTC_USDT")untuk mengubah pasangan perdagangan saat ini menjadi:BTC_USDT.

      Untuk siswa yang tidak mengertiSetCurrency, Anda dapat merujuk pada:https://www.fmz.com/api#exchange.setcurrencyAku tidak tahu. Untuk siswa yang tidak mengertiexchange, Anda dapat merujuk pada:https://www.fmz.com/api#exchange.

    • Kontrak (future & option) Perdagangan kontrak sangat berbeda dari perdagangan spot.crypto-margined contractsdanUSDT-margined contracts. Untuk perdagangan programatik dan perdagangan kuantitatif, perlu untuk menentukan tidak hanya pasangan perdagangan, tetapi juga jenis kontrak. Sebagai contoh, jika kita ingin berdagang dengan BTC, maka ada banyak kontrak BTC, termasuk kontrak triwulanan (pengiriman ketika kadaluarsa setiap kuartal), kontrak mingguan (pengiriman ketika kadaluarsa setiap hari Jumat), kontrak abadi (non-pengiriman), dll. Kemudian jika hanya satu pasangan perdagangan yang digunakan untuk identifikasi, jenis kontrak apa yang akan digunakan? Oleh karena itu, kode kontrak khusus diperlukan untuk menggambarkan dan menentukan itu. Dengan cara ini, ketika kita menjelaskan pasar kontrak mana yang akan diperdagangkan, kita perlu menjelaskan simbol mata uang (pasangan perdagangan) dan jenis kontrak (kode kontrak) apa itu.

      • Kontrak dengan margin kripto Kontrak yang menggunakan cryptocurrency sebagai margin (seperti BTC crypto-margined contract, yang menggunakan BTC sebagai margin, dan pengembaliannya juga BTC), pengembaliannya juga cryptocurrency. Biasanya, mata uang kutipan dari pasangan perdagangan kontrak crypto-margined dinyatakan dalam USD (tidak perlu membahasnya secara mendalam, sebagian besar platform menggunakannya untuk mengekspresikan). Jadi pasangan perdagangan adalah BTC_USD, dan kontraknya adalah kontrak triwulanan.BTC crypto-margined quarterly contractpasar. Di FMZ Quant Trading Platform,exchange.SetCurrency("BTC_USD")menetapkan pasangan perdagangan, dan kemudianexchange.SetContractType("quarter")Dengan cara ini, simbol perdagangan saat ini adalahBTC crypto-margined quarterly contract.

      • Kontrak dengan margin USDT Kontrak yang menggunakan USDT sebagai margin (seperti BTC USDT-margined perpetual contract, yang menggunakan USDT sebagai margin, dan pengembaliannya juga USDT), pengembaliannya juga USDT. Biasanya, mata uang kutipan dari pasangan perdagangan dari kontrak bermargin USDT dinyatakan dalam USDT. Oleh karena itu pasangan perdagangan adalah BTC_USDT, dan kontraknya adalah kontrak abadi. Ini berarti bahwa pasar perdagangan yang kita bicarakan adalahBTC USDT-margined perpetual contractpasar. Di FMZ Quant Trading Platform,exchange.SetCurrency("BTC_USDT")menetapkan pasangan perdagangan, dan kemudianexchange.SetContractType("swap")dengan cara ini, simbol perdagangan saat ini adalahBTC USDT-margined perpetual contract.

    • Perintah Apa arti perintah? Order adalah tiket order yang kita kirimkan ke platform ketika kita membeli atau menjual di platform. Order dibagi menjadi order pasar, order limit, order bersyarat, dll. Atribut paling dasar dari order adalah: subjek order (secara sederhana, apa yang harus dibeli atau dijual), jumlah order (berapa banyak untuk membeli atau menjual), dan harga order (pada harga apa untuk membeli atau menjual). Jika order berikutnya tidak peduli berapa banyak, itu hanya menentukan jumlah untuk membeli atau menjual dan apa yang harus dibeli atau dijual, maka order semacam itu disebut order pasar. Tentu saja, ada juga order bersyarat (stop-loss, order iceberg, dll.), yang terkait dengan platform. Beberapa platform menyediakan order bersyarat, dan beberapa tidak. Untuk rincian, Anda dapat memeriksa dokumentasi API FMZ.

      • Tempat Spot order dan market order biasanya perlu diperhatikan untuk membeli order. Jumlah order pembelian order spot market bukan jumlah simbol mata uang tetapi jumlah uang. Karena order pasar tidak menentukan harga, hanya jumlah uang yang dapat digunakan untuk menentukan berapa banyak yang harus dibeli. Jumlah order pasar jual adalah jumlah simbol mata uang, karena bahkan jika harga tidak pasti, jumlah simbol mata uang yang dijual dapat ditentukan.

      • Kontrak Jumlah pesanan kontrak adalah khusus, biasanya jumlah kontrak. Antarmuka pesanan kontrak platform pada dasarnya adalah jumlah kontrak, dan tidak ada antarmuka yang mengambil jumlah simbol mata uang sebagai jumlah pesanan. Secara umum,tidak peduli apakah itu adalah pesanan pasar atau pesanan batas, jumlah pesanan adalah jumlah jumlah kontrak.

      • Pengambil order & pembuat order Taker order adalah order yang menyediakan likuiditas. Sederhananya, ini berarti bahwa harga pasar saat ini adalah 10 untuk membeli satu dan 11 untuk menjual satu. Pada saat ini, saya menunggu order beli dengan harga beli 9, atau order jual dengan harga jual 12. Kemudian, saya memberikan order untuk kedalaman di pasar. Order saya ini adalah pembuat.

        Misalnya, fungsi penempatan pesananexchange.Selldanexchange.BuyKetika menempatkan order, apakah order diklasifikasikan sebagai taker atau maker tergantung pada harga order dan pasar saat ini, dan apakah order memberikan likuiditas atau mengurangi likuiditas. Ketika mengimpor harga -1 pada FMZ Quant, itu adalah untuk menempatkan pesanan pasar. Perhatikan bahwa jumlah pesanan pesanan pasar spot adalah jumlah uang, maka pesanan pasar pasti mengurangi likuiditas, dan itu harus menjadi pesanan pemegang.

      • Perintah bersyarat platform Banyak platform juga mendukung perintah bersyarat, sepertiiceberg order, stop loss order, stop profit order, post_only: only place maker order, fok: all executed or canceled immediately, ioc: executed immediately or cancel the rest, dll. Perintah ini dapat menggunakanexchange.IOFungsi pada FMZ Quant untuk langsung mengakses antarmuka pesanan platform untuk menentukan parameter yang akan ditetapkan (menentukan perintah bersyarat yang akan ditempatkan) untuk menempatkan pesanan.exchange.IOFungsi, silakan lihat dokumentasi FMZ API:https://www.fmz.com/api#exchange.io...

  • Platform Perdagangan Kuantitatif

    Platform perdagangan kuantitatif dapat dianggap sebagai alat perdagangan kuantitatif, bisa menjadi sistem perangkat lunak online, situs web, atau program eksekusi lokal, atau bahkan proyek open source di GITHUB.

    • Platform Perdagangan Kuantum FMZ FMZ Quant Trading platform adalah sistem online terdistribusi; untuk kenalan dengan platform dan tutorial, Anda dapat merujuk ke:https://www.fmz.com/bbs-topic/4145

    • Sistem backtest dari FMZ Quant Trading Platform Apa itu sistem backtest? Secara sederhana, sistem backtest adalah untuk memutar ulang data sejarah dari simbol perdagangan tertentu, dan membiarkan strategi tertentu dimasukkan ke dalam pemutaran ulang, dan mendapatkan kinerja perdagangan strategi saat mensimulasikan pemutaran ulang data sejarah.

      FMZ Quant Trading Backtest System (Sistem Uji Kembali Perdagangan Kuantum FMZ):

      Nama Jenis Instruksi
      Bitfinex objek pertukaran spot mendukung pasangan perdagangan terbatas, seperti: BTC_USD, ETH_USD dan LTC_USD, dll (perhatikan mata uang kutipan dari pasangan perdagangan adalah dolar AS)
      Binance objek pertukaran spot mendukung pasangan perdagangan terbatas, seperti: BTC_USDT, ETH_USDT, ETH_BTC dan LTC_BTC, dll.
      Baiklah. objek pertukaran spot mendukung pasangan perdagangan terbatas, seperti: BTC_USDT, ETH_USDT, ETH_BTC dan LTC_BTC, dll.
      Huobi objek pertukaran spot mendukung pasangan perdagangan terbatas, seperti: BTC_USDT, ETH_USDT, ETH_BTC dan LTC_BTC, dll.
      OKEX Futures objek pertukaran futures mendukung pasangan perdagangan terbatas, seperti: BTC_USD dan ETH_USD, dll.; mata uang penawaran dari pasangan perdagangan adalah USD; setelah pengaturan kode kontrak tertentu (silakan lihat fungsi exchange.SetContractType), kontrak adalah kontrak dengan margin crypto; kode kontrak yang didukung meliputi: this_week, next_week, quarter dan swap
      HuobiDM objek pertukaran futures HuobiDM adalah Huobi Futures (Huobi Contract), mendukung pasangan perdagangan terbatas, seperti: BTC_USD dan ETH_USD, dll.; mata uang kutipan dari pasangan perdagangan adalah USD; setelah pengaturan kode kontrak tertentu (silakan lihat fungsi exchange.SetContractType), kontrak adalah kontrak dengan margin kripto; kode kontrak yang didukung meliputi: this_week, next_week, quarter dan swap.
      BitMEX objek pertukaran futures Pasangan perdagangan adalah XBT_USD; setelah pengaturan kode kontrak tertentu (silakan lihat fungsi exchange.SetContractType), kontrak adalah kontrak dengan margin kripto; kode kontrak yang didukung adalah: XBTUSD
      Binance Futures objek pertukaran futures mendukung pasangan perdagangan terbatas, seperti: BTC_USDT dan ETH_USDT, dll.; mata uang kutipan dari pasangan perdagangan adalah USD; setelah pengaturan kode kontrak tertentu (silakan lihat fungsi exchange.SetContractType), kontrak adalah kontrak dengan margin USDT; kode kontrak yang didukung adalah swap
      Opsi Derbit objek pertukaran futures Pasangan perdagangan adalah: BTC_USD dan ETH_USD; setelah pengaturan kode kontrak tertentu (silakan lihat fungsi exchange.SetContractType), kontrak adalah kontrak dengan margin kripto; kode kontrak opsi tertentu perlu ditetapkan
    • API KEY dari perdagangan kuantitatif Semua platform memiliki antarmuka API, dan platform perdagangan kuantitatif juga memiliki antarmuka API.extended API. Beberapa fungsi dari platform FMZ dapat dioperasikan secara terprogram. Misalnya, menambahkan bot dalam batch, memulai bot dalam batch, memodifikasi konfigurasi bot dalam batch, dll. Untuk rincian, silakan lihat:https://www.fmz.com/api#fmz平台扩展apiAku tidak tahu. API diperpanjang juga dapat digunakan untuk melakukan sesuatu yang menarik, misalnyaGunakan API diperluas pada FMZ Quant untuk mewujudkan TradingView Alert Signal Trading

  • Skrip Perdagangan yang Diprogram

    Apa sebenarnya yang secara otomatis mengontrol akun platform saya untuk trading? Ini adalah perwujudan khusus dari program trading dan perdagangan kuantitatif - skrip perdagangan terprogram. Program-program real-time ini dapat ditulis dalam berbagai bahasa. Misalnya, FMZ Quant Trading Platform mendukung menulis strategi perdagangan real-time dalam bahasa JavaScript, Python, dan C ++. Program skrip ini melakukan berbagai operasi seperti membeli dan menjual akun melalui antarmuka API platform.

    • Perangkat di mana skrip perdagangan yang diprogram berjalan Program skrip bot harus memiliki pembawa perangkat (singkatnya, bot harus memiliki tempat untuk dijalankan). Perdagangan kuantitatif di lingkaran cryptocurrency biasanya menyebarkan program bot ke server Alibaba Cloud di Hong Kong (tentu saja, Anda juga dapat menggunakan server dari tempat lain, operator lain). Mengingat fakta bahwa banyak platform saat ini membutuhkan akses jaringan luar negeri, tidak mungkin menggunakan server domestik untuk menjalankan banyak antarmuka API platform. Secara umum, jika antarmuka tidak dapat diakses, kesalahantimeoutakan dilaporkan. Pada FMZ Quant, Anda biasanya dapat menyebarkan program perangkat lunak Anda sendiri di server Alibaba Cloud di Hong Kong (perangkat lunak pembawa bot FMZ Quant disebut Docker, dan bot perdagangan kuantitatif dijalankan berdasarkan perangkat lunak docker).

      • Sistem perangkat Berbagai sistem operasi, seperti windows/Linux/MAX OS/ARM Linux, dll, dipilih sesuai dengan skrip bot. Dalam FMZ Quant, server sistem Linux biasa digunakan. Penggunaan sistem Linux sebenarnya tidak rumit. Untuk penggunaan yang sederhana, Anda hanya perlu menguasai beberapa perintah. Ini dijelaskan dalam tutorial di FMZ.
    • Pilihan bahasa skrip Ada begitu banyak bahasa pemrograman, dan pada dasarnya semuanya dapat digunakan untuk menulis program skrip bot. Di sini kita juga akan mengambil FMZ Quant Trading Platform sebagai contoh untuk membuat Anda memahami keuntungan dari berbagai bahasa.

      • JavaScript Ini sederhana dan mudah digunakan, hampir tanpa ketergantungan pada lingkungan perangkat, dan mendukung standar ES6. Kecepatan eksekusi program strategi hanya setelah strategi C ++. (disarankan untuk pemula pada perdagangan FMZ Quant.)

      • Python Python tergantung pada lingkungan perangkat sampai batas tertentu, dan berbagai perpustakaan dapat diinstal, sehingga ekstensibilitasnya kuat. (disarankan untuk siswa yang akrab dengan platform FMZ dan akrab dengan Python).

      • C++ Strategi C++ memiliki kecepatan pelaksanaan tercepat, efisiensi tertinggi, dan juga lebih sulit digunakan. Setelah Anda menguasai bahasa, Anda akan menemukan yang lainso easy!

      • Mylanguage Mylanguage yang didukung oleh FMZ hanya untuk perintah yang paling dasar.

        • Mylanguage dapat diterapkan untuk menulis beberapa strategi tren
        • Ketika sinyal perdagangan muncul di Mylanguage, dan perintah perdagangan dieksekusi, itu hanya dapat menempatkan pesanan pengambil, dan tidak mendukung pesanan pembuat.
        • Mylanguage cocok untuk strategi membuat pesanan dengan satu objek pertukaran (hanya satu objek pertukaran yang dapat dikendalikan; meskipun FMZs Mylanguage mendukung porting kode JS, itu agak sulit bagi pemula, jadi tidak akan dipelajari sementara).
        • Mylanguage hanya cocok untuk strategi simbol tunggal, dan disarankan untuk menggunakan JavaScript, Python, dan C ++ untuk desain strategi multi-simbol.
        • Informasi terkait penggunaan bahasa di FMZ:https://www.fmz.com/digest-topic/5789 https://www.fmz.com/digest-topic/5768
      • Modul visualisasi Merged Strategy Membuat strategi secara visual hanya untuk kepentingan, peningkatan dan pemahaman logika program. Hal ini dapat digunakan untuk membuat beberapa logika sederhana, tetapi tidak cocok untuk merancang strategi yang sedikit rumit, karena sulit untuk mempertahankan dan memperluas, dan lebih sulit untuk merancang logika yang kompleks.


Lebih banyak