Type/to search
8
Follow
1364
Followers
암호화폐 옵션 전략 백테스팅에 대한 예비 연구
Discussions
Created 2020-08-11 14:21:28  Updated 2024-12-10 10:10:30
 0
 2583

img

암호화폐 옵션 전략 백테스팅에 대한 예비 연구

최근 Inventor Quantitative Trading Platform은 디지털 통화 옵션 백테스팅을 지원하기 위해 백테스팅 시스템을 업그레이드했습니다.Deribit거래소의 일부 옵션 데이터입니다. 따라서 우리는 옵션 거래에 대해 배우고 전략을 검증하는 데 더 나은 도구를 갖게 되었습니다.

Deribit 옵션 백테스팅

백테스팅 시스템에서 정의됨Deribit옵션은 유럽식이며, 한 계약은 1BTC의 가치를 갖습니다. 옵션 계약 코드는 다음과 같습니다.BTC-7AUG20-12750-C

소재운동 날짜행사가격(콜/풋) 옵션
BTC7AUG2012750C
비트코인행사일자 : 2020년 8월 7일행사가격 12750콜 옵션
BTC7AUG2012750P
비트코인행사일자 : 2020년 8월 7일행사가격 12750풋 옵션

계약을 설정하고 포지션을 확보하는 작업은 디지털 통화 선물과 동일합니다.
계약 설정:exchange.SetContractType("BTC-7AUG20-12750-C")
위치 얻기:var pos = exchange.GetPosition()

옵션 계약의 가격은 옵션 계약의 프리미엄이며, 옵션 매수자는 옵션 매도자에게 프리미엄을 지불해야 합니다. 매수자는 옵션을 행사할 권리를 얻고, 매도자는 옵션을 행사할 의무를 집니다. 옵션 계약은 행사되기 전에 거래(예: 포지션 종료, 의무 결제)가 가능합니다.

일반적인 옵션 거래 조합을 예로 들어 보겠습니다.

콜 옵션을 매도하고 현물 옵션을 매수합니다.

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

옵션은 현물 매수 자산에 대해 일정 수준의 헤지 보호를 제공할 수 있습니다. 이는 일반적으로 해당 장소에 대해 낙관적이며 그 장소를 유지할 의향이 있을 때 사용됩니다. 위험은 현물 가격 하락에 있습니다. 옵션은 어느 정도 현물 손실을 메울 수 있지만 손실이 옵션 프리미엄을 초과하면 순손실이 발생합니다.

또한 디지털 통화 옵션 시장의 유동성은 일반적으로 부족하며, 때로는 거래상대방을 찾기 어려울 수도 있습니다. 이 점 역시 고려해야 할 사항입니다.

마찬가지로, 현물을 선물로 대체할 수 있으며 코드는 다음과 같습니다.

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) } }

백테스팅은 그림에 표시되어 있습니다.
img

선물은 현물과 비교했을 때 자본 점유를 줄일 수 있지만, 위험은 현물보다 약간 높습니다.

이 외에도 다양한 옵션 거래 조합이 있습니다.

  • 불 콜 스프레드
  • 베어 풋 스프레드

관심 있는 분들은 백테스팅 시스템을 통해 연구해 보실 수 있습니다.

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