4
ध्यान केंद्रित करना
1271
समर्थक

क्रिप्टोकरेंसी विकल्प रणनीतियों के बैकटेस्टिंग पर एक प्रारंभिक अध्ययन

में बनाया: 2020-08-11 14:21:28, को अपडेट: 2024-12-10 10:10:30
comments   0
hits   2220

क्रिप्टोकरेंसी विकल्प रणनीतियों के बैकटेस्टिंग पर एक प्रारंभिक अध्ययन

क्रिप्टोकरेंसी विकल्प रणनीतियों के बैकटेस्टिंग पर एक प्रारंभिक अध्ययन

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

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

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

विषय - वस्तु अभ्यास तिथि व्यायाम मूल्य (कॉल/पुट) विकल्प
BTC 7AUG20 12750 C
Bitcoin अभ्यास की तिथि: 7 अगस्त, 2020 व्यायाम मूल्य 12750 फोन विकल्प
BTC 7AUG20 12750 P
Bitcoin अभ्यास की तिथि: 7 अगस्त, 2020 व्यायाम मूल्य 12750 पुट ऑप्शन

अनुबंध निर्धारित करने और स्थिति प्राप्त करने का कार्य डिजिटल मुद्रा वायदा के समान ही है। अनुबंध स्थापित करें:exchange.SetContractType("BTC-7AUG20-12750-C") पद प्राप्त करें:var pos = exchange.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("现货", spotProfit)
        $.PlotLine("期权", optionProfit)
        Sleep(500)
    }
}

क्रिप्टोकरेंसी विकल्प रणनीतियों के बैकटेस्टिंग पर एक प्रारंभिक अध्ययन

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

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

इसी तरह, हम स्पॉट को फ्यूचर्स से बदल सकते हैं, कोड इस प्रकार है:

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

बैकटेस्टिंग को चित्र में दर्शाया गया है: क्रिप्टोकरेंसी विकल्प रणनीतियों के बैकटेस्टिंग पर एक प्रारंभिक अध्ययन

वायदा कारोबार में स्पॉट की तुलना में पूंजी की आवश्यकता कम हो सकती है, लेकिन जोखिम स्पॉट की तुलना में थोड़ा अधिक होता है।

इसके अलावा, कई अन्य विकल्प ट्रेडिंग संयोजन भी हैं:

  • बुल कॉल स्प्रेड
  • बियर पुट स्प्रेड

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