avatar of 发明者量化-小小梦 发明者量化-小小梦
fokus pada mesej peribadi
4
fokus pada
1271
Pengikut

Mengubah API Niaga Hadapan Deribit untuk disesuaikan dengan perdagangan kuantitatif pilihan

Dicipta dalam: 2019-10-29 14:57:54, dikemas kini pada: 2024-12-16 11:24:47
comments   0
hits   2741

Mengubah API Niaga Hadapan Deribit untuk disesuaikan dengan perdagangan kuantitatif pilihan

Terdapat banyak pertukaran niaga hadapan mata wang digital, tetapi sebagai derivatif niaga hadapan, perdagangan opsyen mata wang digital, tidak terdapat banyak pertukaran di pasaran Bursa yang menyokong perdagangan opsyen termasuk Deribit dan BitMEX. Dalam bidang perdagangan kuantitatif, terdapat juga banyak strategi untuk perdagangan pilihan, seperti strategi pilihan yang disebutkan dalam beberapa bahan yang dicari:

taip
Strategi arah: Membeli pilihan panggilan Menjual opsyen jual Sebaran Panggilan Lembu Hamparan Lembu Lembu
Beli Opsyen Letak Menjual pilihan panggilan Sebaran Panggilan Bear Beruang Letakkan Spread
Strategi turun naik: Jual Straddle Jual Wide Straddle Beli Straddle Beli Wide Straddle
Strategi lindung nilai: Panggilan Berbumbung Letak Bertutup Panggilan Perlindungan Letak Pelindung
Had Berganda Panjang Had berganda kedudukan pendek

Dipetik daripadamenyambung

Untuk menulis strategi perdagangan pilihan, anda masih perlu meletakkan asas yang kukuh terlebih dahulu dan biasa dengan operasi asas seperti membuat pesanan, mendapatkan maklumat pasaran, membatalkan pesanan, dan mendapatkan kedudukan. Penulisan strategi masih menggunakan Platform Dagangan Kuantitatif Pencipta, walaupun Platform Dagangan Kuantitatif Pencipta pada masa ini menyokong dagangan mata wang kepada mata wang, dagangan kontrak dan dagangan berleveraj dalam bidang perdagangan kuantitatif mata wang digital. Tidak banyak maklumat yang berkaitan dengan perdagangan pilihan Di bawah, kami akan mengambil pertukaran “Deribit” sebagai contoh untuk memperkenalkan cara menggunakan Platform Dagangan Kuantitatif Inventor untuk bermain perdagangan pilihan mata wang digital.

Maklumat berkaitan Deribit

Dokumentasi API: https://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrument Cakera simulasi: https://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrument

Anda boleh mendaftar akaun di tapak web platform simulasi, dayakan API KEY dan dapatkan API KEY. Mengkonfigurasi pada Platform Dagangan Kuantitatif Pencipta adalah sama seperti mengkonfigurasi akaun sebenar. Mengubah API Niaga Hadapan Deribit untuk disesuaikan dengan perdagangan kuantitatif pilihan

