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

डिजिटल मुद्रा पर आधारित गतिशील संतुलन रणनीति

में बनाया: 2020-03-03 10:17:43, को अपडेट: 2023-10-09 22:49:27
comments   3
hits   3707

डिजिटल मुद्रा पर आधारित गतिशील संतुलन रणनीति

I. सारांश

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

  • अपने धन का 50% स्टॉक फंड में और शेष 50% बॉन्ड फंड में निवेश करें। अर्थात्, स्टॉक और बांड प्रत्येक का हिस्सा आधा-आधा है।
  • स्टॉक परिसंपत्तियों और बांड परिसंपत्तियों के अनुपात को प्रारंभिक 1:1 पर पुनः स्थापित करने के लिए निश्चित अंतराल पर या बाजार में होने वाले परिवर्तनों के आधार पर परिसंपत्तियों को पुनर्संतुलित करें। यह रणनीति का संपूर्ण तर्क है, जिसमें कब खरीदना और बेचना है, तथा कितना खरीदना और बेचना है, शामिल है। काफी सरल!

2. गतिशील संतुलन सिद्धांत

इस पद्धति में, बॉन्ड फंड की अस्थिरता वास्तव में बहुत कम है, स्टॉक की अस्थिरता से बहुत कम है, इसलिए बॉन्ड को यहां “संदर्भ एंकर” के रूप में उपयोग किया जाता है, यानी बॉन्ड का उपयोग यह मापने के लिए किया जाता है कि क्या स्टॉक बहुत अधिक बढ़ गए हैं। यह अभी भी है बहुत कम वृद्धि.

यदि स्टॉक की कीमत बढ़ती है, तो स्टॉक का बाजार मूल्य बॉन्ड के बाजार मूल्य से अधिक होगा। जब दोनों का बाजार मूल्य अनुपात निर्धारित सीमा से अधिक हो जाता है, तो कुल स्थिति को फिर से समायोजित किया जाएगा, स्टॉक को बेचा जाएगा, और स्टॉक-बांड बाजार मूल्य अनुपात को मूल 1:1 पर बहाल करने के लिए बांड खरीदा जाएगा।

इसके विपरीत, यदि शेयर की कीमत गिरती है, तो शेयर का बाजार मूल्य बांड के बाजार मूल्य से कम होगा। जब दोनों का बाजार मूल्य अनुपात निर्धारित सीमा से अधिक हो जाता है, तो कुल स्थिति को स्टॉक खरीदने के लिए पुनः समायोजित किया जाएगा और स्टॉक-बांड बाजार मूल्य अनुपात को मूल 1:1 पर बहाल करने के लिए बांड बेचें। डिजिटल मुद्रा पर आधारित गतिशील संतुलन रणनीति

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

3. रणनीति तर्क

ब्लॉकचेन एसेट बीटीसी में गतिशील संतुलन रणनीति

रणनीति तर्क

  • बीटीसी के वर्तमान मूल्य के अनुसार, खाता शेष राशि 5000 ¥ नकद और 0.1 बीटीसी होगी, अर्थात नकदी और बीटीसी बाजार मूल्य का प्रारंभिक अनुपात 1:1 है।
  • यदि बीटीसी की कीमत ¥6000 तक बढ़ जाती है, अर्थात बीटीसी का बाजार मूल्य खाता शेष से अधिक है, और उनके बीच का अंतर निर्धारित सीमा से अधिक है, तो (6000-5000)/6000/2 सिक्के बेचे जाएंगे। इसका मतलब यह है कि बीटीसी की कीमत बढ़ गई है और पैसे को वापस बदला जा सकता है।
  • यदि बीटीसी की कीमत ¥4000 तक गिर जाती है, अर्थात बीटीसी का बाजार मूल्य खाते के शेष से कम है, और उनके बीच का अंतर निर्धारित सीमा से अधिक है, तो (5000-4000) / 40002 सिक्के खरीदें। इसका मतलब है कि बीटीसी का मूल्य कम हो गया है, इसलिए बीटीसी वापस खरीदें।

