বিকল্পের পরিমাণগত ব্যবসায়ের সাথে মানিয়ে নিতে ডেরিবিত ফিউচার এপিআই সংস্কার করুন

লেখক:লিডিয়া, সৃষ্টিঃ ২০২২-১২-২৮ ১০:০২ঃ৫১, আপডেটঃ ২০২৩-০৯-২০ ০৯ঃ১৫ঃ০৯

img

বিকল্পের পরিমাণগত ব্যবসায়ের সাথে মানিয়ে নিতে ডেরিবিত ফিউচার এপিআই সংস্কার করুন

বর্তমানে, অনেকগুলি ডিজিটাল মুদ্রা ফিউচার এক্সচেঞ্জ রয়েছে। যাইহোক, একটি ফিউচার ডেরিভেটিভ হিসাবে, ডিজিটাল মুদ্রা বিকল্প ব্যবসায়ের জন্য বাজারে কয়েকটি এক্সচেঞ্জ রয়েছে। ডেরিবিট এবং বিটমেক্স বিকল্প ট্রেডিং সমর্থন করে। পরিমাণগত ব্যবসায়ের ক্ষেত্রে, বিকল্প ব্যবসায়ের বিভিন্ন কৌশল রয়েছে, যেমন কিছু অনুসন্ধান উপকরণগুলিতে উল্লিখিত বিকল্প কৌশলগুলিঃ

প্রকার
দিকনির্দেশক কৌশলঃ
অস্থিরতা কৌশলঃ
হেজিং কৌশলঃ

উদ্ধৃতি:লিঙ্ক

একটি বিকল্প ট্রেডিং কৌশল প্রস্তুত করার জন্য, আপনাকে প্রথমে একটি শক্ত ভিত্তি স্থাপন করতে হবে এবং একটি অর্ডার স্থাপন, টিকার প্রাপ্তি, একটি অর্ডার বাতিল করা এবং অবস্থানগুলি প্রাপ্তির মতো প্রাথমিক ক্রিয়াকলাপগুলির সাথে পরিচিত হতে হবে। কৌশল লেখার জন্য এখনও এফএমজেড কোয়ান্ট ট্রেডিং প্ল্যাটফর্ম ব্যবহার করা হয়, যদিও এফএমজেড কোয়ান্ট ট্রেডিং প্ল্যাটফর্ম বর্তমানে ডিজিটাল মুদ্রা পরিমাণগত ট্রেডিংয়ের ক্ষেত্রে মুদ্রা-মুদ্রা বাণিজ্য, চুক্তি বাণিজ্য এবং লিভারেজ ট্রেডিং সমর্থন করে। বিকল্প ট্রেডিং সম্পর্কে খুব বেশি তথ্য নেই। আসুন Deribit Quant এক্সচেঞ্জকে উদাহরণ হিসাবে নেওয়া যাক কীভাবে এফএমজেড কোয়ান্ট ট্রেডিং প্ল্যাটফর্মটি ব্যবহার করবেন তা পরিচয় করিয়ে দিতে ডিজিটাল মুদ্রা বিকল্প ট্রেডিংয়ের সাথে পরিচিত হতে।

ডেরিবিত সম্পর্কিত উপাদান

এপিআই ডকুমেন্টঃhttps://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrumentসিমুলেশন বট:https://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrument

আপনি সিমুলেশন বট ওয়েবসাইটে একটি অ্যাকাউন্ট নিবন্ধন করতে পারেন, এপিআই কী খুলুন, এবং এপিআই কী পান। এফএমজেড কোয়ান্ট ট্রেডিং প্ল্যাটফর্মে কনফিগার করা একটি বাস্তব বট কনফিগার করার মতোই।

img

অপশন ট্রেডিং সম্পর্কে চারটি মৌলিক ধারণা বোঝা প্রয়োজনঃ

-ব্যবহারের তারিখঃ অপশনের লং এবং শর্ট পার্টস এই তারিখে অপশন চুক্তির বিতরণ সম্পন্ন করে। -ব্যবহারের মূল্যঃ ব্যাবহারের তারিখে, বিকল্পের দীর্ঘ এবং সংক্ষিপ্ত পক্ষগুলি ব্যাবহারের মূল্যে বিকল্প চুক্তির বিতরণ সম্পন্ন করে। - প্রিমিয়ামঃ অর্থাৎ, বিকল্পের মূল্য। স্পট এবং ফিউচারগুলির মতো, এটি একটি বিড মূল্য এবং একটি জিজ্ঞাসা মূল্যের সাথে উদ্ধৃত করা হয়। এটি লক্ষ করার মতো বিষয় যেহেতু বিকল্পগুলির তরলতা সাধারণত ফিউচার এবং স্পটগুলির তুলনায় কম, তাই বিড এবং জিজ্ঞাসা এর মধ্যে দামের পার্থক্য বড় হতে পারে, তাই এখানে অনেক মনোযোগ দেওয়া উচিত! লেনদেনের পরে, লেনদেনের দামটি বিকল্পের দীর্ঘ অবস্থানের ব্যয়, যার সময় দীর্ঘ অবস্থানগুলি অধিকার পায় (বিকল্পটি ব্যবহার করার অধিকার); শর্ট বিকল্প, প্রিমিয়াম গ্রহণকারী পক্ষ হিসাবে, একটি বাধ্যবাধকতা যুক্ত করে। একবার দীর্ঘ বিকল্পটি তার অধিকারগুলি ব্যবহার করার অনুরোধ জানায়, শর্ট বিকল্পটি সহযোগিতা করতে হবে। - কল পপ অপশনঃ তথাকথিত ক্যাল অপশনের অর্থ হল যে অপশনের লং পজিশনের অধিকার রয়েছে যে অপশনের শর্ট পজিশনের কাছে একটি নির্দিষ্ট ব্যায়াম তারিখে একটি নির্দিষ্ট ব্যায়াম মূল্যে প্রদত্ত বিটকয়েন কেনার অধিকার রয়েছে এবং শর্ট পজিশনের লং পজিশনের সাথে সহযোগিতা করার বাধ্যবাধকতা রয়েছে; তথাকথিত পুট অপশনের অর্থ হল যে অপশনের লং সাইডের অধিকার রয়েছে যে শর্ট সাইডকে নির্দিষ্ট ব্যায়াম তারিখে একটি নির্দিষ্ট ব্যায়াম মূল্যে প্রদত্ত বিটকয়েন বিক্রি করার অধিকার রয়েছে এবং শর্ট সাইডের লং সাইডের সাথে সহযোগিতা করার বাধ্যবাধকতা রয়েছে।

