নিবন্ধের সূচিপত্র

প্রমাণ ও পরিসর

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

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

ব্যবহারিক কাজের ধাপ

কাজের ধাপ: ট্রেডিং কৌশল যাচাই করুন: ডেটা, ফিল এবং আউট-অফ-স্যাম্পল পরীক্ষা
সম্পূর্ণ ধাপগুলো নিচে দেওয়া আছে। প্রতিটি ধাপে ডেটা অসম্পূর্ণ হলে বা শর্ত পূরণ না হলে বাতিল করার কারণ লিখে রাখতে হবে।
  1. অনুমানটি নিবন্ধন করুনবাজার, নিয়মকানুন, খরচ, পরিমাপক এবং অনুমোদিত পরীক্ষা-নিরীক্ষা স্থির করুন।
  2. ইনপুটগুলি যাচাই করুননির্দিষ্ট সময়ের প্রাপ্যতা, ভলিউমের অর্থ, ইউনিভার্স এবং টাইমস্ট্যাম্প পরীক্ষা করুন।
  3. তথ্য পাওয়ার ক্রম মেনে causal replay করুনঅর্ডার তৈরি করার এবং তা পূরণের অনুমতি দেওয়ার আগে সংকেতগুলো নিশ্চিত করুন।
  4. ঝুঁকি সীমিত করুনসাইজিং, মার্জিন, এক্সপোজার এবং গ্যাপ-স্ট্রেস সংক্রান্ত প্রয়োজনীয়তাগুলো প্রয়োগ করুন।
  5. ওয়াক-ফরোয়ার্ড মূল্যায়ন করুনওভারল্যাপিং লেবেলগুলি মুছে ফেলুন, ভ্যালিডেশনের ভিত্তিতে নির্বাচন করুন এবং প্রতিটি টেস্ট ফ্রিজ করুন।
  6. সম্পূর্ণ প্রমাণ রিপোর্ট করুন।অ্যাবলেশন, স্ট্রেস টেস্ট, অনিশ্চয়তা এবং প্রমাণের স্তর প্রকাশ করুন।

ক্রমানুসারে চারটি ভিন্ন প্রশ্নের উত্তর দিন।

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

আনুষ্ঠানিক প্যাটার্ন গবেষণা দেখায় কীভাবে শনাক্তকরণ এবং পরিসংখ্যানগত অনুমান তদন্ত করা যেতে পারে। [1] একটি দৃশ্যত বিশ্বাসযোগ্য ডাবল টপ বা পরিসংখ্যানগতভাবে ভিন্ন রিটার্ন ডিস্ট্রিবিউশন এখনও একটি সম্পূর্ণ ট্রেডিং সিস্টেম নয়। এন্ট্রি, এক্সিট, খরচ, পজিশন সাইজিং এবং সুযোগের ক্ষেত্রই অর্থনৈতিক ফলাফল নির্ধারণ করে।

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

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

1। নির্দিষ্ট সময়ের ডেটা এবং ভলিউমের অর্থ।

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

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

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

ভলিউম বাজার-নির্ভর। এক্সচেঞ্জ শেয়ার ভলিউম, ফিউচার চুক্তির ভলিউম, এফএক্স টিক কাউন্ট এবং একটি ক্রিপ্টো ভেন্যুর লেনদেনকৃত পরিমাণ হলো ভিন্ন ভিন্ন পরিমাপ। বায়িং ভলিউম বা ডেল্টার মতো লেবেলের জন্য একটি প্রকৃত শ্রেণিবিন্যাস পদ্ধতি প্রয়োজন; সাধারণ OHLCV অংশগ্রহণকারীর পরিচয় বা সমগ্র বাজারের অর্ডার প্রবাহ প্রকাশ করে না।

ডুপ্লিকেট বার, অনুপস্থিত ইন্টারভ্যাল, অসম্ভব OHLC সম্পর্ক, নেতিবাচক ভলিউম এবং টাইমজোনের অসঙ্গতির জন্য ইন্টিগ্রিটি টেস্ট তৈরি করুন। ডেটাসেট ভার্সন এবং কারেকশন লগ সংরক্ষণ করুন। পরিবর্তনশীল আনভার্সনড ইনপুট সহ একটি রিপ্রডিউসিবল কোডবেস একটি রিপ্রডিউসিবল এক্সপেরিমেন্ট তৈরি করে না।

