वर्तमान में, कई डिजिटल मुद्रा वायदा एक्सचेंज हैं। हालांकि, वायदा डेरिवेटिव के रूप में, डिजिटल मुद्रा विकल्प व्यापार के लिए बाजार में कुछ एक्सचेंज हैं। डेरिबिट और बिटमेक्स विकल्प व्यापार का समर्थन करते हैं। मात्रात्मक व्यापार के क्षेत्र में, विकल्प व्यापार में भी विभिन्न रणनीतियाँ हैं, जैसे कि कुछ सामग्री में उल्लिखित विकल्प रणनीतियाँः
प्रकार |
---|
दिशात्मक रणनीति: |
– |
अस्थिरता रणनीति: |
हेजिंग रणनीतिः |
– |
उद्धृत कियालिंक्स
एक विकल्प ट्रेडिंग रणनीति तैयार करने के लिए, आपको पहले एक ठोस नींव रखने की आवश्यकता है, और एक आदेश रखने, टिकर प्राप्त करने, एक आदेश को रद्द करने और पदों को प्राप्त करने जैसे बुनियादी संचालन से परिचित होना चाहिए। रणनीति लेखन अभी भी एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म का उपयोग करता है, हालांकि एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म वर्तमान में डिजिटल मुद्रा मात्रात्मक ट्रेडिंग के क्षेत्र में मुद्रा-मुद्रा व्यापार, अनुबंध व्यापार और लाभप्रदता व्यापार का समर्थन करता है। विकल्प व्यापार के बारे में बहुत अधिक जानकारी नहीं है। आइए
एपीआई दस्तावेजःhttps://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrumentसिमुलेशन बॉट:https://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrument
आप सिमुलेशन बॉट वेबसाइट पर एक खाता पंजीकृत कर सकते हैं, एपीआई कुंजी खोल सकते हैं, और एपीआई कुंजी प्राप्त कर सकते हैं। एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म पर कॉन्फ़िगर करना एक वास्तविक बॉट को कॉन्फ़िगर करने के समान है।
विकल्प व्यापार के बारे में समझने के लिए चार बुनियादी अवधारणाएं हैंः
-अभ्यास की तिथिः विकल्प के लंबे और छोटे पक्ष इस तिथि पर विकल्प अनुबंध की डिलीवरी पूरा करते हैं। -व्यावसायिक मूल्यः व्यावसायिक मूल्य पर विकल्प की लंबी और छोटी पार्टियां विकल्प अनुबंध का वितरण पूरा करती हैं। -प्रिमियमः अर्थात विकल्पों की कीमत। स्पॉट और वायदा की तरह, यह एक बोली मूल्य और एक पूछ मूल्य पर उद्धृत किया जाता है। यह ध्यान देने योग्य है कि चूंकि विकल्पों की तरलता आम तौर पर वायदा और स्पॉट की तुलना में कम होती है, इसलिए बोली और पूछ के बीच मूल्य अंतर बड़ा हो सकता है, इसलिए यहां बहुत ध्यान दिया जाना चाहिए! लेनदेन के बाद, लेनदेन की कीमत विकल्प लंबी स्थिति की लागत है, जिस समय लंबी स्थिति को अधिकार मिलता है (विकल्प का उपयोग करने का अधिकार); लघु विकल्प, प्रीमियम प्राप्त करने वाले पक्ष के रूप में, एक दायित्व जोड़ता है। एक बार जब लंबा विकल्प अपने अधिकारों का उपयोग करने का अनुरोध करता है, तो लघु विकल्प को सहयोग करना चाहिए। - कॉल डाल विकल्पः तथाकथित कॉल ऑप्शन का अर्थ है कि ऑप्शन की लंबी पोजीशन में ऑप्शन की शॉर्ट पोजीशन को एक निश्चित अभ्यास तिथि पर एक निश्चित अभ्यास मूल्य पर दिए गए बिटकॉइन को खरीदने का अधिकार है, और शॉर्ट पोजीशन में लंबी पोजीशन के साथ सहयोग करने का दायित्व है; तथाकथित पुट ऑप्शन का अर्थ है कि ऑप्शन के लॉन्ग साइड में शॉर्ट साइड से एक निश्चित अभ्यास तिथि पर एक निश्चित अभ्यास मूल्य पर दिए गए बिटकॉइन को बेचने का अधिकार है, और शॉर्ट साइड में लॉन्ग साइड के साथ सहयोग करने का दायित्व है।
डेरिबिट एक्सचेंज के एपीआई दस्तावेज़ को पढ़ने के बाद हम देख सकते हैं कि वायदा या विकल्प टिकर का उपयोग करने के लिए डेरिबिट के टिकर इंटरफ़ेस में विभिन्न पारित करने का एक मामला हैinstrument_name
मापदंडों (उपकरण_नाम समारोह SetContractType द्वारा सेट है), तो मूल रूप से आप का पालन कर सकते हैं इंटरफ़ेसGetTicker
विकल्पों के टिकर प्राप्त करने के लिए।
बेशक, एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म डिफ़ॉल्ट रूप से डेरबिट एक्सचेंज के वास्तविक बॉट को कैप्सूल करता है। सबसे पहले, हमें निम्नलिखित कोड का उपयोग करके सिमुलेशन बॉट पर स्विच करने की आवश्यकता हैः
exchange.IO("base", "https://test.deribit.com")
फिर हम विकल्प अनुबंध स्थापित करते हैंBTC-27DEC19-7000-P
वर्तमान में।
यह एक बिक्री विकल्प है जिसका प्रयोग करने की तिथिः 27DEC19 और उपयोग मूल्यः 7000 है।
exchange.SetContractType("BTC-27DEC19-7000-P")
तो जाओ, चलो इसे एक साथ लिखते हैं और इस विकल्प अनुबंध के लिए टिकर प्राप्त करने का परीक्षण करने के लिए कोड चलाते हैं।
function main () {
exchange.IO("base", "https://test.deribit.com")
exchange.SetContractType("BTC-27DEC19-7000-P")
var ticker = exchange.GetTicker()
Log(ticker)
}
यह डिबगिंग टूल का उपयोग करके परीक्षण करना आसान हैः
यह देखा जा सकता है कि कीमत सिमुलेशन बॉट पर के अनुरूप है।
अन्य टिकर इंटरफेस को उसी तरह से बुलाया जाता है, जिसे यहाँ दोहराया नहीं जाएगा। नोटः
विकल्प व्यापार बहुत सक्रिय नहीं है. कभी कभी खरीदने या बेचने के लिए कोई आदेश नहीं है. इस समय, एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म नीचे 0 के मूल्य का पता लगाएगा, और यह एक त्रुटि की रिपोर्ट करेगा. आप उपयोग कर सकते हैंSetErrorFilter("Invalid ticker")
इस त्रुटि को अनदेखा करने के लिए, और समारोह का उपयोग करेंGetRawJSON
यहाँ मैं इसी तरह के कार्यों को प्राप्त करने के लिए एक उदाहरण लिखते हैंः
function init() {
SetErrorFilter("Invalid ticker")
}
$.GetTicker = function(e) {
var ticker = e.GetTicker()
if (!ticker) {
try {
var ret = JSON.parse(e.GetRawJSON())
return {
Info : ret,
High : ret.result.stats.high,
Low : ret.result.stats.low,
Buy : ret.result.best_bid_price,
Sell : ret.result.best_ask_price,
Last : ret.result.last_price,
Volume : ret.result.stats.volume,
OpenInterest : 0,
Time : new Date().getTime()
}
} catch (err) {
Log(err)
}
}
return ticker
}
जब हमें बुलाया जाता है, तो हम लिखते हैंःLog($.GetTicker(exchange))
ऑर्डर देने का कार्य बहुत सरल है, वायदा व्यापार की तुलना में, खरीदने और बेचने की केवल दो दिशाएं हैं। ऑर्डर देने के लिए Sell, Buy फ़ंक्शन का भी उपयोग किया जाता है।
function main () {
exchange.IO("base", "https://test.deribit.com")
exchange.SetContractType("BTC-27DEC19-7000-P")
var id = exchange.Buy(0.017, 1)
Log(exchange.GetOrder(id))
}
जो आदेश अभी दिया गया था वह सिमुलेशन बॉट पर भी दिखाई देता है।
औरexchange.GetOrder(id)
आदेश की जानकारी देख सकते हैं।
वहीCancelOrder
फ्यूचर्स ट्रेडिंग के लिए ऑर्डर रद्द करने के लिए उपयोग किया जाता है।
खाता उपलब्ध संपत्ति प्राप्त करने के लिए फ्यूचर्स ट्रेडिंग के रूप में बिल्कुल एक ही है, बस कॉलGetAccount
प्रत्यक्ष रूप से कार्य करता है।
विनिमय पृष्ठ पर प्रदर्शन का अनुकरण करेंः
प्राप्त करने के लिए कोड चलाएँ।
हम कैप्सूलित का उपयोग नहीं कर सकतेGetPosition
पदों के लिए सीधे कार्य, क्योंकि डिफ़ॉल्ट Deribit लेनदेन एक वायदा लेनदेन है, नहीं एक विकल्प लेनदेन, हम केवल वायदा पदों को प्राप्त करने के लिए इस समारोह का उपयोग कर सकते हैं।
तो यह विकल्प स्थिति प्राप्त करने के लिए हमारे अपने कैप्सुलेट समारोह होना होगा।
एपीआई दस्तावेज़ में पदों को प्राप्त करने के लिए फ़ंक्शन इंटरफ़ेसः
$.GetPosition = function(e) {
// /private/get_positions
// currency , kind
var positions = []
var currency = e.GetCurrency()
var arr = currency.split("_")
var baseCurrency = arr[0]
try {
var ret = e.IO("api", "GET", "/api/v2/private/get_positions", "currency=" + baseCurrency + "&kind=option")
for (var i in ret.result) {
if (ret.result[i].size == 0 || ret.result[i].direction == "zero") {
continue
}
var pos = {
Info : ret.result[i],
Amount : ret.result[i].size,
FrozenAmount : 0,
Price : ret.result[i].average_price,
Profit : ret.result[i].floating_profit_loss,
MarginLevel : 0,
Margin : 0,
ContractType : ret.result[i].instrument_name,
Type : ret.result[i].direction == "buy" ? ORDER_TYPE_BUY : ORDER_TYPE_SELL,
}
positions.push(pos)
}
} catch (err) {
Log(err)
positions = null
}
return positions
}
कॉल करेंLog($.GetPosition(exchange))
स्थिति की जानकारी मुद्रित करने के लिए।
इस प्रकार, बुनियादी संचालन को लागू किया जा सकता है, और शेष विकल्प व्यापार रणनीतियों के लिए अध्ययन किया जा सकता है।