19 সেপ্টেম্বর, 2026 · ব্যাকটেস্টিং

টিক ডেটা আপনার ব্যাকটেস্টকে বাঁচাবে না — বেশিরভাগ কৌশলে বরং ক্ষতি করে

টিক ডেটা আপনার ব্যাকটেস্টকে বাঁচাবে না — বেশিরভাগ কৌশলে বরং ক্ষতি করে

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

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

টিক রেজোলিউশন আসলে কী দেয়

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

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

~24Mপ্রতিদিনের ট্রেড, BTCUSDT পারপ
1,440সেই একই দিনে 1-মিনিটের বার
0.5–1 টিকপ্রতি প্রিন্টে সাধারণ বিড-আস্ক বাউন্স নয়েজ
3–5xবার পাইপলাইনের তুলনায় নির্ভুল টিক পাইপলাইনের ইঞ্জিনিয়ারিং সময়

শেষের সংখ্যাটিকে মানুষ কম গুরুত্ব দেন। টিক-স্তরের ব্যাকটেস্ট মানে শুধু “আরও সারি-সহ একই ব্যাকটেস্ট” নয়। বেশিরভাগ এক্সচেঞ্জে ট্রেড আপনার ইনজেশন টাইমস্ট্যাম্পের তুলনায় এলোমেলো ক্রমে আসে, পরে সংশোধিত হয়, একাধিক ম্যাচিং ইঞ্জিন শার্ডে ভাগ হয়; আর আমরা যেসব ভেন্যু থেকে ডেটা নিয়েছি, সেগুলোর কয়েকটিতে সংযোগ পুনঃস্থাপনের সময় কখনো কখনো ডুপ্লিকেট হয় বা পুরোপুরি বাদ পড়ে। শুধু আরও সূক্ষ্ম নয়, বরং ভালোভাবে তৈরি বার পাইপলাইনের চেয়েও সত্যিকারের নির্ভুল টিক পাইপলাইন বানানো একটি বাস্তব সিস্টেমস প্রকল্প। বেশিরভাগ দল এই প্রকল্প করে না। তারা কোনো ভেন্ডরের টিক ফাইলে ব্যাকটেস্টার চালিয়ে কাজ শেষ বলে ধরে, অর্থাৎ পরিচিত ও নথিভুক্ত কিছু আনুমানিক হিসাব (OHLCV) বদলে অজানা ও অনথিভুক্ত কিছু অনুমান নেয়—খারাপ দিনে ভেন্ডরের টিক ডেটা মেলানোর লজিক যা করে।

যে নয়েজের জন্য আপনি মূল্য দিচ্ছেন

দ্বিতীয় একটি খরচ আছে, যা ইঞ্জিনিয়ারিংয়ের চেয়ে পরিসংখ্যানের সঙ্গে বেশি জড়িত। প্রতিটি ট্রেড প্রিন্ট বিড ও আস্কের মধ্যে দুলতে থাকে—এটাই বিড-আস্ক বাউন্স, এবং 1980-এর দশক থেকে বাজারের মাইক্রোস্ট্রাকচারবিষয়ক গবেষণায় এটি পরিচিত একটি ত্রুটি। আপনার সিগন্যাল কয়েক সেকেন্ডের চেয়ে দ্রুত কিছুতে কাজ করলে, টিক-স্তরের ব্যাকটেস্টে আপনি এমন কাঠামো দেখতে পারেন যা আসলে শুধু এই বাউন্স। আমি এক গবেষককে ট্রেড-প্রতি-ট্রেড ডেটায় চমৎকার একটি mean-reversion প্যাটার্ন খুঁজে পেতে দেখেছি; এমনকি 5-সেকেন্ডের বারে ডেটা একত্র করতেই সেটি উধাও হয়ে গেল, কারণ প্যাটার্নটি আসলে ছিল বাউন্স।

