डिजिटल मुद्रा विकल्प रणनीति के बैकटेस्टिंग पर प्रारंभिक अध्ययन

लेखक:अच्छाई, बनाया गयाः 2020-08-23 10:53:41, अद्यतनः 2023-10-08 19:56:47

img

डिजिटल मुद्रा विकल्प रणनीति के बैकटेस्टिंग पर प्रारंभिक अध्ययन

हाल ही में, एफएमजेड प्लेटफॉर्म ने डिजिटल मुद्रा विकल्पों के बैकटेस्टिंग का समर्थन करने के लिए बैकटेस्टिंग प्रणाली को अपग्रेड किया है। इस बार, यह डेरिबिट एक्सचेंज के कुछ विकल्प डेटा का समर्थन करता है। इसलिए हमारे पास विकल्प व्यापार सीखने और रणनीति सत्यापन के लिए बेहतर उपकरण हैं।

डेरिबिट विकल्प बैकटेस्ट

बैकटेस्ट प्रणाली में परिभाषित डेरिबिट विकल्प यूरोपीय शैली का है, और एक अनुबंध का मूल्य 1BTC है। विकल्प अनुबंध कोड हैः BTC-7AUG20-12750-C।

विषय अभ्यास की तिथि अभ्यास मूल्य (कॉल/पॉट) विकल्प
बीटीसी 7AUG20 12750 सी
बिटकॉइन 7 अगस्त, 2020 को अभ्यास अभ्यास मूल्य 12750 कॉल विकल्प
बीटीसी 7AUG20 12750 पी
बिटकॉइन 7 अगस्त, 2020 को अभ्यास अभ्यास मूल्य 12750 विकल्प डालें

अनुबंध स्थापित करने और पद प्राप्त करने जैसे कार्य डिजिटल मुद्रा वायदा के समान हैं। सेट कॉन्ट्रैक्टः एक्सचेंज.सेट कॉन्ट्रैक्ट प्रकार ((BTC-7AUG20-12750-C) स्थिति प्राप्त करेंः var pos = विनिमय.GetPosition()

एक विकल्प अनुबंध की कीमत एक विकल्प अनुबंध का प्रीमियम है, और विकल्प खरीदार को विकल्प विक्रेता को विकल्प प्रीमियम का भुगतान करने की आवश्यकता है। खरीदार को अभ्यास करने का अधिकार है, और विक्रेता को अभ्यास करने का दायित्व है। विकल्प अनुबंध का अभ्यास करने से पहले, इसका व्यापार किया जा सकता है (जैसे परिसमापन, दायित्वों का निपटान) ।

सामान्य विकल्प व्यापार संयोजनों के उदाहरण

एक कॉल ऑप्शन बेचें और एक स्पॉट खरीदें।

/*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("Spots", spotProfit)
        $.PlotLine("Options", optionProfit)
        Sleep(500)
    }
}

img

विकल्प स्पॉट में खरीदी गई परिसंपत्तियों के लिए एक निश्चित स्तर की हेजिंग सुरक्षा प्रदान कर सकते हैं। आम तौर पर स्पॉट के बारे में आशावादी होने और स्पॉट को रखने के इच्छुक होने पर उपयोग किया जाता है। जोखिम स्पॉट की कीमतों में गिरावट में निहित है। हालांकि एक निश्चित हद तक, विकल्प एक निश्चित स्पॉट नुकसान की भरपाई कर सकते हैं, लेकिन नुकसान के विकल्प प्रीमियम से अधिक होने के बाद, एक शुद्ध नुकसान होगा।

इसके अतिरिक्त डिजिटल मुद्रा विकल्प बाजार की तरलता औसत है, और कभी-कभी कोई प्रतिपक्ष नहीं पाया जाता है। यह भी एक मुद्दा है जिस पर विचार करने की आवश्यकता है।

इसी तरह, हम वायदा के साथ स्पॉट बदल सकते हैं, कोड इस प्रकार हैः

/*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("Futures", futuresProfit)
        $.PlotLine("Options", optionProfit)
        Sleep(500)
    }
}

img

फ्यूचर्स स्पॉट की तुलना में कब्जा की गई पूंजी को कम कर सकते हैं, लेकिन जोखिम स्पॉट की तुलना में अधिक है।

इसके अतिरिक्त, कई अन्य विकल्प व्यापार संयोजन हैंः

  • बुल कॉल ऑप्शन स्प्रेडbull call spread
  • बियर पुट विकल्प स्प्रेडBear Put Spread

जो लोग रुचि रखते हैं, वे बैकटेस्ट सिस्टम में इसका अध्ययन कर सकते हैं।


संबंधित

अधिक