2। নিশ্চিতকরণ সময় এবং প্রিফিক্স ইনভেরিয়েন্স

i সূচকে একটি পিভট, যার জন্য এর ডানদিকে r বার প্রয়োজন, তা i+r এর আগে নিশ্চিত করা হয় না। বিশ্লেষণের জন্য এর অবস্থান i তে আঁকা যেতে পারে, কিন্তু সেখানে পূর্ববর্তী কোনো ট্রেডিং সিদ্ধান্ত নেওয়া যায় না। occurred_at এবং confirmed_at কে পৃথক ফিল্ড হিসাবে সংরক্ষণ করুন এবং পরবর্তী উপলব্ধ টাইমস্ট্যাম্প থেকে কার্যকর করুন।

প্রিফিক্স ইনভেরিয়েন্স একটি ব্যবহারিক পরীক্ষা: ডেটাসেটের প্রতিটি ক্রমবর্ধমান প্রিফিক্সে অ্যালগরিদমটি চালান এবং ইতিমধ্যে প্রকাশিত নিশ্চিত ঘটনাগুলির সাথে তুলনা করুন। ভবিষ্যতের পর্যবেক্ষণগুলি যুক্ত করার ফলে যেন সেগুলি পুনর্লিখিত না হয়। অস্থায়ী ক্যান্ডিডেটগুলি পরিবর্তিত হতে পারে যদি সেগুলিকে স্পষ্টভাবে অস্থায়ী হিসাবে চিহ্নিত করা হয়; অপরিবর্তিত ইনপুটের অধীনে নিশ্চিত ঐতিহাসিক সংকেতগুলি স্থিতিশীল থাকা উচিত।

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

অনুমোদিত ঐতিহাসিক বিভাজনের উপর স্বাভাবিকীকরণ, ক্লাস্টারিং প্যারামিটার এবং পরিসংখ্যানিক মডেল স্থাপন করুন। সম্পূর্ণ ডেটাসেটের উপর প্রশিক্ষিত একটি স্কেলার ভবিষ্যতের বণ্টনের তথ্য ফাঁস করে দেয়, এমনকি যখন প্রতিটি স্বতন্ত্র ট্রেড এন্ট্রি সঠিকভাবে বিলম্বিত করা হয়। কার্যকারণ সম্পর্ক প্রিপ্রসেসিং এবং সূচক উভয়ের ক্ষেত্রেই প্রযোজ্য।

একটি তথ্যপূর্ণ পরীক্ষা ইচ্ছাকৃতভাবে ঐতিহাসিক প্রিফিক্স স্থির রেখে ভবিষ্যতের মূল্য এবং ভলিউম পরিবর্তন করে। যদি পূর্বে নিশ্চিত করা কোনো সংকেত পরিবর্তিত হয়, তবে চার্টিং প্ল্যাটফর্মটি স্বয়ংক্রিয়ভাবে রিপেইন্টিং-এর সমাধান করেছে বলে ধরে না নিয়ে, নির্ভরশীলতার উৎস অনুসন্ধান করুন।

3। একটি অর্ডার পূরণ হওয়ার আগে অবশ্যই তার অস্তিত্ব থাকতে হবে।

সিগন্যাল থেকে অর্ডার তৈরি, জমা, গ্রহণ, ট্রিগার, আংশিক পূরণ এবং সম্পূর্ণকরণ বা বাতিলকরণ পর্যন্ত ক্রমটি উপস্থাপন করুন। প্রতিটি পর্যায়ে বিলম্ব থাকতে পারে। অর্ডার গ্রহণের পূর্বে হওয়া কোনো ঐতিহাসিক মূল্য স্পর্শ সেই অর্ডারের জন্য একটি উপলব্ধ পূরণ হিসেবে গণ্য হবে না।

