22 আগস্ট, 2026 · গবেষণা

আপনার ব্যাকটেস্টের ওপেন অর্ডারের কেন একটি ঘড়ি দরকার

আপনার ব্যাকটেস্টের ওপেন অর্ডারের কেন একটি ঘড়ি দরকার

একটি স্ট্র্যাটেজি 10:00-এ একটি লিমিট অর্ডার পাঠায়। 10:03-এ তার সিগন্যাল বদলে যায়। ব্যাকটেস্ট চুপিসারে 10:04-এ অর্ডারটি বদলে দেয়, তারপর 10:05-এ সেটি পূরণ হয়েছে বলে ধরে। পেপার ট্রেডিংয়ে আসল অর্ডারটি ভেন্যুতে তখনও অপেক্ষমাণ থাকতে পারে। সেটি পূরণ হওয়ার সময় নতুন অর্ডারটিও কার্যকর থাকলে, স্ট্র্যাটেজির আসলে 2টি অর্ডার থাকবে, অথচ পজিশন মডেলটি ভান করবে যে ছিল মাত্র 1টি।

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

ভুল 1: নতুন সিগন্যালকে তাৎক্ষণিক বাতিল বলে ধরে নেওয়া

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

$50.00 দামে 100টি শেয়ারের একটি buy limit ধরুন। 10:03-এ সিগন্যাল দুর্বল হয়ে যায়, তাই স্ট্র্যাটেজি বাতিলের অনুরোধ পাঠায়। 10:03:00.080-এ অর্ডারটির 60টি শেয়ার পূরণ হয়; 10:03:00.110-এ বাতিলের স্বীকৃতি আসে। বাকি 40টি শেয়ার বাতিল হয়, কিন্তু পজিশনে এখন 60টি শেয়ার রয়েছে। 10:03-এ অর্ডার মুছে ফেলা বার-ভিত্তিক ব্যাকটেস্ট হয়তো শূন্য দেখাবে। আর যে ব্যাকটেস্ট তাৎক্ষণিক বাতিল হয়েছে বলে ধরে নিয়েও পরে ফিল দেখায়, সেটি বিপরীত দিকে কৃত্রিম এক্সপোজার তৈরি করেছে।

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

ভুল 2: অপেক্ষমাণ অর্ডারকে অসীম মেয়াদ দেওয়া

10:00-এর সিগন্যাল থেকে নির্ধারিত দামের একটি লিমিট অর্ডার পুরোনো হয়ে যেতে পারে, এমনকি সিগন্যালের কোনো স্পষ্ট প্রস্থান নিয়ম না থাকলেও। অর্ডার-বুক বদলায়, অস্থিরতা পরিবর্তিত হয়, আর ইন্সট্রুমেন্টটির বাজারমূল্যও সরে যেতে পারে। তবু যে সিমুলেটর অর্ডার পূরণ না হওয়া পর্যন্ত সেটিকে সক্রিয় রাখে, সেটি হয়তো কয়েক মাস পরে ফিল পেয়ে এমন একটি থিসিসকে কৃতিত্ব দেবে যার আর অস্তিত্বই নেই।

স্ট্র্যাটেজির সঙ্গে মেলে এমন অর্ডারের time-in-force নীতি নির্ধারণ করুন। 1-minute সিগন্যালের ক্ষেত্রে 30-সেকেন্ডের মেয়াদ ব্যবহার করা যেতে পারে; দৈনিক রিব্যালান্সের অর্ডার বাজার বন্ধ হওয়া পর্যন্ত সক্রিয় রাখা যেতে পারে। এগুলো স্ট্র্যাটেজি-নির্দিষ্ট সিদ্ধান্ত, সর্বজনীন ডিফল্ট নয়। স্ট্র্যাটেজি যদি প্রতি বারে দাম নতুন করে নির্ধারণ করে, তাহলে অর্ডারকে জাদুর মতো নতুন দামে সরিয়ে না দিয়ে বাতিল ও প্রতিস্থাপনের ধাপগুলো মডেল করুন।

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

ভুল 3: প্রতিটি দাম-ছোঁয়াকেই ফিল ধরা

কোনো ক্যান্ডেলের low যদি buy limit-এ পৌঁছায়, তার মানে অর্ডারটি যে পূরণ হয়েছেই তা নয়। তার আগে কিউতে অন্য অর্ডার থাকতে পারে, ওই দামে লেনদেনের পরিমাণ কম হতে পারে, অথবা অর্ডার পৌঁছানোর আগেই অল্প সময়ের জন্য ওই দামে ট্রেড হয়ে থাকতে পারে। পুরোনো অর্ডারের মডেলে প্রায়ই এই 3টি ভুলই একসঙ্গে থাকে: অর্ডারকে অতিরিক্ত সময় সক্রিয় রাখা, কিউতে একে সবার আগে ধরে নেওয়া, তারপর দাম ছুঁলেই পুরো অর্ডার পূরণ হয়েছে বলে দেখানো।

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

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

যে অর্ডার পেপার ট্রেডে চালাতে চান, সেটিই মডেল করুন

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

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

অর্ডার ব্যবস্থাপনাব্যাকটেস্টিংএক্সিকিউশনপেপার ট্রেডিং
শেয়ার করুনXLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← সব পোস্ট