এফএমজেড কোয়ান্টের আসল প্রযুক্তি - টিক পাওয়ার জন্য সীমাবদ্ধতা কীভাবে ভাঙবেন

লেখক:নিনাবাদাস, সৃষ্টিঃ ২০২২-০৩-১১ ১১ঃ১৪ঃ১৪, আপডেটঃ ২০২২-০৩-১১ ১৪ঃ২২ঃ২৫

কমোডিটি ফিউচার ট্রেডিং এর হাই ফ্রিকোয়েন্সি ট্রেডিং কৌশলতে টিক মার্কেটের কোটেশন গ্রহণের গতি কৌশলটির মুনাফার ফলাফলের উপর গুরুত্বপূর্ণ প্রভাব ফেলে। যাইহোক, বাজারে বেশিরভাগ ট্রেডিং ফ্রেমওয়ার্ক কলব্যাক মোড প্রক্রিয়া ব্যবহার করে। এটি ভাল হবে না onBar/onTick এবং Tick মিস, তাই কেন? কারণ onBar/onTick ফাংশনে, আপনাকে পুরো কোড লজিক নিয়ে কাজ করতে হবে, যা সময়ের অপচয়; আপনি চান বা না চান, আপনার স্ট্র্যাটেজি লজিককে বিঘ্নিত করতে হবে, এবং আপনাকে একটি স্টেট মেশিন মোড ব্যবহার করতে হবে, যেমনঃ

var state = STATE_IDLE;
function onTick() {
  if (state == STATE_IDLE) {
    // do something...
  } else if (state == ....) {
    // do something
  }
}

এফএফএমজেড কোয়ান্ট ব্যাকওয়ার্ড কলব্যাক প্রক্রিয়া গ্রহণ করে না, তবে main ফাংশন এন্ট্রি প্রক্রিয়া গ্রহণ করে যা কৌশল লজিককে বাধা দেয় না, যাতে ব্যবহারকারীরা কৌশল প্রবাহকে আরও স্বাভাবিকভাবে নিয়ন্ত্রণ করতে পারে; স্থিতিশীল কৌশল আন্ডারলেয়ার হিসাবে সি ++ এবং গোলং ব্যবহার করুন এবং লজিক সমস্যাগুলি মোকাবেলায় উপরের স্তরে জাভাস্ক্রিপ্ট / পাইথন ব্যবহার করুন। আপনি যদি এটি এনএনএস প্রশিক্ষণের জন্য ব্যবহার না করেন তবে স্ক্রিপ্টিং ভাষাটি ধীর মনে করবেন না; এমনকি যদি আপনি এনএনএস প্রশিক্ষণ ব্যবহার করেন তবে জিট হট সংকলন যুক্ত করার পরে এটি যে কোনও অনুষ্ঠানের জন্য যথেষ্ট হবে; ক্রোম তাত্ক্ষণিকভাবে আইইকে পরাজিত করে একটি উদাহরণ। ইভেন্ট ট্রিগারিং প্রক্রিয়া সঙ্গে মিলিত, কৌশল প্রথমবারের সবচেয়ে দ্রুত গতিতে TAQ প্রক্রিয়া করতে পারেন। এন্ট্রি-স্তরের কৌশল এখানে লিখিত হবে না, যতদূর উচ্চ ফ্রিকোয়েন্সি টিক সংশ্লিষ্ট ফিউচার, উদাহরণস্বরূপ, যখন আমরা একটি ফিউচার কোম্পানির অ্যাক্সেস করি, তখন আমরা কেবল এই ফিউচার কোম্পানির TAQ পেতে পারি। আমরা যে TAQ পাই তার গতি এবং গুণমান আমাদের নিজস্ব নেটওয়ার্কের সাথে সম্পর্কিত, এবং ফিউচার কোম্পানির ফ্রন্ট-এন্ড মেশিনের লোডের সাথেও সম্পর্কিত। সুতরাং, আমরা কীভাবে আরও দ্রুত সঠিক ফিউচার টিক ডেটা পেতে পারি?