প্ল্যাটফর্ম কৌশল সংক্রান্ত ডকুমেন্টেশন এমুলেটরের সময় এবং অর্ডার সংক্রান্ত অনুমান শনাক্ত করতে সাহায্য করে। [2] ঐ কার্যপ্রণালীগুলো সিমুলেটরের প্রচলিত নিয়ম, প্রকৃত এক্সচেঞ্জে অর্ডার কার্যকর হওয়ার কোনো নিশ্চয়তা নয়। একটি স্টপ-মার্কেট অর্ডার এর সক্রিয়করণকে সীমাবদ্ধ করে, যদিও এর চূড়ান্ত মূল্য ভিন্ন হতে পারে; একটি লিমিট অর্ডার মূল্যকে সীমাবদ্ধ করে কিন্তু তা পূরণ নাও হতে পারে। [3]

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

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

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

4। ঝুঁকি পরিমাপে অবশ্যই সামঞ্জস্যপূর্ণ একক ব্যবহার করতে হবে।

একটি লিনিয়ার ইন্সট্রুমেন্টের জন্য, প্রস্তাবিত সাইজ ফর্মুলাটি হলো q=floor(B/(abs(E−S)×multiplier+c_unit)), যেখানে B হলো ক্যাশ লস বাজেট, E হলো পরিকল্পিত এন্ট্রি, S হলো স্টপ এবং c_unit হলো প্রতি ইউনিটের আনুমানিক রাউন্ড-ট্রিপ খরচ। মুদ্রা রূপান্তরের ক্ষেত্রে লব এবং হরকে অবশ্যই একই অ্যাকাউন্ট মুদ্রায় রাখতে হবে।

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

$20,000 সিন্থেটিক ইকুইটি এবং 0.5% ঝুঁকি বিবেচনা করুন, যা B=$100 প্রদান করে। entry 100, stop 99.50 এবং প্রতি শেয়ারে $0.04 আনুমানিক cost হলে, যা q=floor(100/0.54)=185। ঐ খরচ সহ পরিকল্পিত ক্ষতি হলো $99.90।

যদি প্রস্থান পথটি 99.20-এ পূর্ণ হয়, তাহলে মূল্যের ক্ষতি হয় $148 এবং একই আনুমানিক খরচ হয় $7.40, যার মোট পরিমাণ দাঁড়ায় $155.40। যে প্রতিবেদনটি এই ক্ষতিকে উদ্দিষ্ট $100 বাজেটের মধ্যে সীমাবদ্ধ করে, সেটি কার্য সম্পাদনের ঝুঁকি পরিমাপ করার পরিবর্তে তা মুছে ফেলে।

Portfolio-তে open order-এর জন্য exposure সংরক্ষণ করুন, gross ও net notional position value সীমিত রাখুন এবং পারস্পরিক সম্পর্কযুক্ত ঝুঁকি একত্রে হিসাব করুন। আলাদাভাবে ছোট কয়েকটি position একই market shock-এ ক্ষতিগ্রস্ত হতে পারে। একসঙ্গে প্রতিকূল price move হলে planned stop risk এবং stress-scenario loss দুটিই রিপোর্ট করুন।

5। ওয়াক-ফরোয়ার্ড মূল্যায়ন, অপসারণ এবং নিষেধাজ্ঞা

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

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

একটি নিষেধাজ্ঞা নিকটবর্তী পর্যবেক্ষণগুলিকে বাদ দেয়, যেখানে অন্যথায় ক্রস-ভ্যালিডেশন ডিজাইনটি ভবিষ্যতের প্রশিক্ষণ নমুনাগুলিকে একটি পরীক্ষার ব্যবধানের সাথে তথ্য আদান-প্রদান করার অনুমতি দিত। এটি কালানুক্রমিক পৃথকীকরণের কোনো সার্বজনীন বিকল্প নয় এবং ভুল ফিচার টাইমস্ট্যাম্প সংশোধন করে না। উদ্ধৃত লেখকের উপস্থাপনায় এই প্রক্রিয়াগুলি নিয়ে আলোচনা করা হয়েছে; এটি এমন কোনো প্রমাণ নয় যে প্রতিটি যথেচ্ছ নিষেধাজ্ঞার দৈর্ঘ্যই যথেষ্ট। [4]

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

প্রতিটি fitted transform সংশ্লিষ্ট fold-এর training data-তেই fit করতে হবে: scaler, feature selection, regime threshold এবং estimate করতে হয় এমন volume baseline। Label interval ঠিকভাবে purge করলেও পুরো sample-এ preprocessing fit করা থাকলে ভবিষ্যৎ তথ্য ফাঁস হয়।

