हेजिंग रणनीतियों में, विभिन्न प्रकार के हेजिंग हैंः क्रॉस-मार्केट हेजिंग, क्रॉस-पीरियड हेजिंग, आदि। आज हम क्रॉस-करेंसी हेजिंग के बारे में बात करेंगे, जो ब्लॉकचेन परिसंपत्तियों के मात्रात्मक व्यापार में क्रॉस-करेंसी हेजिंग रणनीति है। आम तौर पर, एक हेजिंग लेनदेन का विषय समान होता है, जबकि क्रॉस-करेंसी हेजिंग में अलग-अलग विषयों को खरीदना और बेचना शामिल होता है। जब एक ही किस्म की हेजिंग करते हैं, तो हम मूल्य अंतर का उपयोग हेजिंग लेनदेन में खरीद और बिक्री मूल्य के रूप में कर सकते हैं। एक ही किस्म के सबसे सरल क्रॉस-मार्केट हेजिंग के लिए, मूल्य अंतर एक निश्चित सीमा के भीतर बार-बार उतार-चढ़ाव करता है। मूल्य अंतर का उपयोग क्रॉस-करेंसी हेजिंग के लिए खरीद और बिक्री मूल्य के रूप में नहीं किया जा सकता है, क्योंकि विभिन्न मुद्राओं के मूल्य अंतर का निरीक्षण करना बहुत सहज नहीं है, और मूल्य अनुपात आमतौर पर खरीद और बिक्री मूल्य के रूप में उपयोग किया जाता है।
उदाहरण के लिए: ट्रेडिंग जोड़ी A: LTC_USDT ट्रेडिंग जोड़ी B: ETH_USDT
आरंभिक पदों को मूल्य अनुपात के अनुसार वितरित करेंPrice of Trading pair A/Price of Trading pair B
. अनुपात जितना बड़ा होगा, उतना ही हम A बेचेंगे और B खरीदेंगे। यदि अनुपात कम हो जाता है, तो A खरीदें और B बेचें। प्रत्येक हेजिंग की समकक्ष USDT राशि वास्तव में LTC/ETH की सापेक्ष कीमत के आधार पर ग्रिड ट्रेडिंग के लिए एक रणनीति है। रणनीति विचार जटिल नहीं है। हालांकि, यह ध्यान दिया जाना चाहिए कि इस प्रकार के हेजिंग पोर्टफोलियो वास्तव में LTC की कीमत के लिए एंकर मूल्य मुद्रा के रूप में ETH का उपयोग करता है। एंकर मूल्य एकतरफा प्रवृत्ति से बाहर जाने की संभावना है। हालांकि ज्यादातर समय यह एक अस्थिर प्रवृत्ति हो सकती है, इस जोखिम पर विचार और ध्यान देने की आवश्यकता है।
एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म का उपयोग करके रणनीति प्रोटोटाइप लिखना आसान हैः
जब रणनीति कोड चल रहा है, यह संदर्भ की जरूरत हैऔर
/*backtest
start: 2019-05-01 00:00:00
end: 2019-11-04 00:00:00
period: 1m
exchanges: [{"eid":"OKEX","currency":"LTC_USDT","balance":100000,"stocks":30},{"eid":"OKEX","currency":"ETH_USDT","balance":100000,"stocks":30}]
*/
/*
A exchanges[0] : EOS_USDT
B exchanges[1] : ETH_USDT
*/
var Interval = 500
// parameters
var numPoint = 100 // Number of nodes
var distance = 0.08 // Proportional distance
var amountPoint = 100 // Node amount in USDT
var arrHedgeList = []
function main () {
var isFirst = true
while(true) {
var rA = exchanges[0].Go("GetTicker")
var rB = exchanges[1].Go("GetTicker")
var tickerA = rA.wait()
var tickerB = rB.wait()
if (tickerA && tickerB) {
var priceRatioSell = tickerB.Buy / tickerA.Sell // B sell , A buy
var priceRatioBuy = tickerB.Sell / tickerA.Buy // B buy , A sell
if (isFirst) {
for (var i = 0 ; i < numPoint ; i++) {
var point = {
priceRatio : priceRatioSell + (i + 1) * distance,
coverRatio : priceRatioSell + i * distance,
amount : (0.08 * i + 1) * amountPoint,
isHold : false,
}
arrHedgeList.push(point)
}
isFirst = false
}
for (var j = 0 ; j < arrHedgeList.length; j++) {
if (priceRatioSell > arrHedgeList[j].priceRatio && arrHedgeList[j].isHold == false) {
// B sell , A buy
Log("Hedging, price ratio", priceRatioSell, "#FF0000")
$.Buy(exchanges[0], arrHedgeList[j].amount / tickerA.Sell)
$.Sell(exchanges[1], arrHedgeList[j].amount / tickerB.Buy)
arrHedgeList[j].isHold = true
LogStatus(_D(), exchanges[0].GetAccount(), "\n", exchanges[1].GetAccount())
$.PlotLine("ratio", (priceRatioSell + priceRatioBuy) / 2)
break
}
if (priceRatioBuy < arrHedgeList[j].coverRatio && arrHedgeList[j].isHold == true) {
// B buy , A sell
Log("hedge, price ratio", priceRatioBuy, "#32CD32")
$.Sell(exchanges[0], arrHedgeList[j].amount / tickerA.Buy)
$.Buy(exchanges[1], arrHedgeList[j].amount / tickerB.Sell)
arrHedgeList[j].isHold = false
LogStatus(_D(), exchanges[0].GetAccount(), "\n", exchanges[1].GetAccount())
$.PlotLine("ratio", (priceRatioSell + priceRatioBuy) / 2)
break
}
}
}
Sleep(Interval)
}
}
डिफ़ॉल्ट बैकटेस्टिंग सेटिंग्स का उपयोग करेंः
यह देखा जा सकता है कि अपने स्वयं के विचारों की रणनीति बनाने के लिए कोड की केवल कुछ दर्जन लाइनों का उपयोग किया गया था। एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म पर विचारों के प्रोटोटाइप को लागू करना बहुत आसान है। उपरोक्त आंकड़े के अनुसार, यह मूल्य अनुपात ज्यादातर समय में उतार-चढ़ाव करता है, लेकिन एक निश्चित प्रवृत्ति होगी। अनुकूलन दिशा हेजिंग के दौरान स्थिति नियंत्रण या एक निश्चित प्रवृत्ति पहचान जोड़ने हो सकती है। स्थिति नियंत्रण के संदर्भ में, आप प्रत्येक हेजिंग नोड की हेजिंग राशि बढ़ा सकते हैं। उदाहरण के लिए कोड मेंः
if (isFirst) {
for (var i = 0 ; i < numPoint ; i++) {
var point = {
priceRatio : priceRatioSell + (i + 1) * distance,
coverRatio : priceRatioSell + i * distance,
amount : (0.08 * i + 1) * amountPoint, // 8% of amountPoint per increment
isHold : false,
}
arrHedgeList.push(point)
}
isFirst = false
}
इस प्रकार, अपेक्षाकृत भारी पदों को उच्च मूल्य अनुपात वाली स्थिति में केंद्रित किया जा सकता है, ताकि मूल्य अनुपात कम होने पर बड़े पदों पर कब्जा करने से बचा जा सके। बेशक, इस तरह के क्रॉस-करेंसी हेजिंग बहुत जोखिम भरा है। यदि एक मुद्रा की कीमत दूसरी मुद्रा की कीमत के सापेक्ष बढ़ती रहती है, तो फ्लोटिंग नुकसान होगा। इसलिए, क्रॉस-करेंसी हेजिंग के लिए दोनों मुद्राओं के बीच एक मजबूत सहसंबंध की आवश्यकता होती है।
यह रणनीति केवल एक प्रारंभिक डेमो है, जिसे आगे बढ़ाया और अनुकूलित किया जा सकता है।