একটি কৌশল এজেন্ট কোনো ট্রেনিং কাজে টেস্টের একটি সারিও না দিয়েও টেস্ট সেটকে দূষিত করতে পারে। এজেন্ট যদি টেস্ট স্কোর দেখে, কোনো প্যারামিটার বদলে আবার চালায়, তাহলে সেই স্কোর ইতিমধ্যেই কৌশলকে প্রভাবিত করেছে। কোডে হয়তো সময়কালটিকে “নমুনার বাইরে” বলা হয়েছে। কিন্তু গবেষণা প্রক্রিয়া সেটিকে অনুসন্ধানের অংশ করে ফেলেছে।
সুবিধার জন্য এমনটা ঘটতে আমি দেখেছি: এজেন্ট এক ব্যাচ চালায়, সারসংক্ষেপের টেবিল পড়ে, তারপর ছোটখাটো উন্নতির প্রস্তাব দেয়। কেউ তাকে হোল্ডআউটে ফিট করতে বলেনি। তবু ফিডব্যাক লুপই সেটিকে ফিট করিয়েছে।
ভুল 1: প্রতিটি রান শেষে এজেন্টকে উঁকি দিতে দেওয়া
এর ক্ষতির চিহ্ন সাধারণত দেখা যায় টেস্ট Sharpe-এ, যা ধাপে ধাপে বেশ গোছানোভাবে বাড়ে। এজেন্ট 30টি ভ্যারিয়েন্ট চেষ্টা করে, সেরাটি রেখে সেটিকে ঘিরে আরও 30টি ভ্যারিয়েন্ট চেষ্টা করে। প্রতিটি পরিবর্তন আলাদাভাবে যুক্তিসংগত মনে হয়। কিন্তু সব মিলিয়ে টেস্ট সময়কালই অপ্টিমাইজেশনের লক্ষ্য হয়ে ওঠে।
একটি কাল্পনিক উদাহরণ দেখা যাক। ধরুন কৌশলটির আসলে কোনো বাড়তি সুবিধা নেই, আর আপনি হোল্ডআউটে 100টি স্বতন্ত্র ভ্যারিয়েন্ট পরীক্ষা করছেন। সর্বোচ্চ Sharpe-টি বেছে নিলে, কাকতালীয়ভাবে বেশ আকর্ষণীয় ফল পাওয়া একেবারেই সম্ভব। অধিকাংশ কৌশল অনুসন্ধানে ভ্যারিয়েন্টগুলো পুরোপুরি স্বতন্ত্র হবে না, তবে তাতেও প্রক্রিয়াটি রক্ষা পায় না: বারবার ফিডব্যাক নেওয়ায় হোল্ডআউটের খুঁতগুলোর সঙ্গে কাকতালীয়ভাবে মিলে যাওয়া সেটিংগুলোই পুরস্কৃত হয়।
ফলাফলের সীমানার আড়ালে হোল্ডআউট রাখুন। এজেন্ট ট্রেনিং ও ভ্যালিডেশন সময়কাল ব্যবহার করে কৌশল তৈরি করতে পারে; কিন্তু হোল্ডআউটের মেট্রিক বা চার্ট দেখতে পারবে না। চূড়ান্ত মূল্যায়ন আলাদা কাজে রাখুন, গবেষণার সিদ্ধান্তগুলো চূড়ান্ত হওয়ার পর একবার চালান, এবং ফলাফলের সঙ্গে কৌশলের সংস্করণ ও ডেটার স্ন্যাপশট নথিবদ্ধ করুন।
ভুল 2: পরের প্রতিটি সময়কালকে “নতুন” বলা
ট্রেনিং সময়কালের পরে পড়লেই কোনো তারিখসীমা নতুন হয়ে যায় না। এজেন্ট যদি সেই সময়কালের স্কোর দেখে থাকে, অথবা কোনো মানুষ সেই সময়ের ড্রডাউন দেখে অন্য ফিচার বেছে নিয়ে থাকে, তাহলে ওই সময়কালও ফিডব্যাক লুপের অংশ হয়ে গেছে।
| সময়কাল | অনুমোদিত ব্যবহার | কী করলে এর মর্যাদা বদলায় |
|---|---|---|
| ট্রেনিং | নিয়ম ও প্যারামিটার ফিট করা | কিছুই নয়; এখানে অনুসন্ধান করাই উদ্দেশ্য |
| ভ্যালিডেশন | বিকল্পগুলোর তুলনা করা ও গবেষণার সিদ্ধান্ত নেওয়া | বারবার ব্যবহার করলে ওভারফিটিংয়ের ঝুঁকি বাড়ে |
| চূড়ান্ত হোল্ডআউট | স্থির করা প্রার্থীর একবারের মূল্যায়ন | ফল দেখে প্রার্থীকে বদলানো |
| ভবিষ্যতের পেপার ট্রেডিং সময়কাল | ভবিষ্যতে বাস্তবায়নের আচরণ পর্যবেক্ষণ করা | ফল ব্যবহার করে টিউন করলে নতুন গবেষণা চক্র শুরু হয় |
রোলিং ওয়াক-ফরোয়ার্ড মূল্যায়ন সময়ের সঙ্গে একটি স্থির গবেষণা প্রক্রিয়া কেমন আচরণ করে, তা অনুমান করতে সাহায্য করতে পারে। তবে এর মানে এই নয় যে প্রতিটি ফোল্ডে যত খুশি উঁকি দেওয়া যাবে। এজেন্ট ফোল্ডের ফল দেখে অনুসন্ধানের পদ্ধতি বদলালে, সেগুলোও ফিডব্যাক হয়ে যায়। আপনি যে সিদ্ধান্ত নিতে চান, তার জন্য একটি চূড়ান্ত, অনছোঁয়া সময়কাল রেখে দিন।
ভুল 3: প্রশ্ন বদলে কোড অপরিবর্তিত রাখা
কখনো কৌশলের কোড অপরিবর্তিত থাকে, কিন্তু ফল দেখার পর গবেষক মূল্যায়ন পদ্ধতি বদলে ফেলেন: বেঞ্চমার্ক পাল্টান, খারাপ একটি মাস বাদ দেন, অন্য একটি ইউনিভার্সের ফল দেখান, অথবা যে মেট্রিকটি সবচেয়ে ভালো দেখায় সেটিতেই জোর দেন। কোনো প্যারামিটার না বদলালেও টেস্ট সেটই তখন গবেষণার উপস্থাপনাকে প্রভাবিত করেছে।
ক্ষতির চিহ্ন দেখা যায় পরিপাটি রিপোর্টে: একটি ঝকঝকে শিরোনাম থাকে, কিন্তু আগে দেখা অন্য দৃষ্টিভঙ্গিগুলোর কোনো নথি থাকে না। বিস্তৃত বাজার সূচকের তুলনায় ইকুইটি কৌশল দুর্বল, অথচ নগদের তুলনায় শক্তিশালী দেখাতে পারে; কয়েকটি ভেন্যু যাচাই করার পর ক্রিপ্টো কৌশল একটি ভেন্যুতে দারুণ দেখাতে পারে। এসব তুলনা কাজে লাগতে পারে, কিন্তু হোল্ডআউট দেখার পর সেগুলোর মধ্য থেকে বেছে নেওয়াও আরেকটি নির্বাচন ধাপ।
গবেষণার একটি লগ রাখুন। প্রতিটি রানের জন্য হাইপোথিসিস, কোডের সংস্করণ, ডেটার স্ন্যাপশট, প্যারামিটার অনুসন্ধান, মূল্যায়নের সময়সীমা, চাওয়া মেট্রিক এবং এজেন্ট বা গবেষক ফল দেখেছেন কি না—সব সংরক্ষণ করুন। “নমুনার বাইরে” শুনতে যতই নিখুঁত লাগুক, সেই লেবেলের চেয়ে সংক্ষিপ্ত একটি লগ বেশি কাজে দেয়।
তারপর মূল্যায়নের আগেই চূড়ান্ত প্রশ্নটি স্পষ্ট করে নিন: কোন প্রার্থী, কোন বাজার ইউনিভার্স, কোন বেঞ্চমার্ক, কোন খরচ এবং কোন মেট্রিক? ফল আসার পর উত্তর বদলালে, পরের রানটিকে গবেষণা হিসেবে ধরুন এবং পরবর্তী চূড়ান্ত যাচাইয়ের জন্য নতুন ডেটা সংরক্ষণ করুন।
দূষিত হোল্ডআউট থেকে এখনো কী শেখা যায়?
এটি অকাজের নয়। ওই সময়কালে কৌশলটি কেমন আচরণ করেছে তা দেখাতে পারে, ব্যর্থতা শনাক্ত করতেও সাহায্য করতে পারে। তবে এর স্কোরকে স্বতন্ত্র নিশ্চিতকরণ হিসেবে দেখানো বন্ধ করুন। এটিকে কৌশল উন্নয়নের প্রমাণ হিসেবে ব্যবহার করুন, পরবর্তী প্রার্থীকে স্থির করুন, তারপর একই হিসাব ও এক্সিকিউশন অনুমান বজায় রেখে সত্যিকারের ভবিষ্যৎ পেপার ট্রেডিং সময়কালে সেই প্রার্থীকে মূল্যায়ন করুন।
এজেন্ট-চালিত কর্মপ্রবাহে পরীক্ষার সংখ্যা সহজেই নজর এড়ায়: কেউ বুঝে ওঠার আগেই একটি প্রম্পট থেকে কয়েক ডজন রান তৈরি হতে পারে। এর সুরক্ষা আসে প্রক্রিয়া থেকে। এজেন্ট কী দেখতে পারবে তা সীমিত রাখুন, প্রতিটি পরীক্ষা নথিবদ্ধ করুন, আর একটি মূল্যায়ন এমনভাবে সংরক্ষণ করুন যার ফল বিচারাধীন প্রার্থীকে প্রভাবিত করতে পারবে না।
← সব পোস্ট


