Sumber daya yang dimuat... Pemuatan...

Cryptocurrency Quantitative Trading for Beginners - Membawa Anda Lebih Dekat dengan Cryptocurrency Quantitative (1)

Penulis:FMZ~Lydia, Dibuat: 2022-07-25 16:48:29, Diperbarui: 2024-12-04 21:37:05

img

Cryptocurrency Quantitative Trading for Beginners - Membawa Anda Lebih Dekat dengan Cryptocurrency Quantitative (1)

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

  • Pertukaran

    Pertama-tama, kita perlu memahami konsep bursa. Kita perlu memperdagangkan aset blockchain untuk spekulasi, investasi, dll. Masing-masing dari mereka perlu dilakukan di bursa. Saat ini ada banyak bursa: senior, berkembang, besar dan kecil.

    • Rekening pertukaran akun bursa, adalah akun yang terdaftar dan dibuka di bursa ini. aset blockchain dapat disimpan di akun ini untuk perdagangan. beberapa bursa dapat membuat dan mengaturSub-rekeningaplikasi sub-akun untuk setiap bursa berbeda. jadi Anda perlu memeriksa informasi secara khusus di situs web bursa atau berkonsultasi dengan layanan pelanggan bursa.

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

    • Antarmuka API ke sistem pertukaran Banyak pengguna yang belum menggunakan fungsi pertukaran ini mungkin bertanya: Apa itu antarmuka API. Antarmuka API adalah antarmuka yang diberikan oleh sistem pertukaran yang memungkinkan operasi program. Sederhananya, pertukaran memberikan saluran untuk memungkinkan (script bot nyata) program untuk menempatkan pesanan, membatalkan pesanan, memeriksa pesanan, memeriksa aset akun, memeriksa posisi, dan operasi lain dalam sistem pertukaran (pasangan perdagangan tertentu di situs web pertukaran, buat pikiran Anda sendiri di sini). API pertukaran dibagi menjadi berbagai jenis antarmuka, biasanya adaRESTantarmuka protokol danWebSocketBeberapa pertukaran juga menyediakanFIXIni hanya untuk pemahaman, sebagian besar kita menggunakanRESTprotokol antarmuka. dokumen antarmuka ini biasanya dapat ditemukan di link dengan kataAPIDi bagian bawah situs web resmi bursa. Terkadang perlu untuk memeriksa dokumen ini untuk beberapa informasi kesalahan antarmuka. Sistem API dari setiap bursa sangat berbeda, sehingga Anda perlu memeriksa dokumentasi untuk masalah tertentu. Jika Anda bukan pengembang strategi, ini hanya untuk pemahaman.

    • Kunci API dari akun Kunci API dari akun harus dipahami dengan hati-hati, karena terkait dengan keamanan aset blockchain yang disimpan di bursa Anda. Di atas mengatakan bahwa antarmuka API adalah saluran, maka API KEY dapat dipahami sebagailulusKarena saluran akses, Anda tidak dapat mengizinkan akses ke program apa pun, yang sangat berbahaya. Oleh karena itu, verifikasi diperlukan, dan API KEY digunakan untuk memverifikasi identitas. Jadi API KEY terkait dengan keamanan aset Anda dan harus disimpan dengan benar. Biasanya API KEY dari pertukaran dibuat di sudut kanan atas halaman pertukaran, di halaman manajemen akun (juga mungkin ada pertukaran yang ditempatkan di tempat lain di halaman web, cari tautan dengan kata kunci API dan klik untuk menemukannya). API KEY memiliki dua string, string pertama biasanya disebutaccess key, dan string kedua biasanya disebutsecret key. Ada juga beberapa pertukaran yang API KEY memiliki informasi lain, misalnya, antarmuka OKEX V5 dan V3 memilikiPassPhrase, yang juga merupakan 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, umumnya, ada izin seperti transaksi dan penarikan, yang harus ditetapkan sesuai dengan tujuan API KEY, dan izin untuk menarik koin perlu digunakan dengan hati-hati. Selain izin, API KEY juga dapat mengatur whitelist alamat IP. Jika Anda menggunakan IP selain dari whitelist alamat IP ini (konsep alamat IP dapat dicari di Baidu jika Anda tidak mengerti) ke antarmuka, akses akan ditolak (yaitu, jaringan di luar whitelist IP tidak dapat mengakses atau mengoperasikan akun Anda).

    • Objek pertukaran Konsep objek pertukaran adalah konsep di Platform Perdagangan Kuantum FMZ (FMZ.COMSederhananya, ini mengacu pada objek yang terbentuk oleh enkapsulasi antarmuka pertukaran. Objek ini adalah pertukaran dalam kode strategi FMZ, yang memanggil fungsi exchange.GetTicker, sebenarnya memanggil antarmuka untuk mengakses data pasar pertukaran. Lihat dokumentasi FMZ API untuk rincian:https://www.fmz.com/api#exchangeSebuah bursa dapat memiliki sektor berjangka dan sektor spot. Karena objek bursa berjangka dan objek bursa spot yang didefinisikan pada FMZ adalah jenis objek pertukaran yang berbeda, mereka dibedakan (objek bursa berjangka memiliki beberapa fungsi lebih dari objek bursa spot, seperti mengatur fungsi leverage, menanyakan fungsi posisi dll, periksa dokumentasi untuk rincian). Jadi ambil pertukaran Binance sebagai contoh, Anda mungkin melihatnya saat mengkonfigurasi di FMZ:imgAda juga 2 Huobi.img

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

      Di platform FMZ, pertukaran adalah objek pertukaran, yang mewakili rekening pertukaran.https://www.fmz.com/api#exchanges

  • Pasar perdagangan

    Pasar perdagangan yang disebutkan di sini mengacu pada bot perdagangan tertentu (bayangkan halaman perdagangan), biasanya bursa memiliki beberapa sektor, sepertiperdagangan mata uang, perdagangan leveraged mata uang, perdagangan kontrak etc.

    • Pasangan perdagangan Apa yang biasanya kita sebut pasangan perdagangan adalah apa yang kita beli dan jual, misalnya, kita pergi ke pasar untuk membeli kubis.kuah_uangadalah pasangan perdagangan (underline _ untuk membagi) pembeli membayar untuk kubis, dan penjual 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. AmbilBTC_USDTsebagai contoh, kita biasanya menyebut BTC sebagai mata uang perdagangan dan USDT sebagai mata uang denominasi.

      • Mata uang perdagangan, BaseCurrency.
      • Mata uang denominasi, QuoteCurrency
    • BercakPerdagangan mata uang, perdagangan leveraged mata uang, mereka diklasifikasikan sebagai perdagangan spot.pasangan perdaganganuntuk menggambarkan pasar mana yang diperdagangkan.
      Mengambil penggunaan Platform Perdagangan Kuantum FMZ sebagai contoh, jika Anda ingin membuat pasangan perdagangan BTC ke USDT, mata uang perdagangan adalah BTC, dan mata uang denominasi adalah USDT. Kami menggunakan fungsi dari platform FMZexchange.SetCurrency("BTC_USDT")untuk mengubah pasangan perdagangan saat ini menjadi:BTC_USDTAku tidak tahu. UntukSetCurrencyBagi mereka yang tidak mengerti, lihat:https://www.fmz.com/api#exchange.setcurrency..Aku tidak tahu. UntukexchangeBagi mereka yang tidak mengerti, lihat:https://www.fmz.com/api#exchange

    • Kontrak (masa depan, opsi) Ada perbedaan besar antara perdagangan kontrak dan perdagangan spot.currency-based contractsdanUSDT-based contracts. Untuk perdagangan programatik dan perdagangan kuantitatif, perlu untuk menentukan tidak hanya pasangan perdagangan, tetapi juga kontrak. Misalnya, jika kita ingin memperdagangkan mata uang BTC, maka ada banyak kontrak mata uang BTC, termasuk kontrak triwulanan (pengiriman karena setiap kuartal), kontrak mingguan (pengiriman karena setiap hari Jumat setiap minggu), kontrak abadi (non-pengiriman) dan sebagainya. Jika hanya satu pasangan transaksi yang digunakan untuk identifikasi, jenis kontrak apa yang dibuat? Oleh karena itu, kode kontrak tertentu diperlukan untuk menggambarkan dan menentukan. Dengan cara ini, ketika kita menjelaskan pasar kontrak mana yang akan diperdagangkan, kita perlu menjelaskan mata uang apa (pasangan perdagangan) dan kontrak apa (kode kontrak) itu.

      • Kontrak berbasis mata uang Kontrak yang menggunakan mata uang sebagai margin (seperti kontrak berbasis mata uang BTC, yang menggunakan BTC sebagai margin, dan untungnya juga BTC), untungnya adalah mata uang. Biasanya, mata uang denominasi dari pasangan perdagangan kontrak yang di marginasi mata uang dinyatakan dalam USD (tidak perlu masuk ke detail, sebagian besar bursa menggunakan ekspresi ini). Jadi pasangan perdagangan adalah BTC_USD, dan kontraknya adalah kontrak triwulanan. Ini berarti bahwa pasar perdagangan yang kita bicarakan adalahBTC's currency-based quarterly contractpasar. Di FMZ Quant Trading Platform,exchange.SetCurrency("BTC_USD")menetapkan pasangan perdagangan, dan kemudianexchange.SetContractType("quarter")Dengan cara ini, varietas perdagangan saat ini adalahBTC's currency-based quarterly contract.

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

    • Perintah Apa yang dimaksud dengan perintah itu? Perintah adalah pesanan yang kita kirimkan ke bursa ketika kita membeli atau menjual di bursa. Perintah dibagi menjadi pesanan pasar, pesanan batas, pesanan bersyarat, dll. Atribut paling dasar dari pesanan adalah: objek pesanan (secara sederhana, apa yang harus dibeli atau dijual), jumlah pesanan (berapa banyak untuk membeli atau menjual), dan harga pesanan (pada harga apa untuk membeli atau menjual). Jika pesanan berikutnya hanya menentukan jumlah untuk membeli dan menjual dan apa yang harus dibeli atau dijual terlepas dari berapa banyak uangnya, maka pesanan semacam itu disebut pesanan pasar. Tentu saja, ada juga pesanan bersyarat (perintah stop-loss, order gunung es, dll.), yang terkait dengan bursa. Beberapa bursa menyediakan, sementara beberapa bursa tidak. Untuk rincian, Anda dapat memeriksa dokumentasi API bursa.

      • Bercak Daftar harga pasar pesanan spot biasanya perlu memperhatikan pesanan beli. Jumlah pesanan daftar harga pasar pesanan spot bukan jumlah mata uang, tetapi jumlahnya. Karena pesanan pasar tidak menentukan harga, hanya jumlah yang dapat digunakan untuk menentukan berapa banyak yang harus dibeli. Jumlah pesanan jual pasar adalah jumlah mata uang, karena bahkan jika harga tidak pasti, berapa banyak mata uang yang harus dijual dapat ditentukan.

      • Kontrak Jumlah pesanan kontrak adalah khusus, biasanya jumlah kontrak. Antarmuka pesanan kontrak dari bursa pada dasarnya adalah jumlah kontrak, dan tidak ada antarmuka yang mengambil jumlah mata uang sebagai jumlah pesanan. Kontrak BTC abadi berbasis USDT Binance dapat memesan kontrak abadi BTC dalam jumlah 0,01, tetapi bukan jumlah mata uang, itu adalah jumlah kontrak, dan satu kontrak adalah persis satu BTC. Secara umum, jumlah order adalah jumlah kontrak apakah itu order pasar atau order batas.

      • Apa itu pemegang, pembuat perintah? Taker order adalah order yang menyediakan likuiditas, dengan kata sederhana, ini berarti bahwa harga beli pasar saat ini adalah 10 dan harga jual adalah 11. pada saat ini, saya menempatkan order beli dengan harga beli 9, atau order jual dengan harga jual 12, pada saat ini, saya memberikan order untuk kedalaman disk, dan order ini adalah maker.

        Misalnya, fungsi penempatan pesananexchange.Selldanexchange.BuySaat menempatkan order, apakah order diklasifikasikan sebagai taker atau maker tergantung pada harga order dan pasar pada saat itu, dan apakah order kami memberikan likuiditas atau mengurangi likuiditas. Ketika harga dilewatkan dalam -1 di FMZ Quant Trading Platform, itu adalah untuk menempatkan pesanan pasar, perhatikan bahwa jumlah pesanan dari pesanan pasar spot order buy order adalah jumlah, maka pesanan pasar pasti adalah pengurangan likuiditas, dan itu harus menjadi order taker.

      • Mandat perintah pertukaran bersyarat Banyak bursa juga mendukung pesanan bersyarat, sepertiiceberg order, stop-loss order, take-profit order, post_only: only maker order , fok: complete the deal or cancel immediately, ioc: deal immediately and cancel the remaining, dll. Perintah ini dapat menggunakanexchange.IOFungsi di Platform Perdagangan Kuantum FMZ untuk mengakses antarmuka pesanan pertukaran secara langsung untuk menentukan parameter (menentukan perintah bersyarat mana 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, bisa menjadi situs web, bisa menjadi program eksekusi lokal, atau bahkan bisa menjadi proyek open source di GITHUB.

    • Platform Perdagangan Kuantum FMZ FMZ Quant Trading Platform adalah sistem terdistribusi online. Untuk pengetahuan awal tentang platform dan tutorial, silakan lihat:https://www.fmz.com/bbs-topic/9090

    • Sistem backtesting untuk platform perdagangan kuantitatif Apa itu sistem backtesting? Secara sederhana, sistem backtesting adalah untuk memutar ulang data historis dari varietas perdagangan tertentu, dan membiarkan strategi tertentu dimasukkan ke dalam pemutaran, dan mendapatkan kinerja perdagangan strategi ini saat mensimulasikan pemutaran data historis. Sistem backtesting di Platform Perdagangan Kuantum FMZ:

      Nama Jenis Deskripsi
      Bitfinex Objek pertukaran spot Mendukung pasangan perdagangan terbatas, seperti: BTC_USD, ETH_USD, LTC_USD dll, perhatikan bahwa mata uang pasangan perdagangan yang dijumlahkan adalah USD, yang dijumlahkan dalam USD
      Binance Objek pertukaran spot Mendukung pasangan perdagangan terbatas, seperti: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC dll.
      Baiklah. Objek pertukaran spot vseperti: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC dll.
      Huobi Objek pertukaran spot Mendukung pasangan perdagangan terbatas, seperti: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC dll.
      Berjangka OKEX Objek pertukaran berjangka Mendukung pasangan perdagangan terbatas, seperti: BTC_USD, ETH_USD dll, mata uang denominasi pasangan perdagangan adalah USD. Setelah menetapkan kode kontrak tertentu (lihat fungsi exchange.SetContractType), kontrak adalah kontrak berbasis mata uang
      HuobiDM Objek pertukaran berjangka HuobiDM adalah Huobi futures (kontrak Huobi), mendukung pasangan perdagangan terbatas, seperti: BTC_USD,ETH_USD dll, mata uang denominasi pasangan perdagangan adalah USD. Setelah mengatur kode kontrak tertentu (lihat fungsi exchange.SetContractType), kontrak adalah kontrak berbasis mata uang
      BitMEX Objek pertukaran berjangka Pasangan perdagangan adalah: XBT_USD. Setelah mengatur kode kontrak tertentu (lihat fungsi exchange.SetContractType), kontrak adalah kontrak berbasis mata uang
      Binance berjangka Objek pertukaran berjangka Mendukung pasangan perdagangan terbatas, seperti: BTC_USDT, ETH_USDT dll, mata uang denominasi pasangan perdagangan adalah USDT. Setelah menetapkan kode kontrak tertentu (lihat fungsi exchange.SetContractType), kontrak adalah kontrak berbasis USDT
      Opsi derivatif Opsi pertukaran objek Pasangan perdagangan adalah: BTC_USD, ETH_USD. Setelah menetapkan kode kontrak tertentu (lihat fungsi exchange.SetContractType), kontrak adalah kontrak berbasis mata uang
    • KEY API dari platform perdagangan kuantitatif Bursa memiliki antarmuka API, dan platform perdagangan kuantitatif juga memiliki antarmuka API.Extended API, beberapa fungsi dari platform FMZ dapat dioperasikan secara terprogram, misalnya, membuat bot nyata dalam batch, memulai bot nyata dalam batch, memodifikasi konfigurasi bot nyata dalam batch, dll, untuk rincian, silakan lihat:https://www.fmz.com/api#api-extension-of-fmz-platformEkstensi API juga dapat digunakan untuk melakukan sesuatu yang menarik, sepertiMenggunakan ekstensi API Platform Trading FMZ Quant untuk menerapkan perdagangan sinyal alarm TradingView

  • Skripsi perdagangan terprogram

    Setelah mengatakan bahwa, apa yang tepat mengendalikan akun pertukaran saya untuk perdagangan secara otomatis? Ini adalah perwujudan khusus dari perdagangan programmatic dan perdagangan kuantitatif - skrip perdagangan programmatic. Program bot nyata ini dapat ditulis dalam berbagai bahasa. Misalnya, FMZ Quant Trading Platform mendukung menulis strategi perdagangan bot nyata dalam bahasa JavaScript, Python, dan C ++. Program skrip ini melakukan berbagai operasi seperti membeli dan menjual akun melalui antarmuka API bursa.

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

      • Sistem peralatan Berbagai sistem operasi, seperti windows/Linux/MAX OS/ARM Linux, dll, dipilih sesuai dengan skrip yang sebenarnya. Pada platform FMZ, server dari sistem Linux biasanya digunakan. Penggunaan sistem Linux tidak rumit sebenarnya. Penggunaan sederhana hanya perlu menguasai beberapa perintah, ini dijelaskan dalam tutorial FMZ.
    • Pemilihan bahasa skrip Ada terlalu banyak bahasa pemrograman, dan hampir semuanya dapat digunakan untuk menulis program skrip bot yang sebenarnya. Di sini kita juga akan mengambil FMZ Quant Trading Platform sebagai contoh untuk memahami keuntungan dari berbagai bahasa. Pada platform FMZ, kita dapat menulis strategi (script robot) dalam bahasa pemrograman berikut

      • JavaScript Ini mudah digunakan, dan hampir independen dari lingkungan perangkat, ini mendukung standar ES6. Kecepatan eksekusi program strategi adalah kedua hanya untuk strategi C ++. (disarankan untuk pemula di FMZ Quant Trading Platform)

      • Python Hal ini tergantung pada lingkungan perangkat sampai batas tertentu, dan berbagai perpustakaan dapat dipasang, dengan skalabilitas tinggi.

      • C++ Strategi ini memiliki kecepatan pelaksanaan tercepat, efisiensi tertinggi, tetapi lebih sulit digunakan. Setelah terbiasa dengan itu, bahasa pemrograman lainnyaso easy!.

      • MyLanguage MyLanguage yang didukung oleh platform FMZ adalah perintah paling dasar.

        • MyLanguage digunakan untuk menulis beberapa strategi tren
        • Ketika sinyal perdagangan muncul di MyLanguage, saat menjalankan pesanan perdagangan, hanya dapat menerima pesanan, dan tidak mendukung pesanan yang sedang menunggu.
        • MyLanguage cocok untuk strategi membuat satu objek pertukaran (hanya satu objek pertukaran yang dapat dikendalikan. Meskipun MyLanguage pada platform FMZ mendukung menyematkan kode JS, itu sedikit sulit bagi pemula, jadi tidak akan dibicarakan untuk saat ini)
        • MyLanguage hanya cocok untuk strategi single-variety. Disarankan untuk menggunakan JavaScript, Python, dan C++ untuk desain strategi multi-variety.
        • Informasi terkait penggunaan MyLanguage di platform FMZ:https://www.fmz.com/bbs-topic/9788 https://www.fmz.com/bbs-topic/9791
      • Strategi pemasangan modul visual Strategi pembuatan visual hanya digunakan untuk meningkatkan minat dan memahami logika program. Ini dapat digunakan untuk membuat beberapa logika sederhana, tetapi tidak berlaku ketika strategi sedikit kompleks, karena sulit untuk mempertahankan, memperluas, dan merancang logika kompleks.


Berkaitan

Lebih banyak