अनुबंध हेजिंग रणनीतियों के माध्यम से परिसंपत्तियों के आंदोलन के बारे में सोचें

लेखक:कांद, बनाया गयाः 2020-10-20 16:48:32, अद्यतन किया गयाः 2023-09-26 20:59:29

img

अनुबंध हेजिंग रणनीतियों के माध्यम से परिसंपत्तियों के आंदोलन के बारे में सोचें

हाल के दिनों में, सिक्के के क्षेत्र में समाचार लगातार कहा जा सकता है, एक्सचेंजों की खबरें भी आसमान से उड़ रही हैं। एक समय में, सभी सिक्के के मित्र चिंतित थे, अपने ब्लॉकचेन परिसंपत्तियों की सुरक्षा के बारे में चिंतित थे। विभिन्न सिक्के के समूहों में 9 छूट, 8 छूट बंद दूसरे हाथ के सिक्के के लिए छोटे विज्ञापन भी हैं। एक तरफ स्थिर पैसे कमाने की रणनीति के लिए कई लोग हैं। वास्तव में, पैसा बनाने के लिए स्थिर, पैसा खोने के लिए स्थिर सब कुछ हैmoney printer, यह अच्छा नहीं है। मुझे क्षमा करें, मेरी अंग्रेजी में कठिनाई है।

हालांकि, अस्थिरता अभी भी मौजूद है, उदाहरण के लिए, कॉन्ट्रैक्ट हेजिंग के माध्यम से, जहां तक संभव हो, एक तरफ नुकसान और एक तरफ लाभ प्राप्त करना।

डेमो रणनीति

/*backtest
start: 2020-09-30 00:00:00
end: 2020-10-19 00:00:00
period: 1d
basePeriod: 1m
exchanges: [{"eid":"Futures_OKCoin","currency":"BTC_USD"},{"eid":"Futures_HuobiDM","currency":"BTC_USD"}]
*/

var step = 20    // 加仓价格步长

function main() {
    var pos1 = []
    var pos2 = []
    var ct = "quarter"                         // 例如用季度合约
    exchanges[0].SetContractType(ct)
    exchanges[1].SetContractType(ct)
    var diff = 0

    while (true) {
        var r1 = exchanges[0].Go("GetDepth")   // A交易所
        var r2 = exchanges[1].Go("GetDepth")   // B交易所
        var depth1 = r1.wait()
        var depth2 = r2.wait()

        if(depth1.Bids[0].Price - depth2.Asks[0].Price > diff) {
            if(pos1.length == 0 && pos2.length == 0) {
                var info1 = $.OpenShort(exchanges[0], ct, 10)
                var info2 = $.OpenLong(exchanges[1], ct, 10)
                pos1 = _C(exchanges[0].GetPosition)
                pos2 = _C(exchanges[1].GetPosition)
                diff = depth1.Bids[0].Price - depth2.Asks[0].Price
            } else if(depth1.Bids[0].Price - depth2.Asks[0].Price > diff + step) {
                var info1 = $.OpenShort(exchanges[0], ct, 10)
                var info2 = $.OpenLong(exchanges[1], ct, 10)
                pos1 = _C(exchanges[0].GetPosition)
                pos2 = _C(exchanges[1].GetPosition)
                diff = depth1.Bids[0].Price - depth2.Asks[0].Price
            }
        }
        
        if(pos1.length != 0 && pos1[0].Profit < -0.001) {
            var info1 = $.CoverShort(exchanges[0], ct, pos1[0].Amount)
            var info2 = $.CoverLong(exchanges[1], ct, pos2[0].Amount)
            pos1 = _C(exchanges[0].GetPosition)
            pos2 = _C(exchanges[1].GetPosition)
            diff = 0
        }
        LogStatus(_D(), diff)
        Sleep(500)
    }
}

img

img

रणनीतिक तर्कः रणनीति ने स्टैंडिंग वेरिएंट pos1, pos2 को खाली सेट के रूप में आरंभ करना शुरू किया। रणनीति ने मुख्य चक्र में प्रवेश किया, प्रत्येक चक्र में दो एक्सचेंजों के अनुबंधों के लिए गहराई डेटा प्राप्त करना शुरू किया (ऑर्डर पतला डेटा), अंतर की गणना की। यदि अंतर पिछले अंतर से अधिक बढ़ता रहता है और एक कदम आगे बढ़ता है, तो व्यापार को आगे बढ़ाना जारी रखें। जब होल्डिंग होती है, तो पहले एक्सचेंज के लिए होल्डिंग घाटे का पता लगाने के लिए एक निश्चित संख्या से अधिक होता है (उदाहरण के लिएः- 0.001), समतलता। और इसी तरह दोहराया जाता है।

सिद्धांत वास्तव में बहुत सरल है, यह है कि एक बड़ा अंतर है, धक्का के खिलाफ; घाटे का इंतजार करने वाले एक्सचेंजों ने घाटे का इंतजार करते हुए घाटे का सामना किया, यदि अंतर बढ़ता रहता है, तो घाटे का सामना करने वाले एक्सचेंजों के लिए घाटे का सामना करने तक हेजिंग जारी रखें। तुलनात्मक रूप से महत्वपूर्ण कुछ पैरामीटर हैंः घाटे का कितना संतुलन, बढ़ोतरी के अंतर की गति, हेजिंग की मात्रा।

रणनीति अपेक्षाकृत सरल है, यह केवल एक विचार को सत्यापित करने के लिए है, वास्तविक डिस्क उपलब्ध नहीं है। वास्तविक डिस्क में कई अन्य प्रश्न हैं जिन्हें विचार करने की आवश्यकता है, जैसे कि क्या व्यापार करने के लिए अनुबंध मुद्रा मूल्य है, या U मूल्य, क्या A और B एक्सचेंजों के विभिन्न अनुबंधों का गुणक समान है, आदि।

इस प्रकार एक एक्सचेंज का नुकसान होता है, और नुकसान का हिस्सा लगभग दूसरे एक्सचेंज के लाभ का हिस्सा बन जाता है।$.CoverShort,$.OpenShortये टेम्पलेट के इंटरफेस फ़ंक्शन हैं, जिन पर DEMO को पुनः परीक्षण करने के लिए चलाने के लिए इस वर्ग को संदर्भित करना आवश्यक है।

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


संबंधित

अधिक

अस्थि चाकूकृपया इसे जल्दी से जल्दी स्थापित करें, अगर आप इसे किराए पर लेना चाहते हैं, तो मेरे खेल के सिक्के निकालें

छोटे सपनेलेखक ने शुरुआत में कहा कि अस्थिरता और गड़बड़ वापस जाने की संभावना है।