इस तरह, चाहे बीटीसी की कीमत बढ़े या घटे, खाते का शेष और बीटीसी का बाजार मूल्य हमेशा बराबर रहता है। यदि बीटीसी का मूल्य कम हो जाए तो कुछ खरीद लें और जब यह वापस ऊपर जाए तो कुछ बेच दें, बिल्कुल बैलेंस की तरह।

4. रणनीतिक ढांचा

तो, इसे कोड के साथ कैसे क्रियान्वित किया जाए? आइए इन्वेंटर क्वांटिटेटिव ट्रेडिंग प्लेटफॉर्म को एक उदाहरण के रूप में लें। सबसे पहले, आइए रणनीति ढांचे पर नज़र डालें:

// 撤单函数
function CancelPendingOrders() {}

// 下单函数
function onTick() {}

// 主函数
function main() {
    // 过滤非重要信息
    SetErrorFilter("GetRecords:|GetOrders:|GetDepth:|GetAccount|:Buy|Sell|timeout");
    while (true) { // 轮询模式
        if (onTick()) { // 执行 onTick 函数
            CancelPendingOrders(); // 取消未成交的挂单
            Log(_C(exchange.GetAccount)); // 打印当前账户信息
        }
        Sleep(LoopInterval * 1000); // 休眠
    }
}

संपूर्ण रणनीति ढांचा वास्तव में बहुत सरल है, जिसमें एक मुख्य फ़ंक्शन, एक onTick ऑर्डर फ़ंक्शन, एक CancelPendingOrders फ़ंक्शन और आवश्यक पैरामीटर शामिल हैं।

5. ऑर्डर मॉड्यूल

// 下单函数
function onTick() {
    var acc = _C(exchange.GetAccount); // 获取账户信息
    var ticker = _C(exchange.GetTicker); // 获取 Tick 数据
    var spread = ticker.Sell - ticker.Buy; // 获取 Tick 数据的买卖价差
    // 账户余额与当前持仓价值的差值的 0.5倍
    var diffAsset = (acc.Balance - (acc.Stocks * ticker.Sell)) / 2;
    var ratio = diffAsset / acc.Balance; // diffAsset / 账户余额
    LogStatus('ratio:', ratio, _D()); // 打印 ratio和当前时间
    if (Math.abs(ratio) < threshold) { // 如果 ratio的绝对值小于指定阈值
        return false; // 返回 false
    }
    if (ratio > 0) { // 如果 ratio大于 0
        var buyPrice = _N(ticker.Sell + spread, ZPrecision); // 计算下单价格
        var buyAmount = _N(diffAsset / buyPrice, XPrecision); // 计算下单量
        if (buyAmount < MinStock) { // 如果下单量小于最小交易量
            return false; // 返回 false
        }
        exchange.Buy(buyPrice, buyAmount, diffAsset, ratio); // 买入下单
    } else {
        var sellPrice = _N(ticker.Buy - spread, ZPrecision); // 计算下单价格
        var sellAmount = _N(-diffAsset / sellPrice, XPrecision); // 计算下单量
        if (sellAmount < MinStock) { // 如果下单量小于最小交易量
            return false; // 返回 false
        }
        exchange.Sell(sellPrice, sellAmount, diffAsset, ratio); // 卖出下单
    }
    return true; // 返回 true
}

ऑर्डर ट्रेडिंग का तर्क स्पष्ट है और सभी टिप्पणियाँ कोड में लिखी गई हैं। आप इसे बड़ा करने के लिए चित्र पर क्लिक कर सकते हैं।

मुख्य प्रक्रिया इस प्रकार है:

  • खाता जानकारी प्राप्त करें.
  • टिक डेटा प्राप्त करें.
  • टिक डेटा पर बोली-मांग प्रसार की गणना करें।
  • खाता शेष और बीटीसी बाजार मूल्य के बीच अंतर की गणना करें।
  • क्रय और विक्रय की स्थिति, ऑर्डर मूल्य और ऑर्डर मात्रा की गणना करें।
  • ऑर्डर दें और true लौटाएं.

