এফএমজেড ব্যাকটেস্ট মেকানিজমের বর্ণনা

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

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

ব্যাকটেস্ট সিস্টেম কিভাবে কাজ করে?

img

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

ঐতিহ্যগত অনবার ব্যাকটেস্ট সিস্টেম

অনবার ব্যাকটেস্ট প্রক্রিয়াটি কে-লাইনগুলির উপর ভিত্তি করে, অর্থাৎ, প্রতিটি কে-লাইন একটি ব্যাকটেস্ট সময় পয়েন্ট তৈরি করে। সময় পয়েন্টে, আপনি তথ্য পেতে পারেন, যেমন বর্তমান কে-লাইন সর্বোচ্চ, সর্বনিম্ন, খোলা এবং বন্ধ মূল্য, ট্রেডিং ভলিউম ইত্যাদি, পাশাপাশি এই সময় পয়েন্টের আগে ইতিহাস কে-লাইন তথ্য।

এই প্রক্রিয়াটির অসুবিধাটি সুস্পষ্টঃ কে-লাইনে, কেবলমাত্র একটি বাণিজ্য তৈরি করা যেতে পারে, এবং দামটি সাধারণত কে-লাইন বন্ধের দামের উপর ভিত্তি করে। একটি কে-লাইন কেবলমাত্র চারটি দাম, যথা খোলা, বন্ধ, সর্বোচ্চ এবং সর্বনিম্ন দাম পেতে পারে, তবে একটি কে-লাইনে দামের পরিবর্তন এবং সর্বনিম্ন মূল্য প্রথম বা সর্বোচ্চ মূল্য প্রথম ঘটে কিনা তা তথ্য পেতে পারে না। উদাহরণস্বরূপ 1 ঘন্টা কে-লাইন নিন। বাজার তথ্যটি বটটিতে প্রতি কয়েক সেকেন্ডে পাওয়া উচিত এবং কে-লাইন শেষ হওয়ার অপেক্ষা করার পরিবর্তে বটটিতে ট্রেডিং অর্ডারও জারি করা হবে। অনবার ব্যাকটেস্ট প্রক্রিয়াটির সুবিধা হ'ল এটি বোঝা সহজ এবং ব্যাকটেস্টের গতি অত্যন্ত দ্রুত।

FMZ কোয়ান্ট অন টিক ব্যাকটেস্ট সিস্টেম

img

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

টিক কি?

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

সিমুলেশন লেভেল ব্যাকটেস্ট

সিমুলেশন স্তরের ব্যাকটেস্টের জন্য, আপনাকে কে-লাইন পিরিয়ড এবং ব্যাকটেস্টের জন্য ব্যবহৃত আন্ডারলেয়ার কে-লাইন পিরিয়ড নির্বাচন করতে হবে। উদাহরণস্বরূপ, যদি কৌশলটি প্রতি ঘন্টায় লাইন ব্যাকটেস্ট ব্যবহার করে এবং আন্ডারলেয়ার কে-লাইন 5 মিনিটে সেট করা থাকে তবে ব্যাকটেস্টের সময় পয়েন্টগুলির ব্যবধানটি 5 মিনিটের কে-লাইন দ্বারা সিমুলেটেড টিকের উপর ভিত্তি করে হবে, যা সর্বশেষ 1 ঘন্টার মধ্যে কে-লাইন বন্ধের দামের অবিচ্ছিন্ন পরিবর্তনে প্রতিফলিত হয়। কে-লাইন অনুসারে কে-লাইনে টিক তৈরির প্রক্রিয়াটি এমটি 4 এর অনুরূপ। এই পোস্টে বিস্তারিত নির্দেশাবলী রয়েছেঃhttps://www.fmz.com/bbs-topic/662

img
আমরা একটি সহজ কৌশল ব্যবহার করে এই প্রক্রিয়াটি প্রদর্শন করি; কৌশল কোডঃ