টিকার অধিগ্রহণ

Deribit এক্সচেঞ্জ এর এপিআই নথি পড়ার পর আমরা দেখতে পাচ্ছি যে ফিউচার বা অপশন টিকার অ্যাক্সেস করার জন্য Deribit এর টিকার ইন্টারফেসটি কেবলমাত্র বিভিন্নinstrument_nameপরামিতি (instrument_name ফাংশন SetContractType দ্বারা সেট করা হয়), তাই মূলত, আপনি ইন্টারফেস অনুসরণ করতে পারেনGetTickerবিকল্পের টিকিট পেতে.

অবশ্যই FMZ Quant Trading প্ল্যাটফর্ম ডিফল্টরূপে ডেরিবিত এক্সচেঞ্জের আসল বটকে ক্যাপসুল করে। প্রথমত, আমাদের নিম্নলিখিত কোড ব্যবহার করে সিমুলেশন বটে স্যুইচ করতে হবেঃ

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

ডিবাগিং টুল ব্যবহার করে এটি পরীক্ষা করা সহজঃ

img

আপনি দেখতে পাচ্ছেন যে দামটি সিমুলেশন বটের সাথে সামঞ্জস্যপূর্ণ।

img

অন্যান্য টিকার ইন্টারফেসগুলি একইভাবে বলা হয়, যা এখানে পুনরাবৃত্তি করা হবে না। নোটঃ বিকল্প ট্রেডিং খুব সক্রিয় নয়। কখনও কখনও কিনতে বা বিক্রি করার অর্ডার নেই। এই সময়ে, FMZ কোয়ান্ট ট্রেডিং প্ল্যাটফর্ম নীচে 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))

অর্ডার দিন

অর্ডার দেওয়ার অপারেশনটি খুব সহজ, ফিউচার ট্রেডিংয়ের তুলনায়, কেনা এবং বিক্রয়ের মাত্র দুটি দিক রয়েছে। অর্ডার দেওয়ার জন্য বিক্রয়, ক্রয় ফাংশনগুলিও ব্যবহৃত হয়।

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

img

যে অর্ডারটি দেওয়া হয়েছে তা সিমুলেশন বটেও প্রদর্শিত হবে।

img

এবংexchange.GetOrder(id)অর্ডার তথ্য খুঁজে বের করতে পারেন।

অর্ডার বাতিল

একইCancelOrderফরোয়ার্ড ট্রেডিংয়ের জন্য অর্ডার বাতিল করার জন্য এই ফাংশনটি ব্যবহার করা হয়।

img

অ্যাকাউন্টের উপলব্ধ সম্পদ পান

অ্যাকাউন্ট উপলব্ধ সম্পদ পেয়ে ঠিক ফিউচার ট্রেডিং হিসাবে একই, শুধু কল করুনGetAccountসরাসরি কাজ করে।

এক্সচেঞ্জ পৃষ্ঠায় প্রদর্শন সিমুলেট করুনঃ

img

কোড চালান.

img

অবস্থান তথ্য পান

আমরা ক্যাপসুল করা ব্যবহার করতে পারবেন নাGetPositionপজিশনের জন্য সরাসরি ফাংশন, কারণ ডিফল্ট Deribit লেনদেন একটি ফিউচার লেনদেন, একটি বিকল্প লেনদেন নয়, আমরা শুধুমাত্র এই ফাংশন ব্যবহার করতে পারেন ফিউচার পজিশন পেতে. সুতরাং এই আমাদের নিজস্ব encapsulated ফাংশন হতে হবে বিকল্প অবস্থান পেতে.

এপিআই ডকুমেন্টে অবস্থান পাওয়ার জন্য ফাংশন ইন্টারফেসঃ

img

$.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))অবস্থান তথ্য মুদ্রণ করতে।

img

সুতরাং, মৌলিক অপারেশনগুলি বাস্তবায়ন করা যেতে পারে, এবং বাকিগুলি বিকল্প ট্রেডিং কৌশলগুলির জন্য অধ্যয়ন করা যেতে পারে।


সম্পর্কিত

আরো