6. ऑर्डर रद्दीकरण मॉड्यूल

// 撤单函数
function CancelPendingOrders() {
    Sleep(1000); // 休眠 1秒
    var ret = false;
    while (true) {
        var orders = null;
        // 持续获取未成交订单数组,如果返回异常,则继续获取
        while (!(orders = exchange.GetOrders())) {
            Sleep(1000); // 休眠 1秒
        }
        if (orders.length == 0) { // 如果订单数组为空
            return ret; // 返回撤单状态
        }
        for (var j = 0; j < orders.length; j++) { // 遍历未成交订单数组
            exchange.CancelOrder(orders[j].Id); // 依次取消未成交订单
            ret = true;
            if (j < (orders.length - 1)) {
                Sleep(1000); // 休眠 1秒
            }
        }
    }
}

ऑर्डर रद्दीकरण मॉड्यूल और भी सरल है, चरण इस प्रकार हैं:

  • ऑर्डर कैंसिल करने से पहले 1 सेकंड तक प्रतीक्षा करें। कुछ एक्सचेंजों में यह एक समस्या है, आप जानते हैं।
  • अधूरे ऑर्डर की सरणी प्राप्त करना जारी रखें। यदि कोई अपवाद लौटाया जाता है, तो प्राप्त करना जारी रखें।
  • यदि अधूरे ऑर्डर की सरणी रिक्त है, तो ऑर्डर रद्दीकरण स्थिति तुरंत लौटा दी जाती है।
  • यदि कोई ऑर्डर पूरा नहीं हुआ है, तो पूरे एरे को पार किया जाता है और ऑर्डर संख्या के अनुसार एक-एक करके ऑर्डर रद्द कर दिए जाते हैं।

7. संपूर्ण रणनीति स्रोत कोड

// 回测环境
/*backtest
start: 2018-01-01 00:00:00
end: 2018-08-01 11:00:00
period: 1m
exchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}]
*/



// 撤单函数
function CancelPendingOrders() {
    Sleep(1000); // 休眠 1秒
    var ret = false;
    while (true) {
        var orders = null;
        // 持续获取未成交订单数组,如果返回异常,则继续获取
        while (!(orders = exchange.GetOrders())) {
            Sleep(1000); // 休眠 1秒
        }
        if (orders.length == 0) { // 如果订单数组为空
            return ret; // 返回撤单状态
        }
        for (var j = 0; j < orders.length; j++) { // 遍历未成交订单数组
            exchange.CancelOrder(orders[j].Id); // 依次取消未成交订单
            ret = true;
            if (j < (orders.length - 1)) {
                Sleep(1000); // 休眠 1秒
            }
        }
    }
}

// 下单函数
function onTick() {
    var acc = _C(exchange.GetAccount); // 获取账户信息
    var ticker = _C(exchange.GetTicker); // 获取 Tick 数据
    var spread = ticker.Sell - ticker.Buy; // 获取 Tick 数据的买卖价差
    // 账户余额与当前持仓价值的差值的 0.5倍
    var diffAsset = (acc.Balance - (acc.Stocks * ticker.Sell)) / 2;
    var ratio = diffAsset / acc.Balance; // diffAsset / 账户余额
    LogStatus('ratio:', ratio, _D()); // 打印 ratio和当前时间
    if (Math.abs(ratio) < threshold) { // 如果 ratio的绝对值小于指定阈值
        return false; // 返回 false
    }
    if (ratio > 0) { // 如果 ratio大于 0
        var buyPrice = _N(ticker.Sell + spread, ZPrecision); // 计算下单价格
        var buyAmount = _N(diffAsset / buyPrice, XPrecision); // 计算下单量
        if (buyAmount < MinStock) { // 如果下单量小于最小交易量
            return false; // 返回 false
        }
        exchange.Buy(buyPrice, buyAmount, diffAsset, ratio); // 买入下单
    } else {
        var sellPrice = _N(ticker.Buy - spread, ZPrecision); // 计算下单价格
        var sellAmount = _N(-diffAsset / sellPrice, XPrecision); // 计算下单量
        if (sellAmount < MinStock) { // 如果下单量小于最小交易量
            return false; // 返回 false
        }
        exchange.Sell(sellPrice, sellAmount, diffAsset, ratio); // 卖出下单
    }
    return true; // 返回 true
}

