6 নভেম্বর, 2026 · ডেটা

আপনার ব্যাকটেস্টে ভুল পয়েন্ট-ইন-টাইম ইউনিভার্স ব্যবহার হয়েছে

আপনার ব্যাকটেস্টে ভুল পয়েন্ট-ইন-টাইম ইউনিভার্স ব্যবহার হয়েছে

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

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

প্রথম ভুল: পুরো হিস্ট্রিতে আজকের তালিকা দিয়ে ব্যাকটেস্ট করা

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

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

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

দ্বিতীয় ভুল: সিদ্ধান্তের পরের সময়ের পরিসংখ্যান দিয়ে র‍্যাঙ্ক করা

ঐতিহাসিক ইউনিভার্সেও তথ্য ফাঁস হতে পারে, যদি সদস্যপদের নিয়মে ভবিষ্যতের পুরো সময়সীমা ধরা হয়। “প্রতি মাসে সবচেয়ে তরল 20টি স্টক ট্রেড করুন”—শুনতে যুক্তিসংগত, যতক্ষণ না বোঝা যায় যে ট্রেড করার কথা সেই পুরো মাস ধরেই, অথচ তারল্য র‍্যাঙ্ক করা হয়েছে পুরো মাসের তথ্য দিয়ে।

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

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

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

তৃতীয় ভুল: হিস্ট্রি না থাকাকে অ্যাসেটের অযোগ্যতার প্রমাণ ধরা

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

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

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

ইউনিভার্সকে পুনরুৎপাদনযোগ্য করুন

কার্যকর অডিট শুরু হয় কোনো একটি ঐতিহাসিক রিব্যালান্স দিয়ে। তারিখসহ তালিকাভুক্তির তথ্য এবং সেই কাটঅফে পাওয়া ডেটা থেকে প্রার্থী তালিকা পুনর্গঠন করুন। শুধু সম্পূর্ণ হওয়া পর্যবেক্ষণ ব্যবহার করে র‍্যাঙ্কিংয়ের ইনপুট আবার হিসাব করুন। তারপর তৈরি হওয়া সদস্যপদের সঙ্গে আপনার ব্যাকটেস্টে ব্যবহৃত তালিকার তুলনা করুন।

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

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

সারভাইভারশিপ বায়াসপয়েন্ট-ইন-টাইম ডেটাইউনিভার্স নির্মাণব্যাকটেস্টিং
শেয়ার করুনXLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← সব পোস্ট