Baru-baru ini, penemu platform perdagangan kuantitatif meng-upgrade sistem retesting untuk mendukung retesting opsi mata uang digital.Deribit
Beberapa data opsi di bursa. Oleh karena itu, kami memiliki alat yang lebih baik untuk belajar perdagangan opsi dan memverifikasi strategi.
Definisi dalam sistem retestingDeribit
Opsi ini adalah gaya Eropa, dengan nilai kontrak 1 BTC.BTC-7AUG20-12750-C
。
Barang yang ditandai | Tanggal kewenangan | Harga hak cipta | (Meningkat / turun) Opsi |
---|---|---|---|
BTC | 7AUG20 | 12750 | C |
Bitcoin | 7 Agustus 20 | Harga jalan 12750. | Opsi melihat |
BTC | 7AUG20 | 12750 | P |
Bitcoin | 7 Agustus 20 | Harga jalan 12750. | Opsi Kecelakaan |
Operasi seperti mengatur kontrak, mendapatkan saham, dan sebagainya sama seperti futures mata uang digital.
Peraturan tentang kontrak:exchange.SetContractType("BTC-7AUG20-12750-C")
Dapatkan saham:var pos = exchange.GetPosition()
Harga kontrak opsi adalah uang opsi dari kontrak opsi, yang harus dibayar oleh pembeli opsi kepada penjual opsi. Pembeli memperoleh hak jalan, penjual memiliki kewajiban jalan. Kontrak opsi dapat diperdagangkan sebelum hak jalan (misalnya, keselarasan, kewajiban tertutup).
Di sisi lain, para investor yang ingin membeli saham di pasar forex juga dapat membeli saham di pasar forex.
/*backtest
start: 2020-07-27 00:00:00
end: 2020-08-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Deribit","currency":"BTC_USD"},{"eid":"OKEX","currency":"BTC_USDT","balance":100000}]
*/
function main() {
exchanges[0].SetContractType('BTC-7AUG20-12750-C');
var initSpotAcc = _C(exchanges[1].GetAccount)
var isFirst = true
while(true) {
var optionTicker = exchanges[0].GetTicker()
var spotTicker = exchanges[1].GetTicker()
if(isFirst) {
exchanges[0].SetDirection("sell")
exchanges[0].Sell(optionTicker.Buy, 1)
exchanges[1].Buy(spotTicker.Sell, 1)
isFirst = false
}
var optionPos = _C(exchanges[0].GetPosition)
var nowSpotAcc = _C(exchanges[1].GetAccount)
var diffStocks = (nowSpotAcc.Stocks - initSpotAcc.Stocks)
var diffBalance = (nowSpotAcc.Balance - initSpotAcc.Balance)
var spotProfit = diffBalance + diffStocks * spotTicker.Last
var optionProfit = optionPos[0].Profit * spotTicker.Last
LogProfit(spotProfit + optionProfit)
$.PlotLine("现货", spotProfit)
$.PlotLine("期权", optionProfit)
Sleep(500)
}
}
Opsi dapat memberikan perlindungan terhadap aset yang dibeli dengan uang tunai. Opsi ini biasanya digunakan ketika ada keinginan untuk memiliki uang tunai. Risiko adalah penurunan harga uang tunai, dan meskipun opsi dapat menggantikan kerugian uang tunai tertentu, kerugian akan lebih besar dari hak opsi.
Selain itu, pasar opsi mata uang digital juga cenderung tidak memiliki mata uang yang sama.
Jika Anda ingin membeli saham di pasar forex, Anda dapat menggunakan kode yang sama, yaitu:
/*backtest
start: 2020-07-27 00:00:00
end: 2020-08-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Deribit","currency":"BTC_USD"},{"eid":"Futures_OKCoin","currency":"BTC_USD"}]
*/
function main() {
exchanges[0].SetContractType('BTC-7AUG20-12750-C');
exchanges[1].SetContractType("quarter")
var isFirst = true
while(true) {
var optionTicker = exchanges[0].GetTicker()
var futuresTicker = exchanges[1].GetTicker()
if(isFirst) {
exchanges[0].SetDirection("sell")
exchanges[0].Sell(optionTicker.Buy, 1)
exchanges[1].SetDirection("buy")
exchanges[1].Buy(futuresTicker.Sell, _N(1 * futuresTicker.Sell / 100, 0))
isFirst = false
}
var optionPos = _C(exchanges[0].GetPosition)
var futuresPos = _C(exchanges[1].GetPosition)
var futuresProfit = futuresPos[0].Profit
var optionProfit = optionPos[0].Profit
LogProfit(futuresProfit + optionProfit)
$.PlotLine("期货", futuresProfit)
$.PlotLine("期权", optionProfit)
Sleep(500)
}
}
Perhatikan gambar di bawah:
Futures dapat mengurangi jumlah uang yang mereka gunakan dibandingkan dengan uang tunai, tetapi risiko lebih tinggi dibandingkan dengan uang tunai.
Selain itu, ada banyak pilihan lain yang diperdagangkan:
Jika Anda tertarik, Anda dapat melakukan penelitian di sistem retesting.