Terdapat 4 konsep asas yang anda perlu fahami untuk perdagangan pilihan: Mengubah API Niaga Hadapan Deribit untuk disesuaikan dengan perdagangan kuantitatif pilihan

  • Tarikh pelaksanaan: Tarikh di mana pihak panjang dan pendek opsyen melengkapkan penghantaran kontrak opsyen.
  • Harga mogok: Pada tarikh pelaksanaan, pihak panjang dan pendek bagi opsyen melengkapkan penghantaran kontrak opsyen pada harga pelaksanaan.
  • Premium: Ini ialah harga opsyen Seperti niaga hadapan spot, sebut harga termasuk harga beli dan harga jual. Perlu diingat bahawa memandangkan kecairan opsyen pada umumnya lebih teruk daripada niaga hadapan dan spot, spread bid-ask mungkin besar, jadi perhatian khusus harus diberikan di sini! Selepas urus niaga selesai, harga urus niaga ialah kos pilihan panjang Pada masa ini, kedudukan panjang memperoleh hak (hak untuk melaksanakan pilihan itu, sebagai pihak yang menerima premium , mempunyai kewajipan tambahan Setelah kedudukan panjang meminta untuk melaksanakan hak, kedudukan pendek mesti bekerjasama.
  • Pilihan panggilan dan letak: Opsyen panggilan ialah hak yang pemegang opsyen panjang perlu meminta pemegang opsyen pendek membeli sejumlah Bitcoin pada harga pelaksanaan tertentu pada tarikh pelaksanaan tertentu, dan pemegang opsyen pendek mempunyai kewajipan untuk bekerjasama dengan pilihan panjang pemegang. Opsyen letak ialah hak yang pemegang opsyen panjang perlu meminta pemegang opsyen pendek untuk membeli sejumlah Bitcoin pada harga pelaksanaan tertentu pada tarikh pelaksanaan tertentu, penjual pendek dikehendaki menjual bitcoin yang diberikan pada harga pelaksanaan tertentu, dan penjual pendek mempunyai kewajipan untuk bekerjasama dengan penjual panjang.

Maklumat Pasaran

Menurut dokumentasi API Deribit Exchange, antara muka pasaran Deribit hanya menghantar data untuk mengakses maklumat pasaran niaga hadapan atau pilihan.instrument_nameParameter adalah berbeza (instrument_name ditetapkan oleh fungsi SetContractType), jadi pada asasnya anda boleh menggunakan antara muka untuk mendapatkan maklumat pasaran.GetTickerDapatkan sebut harga untuk pilihan.

Sudah tentu, pakej lalai Platform Dagangan Kuantitatif Pencipta ialah pasaran sebenar Deribit Exchange Kita mesti beralih kepada pasaran simulasi dan menggunakan kod berikut:

exchange.IO("base", "https://test.deribit.com")

Kemudian kami sedang menyediakan kontrak opsyenBTC-27DEC19-7000-P: Ini ialah opsyen jual dengan tarikh latihan: 27DEC19 dan harga pelaksanaan: 7000

exchange.SetContractType("BTC-27DEC19-7000-P")

Kemudian dapatkannya Kami menulisnya bersama-sama, menjalankan kod dan menguji untuk mendapatkan maklumat pasaran kontrak opsyen ini.

function main () {
    exchange.IO("base", "https://test.deribit.com")
    exchange.SetContractType("BTC-27DEC19-7000-P")
    var ticker = exchange.GetTicker()
    Log(ticker)
}

Menggunakan alat penyahpepijatan boleh menjadi sangat mudah untuk diuji: Mengubah API Niaga Hadapan Deribit untuk disesuaikan dengan perdagangan kuantitatif pilihan Anda boleh melihat bahawa harga adalah konsisten dengan itu pada cakera simulasi. Mengubah API Niaga Hadapan Deribit untuk disesuaikan dengan perdagangan kuantitatif pilihan

Kaedah panggilan antara muka pasaran lain adalah sama dan tidak akan diulang di sini. Perdagangan opsyen tidak begitu aktif Kadang-kadang tidak akan ada pesanan beli atau pesanan jual Pada masa ini, lapisan bawah Platform Dagangan Kuantitatif Pencipta akan mengesan nilai 0 dan melaporkan ralatSetErrorFilter("Invalid ticker")Abaikan ralat ini dan gunakanGetRawJSONFungsi mendapatkan maklumat asal pasaran dan merangkum data Di sini saya menulis contoh untuk mencapai fungsi yang serupa:

function init() {
    SetErrorFilter("Invalid ticker")
}

$.GetTicker = function(e) {
    var ticker = e.GetTicker()
    if (!ticker) {
        try {
            var ret = JSON.parse(e.GetRawJSON())
            return {
                Info : ret,
                High : ret.result.stats.high,
                Low : ret.result.stats.low, 
                Buy : ret.result.best_bid_price,
                Sell : ret.result.best_ask_price,
                Last : ret.result.last_price, 
                Volume : ret.result.stats.volume,
                OpenInterest : 0,
                Time : new Date().getTime()
            }
        } catch (err) {
            Log(err)
        }
    }
    
    return ticker
}

Apabila memanggil, tulis:Log($.GetTicker(exchange))

Buat pesanan

Operasi penempatan pesanan adalah sangat mudah Berbanding dengan perdagangan niaga hadapan, hanya terdapat dua arah: beli dan jual. Juga gunakanSell,BuyPerintah fungsi.

function main () {
    exchange.IO("base", "https://test.deribit.com")
    exchange.SetContractType("BTC-27DEC19-7000-P")
    
    var id = exchange.Buy(0.017, 1)
    Log(exchange.GetOrder(id))
}

Mengubah API Niaga Hadapan Deribit untuk disesuaikan dengan perdagangan kuantitatif pilihan

Pesanan yang baru dibuat juga muncul pada papan dagangan simulasi. Mengubah API Niaga Hadapan Deribit untuk disesuaikan dengan perdagangan kuantitatif pilihan

danexchange.GetOrder(id)Anda boleh bertanya maklumat pesanan.

Batalkan Pesanan

Kaedah yang sama digunakan untuk pembatalan pesanan.CancelOrderFungsi, sama seperti membatalkan pesanan dalam perdagangan niaga hadapan. Mengubah API Niaga Hadapan Deribit untuk disesuaikan dengan perdagangan kuantitatif pilihan

Dapatkan aset yang tersedia dalam akaun

Mendapatkan aset yang tersedia dalam akaun adalah sama seperti dalam perdagangan niaga hadapan TerusGetAccountFungsi.

Paparkan pada halaman pertukaran simulasi Mengubah API Niaga Hadapan Deribit untuk disesuaikan dengan perdagangan kuantitatif pilihan

Jalankan kod untuk mendapatkan: Mengubah API Niaga Hadapan Deribit untuk disesuaikan dengan perdagangan kuantitatif pilihan

Dapatkan maklumat jawatan

Untuk memegang jawatan, anda tidak boleh terus menggunakan pakejGetPositionfungsi, kerana secara lalai urus niaga Deribit ialah urus niaga hadapan, bukan urus niaga opsyen, dan hanya fungsi ini boleh digunakan untuk mendapatkan kedudukan niaga hadapan. Oleh itu, kita mesti merangkum fungsi mendapatkan kedudukan pilihan oleh diri kita sendiri.

Antara muka fungsi untuk mendapatkan kedudukan dalam dokumentasi API: Mengubah API Niaga Hadapan Deribit untuk disesuaikan dengan perdagangan kuantitatif pilihan

$.GetPosition = function(e) {
    // /private/get_positions
    // currency  , kind 
    
    var positions = [] 
    var currency = e.GetCurrency()
    var arr = currency.split("_")
    var baseCurrency = arr[0]
    
    try {
        var ret = e.IO("api", "GET", "/api/v2/private/get_positions", "currency=" + baseCurrency + "&kind=option")
        for (var i in ret.result) {
            if (ret.result[i].size == 0 || ret.result[i].direction == "zero") {
                continue    
            } 
            
            var pos = {
                Info : ret.result[i], 
                Amount : ret.result[i].size,
                FrozenAmount : 0,
                Price : ret.result[i].average_price,
                Profit : ret.result[i].floating_profit_loss,
                MarginLevel : 0,
                Margin : 0,
                ContractType : ret.result[i].instrument_name,
                Type : ret.result[i].direction == "buy" ? ORDER_TYPE_BUY : ORDER_TYPE_SELL,
            }
            
            positions.push(pos)
        }
    } catch (err) {
        Log(err)
        positions = null
    }
    
    return positions
}

PanggilLog($.GetPosition(exchange))Anda boleh mencetak maklumat jawatan. Mengubah API Niaga Hadapan Deribit untuk disesuaikan dengan perdagangan kuantitatif pilihan Mengubah API Niaga Hadapan Deribit untuk disesuaikan dengan perdagangan kuantitatif pilihan

Dengan cara ini, operasi asas boleh dicapai, dan selebihnya adalah untuk mengkaji strategi perdagangan pilihan.