// 主函数
function main() {
    // 过滤非重要信息
    SetErrorFilter("GetRecords:|GetOrders:|GetDepth:|GetAccount|:Buy|Sell|timeout");
    while (true) { // 轮询模式
        if (onTick()) { // 执行 onTick 函数
            CancelPendingOrders(); // 取消未成交的挂单
            Log(_C(exchange.GetAccount)); // 打印当前账户信息
        }
        Sleep(LoopInterval * 1000); // 休眠
    }
}

बाह्य पैरामीटर डिजिटल मुद्रा पर आधारित गतिशील संतुलन रणनीति

8. रणनीति बैकटेस्टिंग

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

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

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

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

यहां उसी अवधि के लिए एक और बीटीसी मूल्य चार्ट है डिजिटल मुद्रा पर आधारित गतिशील संतुलन रणनीति

बैकटेस्ट अवधि के दौरान, बीटीसी 8 महीने तक गिरता रहा है, जिसमें अधिकतम गिरावट 70% से अधिक रही है, जिसके कारण कई निवेशकों का ब्लॉकचेन परिसंपत्तियों में विश्वास कम हो गया है। इस रणनीति का संचयी रिटर्न 160% जितना अधिक है, तथा वार्षिक रिटर्न-जोखिम अनुपात 5 से अधिक है। इतनी सरल निवेश रणनीति के लिए, निवेश पर यह रिटर्न उन अधिकांश लोगों से कहीं अधिक है जो पूरी तरह से इसमें निवेश कर देते हैं।

9. रणनीति स्रोत कोड प्राप्त करें

रणनीति स्रोत कोड को इन्वेंटर क्वांटिटेटिव की आधिकारिक वेबसाइट https://www.fmz.com/strategy/110545 पर सार्वजनिक कर दिया गया है। प्रत्यक्ष ऑनलाइन बैकटेस्टिंग के लिए किसी कॉन्फ़िगरेशन की आवश्यकता नहीं है।

10. निष्कर्ष

इस गतिशील संतुलन रणनीति का केवल एक मुख्य पैरामीटर (सीमा) है, जो एक बहुत ही सरल निवेश पद्धति है जो अत्यधिक रिटर्न के बजाय स्थिर रिटर्न की तलाश करती है। प्रवृत्ति रणनीति के विपरीत, गतिशील संतुलन रणनीति प्रवृत्ति के विरुद्ध जाती है। गतिशील संतुलन रणनीति इसके ठीक विपरीत है। जब बाजार गर्म होता है, तो आप शांत होने के लिए पोजीशन कम करते हैं, और जब बाजार शांत होता है, तो आप पोजीशन बढ़ाते हैं और निष्क्रिय रहते हैं। यह कुछ हद तक मैक्रोइकॉनोमिक विनियमन के समान है।

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

अंत में, आइए इस लेख को बेंजामिन ग्राहम की पुस्तक द इंटेलिजेंट इन्वेस्टर के एक प्रसिद्ध उद्धरण के साथ समाप्त करें:शेयर बाजार कोई “तौलने की मशीन” नहीं है जो मूल्य को सटीक रूप से माप सके। इसके बजाय, यह एक “वोटिंग मशीन” है। अनगिनत लोगों द्वारा लिए गए निर्णय तर्कसंगतता और भावना का मिश्रण होते हैं। कई बार, ये विकल्प इससे बहुत दूर होते हैं तर्कसंगत मूल्य निर्णय. निवेश का रहस्य यह है कि जब कीमतें आंतरिक मूल्य से बहुत नीचे हों, तब निवेश किया जाए और यह विश्वास किया जाए कि बाजार का रुझान ठीक हो जाएगा। ——बेंजामिन ग्राहम, द इंटेलिजेंट इन्वेस्टर