কৌশল মডেলের অধীনে, আপনি সহজেই N বিভিন্ন ফিউচার কোম্পানির অ্যাকাউন্ট পরিচালনা করতে পারেন, তাদের TAQ একত্রিত করতে পারেন, এবং দ্রুততম গতিতে অর্ডার দিতে পারেন। স্বাভাবিক পরিস্থিতিতে, আমরা ফিউচার কোম্পানি থেকে প্রতি সেকেন্ডে দুইটি টিক পেতে পারি, কিন্তু TAQ একত্রীকরণের প্রযুক্তির মাধ্যমে, MA801 উদাহরণ হিসাবে গ্রহণ করে, আমরা প্রতি সেকেন্ডে সর্বোচ্চ 6 টি পুনরাবৃত্তিহীন টিক পেতে পারি।

img

আসুন সরাসরি কোডটিতে যাই (কোডটি কেবল বটে পরিচালিত হতে পারে, ব্যাকটেস্টে নয়), এবং আইও ফাংশন ব্যবহারের অর্থ হতে পারেঃhttps://www.fmz.cn/api#io函数

যখন একটি বট একটি প্ল্যাটফর্ম যোগ করে, তখন N টি ফিউচার কোম্পানি যোগ করা যেতে পারে যা TAQ এর সমান্তরাল একীকরণ প্রক্রিয়া করতে পারে; এখানে আমরা অস্থায়ীভাবে দুটি যোগ করি এবং এটি প্রদর্শন করিঃ

নিম্নলিখিত কোডঃ

function main() {
    Log("Prepare to access the platform and subscribe to TAQ")
    // Step 1: all futures front-end processors are subscribing for symbols 
    _.each(exchanges, function(e) {
        // wait to access the platform, and yes, the strategy runs continuously for 365 days, and it can run even after the market is closed, and it is not the logic of event callback
good mistake
        while (!e.IO("status")) Sleep(1000);
        // Use the _C retry function to eliminate network errors, and subscribe to TAQ just access to the platform; there may be an error that CTP is not ready
        _C(e.SetContractType, "MA801")
        // Switch the TAQ receiving mode to immediate return mode instead of event trigger mode, please refer to the API documentation
        e.IO("mode", 0)
    })
    Log("Start to merge data...")
    // Step 2: here comes the important part
    var preVolume = 0
    while (true) {
        var ts = new Date().getTime()
        // If any platform has tick event, return 
        var e = exchange.IO("wait_any")
        // Reset Volume at a proper time 
        if (e.Nano/1000000 - ts > 60000) {
            preVolume = 0
        }

        if (e.Event == 'tick' && e.Ticker.Volume >= preVolume) {
            Log(ret, e.Ticker.Last, e.Ticker.Volume)
            preVolume = e.Ticker.Volume
        }
    }
}

ফলাফল নিম্নরূপঃ

img

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

এফএমজেড কোয়ান্ট (পূর্বে বটভিএস) এমন একটি প্ল্যাটফর্ম যা বিশেষত এমন বিকাশকারীদের জন্য তৈরি করা হয়েছে যাদের কৌশল স্থিতিশীলতা এবং গতির জন্য সমালোচনামূলক প্রয়োজনীয়তা রয়েছে। আন্ডারলেয়ার প্রোটোকল প্রযুক্তিটি স্বাধীনভাবে বিকাশ করা হয়েছে, যা লিনাক্স / উইন্ডোজ / ম্যাক / এআরএম একক চিপ মাইক্রো কম্পিউটার বা এমনকি মোবাইল ফোনের অধীনে পরিচালিত হতে পারে এবং এর অর্ডারিং গতি অত্যন্ত দ্রুত। TAQ এর প্রতিক্রিয়া দ্রুত এবং এটি উচ্চ-ফ্রিকোয়েন্সি কৌশল বিকাশের জন্য সেরা পছন্দ।


আরো