20 অক্টোবর, 2026 · গবেষণা

ফিউচার্স পজিশন রোল করার খরচ ধরতেই কৌশলটির লাভ থেমে গেল

ফিউচার্স পজিশন রোল করার খরচ ধরতেই কৌশলটির লাভ থেমে গেল

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

সিগন্যালের সঙ্গে রহস্যজনক কিছু ঘটেনি। ব্যাকটেস্ট “ফিউচার্সের দাম”কে একটানা একটি জিনিস হিসেবে ধরেছিল। অ্যাকাউন্টকে একটি কন্ট্র্যাক্ট বন্ধ করে আরেকটি খুলতে হয়েছিল—দুটি আলাদা অর্ডার বুকে, দুটি আলাদা দামে।

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

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

সিগন্যাল তৈরির জন্য কন্টিনিউয়াস সিরিজ কাজে লাগতে পারে। কিন্তু ফিলের ক্ষেত্রে তা কাল্পনিক। রোল মানে দুটি ট্রেড, আর কন্ট্র্যাক্টগুলোর মধ্যকার স্প্রেড বাজারের কাঠামোর অংশ—মসৃণ দেখানোর জন্য মুছে ফেলার মতো কোনো সাজসজ্জার লাফ নয়।

2টি লেগফিউচার্স পজিশন বন্ধ করে আবার খুলতে
2টি অর্ডার বুকপ্রতিটির নিজস্ব বিড, আস্ক ও গভীরতা
1টি সিগন্যালযার হয়তো বদলানোর দরকারই নেই

দুটি তালিকাভুক্ত কন্ট্র্যাক্ট দিয়ে আমরা ঘটনাটি আবার চালালাম। পুরোনো মাসের বিড ছিল 79.98 এবং আস্ক 80.00। পরের মাসের বিড ছিল 80.42 এবং আস্ক 80.45। আমাদের লং পজিশনকে পুরোনো কন্ট্র্যাক্টটি বিডে বিক্রি করে নতুনটি আস্কে কিনতে হয়েছিল। এই কার্যকরযোগ্য দুই দামের মধ্যে ক্যালেন্ডার স্প্রেড ছিল 44 সেন্ট।

এই অঙ্কটি আপনা থেকেই 44 সেন্টের লোকসান বোঝায় না। কন্ট্র্যাক্ট দুটির ডেলিভারি মাস আলাদা ছিল, আর স্প্রেডে ক্যারি, সংরক্ষণ, অর্থায়ন ও সরবরাহ সম্পর্কে প্রত্যাশার প্রতিফলন ছিল। রোল পেরিয়ে ধরে রাখা পজিশনটি নতুন কন্ট্র্যাক্টের দামের ওঠানামায় এক্সপোজার বজায় রাখে; উদ্ধৃত পুরো স্প্রেডকে ফি হিসেবে দেয় না। তবে কৌশলটিকে পুরোনো কন্ট্র্যাক্টের এক্সিট বাস্তবায়ন করে নতুনটির এন্ট্রি নিতে হয়। রিটার্নের হিসাব যদি ওই দাম দুটিকে একই ইন্সট্রুমেন্টের দাম ধরে তুলনা করে, তাহলে তা P&L বানিয়ে ফেলতে পারে বা মুছে দিতে পারে।

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

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

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

রোলের তারিখ একটি ট্রেডিং নিয়ম। এক্সচেঞ্জের ক্যালেন্ডার এবং যে ঘটনা রোল শুরু করে, তা লিখে রাখুন; তা না হলে কোন কন্ট্র্যাক্টটি আপনার মালিকানায় আছে, সে বিষয়ে ব্যাকটেস্ট ও অ্যাকাউন্টের মতভেদ হবেই।

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

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

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

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

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