Bursa niaga hadapan mata wang digital kini sudah banyak, tetapi sebagai derivatif masa hadapan, perdagangan pilihan mata wang digital, tidak banyak pertukaran yang ada di pasaran sekarang, yang menyokong perdagangan pilihan adalah Deribit, BitMEX. Dalam bidang perdagangan kuantitatif, perdagangan pilihan juga mempunyai pelbagai strategi, seperti strategi pilihan yang disebutkan dalam beberapa maklumat carian:
Jenis | |||||
---|---|---|---|---|---|
Strategi yang berorientasikan: | Membeli pilihan binari | Menjual opsyen penurunan | Bursa Beli Benih Benih | Harga Bursa Lembu Menurun | |
– | Membeli opsyen penurunan | Jual Pilihan Binari | Bursa Beruang Lihat Harga Uranium Berkurang | Bursa Bursa Bursa Bursa Bursa | |
Strategi kadar turun naik: | Jual-belah | Jual-belah lebar | Membeli dalam bentuk yang berlainan | Beli lebar lebar | |
Strategi lindung nilai: | Bersedia untuk melihat | Perhatian rendah | Perlindungan yang baik | Perlindungan jatuh | |
– | Multi-tanah dua | Bilim kepala kosong | – | – |
Dipetik dariSambungan
Menulis strategi dagangan opsyen masih memerlukan asas yang kukuh terlebih dahulu, operasi asas seperti pesanan, pemerolehan pasaran, penarikan pesanan, dan pemerolehan pegangan perlu difahami. Menulis strategi masih menggunakan platform dagangan kuantitatif pencipta, walaupun platform dagangan kuantitatif pencipta kini menyokong bidang dagangan kuantitatif mata wang digital.
Dokumen API:https://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrumentPapan Simulasi:https://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrument
Anda boleh mendaftarkan akaun di laman web piringan analog, membuka API KEY, dan mengakses API KEY; konfigurasi di platform perdagangan kuantitatif pencipta, seperti konfigurasi piringan sebenar.
Terdapat empat konsep asas yang perlu difahami untuk perdagangan opsyen:
Dengan melihat dokumen API Bursa Deribit, antara muka pasaran Deribit hanya digunakan untuk mengakses pasaran niaga hadapan atau opsyen.instrument_name
Jika parameternya berbeza (instrument_name ditetapkan melalui fungsi SetContractType), maka anda boleh menggunakan antara muka untuk mendapatkan pasaran.GetTicker
Perdagangan pilihan.
Sudah tentu, pembungkusan pelopor platform dagangan kuantitatif adalah cakera sebenar Deribit secara lalai, tetapi kita perlu beralih ke cakera analog terlebih dahulu, menggunakan kod berikut:
exchange.IO("base", "https://test.deribit.com")
Dan kemudian kita menetapkan kontrak opsyen sekarang.BTC-27DEC19-7000-P
Perkataan:
Ini adalah tarikh hak jual: 27 DEC19, harga hak jual: 7000
exchange.SetContractType("BTC-27DEC19-7000-P")
Kemudian, kita menulis bersama-sama, let's run the code, untuk menguji bagaimana untuk mendapatkan kontrak opsyen ini.
function main () {
exchange.IO("base", "https://test.deribit.com")
exchange.SetContractType("BTC-27DEC19-7000-P")
var ticker = exchange.GetTicker()
Log(ticker)
}
Percubaan yang mudah dilakukan menggunakan alat debugging:Di sini, anda boleh melihat harga yang sama dengan harga pada piringan analog.
Perkhidmatan ini mempunyai ciri-ciri yang sama seperti perkhidmatan lain yang lain, tetapi tidak boleh digambarkan di sini, tetapi perlu diingat:
Perdagangan opsyen tidak begitu aktif, dan kadang-kadang ada keadaan tidak ada pembelian atau tidak ada pesanan jual, pada masa ini, pencipta mengutip lapisan bawah platform dagangan untuk mengesan nilai 0 yang akan memberikan kesalahan, yang boleh digunakan untuk mengesan nilai yang tidak sesuai dengan harga yang ditetapkan.SetErrorFilter("Invalid ticker")
Saya tidak tahu apa yang berlaku di sini.GetRawJSON
Fungsi ini mengambil data pembungkusan maklumat mentah dari pasaran, di sini saya menulis contoh untuk menjalankan fungsi yang sama:
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
}
"Saya tidak tahu apa yang berlaku di sini.Log($.GetTicker(exchange))
Operasi di bawah sangat mudah, hanya membeli dan menjual dua arah berbanding perdagangan niaga hadapan.Sell
,Buy
Fungsi di bawah.
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))
}
Perintah yang baru sahaja diletakkan juga muncul di piring simulasi.
danexchange.GetOrder(id)
Anda boleh mendapatkan maklumat tentang pesanan anda.
Pengeluaran juga digunakan untukCancelOrder
Fungsi, sama seperti pengeluaran semasa perdagangan niaga hadapan.
Memperoleh aset yang tersedia di akaun dengan cara yang sama seperti perdagangan niaga hadapan, panggilan langsungGetAccount
Fungsi boleh.
Paparan pada halaman bursa analog
Kode untuk menjalankan:
Tidak boleh menggunakan produk yang dibungkus secara langsung.GetPosition
Fungsi ini tidak berfungsi, kerana perdagangan Deribit secara lalai adalah perdagangan niaga hadapan, bukan perdagangan opsyen, hanya boleh digunakan untuk mendapatkan pegangan niaga hadapan.
Oleh itu, ini adalah satu fungsi yang perlu kita lakukan sendiri untuk membungkus fungsi untuk mendapatkan saham pilihan.
Antara muka fungsi untuk mendapatkan stok pada dokumen API:
$.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
}
PanggilanLog($.GetPosition(exchange))
Di sini, anda boleh mencetak maklumat simpanan anda.
Dengan cara ini, operasi asas dapat dilaksanakan, dan selebihnya boleh dipelajari strategi perdagangan pilihan.