6। অ্যাবলেশন, একাধিক ট্রায়াল এবং স্ট্রেস টেস্ট

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

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

ডিফ্লেটেড শার্প রেশিও তার অনুমানের অধীনে সিলেকশন বায়াস এবং নন-নরমাল রিটার্ন আচরণকে বিবেচনা করে। [5] এটি এমন কোনো সম্ভাবনা নয় যে একটি স্ট্র্যাটেজি সরাসরি অর্থ উপার্জন করবে। ব্যাকটেস্ট ওভারফিটিং-এর সম্ভাবনা তার কাঠামোর মধ্যে পার্টিশন জুড়ে র‍্যাঙ্কের অবনতি নিয়ে কাজ করে, অ্যাকাউন্টের মূলধন হারানোর সরাসরি সম্ভাবনা নিয়ে নয়। [6]

1.5 এবং 2-এর মতো পূর্ব-ঘোষিত মাল্টিপলে execution cost বাড়িয়ে stress test করুন, এন্ট্রি এক বার বিলম্বিত করুন, কাছাকাছি প্যারামিটার পরীক্ষা করুন এবং বৃহত্তম পাঁচটি ট্রেডের উপর নির্ভরতা যাচাই করুন। এগুলো হলো প্রস্তাবিত সংবেদনশীলতা পরীক্ষা। একটি ট্রেন্ড স্ট্র্যাটেজি স্বাভাবিকভাবেই বড় বিজয়ী ট্রেডগুলোর উপর নির্ভর করে; সেগুলো মুছে ফেলা তথ্যপূর্ণ, কিন্তু এটি স্বয়ংক্রিয়ভাবে পাস বা ফেলের কোনো নিয়ম নয়।

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

7। মেট্রিক্স, প্রত্যাশা এবং প্রমাণের স্তর।

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

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

একটি সংশ্লেষিত কৌশলের জয়ের সম্ভাবনা 0.40, গড় বিজয়ী 2R, গড় পরাজিত 1R এবং খরচ 0.08R হলে, এর প্রত্যাশা 0.40×2−0.60×1−0.08=0.12R। এই নির্দিষ্ট প্রতিদানগুলোর অধীনে এর ব্রেক-ইভেন জয়ের হার হলো (1+0.08)/(2+1)=0.36।

একই খরচে আরেকটি সংশ্লেষিত কৌশল, যা 65% সংখ্যক ট্রেডে জয়ী হয়, বিজয়ী ট্রেডগুলো থেকে 0.5R আয় করে এবং অন্যথায় 1R লোকসান করে, তার প্রত্যাশিত আয় 0.65×0.5−0.35×1−0.08=−0.105R। সুতরাং, একটি লোকসানি সিস্টেমের সাথে একটি উচ্চতর জয়ের হারও সহাবস্থান করতে পারে।

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

এমন নিদর্শন প্রকাশ করুন যা অন্য গবেষক পরিদর্শন করতে পারেন।

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

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

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

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

spec = freeze_hypothesis_and_trial_registry()
data = load_versioned_point_in_time_inputs()
assert_data_integrity(data)
assert_confirmed_events_are_prefix_invariant(data)
development, final_test = split_chronologically_before_research(data)
for fold in chronological_folds(development, spec):
    train = purge_overlapping_labels(fold.train, fold.validation + fold.test)
    validation = purge_overlapping_labels(fold.validation, fold.test)
    model = fit_using_train_only(train)
    config = select_on_validation(model, validation)
    freeze(config)
    events = replay_causally(fold.test, config)
    fills = simulate_orders_after_available_at(events, spec.execution)
    equity = mark_to_market(fills, fees=spec.costs)
    archive_all_results(config, events, fills, equity)
final_config = freeze_selection_using_development_only()
evaluate_final_holdout_once(final_test, final_config)
report_net_metrics_ablations_stress_and_uncertainty()

সাধারণ ভুল

একটি আকর্ষণীয় ডিটেক্টরকে লাভজনক কৌশল হিসেবে বিবেচনা করা

জ্যামিতি, ভবিষ্যদ্বাণীমূলক তথ্য, কার্যকারিতা এবং নমুনা-বহির্ভূত কর্মক্ষমতা হলো যাচাইকরণের পৃথক পর্যায়। একটিতে উত্তীর্ণ হলেই অন্যগুলো প্রতিষ্ঠিত হয় না।

