নিবন্ধের সূচিপত্র
- প্রমাণ ও পরিসর
- চিত্র
- প্রক্রিয়া
- জনসাধারণের সূত্র যা প্রতিষ্ঠা করে
- একটি প্রস্তাবিত কার্যকারণ ফ্ল্যাট-বেস স্পেসিফিকেশন
- Base-এর ভিতরের activity ও breakout-এর activity আলাদা করুন
- কৃত্রিম উদাহরণ এবং একটি ব্যর্থ বাণিজ্য
- বাস্তবায়ন এবং পোর্টফোলিও সীমাবদ্ধতা
- কোন উপাদানগুলি অবদান রাখে তা পরীক্ষা করা
- সাধারণ ভুল
- ব্যবহারিক যাচাইতালিকা
- সচরাচর জিজ্ঞাসা
- গবেষণার সূত্র
প্রমাণ ও পরিসর
পাবলিক আইবিডি বুকলেট এবং প্রকাশকের বইয়ের তথ্য যাচাই করা হয়েছে। বিজয়ী স্টকগুলোর নির্বাচিত চার্টগুলো একটি সম্পূর্ণ পোর্টফোলিও ট্রেড লগ নয়। নীচের অ্যালগরিদমটি একটি প্রস্তাবিত ফ্ল্যাট-বেস-সদৃশ গবেষণা কনফিগারেশন, এটি CAN SLIM-এর সম্পূর্ণ প্রতিরূপ নয়। কোনো নতুন ব্যাকটেস্ট চালানো হয়নি।
ব্যবহারিক কাজের ধাপ
- গবেষণার শেয়ারসমষ্টি যাচাই করুনঐতিহাসিক সময়ে উপলব্ধ মূল্য, ভলিউম এবং মৌলিক তথ্য ব্যবহার করুন।
- Base-এর তথ্য স্থির করুনK, F, ATR এবং ব্রেকআউটের পূর্ববর্তী অপেক্ষার সময়কাল সংরক্ষণ করুন।
- Volume-এর দুটি ভূমিকা আলাদা করুনBase-এর কম লেনদেন এবং breakout-এর সময় volume বৃদ্ধি আলাদা করুন।
- একটি সম্ভাব্য অর্ডার জমা দিনক্লোজিং প্রাইস ও ভলিউম জানা গেলে স্টপ লস, সাইজ ও অ্যালোকেশন গণনা করুন।
- প্রতিটি স্তর মূল্যায়ন করুনOHLCV ডিটেক্টরটিকে অতিরিক্ত CAN SLIM উপাদানগুলোর সাথে তুলনা করুন।
জনসাধারণের সূত্র যা প্রতিষ্ঠা করে
আইবিডি পুস্তিকাটিতে কমপক্ষে পাঁচ সপ্তাহ স্থায়ী একটি স্থিতিশীল ভিত্তির বর্ণনা দেওয়া হয়েছে, যেখানে সংশোধন 15%-এর চেয়ে গভীর হবে না। এর প্রচলিত ক্রয় বিন্দু হলো ভিত্তির সর্বোচ্চ স্তর থেকে 10 সেন্ট উপরে, এবং ভলিউম পূর্ববর্তী 50-দিনের গড়ের চেয়ে প্রায় 40–50% বেশি থাকে। [1] এগুলো শেয়ার বাজারের শিক্ষামূলক নিয়ম, প্রতিটি অ্যাসেট ক্লাসের জন্য সার্বজনীন ধ্রুবক নয়।
উইলিয়াম জে. ও'নিলের How to Make Money in Stocks বইয়ে ত্রৈমাসিক আয়, বার্ষিক আয়, নতুন অগ্রগতি, সরবরাহ ও চাহিদা, নেতৃত্ব, প্রাতিষ্ঠানিক পৃষ্ঠপোষকতা এবং বাজারের দিকের ভিত্তিতে CAN SLIM সাজানো হয়েছে। [2] একটি OHLCV স্ক্যানার এই কাঠামোর কেবল কিছু অংশ পরিমাপ করে। অবশিষ্ট তথ্য ছাড়া পাওয়া ফলাফলকে পূর্ণাঙ্গ CAN SLIM ব্যাকটেস্ট বলা উচিত নয়।
এই পার্থক্যটি গবেষণাকে আরও তথ্যবহুল করে তোলে। একটি প্রাইস-ভলিউম ডিটেক্টর নির্ধারণ করতে পারে যে একটি ভিত্তিগত সংজ্ঞা পুনরুৎপাদনযোগ্য এবং অর্থনৈতিকভাবে লেনদেনযোগ্য কিনা। এরপর অতিরিক্ত কোম্পানি বা বাজারের তথ্য পৃথক ফিল্টার হিসেবে পরীক্ষা করা যেতে পারে। যদি সবকিছু একসাথে মিলিয়ে ফেলা হয়, তবে কোনো আপাত সুবিধা চার্ট প্যাটার্ন, স্টক জগৎ, মার্কেট ফিল্টার নাকি কোনো নির্দিষ্ট এক্সিট পলিসি থেকে আসছে, তা বলা কঠিন হয়ে পড়ে।
একটি প্রস্তাবিত কার্যকারণ ফ্ল্যাট-বেস স্পেসিফিকেশন
ক্যান্ডিডেট বার c-এর শেষে, c-তে সমাপ্ত 25 সেশনগুলো পরীক্ষা করুন। ধরা যাক, K হলো তাদের সর্বোচ্চ উচ্চতা, F হলো তাদের সর্বনিম্ন নিম্নতা, এবং depth=(K−F)/K। depth≤0.15 প্রয়োজন। প্রস্তাবিত ট্রেন্ড প্রক্সি হলো C[c]>SMA200[c] এবং এর সাথে SMA200[c]>SMA200[c−20]। নিচের ফিক্সড উইন্ডো, মুভিং-অ্যাভারেজ প্রক্সি এবং ভোল্যাটিলিটি বাফার হলো গবেষণামূলক পছন্দ, এগুলো বইয়ের প্রতিটি নিয়ম হুবহু অনুসরণ করার দাবি নয়।
ক্যান্ডিডেট তৈরি করার সময় K,F,A=ATR14[c] এবং b=max(2 ticks,0.1A) ফ্রিজ করুন। পরবর্তী দশটি সেশনে, K+b এর উপরে একটি ক্লোজ ক্রসিং শুধুমাত্র তখনই গ্রহণ করুন যখন RVOL50=V[t]/mean(V[t−50..t−1]) কমপক্ষে 1.5 হবে। যদি প্রাইস F−b এর নিচে নেমে যায় বা এর অপেক্ষার সময়সীমা শেষ হয়ে যায়, তাহলে ট্রেড না হওয়া ক্যান্ডিডেটটি বাতিল করুন। ব্রেকআউট বারটি অবশ্যই ফ্রিজ করা বেসের মধ্যে প্রবেশ করবে না এবং এর ফলে নিজের রেজিস্ট্যান্স লেভেলকে উপরে তুলবে না।
যদি মৌলিক ফিল্টার যোগ করা হয়, তাহলে যে টাইমস্ট্যাম্পে একটি রিপোর্ট উপলব্ধ হয়েছিল তা ব্যবহার করুন। একটি অ্যাকাউন্টিং কোয়ার্টারের শেষ তারিখ হলো সেই তারিখ নয় যেদিন এর ফলাফল জানা গিয়েছিল। পুনঃবিবৃত ইপিএস, বর্তমান শিল্প শ্রেণিবিভাগ এবং শুধুমাত্র আজকের টিকে থাকা স্টকগুলো নিয়ে গঠিত একটি ইউনিভার্স—এই সবই এমন তথ্য নিয়ে আসতে পারে যা ঐতিহাসিক সিদ্ধান্ত গ্রহণের সময়ে অনুপলব্ধ ছিল।
অতএব, ডেটা রেকর্ডে প্রতিটি মৌলিক ক্ষেত্রের জন্য একটি মান, একটি পর্যবেক্ষণ সময়কাল এবং একটি উপলব্ধ হওয়ার সময়চিহ্ন থাকা উচিত। কোনো প্রার্থীকে শুধুমাত্র তার সিদ্ধান্ত গ্রহণের সময় উপলব্ধ সর্বশেষ রেকর্ডের মাধ্যমেই মূল্যায়ন করা যাবে। অনুপস্থিত তথ্য অনুপস্থিতই থাকবে অথবা একটি ঘোষিত বর্জন নিয়ম কার্যকর করবে; এটি পরবর্তী কোনো আর্থিক বিবরণী দ্বারা নীরবে পূরণ করা যাবে না।
on close c with no active candidate:
K=max(H[c-24:c]); F=min(L[c-24:c]) # inclusive
if depth<=0.15 and trend_proxy: freeze K,F,A,b,expiry=c+10
for c<t<=expiry:
if L[t]<F-b: cancel
elif C[t-1]<=K+b and C[t]>K+b and RVOL50[t]>=1.5:
signal LONG; stop=F-b; enter next executable event
# Comparison baseline: target=entry+2*(entry-stop), time-stop=20 sessions.
Base-এর ভিতরের activity ও breakout-এর activity আলাদা করুন
ভলিউমের দুটি সম্ভাব্য কাজ রয়েছে: বেস-এ হ্রাসপ্রাপ্ত কার্যকলাপ শনাক্ত করা এবং রেজিস্ট্যান্স ভেঙে গেলে বর্ধিত কার্যকলাপ শনাক্ত করা। বেসলাইন শুধুমাত্র ব্রেকআউট RVOL ব্যবহার করে। একটি পৃথক ড্রাই-আপ এক্সপেরিমেন্টে ক্যান্ডিডেট তৈরির আগের শেষ পাঁচটি সেশনের গড় ভলিউমকে পূর্ববর্তী 50 সেশনগুলোর গড় ভলিউম দিয়ে ভাগ করে যোগ করা হয়, যার প্রস্তাবিত সর্বোচ্চ মান হলো 0.75। এটি একটি অতিরিক্ত গবেষণা প্যারামিটার, বই থেকে নেওয়া কোনো সম্পূর্ণ নিয়মাবলী নয়।
সেশন শেষ হওয়ার পরেই চূড়ান্ত দৈনিক ভলিউম জানা যায়। [3] একই সেশনের শুরুতে প্রথম ক্রসিং-এ এন্ট্রি সিমুলেট করার জন্য সেই চূড়ান্ত RVOL ব্যবহার করবেন না। একটি ইন্ট্রাডে সংস্করণের জন্য প্রকৃত সিদ্ধান্তের সময়ে পর্যবেক্ষণ করা সঞ্চিত ভলিউম এবং দিনের সেই সময়ের জন্য একটি তুলনীয় প্রত্যাশিত-ভলিউম বেসলাইন প্রয়োজন।
শুষ্ককরণ এবং প্রসারণের শর্তগুলো আলাদাভাবে পরীক্ষা করুন। এগুলো বেশ ভিন্ন ধরনের স্টক নির্বাচন করতে পারে: একটি শান্ত ভিত্তি সাধারণ ভলিউমেই ভেঙে যেতে পারে, যেখানে একটি খুব সক্রিয় ভিত্তি উচ্চ-ভলিউমের ব্রেকআউট ঘটাতে পারে। ডেটাসেটে শুধুমাত্র একটি সম্মিলিত পাস/ফেল ফ্ল্যাগ সংরক্ষণ করার চেয়ে উভয় অবিচ্ছিন্ন পরিমাপ রাখা বেশি তথ্যপূর্ণ। এটি প্রাইস ক্যান্ডিডেটগুলো পুনর্গঠন না করেই প্রস্তাবিত থ্রেশহোল্ডগুলোর আশেপাশে সংবেদনশীলতা যাচাই করার সুযোগ দেয়।
কৃত্রিম উদাহরণ এবং একটি ব্যর্থ বাণিজ্য
ধরা যাক K=50, F=45, depth=10%, A=1 এবং b=0.1, এবং ট্রেন্ড প্রক্সিটি পাস করে। বেসটি স্থির হয়ে যাওয়ার পর, এক মিলিয়ন শেয়ারের গড়ের বিপরীতে 1.8 মিলিয়ন শেয়ার ট্রেড হওয়ার সাথে সাথে মূল্য 50.3-এ বন্ধ হয়, যা RVOL=1.8-এর সমান। 50.4-এ একটি কার্যকর এন্ট্রি এবং 44.9-এ একটি স্টপ প্রতি শেয়ারে R=5.5 নির্দেশ করে। একটি প্রস্তাবিত 2R টার্গেট হলো 61.4। 550 আর্থিক এককের একটি কাল্পনিক ঝুঁকি বাজেট সহ, খরচ, position-এর মোট মূল্যসংক্রান্ত সীমা এবং তারল্য সীমাবদ্ধতার আগে প্রাথমিক আকার হল 100 শেয়ার।
একটি ফিল্টার-ব্যর্থতার ক্ষেত্রে ক্লোজিং প্রাইস একই থাকে, কিন্তু তা RVOL=1.1 হয়। ভলিউম-ফিল্টার করা সংস্করণটি এন্ট্রি নেয় না, কিন্তু শুধুমাত্র-মূল্যের কন্ট্রোলটি তা করতে পারে। 50.4-এ এন্ট্রি নেওয়ার পর একটি ট্রেডিং-ব্যর্থতার ঘটনা ঘটে: একটি গ্যাপের কারণে 44.5-এ প্রোটেক্টিভ স্টপটি পূরণ হয়ে যায়। পরিকল্পিত 5.5-এর পরিবর্তে শেয়ার প্রতি লোকসান হয় 5.9। সেই ট্রেডটি সরানো যায় না, কারণ পরবর্তীতে base-টি যথেষ্ট আকর্ষণীয় বলে মনে হয় না।
একটি সফল সিন্থেটিক পাথের জন্য, প্রাইসকে প্রোটেক্টিভ স্টপ অথবা 20-সেশন টাইম লিমিটের আগে 61.4-এ পৌঁছাতে হয়। এই পাথটি দেখায় যে উল্লিখিত এক্সিটটি কীভাবে হিসাব করা হবে; এটি অনুমান করে না যে এই ধরনের পাথ কত ঘন ঘন ঘটে। ফিল্টার করা এবং ফিল্টার না করা প্রতিটি ব্রাঞ্চকে অবশ্যই তাদের নিজস্ব প্রকৃত সুযোগের সেট ধরে রাখতে হবে, যার মধ্যে এমন ক্যান্ডিডেটও অন্তর্ভুক্ত থাকবে যা থেকে কখনও ট্রেড হয় না।
বাস্তবায়ন এবং পোর্টফোলিও সীমাবদ্ধতা
প্রাথমিক পরীক্ষার জন্য সম্পূর্ণ বেসের বাইরে একটি স্টপ নেওয়া সহজ। ডান প্রান্তের কাছাকাছি একটি ছোট নিম্নস্তরের নিচে স্টপ নেওয়া একটি আলাদা প্রয়োগ এবং এটি বন্ধ হওয়া ট্রেডগুলোর একটি সম্পূর্ণ ভিন্ন বিন্যাস তৈরি করতে পারে। এই প্রস্তাবিত কাঠামোগত স্টপ কিংবা 2R/20-সেশন থেকে বেরিয়ে আসা—কোনোটিকেই ও'নিলের একটি সম্পূর্ণ মৌলিক ঝুঁকি-ব্যবস্থাপনা নীতি হিসেবে গণ্য করা উচিত নয়।
নিশ্চিতকরণের পর, নতুন অর্ডার জমা দেওয়ার আগে একটি উপলব্ধ কার্যকর মূল্য পর্যবেক্ষণ করুন। যদি সেই মূল্য একটি অবৈধ স্টপ সম্পর্ক তৈরি করে বা পূর্বনির্ধারিত ঝুঁকির সীমা লঙ্ঘন করে, তাহলে জমা দেওয়ার আগেই একটি প্রত্যাখ্যান নথিভুক্ত করুন। একবার কোনো অর্ডার পূরণ হয়ে গেলে, পরবর্তী গ্যাপের তথ্য দিয়ে তা পূর্ববর্তীভাবে বাতিল করা যায় না। যদি স্টপ এবং টার্গেট উভয়ই একটি OHLC বারের মধ্যে থাকে, তাহলে আরও সূক্ষ্ম ডেটা বা ধারাবাহিকভাবে প্রয়োগ করা একটি রক্ষণশীল নিয়মের মাধ্যমে তাদের ক্রম নির্ধারণ করুন।
একাধিক স্টক একসাথে একসঙ্গে breakout করতে পারে। একটি পোর্টফোলিওর ফলাফল জানার আগেই তার জন্য একটি র্যাঙ্কিং এবং বরাদ্দ নীতি প্রতিষ্ঠা করা প্রয়োজন: তারল্যের সীমা, প্রতিটি স্টকের ঝুঁকি, খাতভিত্তিক কেন্দ্রীভবন, পারস্পরিক সম্পর্কযুক্ত এক্সপোজার এবং position-গুলোর মোট মূল্যসংক্রান্ত সীমা। একটি ব্যাকটেস্ট অসীম পুঁজি দিয়ে প্রতিটি যোগ্য স্টক ক্রয় করতে পারে না। বরাদ্দ না পাওয়া স্টকগুলোকে নথিভুক্ত করুন, যাতে নির্বাচনজনিত প্রভাবগুলো দৃশ্যমান থাকে।
কোন উপাদানগুলি অবদান রাখে তা পরীক্ষা করা
একই মূল্য-প্রার্থী সেট দিয়ে শুরু করুন এবং কোনো ভলিউম ফিল্টার ছাড়া, শুধুমাত্র ড্রাই-আপ, শুধুমাত্র সম্প্রসারণ, এবং উভয় শর্তের মধ্যে তুলনা করুন। এরপর, একবারে একটি করে গ্রুপে আর্নিংস, রিলেটিভ-স্ট্রেংথ এবং ব্রড-মার্কেট ফিল্টার যোগ করুন। একটি ফিল্টারের ক্রমবর্ধমান প্রভাব পরিমাপ করার সময় এন্ট্রি টাইমিং, এক্সিট, সাইজিং এবং খরচ অপরিবর্তিত রাখুন। একই সাথে এক্সিট পরিবর্তন করলে ভলিউমের অবদানকে আলাদা করা যায় না।
এমন একটি নির্দিষ্ট সময়ের স্টক তালিকা ব্যবহার করুন, যেখানে গবেষণার প্রশ্নের প্রয়োজনে তালিকাচ্যুত স্টকগুলোও অন্তর্ভুক্ত থাকবে। ক্যান্ডিডেট সংখ্যা, ফিল, R-এ নেট এক্সপেক্টেন্সি, পোর্টফোলিও রিটার্ন, ড্রডাউন, টার্নওভার এবং হোল্ডিং টাইম রিপোর্ট করুন। যে স্টকগুলোর দাম শেষ পর্যন্ত কয়েকশ শতাংশ বেড়েছে, সেগুলোর তালিকা থেকে ট্রেডিং উইন রেট অনুমান করার জন্য কোনো ভিত্তি পাওয়া যায় না।
কার্যকরী বাস্তবায়ন যাচাইয়ের মধ্যে রয়েছে ছুটির কারণে সংক্ষিপ্ত সপ্তাহ, বেসের মধ্যে স্প্লিট, ব্রেকআউটের দিনে ভলিউমের আকস্মিক বৃদ্ধি, বাজার বন্ধ হওয়ার পরে আয়ের ঘোষণা, এবং পরবর্তী অর্ডার সিদ্ধান্তের আগে রেজিস্ট্যান্সের উপরে গ্যাপ তৈরি হওয়া। ঐতিহাসিক ক্যান্ডিডেটগুলোকে ফ্রিজ করুন এবং অতিরিক্ত ভবিষ্যৎ ডেটা দিয়ে একই প্রিফিক্সটি পুনরায় চালান। মূল লেভেল বা সিদ্ধান্তের সময় উপলব্ধ ডেটা কোনোটিই পরিবর্তন হওয়া উচিত নয়।
সাধারণ ভুল
একটি প্যাটার্নকে সমগ্র সিস্টেম হিসেবে বিবেচনা করা
একটি ফ্ল্যাট বেসে CAN SLIM-এর কোম্পানি এবং ব্রড-মার্কেট উপাদানগুলো অন্তর্ভুক্ত থাকে না।
দিনের শুরুতে দিনের শেষের ভলিউম ব্যবহার করা
এটাই হলো লুক-অ্যাহেড। ভলিউম পর্যবেক্ষণটি কখন উপলব্ধ হবে, এন্ট্রির সময়কে অবশ্যই তা মেনে চলতে হবে।
শুধুমাত্র টিকে থাকা স্টক নির্বাচন করা
দেউলিয়া বা তালিকা থেকে বাদ দেওয়া নাম বাদ দিলে ঐতিহাসিক ফলাফল স্ফীত হতে পারে এবং উপলব্ধ পরিধিকে ভুলভাবে উপস্থাপন করা হতে পারে।
এই পদ্ধতি ব্যবহারের আগে যাচাইতালিকা
নিজের ডেটায় যাচাই করার পর প্রতিটি বিষয়ে টিক দিন। অগ্রগতি এই ব্রাউজারে সংরক্ষিত হয়; এটি কৌশল লাভজনক হওয়ার সনদ নয়।
সচরাচর জিজ্ঞাসা
প্রচলিত 10-সেন্ট বাফারটি কি প্রতিটি বাজারে ব্যবহার করা উচিত?
স্বয়ংক্রিয়ভাবে নয়। টিক সাইজ এবং নামমাত্র মূল্য ভিন্ন হয়। একটি ATR-ভিত্তিক বাফার হলো একটি পৃথক গবেষণা ভ্যারিয়েন্ট এবং এটিকে সেভাবেই চিহ্নিত ও পরীক্ষা করা উচিত।
RVOL 1.5 হলেই কি লাভজনকতা প্রমাণিত হয়?
না। এটি একটি পূর্ণাঙ্গ কৌশলের একটি শর্ত মাত্র। এর মান অবশ্যই খরচ বাদ দিয়ে এবং ওই ফিল্টারটি ছাড়া একই কৌশলের সাপেক্ষে training sample-এর বাইরের data-তে পরিমাপ করতে হবে।
গবেষণার সূত্র
প্রতিটি সূত্র তার পাশে বর্ণিত সংজ্ঞা বা প্রমাণকে সমর্থন করে। ছদ্মকোড, কৃত্রিম উদাহরণ ও প্রস্তাবিত প্যারামিটার আলাদাভাবে যাচাই করতে হবে।
- IBD: How To Recognize Great Performing Stocks — Flat BaseInvestor’s Business Daily. পাবলিক বুকলেট: ফ্ল্যাট-বেস জ্যামিতি এবং ভলিউম। নির্বাচিত স্টকের লাভকে সিস্টেম রিটার্ন হিসাবে গণ্য করা হয় না। যাচাইয়ের তারিখ: .
- How to Make Money in Stocks, Fourth EditionMcGraw Hill. প্রকাশকের মেটাডেটা এবং সূচিপত্র; মূল্য পরিশোধ করে কেনা পুরো বইটি পড়া হয়নি। যাচাইয়ের তারিখ: .
- TradingView: RepaintingTradingView. উপলব্ধ তথ্যের সময়কাল; লাভজনকতার কোনো যাচাইকরণ নেই। যাচাইয়ের তারিখ: .
সম্পর্কিত পদ্ধতি
ঝুঁকি সংক্রান্ত নোট
এই বিষয়বস্তু শিক্ষা ও গবেষণার পরিকল্পনার জন্য, আর্থিক পরামর্শ নয়। Backtest অতীতের ডেটার সিমুলেশন, ভবিষ্যতের ফলের নিশ্চয়তা দেয় না এবং বাস্তব ট্রেড করে না। এই সংগ্রহের পদ্ধতিগুলো সবই অ্যাপে উপলভ্য বৈশিষ্ট্য নয়। দেখুন গবেষণাপদ্ধতি এবং শিক্ষাকেন্দ্র.
বাস্তব মূলধন ঝুঁকিতে দেওয়ার আগে নিয়ম যাচাই করুন
অ্যাপের সক্ষমতা, ডেটা এবং প্রতিটি সিমুলেটেড ট্রেড পরীক্ষা করুন; উন্নত ডিটেক্টরের জন্য আলাদা বাস্তবায়ন লাগতে পারে।
App Store থেকে Backtest ডাউনলোড করুন