আমার পরিচিত একজন কোয়ান্ট—আগে মার্কেট-মেকিং করতেন, এখন ছোট একটি ক্রিপ্টো বুক চালান—আমাকে এভাবে বলেছিলেন: “টিক ডেটা একটি ম্যাগনিফাইং গ্লাস। আপনার এজের দিকে ধরলে দারুণ। নয়েজের দিকে ধরলে, ছয় মাস ধরে নিজের নয়েজকে নিখুঁতভাবে মডেল করতেই কাটবে।” এখন তিনি প্রায় সবকিছুর ব্যাকটেস্ট করেন 1-সেকেন্ড বা 1-মিনিটের বারে; টিক ডেটায় যান কেবল নির্দিষ্ট প্রশ্নটির জন্য—“এই লিমিট অর্ডারটি আসলে ফিল হতো কি?”—যা ফিল-সম্ভাবনার প্রশ্ন, সিগন্যালের প্রশ্ন নয়।

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

সমালোচকেরা যখন ঠিক বলেন

তবে এমন কৌশলও আছে যেখানে টিক ডেটা ঐচ্ছিক নয়; তা অস্বীকার করলে আমি বিষয়টি অতিরঞ্জিত করব। আপনি যদি মার্কেট-মেকিংয়ের মতো কিছু করেন—দুই দিকেই কোট দেন, প্রতি টিকে ইনভেন্টরি সামলান, নির্দিষ্ট দামে কিউতে আপনার অবস্থান নিয়ে ভাবেন—তাহলে বার ডেটা আপনার সমস্যাটিই উপস্থাপন করতে পারে না। ওই কৌশলের পুরো অর্থনীতি মিনিটের ভেতরে, মিনিট পেরিয়ে নয়। একই কথা প্রযোজ্য ভেন্যুগুলোর মধ্যে ল্যাটেন্সি-সংবেদনশীল পরিসংখ্যানভিত্তিক আর্বিট্রাজের ক্ষেত্রেও, যেখানে প্রশ্নটা আক্ষরিক অর্থেই “কোন ট্রেডটি আগে ঘটেছিল”; এবং বড় আকারের অর্ডার ঘিরে অপশনস মার্কেট-মেকিংয়ের ক্ষেত্রেও, যেখানে প্রিন্টের পর কয়েকশ মিলিসেকেন্ডের adverse selection-ই পুরো খেলা। এই পরিস্থিতিগুলোতে বারে ব্যাকটেস্ট করা সরলীকরণ নয়, শ্রেণিগত ভুল—আপনি কৌশলটির কম-রেজোলিউশনের সংস্করণ পরীক্ষা করছেন না; আসলটির সঙ্গে শুধু নাম মেলে এমন অন্য একটি কৌশল পরীক্ষা করছেন।

কৌশলের সময়সীমাবার ডেটায় যা আড়াল হয়টিক ডেটা দরকার?
মার্কেট-মেকিং / কিউ-ভিত্তিকফিলের সম্ভাবনা, adverse selection, কিউতে অবস্থানহ্যাঁ — অপরিহার্য
ল্যাটেন্সি / ভেন্যু-পারাপার আর্বিট্রাজট্রেডের ক্রম, কোন ভেন্যু আগে নড়েছেহ্যাঁ
ইন্ট্রাডে মোমেন্টাম, mean reversion (মিনিট–ঘণ্টা)বারের ভেতরে ফিলের সময়, স্প্রেড খরচশুধু ফিল-সম্ভাবনার প্রশ্নে, সিগন্যালের জন্য নয়
সুইং / বহু-দিনের, দিকনির্দেশনামূলক অপশনসপ্রায় কোনো উল্লেখযোগ্য তথ্যই নয়না — বারই যথেষ্ট, এবং প্রায়ই আরও পরিচ্ছন্ন
আপনার নির্দিষ্ট কৌশলের ক্ষেত্রে বার ডেটা যে প্রশ্নের উত্তর দিতে পারে না, টিক ডেটা সেই কোন প্রশ্নের উত্তর দেয়—এক বাক্যে বলতে না পারলে, এখনো আপনার টিক ডেটা দরকার নেই। আপনার দরকার, হাতে থাকা বার ডেটায় আরও ভালো ফিল মডেল।

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

টিক ডেটাবাজারের মাইক্রোস্ট্রাকচারব্যাকটেস্টিংডেটা ইঞ্জিনিয়ারিংক্রিপ্টো ফিউচার্স
শেয়ার করুনXLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← সব পোস্ট