ভবিষ্যৎ-নিশ্চিত সংকেতসহ একটি পরিচ্ছন্ন চার্ট।

এর ঐতিহাসিক অবস্থানে একটি পিভট অঙ্কন করলে পরবর্তী নিশ্চিতকরণের সময় গোপন হতে পারে। occurred_at এবং confirmed_at উভয়ই সংরক্ষণ করুন এবং তথ্যের প্রাপ্যতার নিরিখে প্রতিটি সিদ্ধান্ত পরীক্ষা করুন।

প্রতিটি খরচকে একটি ছোট কমিশনে সংকুচিত করা

স্প্রেড, ইমপ্যাক্ট, বরো বা ফান্ডিং এবং মিসিং ফিলস কমিশনের চেয়ে বেশি গুরুত্বপূর্ণ হতে পারে। ইনস্ট্রুমেন্ট এবং এর লিকুইডিটির জন্য এগুলোর মডেল তৈরি করুন।

অবাস্তব পূরণ সহ একটি বাস্তবসম্মত ফি লাইন

অসম্ভব সিগন্যাল-ক্লোজ ফিল, অনুকূল ইন্ট্রাবার অর্ডারিং বা নিশ্চিত লিমিট এক্সিকিউশনের জন্য কমিশন ক্ষতিপূরণ দিতে পারে না।

একই পরীক্ষার সময়কাল বারবার পরিদর্শন করা

একবার পরীক্ষার ফলাফল সংশোধনের পথনির্দেশ করলে, সেই সময়কালটি উন্নয়নের অংশ হয়ে যায়। প্রতিটি ব্যবহার নথিভুক্ত করুন এবং একটি নতুন, অপরিবর্তিত মূল্যায়ন পর্যায় সংরক্ষণ করুন।

শুধুমাত্র বিজয়ী কনফিগারেশনগুলি সংরক্ষণ করা

পরীক্ষার সংখ্যা এবং ব্যর্থ বিকল্পগুলোর বিন্যাস ছাড়া, নির্বাচিত কৌশলের সপক্ষে প্রমাণকে অতিরঞ্জিত করা হতে পারে।

লাভজনকতার শংসাপত্র হিসাবে পরিসংখ্যানগত সংশোধন ব্যবহার করা

DSR, PBO এবং p-মান কিছু অনুমানের অধীনে নির্দিষ্ট অনুমানমূলক প্রশ্নের সমাধান করে। এগুলো কার্যসম্পাদন পরীক্ষার বিকল্প নয় বা অ্যাকাউন্টের ভবিষ্যৎ মুনাফা নির্ধারণ করে না।

এই পদ্ধতি ব্যবহারের আগে যাচাইতালিকা

নিজের ডেটায় যাচাই করার পর প্রতিটি বিষয়ে টিক দিন। অগ্রগতি এই ব্রাউজারে সংরক্ষিত হয়; এটি কৌশল লাভজনক হওয়ার সনদ নয়।

0/16 বিষয়

সচরাচর জিজ্ঞাসা

একটি কৌশল কার্যকর তা প্রমাণ করার জন্য কতগুলো লেনদেন যথেষ্ট?

সবার জন্য নির্দিষ্ট trade-count threshold নেই। ফলের পারস্পরিক নির্ভরতা, লাভ-ক্ষতির চরম মানের বণ্টন, market regime ও effect size অনিশ্চয়তা নির্ধারণ করে। স্থির trade count-কে প্রমাণ না ধরে এই বৈশিষ্ট্যগুলো রিপোর্ট করুন।

যদি খরচের কারণে ঘোষিত সুবিধাটি নষ্ট হয়ে যায়, তাহলে কি কৌশলটি বাতিল করা উচিত?

লেনদেনযোগ্য সংস্করণটি ব্যর্থ হতে পারে, কিন্তু অন্তর্নিহিত পরিসংখ্যানগত সম্পর্কটি কার্যকর থাকতে পারে। উভয় সিদ্ধান্তই প্রতিবেদন করুন এবং মোট প্রভাবকে একটি কার্যকর নীট রিটার্ন হিসাবে উপস্থাপন করা থেকে বিরত থাকুন।

