Type/to search
8
Follow
1364
Followers
Kajian Awal tentang Strategi Pilihan Matawang Kripto Ujian Balik
Discussions
Created 2020-08-11 14:21:28  Updated 2024-12-10 10:10:30
 0
 2583

img

Kajian Awal tentang Strategi Pilihan Matawang Kripto Ujian Balik

Baru-baru ini, Platform Dagangan Kuantitatif Pencipta telah meningkatkan sistem ujian belakangnya untuk menyokong ujian balik pilihan mata wang digital.DeribitBeberapa data pilihan daripada pertukaran. Oleh itu, kami mempunyai alat yang lebih baik untuk mempelajari tentang perdagangan pilihan dan strategi pengesahan.

Ujian Balik Pilihan Deribit

Ditakrifkan dalam sistem ujian belakangDeribitPilihannya adalah gaya Eropah, dan satu kontrak bernilai 1BTC. Kod kontrak pilihan ialah:BTC-7AUG20-12750-C

Perkara subjekTarikh LatihanHarga Latihan(Panggil/Letak) Pilihan
BTC7AUG2012750C
BitcoinTarikh latihan: 7 Ogos 2020Harga latihan 12750Pilihan Panggilan
BTC7AUG2012750P
BitcoinTarikh latihan: 7 Ogos 2020Harga latihan 12750Pilihan Letak

Operasi penetapan kontrak dan mendapatkan kedudukan adalah sama seperti niaga hadapan mata wang digital.
Sediakan kontrak:exchange.SetContractType("BTC-7AUG20-12750-C")
Dapatkan jawatan:var pos = exchange.GetPosition()

Harga kontrak opsyen ialah premium kontrak opsyen, dan pembeli opsyen perlu membayar premium kepada penjual opsyen. Pembeli mendapat hak untuk melaksanakan pilihan, dan penjual mempunyai kewajipan untuk melaksanakan pilihan. Kontrak opsyen boleh didagangkan (cth., menutup kedudukan, menyelesaikan obligasi) sebelum ia dilaksanakan.

Ambil kombinasi perdagangan pilihan biasa sebagai contoh

Jual pilihan panggilan dan beli tempat.

javascript
/*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) } }

img

Pilihan boleh memberikan tahap perlindungan lindung nilai tertentu untuk aset yang dibeli secara spot. Ia biasanya digunakan apabila anda optimis tentang tempat itu dan bersedia untuk memegang tempat itu. Risiko terletak pada penurunan harga spot Walaupun opsyen boleh menebus kerugian spot tertentu pada tahap tertentu, jika kerugian melebihi premium opsyen, kerugian bersih akan berlaku.

Di samping itu, kecairan pasaran pilihan mata wang digital secara amnya adalah lemah, dan kadangkala sukar untuk mencari rakan niaga. Perkara ini juga perlu difikirkan.

Begitu juga, kita boleh menggantikan tempat dengan niaga hadapan, kodnya adalah seperti berikut:

javascript
/*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) } }

Ujian belakang ditunjukkan dalam rajah:
img

Niaga hadapan boleh mengurangkan modal yang diduduki berbanding spot, tetapi risikonya lebih tinggi sedikit daripada spot.

Di samping itu, terdapat banyak kombinasi perdagangan pilihan lain:

  • Panggilan lembu jantan tersebar
  • Beruang Meletakkan Spread

Mereka yang berminat boleh mengkajinya dalam sistem backtesting.

Related Recommendations
Comment
All comments (0)
No data
No data
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)