function main() {
  while(true){
      var records = exchange.GetRecords() //GetRecords can fill the parameters, and obtain K-lines of different periods 
      var ticker = exchange.GetTicker()
      Log('K-line close price: ', records[records.length-1].Close, 'ticker Buy1 Sell1 prices: ', ticker.Buy, ticker.Sell)
      //js backtest does not use Sleep, and it will skip to the next tick; Python needs 1 hour of sleep time 
  }
}

ব্যাকটেস্টের ফলাফল:img

কেবলমাত্র প্রতিটি কে-লাইনের খোলা এবং বন্ধ টিকগুলি স্থির করা হয় এবং মাঝখানে সিমুলেটেড 12 টি টিক যুক্ত করা হয়, যাতে একটি কে-লাইন 14 ব্যাকটেস্ট সময় পয়েন্ট গঠন করে। যদি আপনি 5 মিনিটের আন্ডারলেয়ার কে-লাইন সময়ের সাথে এক দিনের জন্য ব্যাকটেস্ট করেন তবে মোট 24 × 12 × 14 = 4032 সময় পয়েন্ট তৈরি হবে, যখন প্রচলিত অনবার ব্যাকটেস্টে কেবল 24 টি রয়েছে, তাই নির্ভুলতা ব্যাপকভাবে উন্নত হয়। খোলা এবং বন্ধ অবস্থান অপারেশনগুলিও একটি কে-লাইন সময়ের মধ্যে সম্পন্ন করা যেতে পারে। যদিও মধ্যবর্তী উত্পন্ন টিকগুলি সিমুলেট করা হয়, তবে এটি খুব বেশি প্রভাবিত করে না। ব্যাকটেস্টে, যতক্ষণ অর্ডারের দাম কেনার দামের চেয়ে বড় এবং বিক্রয় অর্ডারের দাম কেনার একের দামের চেয়ে ছোট, ব্যাকটেস্টটি মেলে। ট্রেডিংয়ের এই পদ্ধতিটি গতি এবং নির্ভুলতা বিবেচনা করে এবং প্রত্যেকের জন্য এটি সুপারিশ করা হয়।

বাস্তব বাজার স্তরের ব্যাকটেস্ট

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

img

ব্যাকটেস্ট এবং বটের মধ্যে পার্থক্য

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

প্রায়শই জিজ্ঞাসিত প্রশ্ন

কেন ব্যাকটেস্টের জন্য শুধুমাত্র কয়েকটি ট্রেডিং জোড়া এবং প্ল্যাটফর্ম সমর্থিত?

বর্তমানে, শুধুমাত্র কয়েকটি সাধারণ ট্রেডিং জোড়ার তথ্য রয়েছে। প্রকৃতপক্ষে, কৌশল এবং বৈচিত্র্যের মধ্যে সম্পর্ক খুব কাছাকাছি নয়, তাই কৌশলটি যাচাই করা যথেষ্ট।

এটা কি বিটমেক্সের অনুকরণ করতে পারে যাতে ফান্ডিং রেট চার্জ করা যায়?

অবশ্যই, আপনি লগ খুলতে BitMEX ব্যাকটেস্ট নির্বাচন করতে পারেন.img

যেখানে ব্যাকটেস্ট পরিচালিত হয়?

জাভাস্ক্রিপ্ট কৌশলগুলির ব্যাকটেস্ট ব্রাউজারে সম্পাদিত হয়, যখন পাইথন ব্যাকটেস্ট পরিচালনা করতে FMZ সার্ভার বা নিজস্ব ডকার চয়ন করতে পারে।

ব্যাকটেস্ট লগ ডাউনলোড করা যাবে কি?

অবশ্যই পারবেন, ডান কোণে ডাউনলোড বোতাম আছে।

ব্যাকটেস্ট স্থানীয়ভাবে করা যাবে কি?

এফএমজেড পাইথন ব্যাকটেস্ট ইঞ্জিনের সোর্স খোলে। রেফারেন্সঃhttps://www.fmz.com/bbs-topic/1687


আরো