রিসোর্স লোড হচ্ছে... লোডিং...

চুক্তির হেজিং কৌশল ব্যবহার করে সম্পদ স্থানান্তর করার চিন্তাভাবনা

লেখক:কান্দ, তৈরিঃ 2020-10-20 16:48:32, আপডেটঃ 2023-09-26 20:59:29

通过合约对冲策略实现资产移动的思考

চুক্তির হেজিং কৌশল ব্যবহার করে সম্পদ স্থানান্তর করার চিন্তাভাবনা

সাম্প্রতিককালে মুদ্রা চক্রের খবর ক্রমাগত বলা যায়, এক্সচেঞ্জের খবরও আকাশে উড়ছে। এক সময় বিভিন্ন মুদ্রা বন্ধুরা আতঙ্কিত ছিল এবং তাদের ব্লকচেইন সম্পদের সুরক্ষার বিষয়ে চিন্তিত ছিল। বিভিন্ন মুদ্রা চক্রের গ্রুপগুলিও 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)
    }
}

通过合约对冲策略实现资产移动的思考

通过合约对冲策略实现资产移动的思考

কৌশলগত যুক্তিঃ কৌশলটি শূন্য অ্যারে হিসাবে ধারণের ভেরিয়েবল পস 1, পস 2 প্রাথমিকীকরণ শুরু করে। কৌশলটি মূল লুপে প্রবেশ করে, প্রতিটি লুপে দুটি এক্সচেঞ্জের চুক্তির গভীরতার ডেটা ((অর্ডার পাতলা ডেটা) পেতে শুরু করে, পার্থক্য গণনা করে। যদি পার্থক্যটি শেষের ব্যবধানের চেয়ে বেশি প্রসারিত হয় এবং একটি ধাপ বড় হয় তবে হেজিংটি বাড়িয়ে তুলতে থাকে। যখন হোল্ডিং হয়, তখন প্রথম এক্সচেঞ্জের হোল্ডিং ক্ষতির পরিমাণ একটি নির্দিষ্ট সংখ্যার চেয়ে বেশি হয় ((উদাহরণস্বরূপঃ -0.001)), স্থিতিশীলতা। এটি প্রায়শই পুনরাবৃত্তি করা হয়।

নীতিটি আসলে খুব সহজ, অর্থাৎ, বড় পার্থক্য, বিরোধী ধাক্কা; যখন একটি ক্ষতির প্রত্যাশায় থাকা বিনিময় হোল্ডিংয়ের ক্ষতির জন্য স্থির হয়, যদি পার্থক্যটি আরও প্রসারিত হয়, তবে হোল্ডিংয়ের ক্ষতি হ্রাস না হওয়া পর্যন্ত হোল্ডিংয়ের জন্য হোল্ডিং চালিয়ে যান। তুলনামূলকভাবে গুরুত্বপূর্ণ কয়েকটি পরামিতি হ'লঃ কতটি ক্ষতির পজিশন, হোল্ডিংয়ের পার্থক্যের গতি, হোল্ডিংয়ের পরিমাণ।

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

এটি একটি এক্সচেঞ্জের ক্ষতি সাধন করে, যার ফলে ক্ষতির অংশটি অন্য এক্সচেঞ্জের লাভের অংশে পরিণত হয়। (বিভিন্নতার সমস্যা, সেখানে হেজিং ক্ষতি হতে পারে, অর্থাৎ ক্ষতির পরিমাণ লাভের চেয়ে বেশি) । কৌশলটি একটি ফিউচার ট্রেডিং ক্যাটাগরি ব্যবহার করে।$.CoverShort,$.OpenShortএই টেমপ্লেটের ইন্টারফেস ফাংশন, যার উপর DEMO পুনরায় পরীক্ষা চালানোর জন্য ক্লাস লাইব্রেরির উপর রেফারেন্স প্রয়োজন।

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


সম্পর্কিত বিষয়বস্তু

আরও দেখুন

হাড়ের ছুরিদয়া করে যত তাড়াতাড়ি সম্ভব ইনস্টল করুন, আমি যদি এটি ব্যবহার করতে চাই তবে আমি আমার গেমিং কয়েনটি বের করে আনব।

উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্নলেখক প্রথমেই বলেছেন, অস্থিতিশীলতা, খারাপ কাজ, এবং ফিরে যাওয়ার সম্ভাবনা।