কোড প্রকাশ করলে কি ব্যাকটেস্টটি পুনরুৎপাদনযোগ্য হয়?

কোড শুধুমাত্র একটি আবশ্যকতা। ডেটা ভার্সন, কর্পোরেট-অ্যাকশন কনভেনশন, প্যারামিটার, ট্রায়াল হিস্ট্রি এবং এক্সিকিউশন অ্যাজাম্পশনও সহজলভ্য বা সুনির্দিষ্টভাবে নথিভুক্ত থাকা প্রয়োজন।

গবেষণার সূত্র

প্রতিটি সূত্র তার পাশে বর্ণিত সংজ্ঞা বা প্রমাণকে সমর্থন করে। ছদ্মকোড, কৃত্রিম উদাহরণ ও প্রস্তাবিত প্যারামিটার আলাদাভাবে যাচাই করতে হবে।

  1. Foundations of Technical Analysis: Computational Algorithms, Statistical Inference, and Empirical ImplementationAndrew W. Lo, Harry Mamaysky, Jiang Wang. মৌলিক প্যাটার্ন-শনাক্তকরণ এবং পরিসংখ্যানগত-অনুমান গবেষণামূলক পাঠ। এটি গ্রন্থাগারের প্রতিটি নিয়মের লাভজনকতা প্রমাণ করে না। যাচাইয়ের তারিখ: .
  2. Pine Script — StrategiesTradingView. মূলত স্ট্র্যাটেজি অর্ডারের সময় এবং ব্রোকার-এমুলেটরের আচরণ বোঝার জন্য ডকুমেন্টেশনটি পড়ুন, এটিকে একটি সার্বজনীন এক্সচেঞ্জ এক্সিকিউশন মডেল হিসেবে ব্যবহার করবেন না। যাচাইয়ের তারিখ: .
  3. Understanding Order Types — Investor BulletinU.S. SEC — Investor.gov. বাজার, লিমিট ও স্টপ-অর্ডারের কার্যপ্রণালী এবং সেগুলোর বাস্তবায়নের সীমাবদ্ধতা সম্পর্কে জানতে এই প্রধান বুলেটিনটি পড়ুন। যাচাইয়ের তারিখ: .
  4. MLX 2018 — The 7 Reasons Most Machine Learning Funds FailMarcos López de Prado — bản trình bày đăng trên SlideShare. লেখকের প্রেজেন্টেশন স্লাইডগুলো পরিমার্জন ও নিষেধাজ্ঞার জন্য পড়া হয়েছে। এর মাধ্যমে সম্পূর্ণ ফিনান্সিয়াল মেশিন-লার্নিং বইটি পড়ার বা তাতে প্রবেশাধিকারের দাবি করা হচ্ছে না। যাচাইয়ের তারিখ: .
  5. The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting and Non-NormalityDavid H. Bailey, Marcos López de Prado — 2014. সম্পূর্ণ পদ্ধতিগত গবেষণাপত্রটি পড়া হয়েছে। এর নির্বাচন-পক্ষপাত সমন্বয়ের জন্য কিছু অনুমান এবং পরীক্ষার তথ্যের প্রয়োজন হয়; এটি কোনো চলমান মুনাফার সম্ভাবনা নয়। যাচাইয়ের তারিখ: .
  6. The Probability of Backtest OverfittingBailey, Borwein, López de Prado, Zhu. CSCV এবং PBO-এর জন্য পঠিত পদ্ধতি। নমুনা-বহির্ভূত র‍্যাঙ্কের অবনতিকে অর্থ হারানোর সম্ভাবনা থেকে পৃথক করা হয়। যাচাইয়ের তারিখ: .

সম্পর্কিত পদ্ধতি

ঝুঁকি সংক্রান্ত নোট

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

বাস্তব মূলধন ঝুঁকিতে দেওয়ার আগে নিয়ম যাচাই করুন

অ্যাপের সক্ষমতা, ডেটা এবং প্রতিটি সিমুলেটেড ট্রেড পরীক্ষা করুন; উন্নত ডিটেক্টরের জন্য আলাদা বাস্তবায়ন লাগতে পারে।

App Store থেকে Backtest ডাউনলোড করুন