সুচিপত্র
অধ্যায় ১ পরিমাণগত ট্রেডিংয়ের মূল বিষয়গুলি
১.১ পরিমাণগত ট্রেডিং কী?
সারাংশ
বিজ্ঞান এবং যন্ত্রের সংমিশ্রণের একটি পণ্য হিসেবে পরিমাণগত বাণিজ্য আধুনিক আর্থিক বাজারের দৃশ্যপট পরিবর্তন করছে। এখন অনেক বিনিয়োগকারী এই ক্ষেত্রের দিকে মনোযোগ দিয়েছেন। কীভাবে ঝুঁকি কমানো যায় এবং সম্ভাব্য সর্বোত্তম রিটার্ন অর্জন করা যায়? এই ধারাবাহিক কোর্সের উদ্দেশ্যও এটি। প্রথম প্রবন্ধ হিসেবে, আমরা "পরিমাণগত ট্রেডিং কী" তা সংক্ষেপে ব্যাখ্যা করব।
ওভারভিউ
যখন অনেকেই "পরিমাণগত ট্রেডিং" শব্দটি শোনেন, তখন তারা মনে করেন এটি উচ্চমানের এবং রাতারাতি তাদের ধনী করে তুলবে। কৃত্রিম বুদ্ধিমত্তার যুগ, গভীর শিক্ষা, বিগ ডেটা এবং ক্লাউড কম্পিউটিংয়ের মতো উন্নত প্রযুক্তির উত্থানের সাথে সাথে, এটিকে একটি রহস্যময় রঙ দিয়েছে। মনে হচ্ছে যতক্ষণ পরিমাণগত ট্রেডিং ব্যবহার করা হবে, ততক্ষণ একটি "নিখুঁত" ট্রেডিং কৌশল তৈরি করা সম্ভব।
আসলে, কিছুটা হলেও, পরিমাণগত বাণিজ্য একটি মিথ হয়ে উঠেছে। ট্রেডিংকে একপাশে রেখে, "পরিমাণ নির্ধারণ" আসলে একটি বৈজ্ঞানিক বিনিয়োগ ব্যবস্থার মাধ্যমে কম্পিউটার, পরিসংখ্যান, গণিত এবং অন্যান্য পদ্ধতির ব্যবহার, প্রত্যাশিত ট্রেডিং সিগন্যাল সিস্টেমের একটি সেট খুঁজে বের করা। এই সিগন্যাল সিস্টেম আমাদের বলবে কখন এবং কোন দামে আমাদের কেনা-বেচা করা উচিত।
পরিমাণগত বাণিজ্যের বিকাশ
উৎসের দিকে ফিরে গেলে, যে ব্যক্তি প্রথম তথ্য পরিবর্তন বিশ্লেষণ এবং বাজার মূল্যের ওঠানামার ধরণ আবিষ্কার করার জন্য পরিমাণগত পদ্ধতি ব্যবহার করেছিলেন তিনি স্টকের জন্মস্থান ডাচ ছিলেন না, না আধুনিক অর্থায়নের প্রচারকারী ব্রিটিশ ছিলেন, না আমেরিকান ছিলেন যারা দেশ প্রতিষ্ঠার পর থেকে অর্থায়নের সাথে সহাবস্থান করেছেন, বরং তিনি একজন ফরাসি ছিলেন।
১৮ শতকের গোড়ার দিকে, একজন সহকারী ফরাসি স্টক ব্রোকার জুলস রেগনাল্ট স্টক মূল্য পরিবর্তনের আধুনিক তত্ত্ব প্রস্তাব করেছিলেন। পরে তিনি "সম্ভাব্যতা গণনা এবং স্টক ট্রেডিংয়ের দর্শন" বইটি প্রকাশ করেন, যেখানে তিনি বাজারের উত্থান-পতনের (স্বাভাবিক বন্টনের) আইন সম্পর্কে বিস্তারিত আলোচনা করেন যা তিনি আবিষ্কার করেছিলেন: "মূল্যের বিচ্যুতি সময়ের বর্গমূলের সমানুপাতিক", এবং অবশেষে যুক্তিসঙ্গত এবং পরিমাণগত বিনিয়োগ সিদ্ধান্তের মাধ্যমে ব্যবসায়িক সাফল্য অর্জন করেন।
আজকাল, ইন্টারনেট + বিগ ডেটা + ক্লাউড কম্পিউটিং + কৃত্রিম বুদ্ধিমত্তার যুগে, পরিমাণগত বাণিজ্যও দ্রুত বিকশিত হয়েছে। লন্ডনের ক্যানারি ওয়ার্ফ, একসময়ের বৈশ্বিক আর্থিক কেন্দ্রস্থল, অনেক আগেই আইটি কোম্পানিগুলির কেন্দ্রস্থলে পরিণত হয়েছে। বিশ্বের শীর্ষ বিনিয়োগ ব্যাংকগুলিও তাদের নিজস্ব পরিমাণগত দল তৈরি করছে, "যে মডেলটি পাবে সে বিশ্ব জিতবে" এই আর্থিক যুদ্ধে যোগ দেওয়ার চেষ্টা করছে। ট্রেডিং মডেল তৈরি করে এমন এই আইটি দলগুলিকে কোয়ান্ট টিমও বলা হয়। স্কেলের দিক থেকে, মার্কিন যুক্তরাষ্ট্র, যা আগে থেকেই শুরু করেছিল, ইতিমধ্যেই প্রচুর পরিমাণে শক্তিশালী হেজ তহবিল রয়েছে।
বিপরীতে, চীনে, হার্ডওয়্যার সরঞ্জাম এবং বিনিয়োগ গবেষণা ক্ষমতা উভয়ই এখনও প্রাথমিক পর্যায়ে রয়েছে। তবে, আরও বেশি সংখ্যক প্রতিষ্ঠান এবং পেশাদার বিনিয়োগকারীরা পরিমাণগত ট্রেডিংয়ের সুবিধাগুলি উপলব্ধি করেছে এবং এই ক্ষেত্রে অংশগ্রহণ করেছে। বিশেষ করে তত্ত্বাবধান ক্রমশ কঠোর হয়ে উঠছে এবং বাজার দক্ষতা ধীরে ধীরে উন্নত হচ্ছে, পরিমাণগত ট্রেডিংয়ের বৃদ্ধির জন্য আরও বিস্তৃত সুযোগ রয়েছে।
পরিমাণগত ট্রেডিংয়ের বৈশিষ্ট্য
বৈজ্ঞানিক যাচাই: কল্পনা করুন যে একবার আপনার একটি ট্রেডিং সিস্টেম হয়ে গেলে, যদি আপনি একটি সিমুলেটেড ট্রেডিং সিস্টেম ব্যবহার করে এর কার্যকারিতা পরীক্ষা করেন, তাহলে এটির জন্য অনেক সময় লাগতে পারে। যদি আপনি এটি সরাসরি একটি আসল ট্রেডিং সিস্টেম দিয়ে পরীক্ষা করেন, তাহলে আপনার আসল অর্থ হারাতে পারে। তবে, পরিমাণগত ট্রেডিংয়ে ব্যাকটেস্টিং ফাংশনটি প্রচুর পরিমাণে ঐতিহাসিক তথ্যের মাধ্যমে বৈজ্ঞানিক উপায়ে ট্রেডিং সিস্টেম পরীক্ষা করার জন্য ব্যবহার করা যেতে পারে। শুধু ভিড়ের পিছনে না গিয়ে, তথ্যকেই কথা বলতে দিন কোনটা কাজ করে আর কোনটা করে না।
উদ্দেশ্যমূলক এবং নির্ভুল: ট্রেডিংয়ের ক্ষেত্রে, আমাদের আসল শত্রু আমরা নিজেরাই। আমাদের মানসিকতা পরিচালনা করা বলা যতটা সহজ, করা ততটা সহজ। ট্রেডিং বাজারে লোভ, ভয় এবং ভাগ্যের মতো মানবিক দুর্বলতাগুলি কয়েকগুণ বৃদ্ধি পাবে। পরিমাণগত ট্রেডিং আমাদের এই দুর্বলতাগুলি কাটিয়ে উঠতে এবং ট্রেডিংয়ে আরও ভাল সিদ্ধান্ত নিতে সাহায্য করতে পারে।
সময়োপযোগী এবং দক্ষ: ব্যক্তিগত ট্রেডিংয়ে, মানুষের প্রতিক্রিয়ার গতি কম্পিউটারের চেয়ে দ্রুত হতে পারে না এবং মানুষের শারীরিক শক্তি এবং শক্তি 24 ঘন্টা কাজ করতে পারে না। যে ট্রেডিং বাজারে সুযোগগুলি ক্ষণস্থায়ী, সেখানে পরিমাণগত ট্রেডিং সম্পূর্ণরূপে ব্যক্তিগত ট্রেডিংকে প্রতিস্থাপন করতে পারে, ট্রেডিং সুযোগ খুঁজে পেতে পারে এবং সময়োপযোগী এবং দ্রুত পদ্ধতিতে বাজারের পরিবর্তনগুলি ট্র্যাক করতে পারে।
ঝুঁকি নিয়ন্ত্রণ: পরিমাণগত ট্রেডিং কেবল ঐতিহাসিক তথ্য থেকে ভবিষ্যতে পুনরাবৃত্তি হতে পারে এমন ঐতিহাসিক নিদর্শনগুলি অন্বেষণ করতে পারে না, বরং এই ঐতিহাসিক নিদর্শনগুলি এমন কৌশলও যা জয়ের সম্ভাবনা বেশি। পদ্ধতিগত ঝুঁকি কমাতে এবং তহবিল বক্ররেখা মসৃণ করতে আপনি বিভিন্ন ধরণের বিনিয়োগ পোর্টফোলিও তৈরি করতে পারেন।
পরিমাণগত ট্রেডিংয়ের জন্য ক্লাসিক ট্রেডিং কৌশলগুলি কী কী?
ওপেনিং ব্রেকআউট কৌশল
খোলার পর প্রথম আধ ঘন্টা প্রায়শই দিনের প্রবণতা নির্ধারণ করতে পারে। এই কৌশলটি খোলার পর আধ ঘন্টার মধ্যে দাম ইতিবাচক না নেতিবাচক লাইন কিনা তা দিনের প্রবণতা বিচারের মান হিসাবে ব্যবহার করে। যদি এটি একটি ইতিবাচক লাইন হয়, তাহলে একটি ক্রয় অবস্থান খুলুন; যদি এটি একটি নেতিবাচক লাইন হয়, তাহলে একটি বিক্রয় অবস্থান খুলুন এবং বন্ধ করার কয়েক মিনিটের মধ্যে অবস্থানটি বন্ধ করুন। এটি একটি খুব সহজ ট্রেডিং কৌশল।
ডনচিয়ান চ্যানেল কৌশল
চিত্র ১-১ ডনচিয়ান চ্যানেল কৌশল চিত্র
ডনচিয়ান চ্যানেল কৌশলকে ইন্ট্রাডে ট্রেডিংয়ের পূর্বপুরুষ হিসেবে বিবেচনা করা যেতে পারে। এর নিয়ম হল: বর্তমান মূল্য পূর্ববর্তী এন কে-লাইনের সর্বোচ্চ মূল্যের চেয়ে বেশি হলে কিনুন; বর্তমান মূল্য পূর্ববর্তী এন কে-লাইনের সর্বনিম্ন মূল্যের চেয়ে কম হলে বিক্রি করুন। বিখ্যাত টার্টল ট্রেডিং রুলস ডনচিয়ান চ্যানেল কৌশলের একটি পরিবর্তিত সংস্করণ ব্যবহার করে।
ক্রস-পিরিয়ড আরবিট্রেজ কৌশল
ক্রস-পিরিয়ড আরবিট্রেজ হল সবচেয়ে সাধারণ ধরণের আরবিট্রেজ লেনদেন। এটি একই ট্রেডিং পণ্যের জন্য বিভিন্ন ডেলিভারি মাসের চুক্তির মূল্যের উপর ভিত্তি করে তৈরি হয়। যদি দুটি মূল্যের মধ্যে বড় মূল্যের পার্থক্য থাকে, তাহলে ক্রস-পিরিয়ড আরবিট্রেজ পরিচালনা করার জন্য বিভিন্ন সময়ের ফিউচার চুক্তি একই সময়ে কেনা এবং বিক্রি করা যেতে পারে। ধরে নিন যে মূল চুক্তি এবং দ্বিতীয় মূল চুক্তির মধ্যে মূল্যের পার্থক্য দীর্ঘ সময় ধরে -৫০~৫০ এর কাছাকাছি থাকে। যদি নির্দিষ্ট দিনে স্প্রেড ৭০-এ পৌঁছায়, তাহলে আমরা আশা করি ভবিষ্যতে কোনও এক সময়ে স্প্রেড ৫০-এ ফিরে আসবে। তারপর আপনি মূল চুক্তিটি বিক্রি করতে পারেন এবং একই সাথে দ্বিতীয় মূল চুক্তিটি কিনতে পারেন যাতে দামের পার্থক্য কমানো যায়। বিপরীতভাবে।
সারসংক্ষেপ
উপরে, আমরা পরিমাণগত ট্রেডিংয়ের সংজ্ঞা, বিকাশ, বৈশিষ্ট্য এবং ক্লাসিক ট্রেডিং কৌশলের দিক থেকে এর প্রাসঙ্গিক ধারণাগুলি সংক্ষেপে উপস্থাপন করেছি।
কোয়ান্ট হওয়ার পথে পরিমাণগত ট্রেডিং বোঝা একটি গুরুত্বপূর্ণ ধাপ। পরিশেষে, আমি কামনা করি সবাই যেন বিয়ার মার্কেটে নিজেদের সমৃদ্ধ করতে পারে এবং যত তাড়াতাড়ি সম্ভব জ্ঞানের উপলব্ধি অর্জন করতে পারে! মনে রাখবেন, আর্থিক স্বাধীনতা থেকে আপনি মাত্র এক ষাঁড়ের বাজার দূরে!
পরবর্তী বিভাগের পূর্বরূপ
পরিমাণগত ট্রেডিং এবং ঐতিহ্যবাহী ট্রেডিংয়ের মধ্যে পার্থক্য কী? প্রকৃত ট্রেডিংয়ের ক্ষেত্রে, আমাদের কি ঐতিহ্যবাহী ট্রেডিং বেছে নেওয়া উচিত নাকি পরিমাণগত ট্রেডিং? পরবর্তী বিভাগে, আমরা পরিমাণগত ট্রেডিং আরও বোঝার জন্য এই দুটি প্রশ্ন নেব।
বাড়ির কাজ
১. এক বাক্যে পরিমাণগত ট্রেডিং কী তা সংক্ষেপে বর্ণনা করো?
2. পরিমাণগত ট্রেডিংয়ের বৈশিষ্ট্যগুলি কী কী?
১.২ কেন পরিমাণগত ট্রেডিং বেছে নেবেন?
সারাংশ
অনেকেই পরিমাণগত ট্রেডিং নিয়ে আলোচনা করার সময় জটিল কৌশলগত প্রোগ্রামিংকে একটি সূচনা বিন্দু হিসেবে ব্যবহার করেন, অসাবধানতাবশত পরিমাণগত ট্রেডিংয়ের উপর রহস্যের আবরণ বর্ষণ করেন। এই বিভাগে, আমরা সহজে বোধগম্য ভাষায় পরিমাণগত ট্রেডিংয়ের একটি সহজ "স্কেচ" তৈরি করার চেষ্টা করব যাতে এর রহস্য উন্মোচন করা যায়। আমি বিশ্বাস করি যে এমনকি কোনও প্রাথমিক জ্ঞান না থাকা একজন নবীনও এটি সহজেই বুঝতে পারবেন।
পরিমাণগত ট্রেডিং এবং বিষয়গত ট্রেডিংয়ের মধ্যে পার্থক্য
বিষয়ভিত্তিক ট্রেডিংয়ে মানুষের বিশ্লেষণ এবং বাজার জ্ঞানের উপর বেশি মনোযোগ দেওয়া হয়। এমনকি যদি ক্রয়-বিক্রয়ের সংকেত দেখা যায়, তবুও অর্ডারগুলি বেছে বেছে দেওয়া হবে। মানুষ ভুল করার চেয়ে বাজার মিস করবে। মানুষের অনুভূতি জটিল, পরিবর্তনশীল এবং অবিশ্বাস্য। বেশিরভাগ ব্যবসায়ী একবার পরপর ক্ষতির সম্মুখীন হলে, তারা অন্য পদ্ধতিতে চলে যায়। এটি অত্যন্ত এলোমেলো এবং সহজেই লাভ-ক্ষতির দ্বারা বিরক্ত হয়, যার ফলে স্থিতিশীল লাভ করা কঠিন হয়ে পড়ে।
পরিমাণগত ট্রেডিং লেনদেন বোঝার মাধ্যমে ধারাবাহিক ক্রয়-বিক্রয় কৌশল বিকাশ করে। ট্রেডিংয়ে, সকল ট্রেন্ডকে সমানভাবে বিবেচনা করুন এবং ওপেনিং এবং ক্লোজিং পজিশনগুলিকে একটি সুশৃঙ্খল পদ্ধতিতে পরিচালনা করুন। মিস করার চেয়ে ভুল করা ভালো। এটিতে একটি সম্পূর্ণ মূল্যায়ন ব্যবস্থাও রয়েছে, যা ঐতিহাসিক তথ্যের ব্যাকটেস্টিংয়ের মাধ্যমে কৌশলটি কোন ধরণের বাজার এবং পণ্যের জন্য বেশি উপযুক্ত তা নির্ধারণ করে এবং একাধিক কৌশল এবং পণ্য একত্রিত করে লাভজনকতা অর্জন করে।
সংক্ষেপে, ব্যক্তিগত ট্রেডিং হল পরিমাণগত ট্রেডিংয়ের ভিত্তি, এবং পরিমাণগত ট্রেডিং হল ব্যক্তিগত ট্রেডিংয়ের পরিমার্জন। বিষয়ভিত্তিক ট্রেডিং অনেকটা মার্শাল আর্ট অনুশীলনের মতো। আপনি শেষ পর্যন্ত সফল হতে পারবেন কিনা তা মূলত আপনার প্রতিভার উপর নির্ভর করে। কিছু লোক দশ বছর পরে জ্ঞান অর্জন করতে পারে না, আবার অন্যরা একদিনে জ্ঞান অর্জন করতে পারে। পরিমাণগত ট্রেডিং অনেকটা ফিটনেসের মতো। যতক্ষণ আপনি কঠোর পরিশ্রম করেন, ততক্ষণ আপনার প্রতিভা না থাকলেও আপনি পেশী তৈরি করতে পারবেন।
পরিমাণগত ট্রেডিং কি ব্যক্তিগত ট্রেডিংয়ের চেয়ে ভালো?
একজন সফল ব্যক্তিত্বপূর্ণ ব্যবসায়ী, এক অর্থে, একজন পরিমাণগত ব্যবসায়ীও। কারণ একজন সফল ব্যক্তিত্বপূর্ণ ব্যবসায়ীর নিজস্ব নিয়ম এবং পদ্ধতির সেট থাকতে হবে, অর্থাৎ একটি ট্রেডিং সিস্টেম। সফল ব্যক্তিগত ট্রেডিং অবশ্যই ট্রেডিং শৃঙ্খলা এবং ট্রেডিং নিয়মের উপর ভিত্তি করে হতে হবে, এবং ট্রেডিং নিয়মের বাস্তবায়ন অংশটি আসলে ব্যক্তিগত ট্রেডিংয়ের পরিমাণগত অংশ।
বিপরীতে, একজন সফল পরিমাণগত ব্যবসায়ীকে অবশ্যই একজন চমৎকার ব্যক্তিগত ব্যবসায়ী হতে হবে, কারণ পরিমাণগত ট্রেডিং কৌশলের বিকাশ আসলে একজন ব্যক্তির ট্রেডিং দর্শনের স্ফটিকায়ন। যদি শুরু থেকেই বাজার সম্পর্কে কারো ধারণা এবং ধারণা ভুল হয়, তাহলে দীর্ঘমেয়াদে বিকশিত ট্রেডিং কৌশল থেকে লাভ অর্জন করা কঠিন হবে।
অতএব, লাভের দৃষ্টিকোণ থেকে, একজন ব্যবসায়ী চূড়ান্তভাবে সফল হতে পারবেন কিনা তা নির্ধারণকারী মূল বিষয় হল ট্রেডিং দর্শন, এটি ব্যক্তিগত ট্রেডিং নাকি পরিমাণগত ট্রেডিং তা নয়। পরিমাণগত ট্রেডিং আপাতদৃষ্টিতে উচ্চাভিলাষী মনে হতে পারে, কিন্তু এর লাভের সারাংশ মূলত ব্যক্তিগত ট্রেডিং থেকে আলাদা নয়। তারা একটি জিনিসের দুটি দিকের মতো, উভয় বিপরীত এবং একীভূত।
কিন্তু এটা অনস্বীকার্য যে পরিমাণগত ট্রেডিংয়ের ট্রেডিং সরঞ্জামের দিক থেকে অনেক সুবিধা রয়েছে।
দ্রুত পর্যালোচনা: যদি আপনি একটি ট্রেডিং কৌশল পরীক্ষা করতে চান, তাহলে আপনাকে প্রচুর পরিমাণে ঐতিহাসিক তথ্য গণনা করতে হবে। পরিমাণগত ট্রেডিং কয়েক মিনিটের মধ্যে ফলাফল গণনা করতে পারে। এই গতি ব্যক্তিগত ট্রেডিংয়ের চেয়ে অনেক গুণ বেশি দ্রুত।
আরও বৈজ্ঞানিক:কোনও কৌশল ভালো কিনা তা মূল্যায়ন করার জন্য, আমরা স্বার্থপর দালালদের পরিবর্তে তথ্যের (যেমন শার্প অনুপাত, সর্বোচ্চ ড্রডাউন রেট, বার্ষিক রিটার্ন) উপর নির্ভর করি।
আরও সুযোগ:বিশ্বে হাজার হাজার ট্রেডিং পণ্য রয়েছে। ব্যক্তিগত ট্রেডিংয়ের জন্য একই সময়ে বাজার পর্যবেক্ষণ করা অসম্ভব, তবে পরিমাণগত ট্রেডিং রিয়েল টাইমে পুরো বাজার পর্যবেক্ষণ করতে পারে, কোনও ট্রেডিং সুযোগ মিস না করে এবং লাভজনকতা বৃদ্ধি করে।
পরিমাণগত ট্রেডিং কি নিশ্চিতভাবে অর্থ উপার্জন করতে পারে?
অবশ্যই তুমি পারবে, কিন্তু দীর্ঘ সময় ধরে এটি ধরে রাখা কঠিন। আপনি অর্থ উপার্জন করুন বা না করুন তা পরিমাণগত ট্রেডিংয়ের উপর নির্ভর করে না, এটি কেবল একটি হাতিয়ার। পরিমাণগত ট্রেডিং কেবল একটি প্রোগ্রামযুক্ত, নিয়মিত এবং পরিমাণগত পদ্ধতিতে ট্রেডিং ধারণা বাস্তবায়ন করে। প্রোগ্রামটি কেবল কার্যকরকরণের পরিবর্তে কাজ করে। কঠিন অংশ হল দীর্ঘমেয়াদে স্থিতিশীলভাবে অর্থ উপার্জন করা, কারণ বাজার একটি খেলা এবং গতিশীলভাবে পরিবর্তিত হয়, এবং বাজারের সাথে সাথে ট্রেডিং ধারণাগুলিও পরিবর্তিত হতে হবে।
পরিমাণগত ট্রেডিংয়ের ঝুঁকি
পরিমাণগত ট্রেডিংয়েরও ঝুঁকি আছে, কেন? কারণ পরিমাণগত ট্রেডিং হল ঐতিহাসিক তথ্যের ধরণ আবিষ্কার করা এবং ট্রেডিং কৌশল তৈরি করা। তবে, আর্থিক বাজার একটি বাস্তুতন্ত্র, এবং এর আইন এবং মানব প্রকৃতি একটি ইন্টারেক্টিভ গতিশীল প্রক্রিয়া। চূড়ান্ত বিশ্লেষণে, এটি এখনও একটি মানব বাজার। বাজারের আইন মানুষের স্বভাব দ্বারা প্রভাবিত হবে, এবং বাজারের পরিবর্তনের সাথে সাথে মানুষের স্বভাবের লোভ এবং ভয়ও পরিবর্তিত হবে। বাজারে অপরিবর্তনীয় আইন খুব কমই আছে, এবং ট্রেডিং কৌশল যতই শক্তিশালী হোক না কেন, আইনের এই আকস্মিক পরিবর্তনের সাথে মানিয়ে নেওয়া কঠিন।
সারসংক্ষেপ
উপরের ব্যাখ্যা থেকে আমরা দেখতে পাচ্ছি যে পরিমাণগত ট্রেডিং কোনও অনন্য ট্রেডিং পদ্ধতি নয়, এটি কেবল একটি ট্রেডিং টুল যা আমাদের ট্রেডিং লজিক বিশ্লেষণ করতে এবং ট্রেডিং কৌশল উন্নত করতে সাহায্য করে। আপনি একজন মূল্য বিনিয়োগকারী হোন বা একজন প্রযুক্তিগত বিনিয়োগকারী হোন, এবং আপনি স্টক, বন্ড, পণ্য বা বিকল্পগুলিতে বিনিয়োগ করুন না কেন, সবকিছুই আসলে পরিমাণগতভাবে নির্ধারণ করা যেতে পারে। ব্যক্তিগত অভিজ্ঞতার ভিত্তিতে সিদ্ধান্ত নেওয়া ব্যবসায়ীদের তুলনায়, পরিমাণগত ব্যবসায়ীদের হাতে অস্ত্র হলো বাজারের প্রমাণ এবং যুক্তিসঙ্গততা।
পরবর্তী বিভাগের পূর্বরূপ
পরিমাণ নির্ধারণ কেবল একটি ট্রেডিং পদ্ধতি, কৌশল কেবল ট্রেডিং ধারণার একটি বাহক, এবং প্রোগ্রামটি প্রতিটি ট্রেডিং প্রক্রিয়া সম্পাদন করে। পরবর্তী বিভাগটি আপনাকে পরিমাণগত ট্রেডিংয়ের সম্পূর্ণ জীবনচক্রের মধ্য দিয়ে নিয়ে যাবে, যার মধ্যে থাকবে: কৌশল ধারণা, মডেল বিল্ডিং, ব্যাকটেস্টিং এবং টিউনিং, সিমুলেশন ট্রেডিং, রিয়েল ট্রেডিং, কৌশল পর্যবেক্ষণ ইত্যাদি।
বাড়ির কাজ
১. পরিমাণগত ট্রেডিং এবং ব্যক্তিগত ট্রেডিংয়ের মধ্যে সবচেয়ে গুরুত্বপূর্ণ পার্থক্য কী?
2. ব্যক্তিগত ট্রেডিংয়ের তুলনায় পরিমাণগত ট্রেডিংয়ের সুবিধা কী কী?
১.৩ পরিমাণগত ট্রেডিংয়ের জন্য আপনার কী প্রস্তুতি নেওয়া উচিত?
সারাংশ
একটি সম্পূর্ণ পরিমাণগত ট্রেডিং জীবনচক্র কেবল ট্রেডিং কৌশল নয়। এতে কমপক্ষে ছয়টি লিঙ্ক রয়েছে, যার মধ্যে রয়েছে: কৌশল ধারণা, মডেল বিল্ডিং, ব্যাকটেস্টিং এবং টিউনিং, সিমুলেশন ট্রেডিং, রিয়েল ট্রেডিং, কৌশল পর্যবেক্ষণ ইত্যাদি।
কৌশলগত চিন্তাভাবনা
প্রথমত, পরিমাণগত ট্রেডিং করার জন্য, আপনাকে প্রথমে ট্রেডিং মার্কেটে ফিরে যেতে হবে, বাজারে দাম আরও পর্যবেক্ষণ করতে হবে, বাজারের ওঠানামার নিয়মগুলি বুঝতে হবে, প্রতিটি লেনদেনের যুক্তি অনুমান করার চেষ্টা করতে হবে এবং অবশেষে ট্রেডিং কৌশলটি সংক্ষিপ্ত করতে হবে। এখানে কোন শর্টকাট নেই। আপনার হয়তো ক্লাসিক বিনিয়োগ বই পড়তে হবে, অথবা ট্রেড চালিয়ে যেতে হবে এবং আপনার ব্যর্থতা থেকে শিক্ষা নিতে হবে।
পরিমাণগত ট্রেডিং নতুনদের জন্য, শুরুতেই ট্রেডিং কৌশল তৈরির সর্বোত্তম উপায় হল অনুকরণ করা। কৌশলগত যুক্তি তৈরি করতে এবং ক্রয়-বিক্রয়ের নিয়ম লিখতে বিদ্যমান প্রযুক্তিগত বিশ্লেষণ সূচকগুলি সরাসরি ব্যবহার করুন, যাতে আপনি একটি সহজ কৌশল পেতে পারেন। ধরুন আপনার ট্রেডিং কৌশলটি হল: যদি দাম গত ১০ দিনের গড় মূল্যের চেয়ে বেশি হয় তবে কিনুন, এবং যদি দাম গত ১০ দিনের গড় মূল্যের চেয়ে কম হয় তবে বিক্রি করুন। তারপর এর স্থাপত্য নিম্নরূপ (নীচে দেখানো হয়েছে):

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

চিত্র ১-৩ ট্রেডিং কৌশল উন্নয়ন পৃষ্ঠা
উপরের চিত্রে কৌশল কোডটি আবিষ্কারকের পরিমাণগত টুলের মাই ভাষা ব্যবহার করে দেখানো হয়েছে। এটি অনেক কার্যকরী মডিউলকে একীভূত করে যা সরাসরি ব্যবহার করা যেতে পারে এবং ব্যাকটেস্টিং এবং বাস্তব ট্রেডিং ফাংশনগুলিকে সমর্থন করে। এটি দ্রুত শুরু করার একটি ভাল উপায়।
ব্যাকটেস্টিং এবং টিউনিং
তারপর, কৌশল মডেল লেখার পর, পরবর্তী ধাপ হল কৌশলটির ব্যাকটেস্ট করা, সেইসাথে পরামিতিগুলি স্ক্রিন এবং অপ্টিমাইজ করা। কৌশলটি ব্যাকটেস্ট করার জন্য আপনি বিভিন্ন পরামিতি ব্যবহার করতে পারেন এবং কৌশলটির শার্প অনুপাত, সর্বোচ্চ ড্রডাউন, বার্ষিক রিটার্ন ইত্যাদি পর্যবেক্ষণ করতে পারেন। ক্রমাগত কৌশলটি ডিবাগিং এবং পরিবর্তন করার মাধ্যমে, আমরা অবশেষে একটি সম্পূর্ণ পরিমাণগত ট্রেডিং কৌশল পাব।
উদাহরণস্বরূপ, আমরা ২০১৭ সালের ঐতিহাসিক তথ্যকে নমুনা-ভিত্তিক তথ্য হিসেবে এবং ২০১৮ সালের ঐতিহাসিক তথ্যকে নমুনা-বহির্ভূত তথ্য হিসেবে নিই। প্রথমে, আমরা ২০১৭ সালের ডেটা ব্যবহার করে ভালো পারফরম্যান্স সহ বেশ কয়েকটি প্যারামিটার অপ্টিমাইজ করি, এবং তারপর ২০১৮ সালের প্যারামিটার অপ্টিমাইজ করতে এই প্যারামিটারগুলি ব্যবহার করি
ডেটা ব্যাকটেস্টিং। সাধারণভাবে বলতে গেলে, নমুনার বাইরের ব্যাকটেস্টের ফলাফল নমুনার বাইরের ব্যাকটেস্টের ফলাফলের মতো ভালো নয়। তবে, যদি নমুনার বাইরের এবং নমুনার বাইরের ফলাফল খুব আলাদা হয়, তাহলে কৌশলটি প্রায় অকার্যকর এবং কৌশলটির ব্যর্থতার কারণ নির্ধারণের জন্য পর্যবেক্ষণ এবং বিশ্লেষণ করা প্রয়োজন।
ধরুন আমরা দেখতে পাই যে নমুনার বাইরের তথ্যের কারণে কৌশলটি ব্যর্থ হয়েছে এবং বাজারের কিছু চরম অবস্থার কারণে বড় ক্ষতি হয়েছে, তাহলে আমরা এই ঝুঁকি এড়াতে একটি নির্দিষ্ট স্টপ লস শর্ত যোগ করতে পারি; যদি আমরা দেখতে পাই যে অনেক বেশি লেনদেনের কারণে কৌশলটি ব্যর্থ হয়েছে, তাহলে আমরা ট্রেডিং লজিককে কিছুটা শক্ত করতে পারি এবং ট্রেডিং ফ্রিকোয়েন্সি কমাতে পারি।
এটা মনে রাখা উচিত যে যদি শুরুতেই ট্রেডিং লজিক নিজেই ভুল হয়, তাহলে আপনি যতই পরিবর্তন করুন না কেন, লাভজনক কৌশল অর্জন করা কঠিন হবে। এই সময়ে, আপনার কৌশলগত চিন্তাভাবনা পুনরায় পরীক্ষা করা প্রয়োজন। এছাড়াও, প্যারামিটার অপ্টিমাইজেশনে, প্যারামিটার গ্রুপ যত বেশি উপলব্ধ হবে তত ভালো, যা নির্দেশ করে যে কৌশলটির ব্যাপক প্রযোজ্যতা রয়েছে। ব্যাকটেস্টিং করার সময়, খুব কম ট্রেড সহ কৌশলগুলি বেঁচে থাকা পক্ষপাতের শিকার হতে পারে। যদি ব্যাকটেস্টের ফলাফল একটি অতি লাভজনক তহবিল বক্ররেখা হয়
অনেক ক্ষেত্রেই, আপনার যুক্তি ভুল।
সিমুলেটেড ট্রেডিং
তারপর, যখন আপনি সঠিক ট্রেডিং লজিক সহ একটি কৌশল পাবেন এবং নমুনার ভিতরে এবং বাইরে উভয় ক্ষেত্রেই লাভজনক হবে, তখন আসল অ্যাকাউন্টে ট্রেড করার জন্য তাড়াহুড়ো করবেন না। বিশেষ করে নতুনদের জন্য, কমপক্ষে ৩ মাস ধরে একটি সিমুলেটেড অ্যাকাউন্ট চালানো প্রয়োজন। যদি এটি একটি মাঝারি বা কম ফ্রিকোয়েন্সি রাতারাতি কৌশল হয়, তাহলে একটি দীর্ঘ সিমুলেটেড ট্রেডিং সময় প্রয়োজন হবে।
ভবিষ্যতে সম্পূর্ণ অজানা সিমুলেটেড বাজারে, সিমুলেটেড ট্রেডিংয়ে কৌশলটির কর্মক্ষমতা পর্যবেক্ষণ করুন, সাবধানে পরীক্ষা করুন যে ব্যাকটেস্ট সিগন্যালটি সিমুলেটেড ট্রেডিং সিগন্যালের সাথে সামঞ্জস্যপূর্ণ কিনা এবং অর্ডার দেওয়ার সময় দাম এবং লেনদেন সম্পন্ন হওয়ার সময় দামের মধ্যে কোনও বিচ্যুতি আছে কিনা। যদি কর্মক্ষমতা প্রত্যাশার সাথে সামঞ্জস্যপূর্ণ হয়, তাহলে এর অর্থ হল কৌশলটি কার্যকর।
রিয়েল-ডিস্ক লেনদেন
অবশেষে, দীর্ঘ সময় ধরে কৌশলটি পরীক্ষা করার পর, এটিকে প্রকৃত ট্রেডিংয়ে প্রয়োগ করার সময় এসেছে। অবশ্যই, পরিমাণগত ট্রেডিং প্রক্রিয়ার সময় আমাদের অবশ্যই সতর্ক থাকতে হবে এবং চরম বাজার পরিস্থিতির বিরুদ্ধে সতর্ক থাকতে হবে। প্রকৃত ট্রেডিংয়ে, একটি কৌশলের প্রত্যাশা সাধারণত ছাড় দেওয়া হয় এবং প্রত্যাশার ৫০% অর্জনকে যোগ্য বলে বিবেচনা করা হয়।
নীতি পর্যবেক্ষণ
পরিশেষে, আমি সবাইকে মনে করিয়ে দিতে চাই যে ট্রেডিং এগিয়ে যাওয়ার সাথে সাথে আমাদের কৌশলটির কার্যকারিতাও পর্যবেক্ষণ করতে হবে। যখন আমরা দেখতে পাই যে কৌশলটিতে প্রত্যাশার চেয়ে বেশি ক্ষতি হয়েছে, তখন আমাদের অবশ্যই কৌশলটি পুনর্মূল্যায়ন করতে হবে। যেহেতু বাজারের বৈশিষ্ট্যগুলি পরিবর্তিত হবে, তাই আমরা এখন যে কৌশলগুলি তৈরি করছি তা মূলত অতীতের বাজারের বৈশিষ্ট্যগুলিকে লক্ষ্য করে। বাজারের বৈশিষ্ট্য পরিবর্তন হলে, কৌশলগত মডেলটি সময়মতো সমন্বয় করতে হবে, অথবা কৌশলটি সাময়িকভাবে স্থগিত করতে হবে।
সারসংক্ষেপ
এই প্রবন্ধে, আমরা পরিমাণগত ট্রেডিংয়ের সম্পূর্ণ প্রক্রিয়া ব্যাখ্যা করব। সংক্ষেপে, আপনি যদি বাজার অভিজ্ঞতা সম্পন্ন একজন বিনিয়োগকারী হন, তাহলে আপনাকে পিছনে রাখতে হবে কম্পিউটার ভাষার মূল বিষয়গুলি। আপনি ভিজ্যুয়াল ভাষা বা মাই ভাষা দিয়ে শুরু করতে পারেন, এই প্ল্যাটফর্মে নিজেকে প্রশিক্ষণ দিতে পারেন, কৌশল তৈরি করতে পারেন এবং তারপর ধীরে ধীরে পাইথন উচ্চ-মানের পরিমাণগত ট্রেডিংয়ের দিকে ঝুঁকতে পারেন।
আপনি যদি বিজ্ঞান ও প্রকৌশলের ছাত্র হন অথবা আইটি অনুশীলনকারী হন এবং আপনার প্রোগ্রামিং দক্ষতা ভালো, তাহলে বাজার বিনিয়োগের অভিজ্ঞতা আপনার জন্য বাধা হয়ে দাঁড়াবে। এই বিষয়টিকে অবমূল্যায়ন করবেন না। একজন যোগ্য পরিমাণগত বিনিয়োগকারী হিসেবে, উভয় ধরণের জ্ঞানই অপরিহার্য।
পরবর্তী বিভাগের পূর্বরূপ
সমগ্র পরিমাণগত ট্রেডিং জীবনচক্রের মূল বিষয় হল ট্রেডিং কৌশল। পরবর্তী বিভাগে, আমরা ট্রেডিং কৌশল কাঠামোর দৃষ্টিকোণ থেকে একটি সম্পূর্ণ ট্রেডিং কৌশলের উপাদানগুলি সম্পর্কে বিস্তারিত আলোচনা করব। এটি আপনাকে আপনার ট্রেডিং কৌশল আরও ব্যাপকভাবে তৈরি করতে এবং পরিমাণগত ট্রেডিংকে একটি নতুন স্তরে নিয়ে যেতে সাহায্য করবে!
বাড়ির কাজ
১. মাই ভাষা ব্যবহার করে এই বিভাগে ট্রেডিং কৌশল লেখার চেষ্টা করুন।
2. পরিমাণগত ট্রেডিং ব্যাকটেস্টিং-এ সবচেয়ে গুরুত্বপূর্ণ কর্মক্ষমতা নির্দেশক কী?
১.৪ একটি সম্পূর্ণ কৌশলের উপাদানগুলি কী কী?
সারাংশ
একটি সম্পূর্ণ কৌশল আসলে ব্যবসায়ীরা নিজেদের জন্য নির্ধারিত বিভিন্ন নিয়ম। এটি লেনদেনের সমস্ত দিককে অন্তর্ভুক্ত করে এবং ব্যবসায়ীদের ব্যক্তিগত কল্পনার জন্য কোনও স্থান রাখে না। কৌশলটি প্রতিটি ক্রয় এবং বিক্রয় সিদ্ধান্তের উত্তর দেবে। এতে অন্তত কৌশল নির্বাচন, পণ্য নির্বাচন, মূলধন ব্যবস্থাপনা, অর্ডার প্লেসমেন্ট, চরম বাজার পরিস্থিতির প্রতি সাড়া, ট্রেডিং মানসিকতা ইত্যাদি অন্তর্ভুক্ত থাকে।
কৌশল নির্বাচন
হেজ ফান্ডের দৃষ্টিকোণ থেকে, মূলধারার ট্রেডিং কৌশলগুলিকে ট্রেন্ড ট্রেডিং, পেয়ার ট্রেডিং, বাস্কেট ট্রেডিং, ইভেন্ট-চালিত, উচ্চ-ফ্রিকোয়েন্সি ট্রেডিং, বিকল্প কৌশল ইত্যাদিতে ভাগ করা যেতে পারে, যেমনটি নীচের চিত্রে দেখানো হয়েছে। অবশ্যই, কৌশলগুলি কীভাবে শ্রেণীবদ্ধ করা হয় তা স্থির নয়।

চিত্র ১-৪ ট্রেডিং কৌশলের শ্রেণীবিভাগ
পরিমাণগত ট্রেডিংয়ের নতুনদের জন্য, আপনাকে এতগুলো শর্তাবলী এবং ধারণা নিয়ে চিন্তা করতে হবে না। শুধু ধাপে ধাপে সহজতম ধাপ থেকে শুরু করুন। আমি যদি নতুনদের জন্য শুধুমাত্র একটি পরিমাণগত ট্রেডিং কৌশল সুপারিশ করি, তাহলে তা হল ট্রেন্ড ট্রেডিং, কারণ এটি সহজ এবং কার্যকর। আমি বিশ্বাস করি যে আপনি যদি নিয়মিতভাবে আর্থিক জ্ঞান নাও শিখেন, তবুও আপনি ভালো ট্রেডিং করতে পারবেন। এবং এই কৌশলটি দীর্ঘদিন ধরে, প্রাথমিক পাবলিক ট্রেডিং কৌশলগুলিতে প্রচলিত ছিল, এবং এটি আজও একাধিক বাজারে কার্যকর কারণ মানুষের স্বভাব পরিবর্তন করা কঠিন।
কী কিনবেন এবং বিক্রি করবেন
যারা ট্রেডিং করেছেন তাদের জানা উচিত যে প্রতিটি জাতের নিজস্ব ব্যক্তিত্ব রয়েছে। কিছু জাতের ব্যক্তিত্ব খুবই "উত্তপ্ত", ভালো তরলতা, বড় ওঠানামা এবং উচ্চ অস্থিরতা সহ; কিছু জাতের ব্যক্তিত্ব খুবই "নমনীয়", সারা বছর ধরে একটি নির্দিষ্ট পরিসরের মধ্যে ওঠানামা করে এবং কম অস্থিরতা থাকে।
অতএব, ট্রেডিং পণ্য নির্বাচন করার সময়, আপনার অবশ্যই অস্থিরতার ধারণা থাকতে হবে। উচ্চ অস্থিরতাযুক্ত পণ্যগুলি প্রায়শই সহজেই একটি ভাল প্রবণতা বিকাশ করতে পারে। পণ্য ফিউচারের জন্য, যদি এটি একটি ট্রেন্ড ট্র্যাকিং কৌশল হয়, তাহলে শিল্প পণ্য বেছে নেওয়ার চেষ্টা করুন। পণ্যের বৈশিষ্ট্যের দিক থেকে, শিল্প পণ্যগুলিতে কৃষি পণ্যের তুলনায় বেশি অস্থিরতা থাকে।
বিভিন্ন কৌশল বিভিন্ন বাজারের অবস্থার সাথে খাপ খাইয়ে নেয় এবং সঠিক ট্রেডিং পণ্য নির্বাচন করা ফিউচার ট্রেডিংয়ের বৃহৎ প্রকল্পের জন্য একটি অত্যন্ত গুরুত্বপূর্ণ শুরু। সম্পূর্ণ অর্থে, একেবারে ভালো জাত বা একেবারে খারাপ জাত বলে কিছু নেই। আপনার বিনিয়োগের ধরণ এবং ঝুঁকি সহনশীলতার উপর নির্ভর করে, আপনাকে আপনার নিজস্ব মানদণ্ডের সাথে সংশ্লিষ্ট সমন্বয় করতে হবে।
কত কিনতে হবে এবং বিক্রি করতে হবে
ট্রেডিংয়ে টাকা হারানো সহজ কিন্তু টাকা রোজগার করা কঠিন। যখন অ্যাকাউন্টের তহবিল ৫০% হারায়, তখন ক্ষতি পুষিয়ে নিতে ১০০% লাভের প্রয়োজন হয়। এমনকি যদি আপনি অনেকবার ১০০% লাভ করতে পারেন, তবুও সবকিছু হারাতে হলে আপনাকে কেবল একবার ১০০% হারাতে হবে। অতএব, একটি পরিপক্ক ট্রেডিং কৌশলের মধ্যে অর্থ ব্যবস্থাপনা অন্তর্ভুক্ত থাকা উচিত।
সকলের বোঝার সুবিধার্থে, পূর্ববর্তী বিভাগের চলমান গড় কৌশলটিও এখানে ব্যবহার করা হয়েছে। প্রকৃতপক্ষে, ঐতিহ্যবাহী প্রযুক্তিগত সূচক দিয়ে তৈরি অনেক ট্রেডিং কৌশলের সর্বোচ্চ ড্রডাউন হার সাধারণত ৫০% এর বেশি বা তারও বেশি থাকে। কিন্তু একটি অত্যন্ত ঝুঁকিপূর্ণ কৌশল যা সম্পূর্ণরূপে অকার্যকর?
স্পষ্টতই না, তহবিল ব্যবস্থাপনার মাধ্যমে সর্বোচ্চ ড্রডাউন হার সম্পূর্ণরূপে নিয়ন্ত্রণ করা যেতে পারে। যদি পজিশন অর্ধেক কমানো হয়, তাহলে সামগ্রিক ঝুঁকিও অর্ধেক কমে যাবে, এবং সর্বোচ্চ ড্রডাউন রেট 30% হয়ে যাবে। যদি পজিশন আবার অর্ধেক কমানো হয়, তাহলে সর্বোচ্চ ড্রডাউন রেট 15% হয়ে যাবে। পরিশেষে, আমরা একটি কৌশল পাই যার সর্বোচ্চ ড্রডাউন রেট প্রায় 15% নিয়ন্ত্রিত হবে। এটি অর্থ ব্যবস্থাপনার একটি সহজ এবং অশোধিত পদ্ধতি। অনেকেই জানেন যে তারা পূর্ণ পদের সাথে কাজ করতে পারবেন না, কিন্তু তারা জানেন না কেন তারা পূর্ণ পদের সাথে কাজ করতে পারবেন না। উত্তর এখানে।
কখন কিনবেন এবং বিক্রি করবেন
একটি ভালো ক্রয়ক্ষমতা সাফল্যের অর্ধেক, কারণ এটি আপনাকে দ্রুত খরচের ক্ষেত্র থেকে বেরিয়ে আসতে পারে। কিন্তু কেউ কখনোই আপনাকে বলতে পারবে না যে এই বিন্দু থেকে শুরু করা সঠিক এবং সেই বিন্দু থেকে শুরু করা ভুল। পজিশন খোলা ট্রেডিংয়ের মূল বিষয় নয়। ট্রেডিংয়ের মূল বিষয় হল পজিশন খোলার পর যতটা সম্ভব পজিশনটি কীভাবে অপ্টিমাইজ করা যায়।
স্বল্পমেয়াদী কৌশল হোক বা দীর্ঘমেয়াদী কৌশল, কে বেশি দিন ধরে এই পদে অধিষ্ঠিত আছেন তা গুরুত্বপূর্ণ নয়, বরং ঝুঁকি-রিটার্ন অনুপাত গুরুত্বপূর্ণ। অন্য কথায়, কৌশলগত কর্মক্ষমতাকে প্রভাবিত করে এমন চূড়ান্ত ফলাফল হল কীভাবে প্রস্থান করা যায় এবং কখন লাভ অর্জন করা যায়। এক্সিট পদ্ধতি দুটি প্রকারে বিভক্ত করা যেতে পারে: স্টপ লস এক্সিট এবং টেক প্রফিট এক্সিট। এই দুটি অংশ যেকোনো ট্রেডিং সিস্টেমের জন্য প্রয়োজনীয় এবং একটি ট্রেডিং কৌশলের সাফল্য বা ব্যর্থতা নির্ধারণের জন্য গুরুত্বপূর্ণ জলবিভাজিকাও।
কিভাবে ক্রয়-বিক্রয় করবেন
১. অর্ডার দেওয়ার ধরণ এবং পদ্ধতি:
অর্ডার দেওয়ার অনেক ধরণ এবং পদ্ধতি রয়েছে, যেমন: সারিবদ্ধ সীমা অর্ডার ব্যবহার, কাউন্টারপার্টি মূল্য, সর্বশেষ মূল্য, অতিরিক্ত মূল্য, উচ্চ সীমা মূল্য, নিম্ন সীমা মূল্য, প্রথম মূল্য কিনুন, দ্বিতীয় মূল্য কিনুন, প্রথম মূল্য বিক্রি করুন, দ্বিতীয় মূল্য বিক্রি করুন, অথবা প্রথমে সারিবদ্ধ মূল্য এবং তারপর অতিরিক্ত মূল্য ব্যবহার করে, ব্যাচে অর্ডার দেওয়া, অথবা বড় অর্ডারগুলিকে ছোট অর্ডারে বিভক্ত করা, অথবা কেবল সমস্ত অর্ডার সরাসরি দেওয়া।
2. একটি অর্ডার বাতিল করুন
যদি অর্ডারটি কার্যকর না হয়, তাহলে কি আপনার অপেক্ষা করা চালিয়ে যাওয়া উচিত নাকি অর্ডার বাতিল করা উচিত? বাতিলকরণের শর্তটি সময়ের উপর নির্ভর করে। উদাহরণস্বরূপ, যদি ১০ সেকেন্ডের মধ্যে কোনও লেনদেন না হয় এবং অর্ডার দেওয়ার সময় দাম থেকে ১০ সেকেন্ড দূরে থাকে, তাহলে কি আপনি অপেক্ষা করা চালিয়ে যাবেন, অর্ডার বাতিল করবেন, অথবা অর্ডারটি অনুসরণ করবেন?
৩. ফলো-আপ অর্ডার
যখন কোন আদেশ কার্যকর করা হয় না, তখন আদেশটি অনুসরণ করা হবে কিনা। যদি আপনি কোন অর্ডারের পিছনে ছুটছেন, তাহলে কি আপনার সর্বশেষ মূল্য, প্রতিপক্ষের মূল্য, নাকি মূল্য সীমার উপর ভিত্তি করে তা ছুটতে হবে? যদি চেজ করা অর্ডারটি এখনও কার্যকর না হয়, তাহলে আপনার কি অর্ডারের পিছনে ছুটতে থাকা উচিত?
৪. মূল্য সীমা
যদি অর্ডার সিগন্যাল উপরের বা নিম্ন সীমা মূল্যে প্রদর্শিত হয় তবে আমার কী করা উচিত? ঊর্ধ্ব এবং নিম্ন সীমার দামে কার্যকর করার জন্য লাইনে দাঁড়াতে হবে কিনা, এবং যদি কোনও কার্যকর না হয় তবে কী করতে হবে।
৫. নিলাম ডাকুন
আপনার কি উদ্বোধনী নিলামে অংশগ্রহণ করা উচিত এবং কীভাবে অংশগ্রহণ করবেন।
৬. নাইট ট্রেডিং
কিছু পণ্য ফিউচারের ক্ষেত্রে, রাতের লেনদেন পরের দিন রাত ১১:০০ টা থেকে রাত ২:৩০ টা পর্যন্ত চলে। এই সময়ের মধ্যে, আপনি এটি ম্যানুয়ালি করবেন নাকি কম্পিউটারের মাধ্যমে করবেন তা বেছে নিতে পারেন।
৭. প্রধান উৎসব
বড় উৎসবের সময় অতিরিক্ত দীর্ঘ ছুটির আগে কি আপনার অবস্থান ধরে রাখা উচিত? ধরে রাখলে ঝুঁকি কীভাবে নিয়ন্ত্রণ করা যায়।
চরম বাজারের অবস্থা
১. অল্প সময়ের মধ্যে বড় দামের ওঠানামা
তাৎক্ষণিক মূল্য সীমা, ক্রমাগত মূল্য সীমা, ভুল আদেশ, কালো রাজহাঁসের বাজার মূল্যের স্ট্যাম্পড ইত্যাদি পরিস্থিতি কীভাবে মোকাবেলা করবেন?
২. তরলতার ঝুঁকি
যদি কাউন্টারপার্টির কাছে আপনার পছন্দের অর্ডার ভলিউম না থাকে, কিন্তু আপনাকে সময়মতো লেনদেন সম্পন্ন করতে হবে, বিশেষ করে যখন অ-প্রধান চুক্তির তারল্য খুব কম থাকে, আপনার দেওয়া অর্ডারগুলি সহজেই বাজারে প্রভাব ফেলতে পারে এবং স্লিপেজ বড় হয়, তাহলে আপনার কীভাবে এটি মোকাবেলা করা উচিত?
৩. বৈচিত্র্যের নিয়মে পরিবর্তন
রাতের ট্রেডিংয়ে পণ্য ফিউচার পণ্য যুক্ত করা হয়, মার্জিন অনুপাত বৃদ্ধি করা হয় এবং হ্যান্ডলিং ফি বৃদ্ধি করা হয়। বিশেষ করে স্বল্পমেয়াদী কৌশলগুলি এই পরিবর্তনগুলির প্রতি খুবই সংবেদনশীল হবে।
৪. ট্রেডিং পরিবেশের ঝুঁকি
উদাহরণস্বরূপ: হঠাৎ বিদ্যুৎ বিভ্রাট, ইন্টারনেট বিভ্রাট, কম্পিউটার ব্যর্থতা, সফ্টওয়্যার ক্র্যাশ, ব্যাংক-ফিউচার ট্রান্সফার স্থগিতকরণ, প্রাকৃতিক দুর্যোগ ইত্যাদি ঘটলে কীভাবে প্রতিক্রিয়া জানাবেন।
উপরোক্ত পরিস্থিতির সম্ভাবনা খুবই কম, অথবা প্রায় অসম্ভব। কিন্তু যদি এটা ঘটতে পারে, তাহলে তা ঘটবেই। এই অনুমানগুলি করা এবং সতর্কতা অবলম্বন করা প্রয়োজন।
মনস্তাত্ত্বিক গঠন
ট্রেডিংয়ে প্রচলিত তিনটি প্রধান মনস্তাত্ত্বিক আবেগ হল লোভ, ভয় এবং ভাগ্য। উপরোক্ত তিনটি আবেগকে বিভিন্ন পর্যায়ে নিয়ন্ত্রণ এবং এমনকি কাজে লাগানোর জন্য বিনিয়োগকারীদের একটি শক্তিশালী ট্রেডিং মনোবিজ্ঞান ব্যবস্থার প্রয়োজন।
ট্রেডিং করার আগে, আপনার ভবিষ্যতের জন্য একটি সামগ্রিক প্রত্যাশা থাকতে হবে, যার মধ্যে বাজারের প্রত্যাশা এবং পণ্যের জন্য মানসিক প্রত্যাশা অন্তর্ভুক্ত থাকবে। বাজারের প্রত্যাশা বাজারের অবস্থান এবং ভবিষ্যতের দিকের জন্য একটি স্পষ্ট লক্ষ্যকে নির্দেশ করে, এবং পণ্যের প্রত্যাশা পণ্যের বর্তমান অবস্থানে ট্রেডিং সুযোগ এবং ঝুঁকির অবস্থাকে নির্দেশ করে। উপরোক্ত মনস্তাত্ত্বিক ভিত্তি ছাড়া কিছুই অর্জন করা সম্ভব নয়।
প্রকৃত ট্রেডিংয়ের সম্পূর্ণ প্রক্রিয়াটি হল ক্রমাগত বিশ্লেষণ, সংশোধন এবং সম্পাদনের একটি প্রক্রিয়া। ট্রেডিংয়ে খুব বেশি সময় ব্যয় হয় না, তবে ট্র্যাকিং এবং ধৈর্যের জন্য আরও বেশি সময় ব্যয় করা হয়। এটি এমন একটি প্রক্রিয়া যা মানসিকতাকে ব্যাপকভাবে পরীক্ষা করে এবং মানব প্রকৃতি পরীক্ষা করে। ট্রেডিং প্রক্রিয়ার সময় ব্যবসায়ীদের সমস্ত অভ্যাস সম্পূর্ণরূপে প্রদর্শিত এবং বিবর্ধিত করা হবে। কেবলমাত্র ক্রমাগত শেখার এবং অভিজ্ঞতা এবং শিক্ষার সংক্ষিপ্তসার এবং অভিজ্ঞতা অর্জন অব্যাহত রাখার মাধ্যমেই আমরা মানব প্রকৃতির সাধারণ চিন্তাভাবনা এবং মানসিক দুর্বলতাগুলি কাটিয়ে উঠতে পারি।
সারসংক্ষেপ
সংক্ষেপে বলতে গেলে, তথাকথিত ট্রেডিং কৌশলটি আসলে এরকম। এর নিখুঁত দিক এবং অসম্পূর্ণ দিক রয়েছে। যখন আমরা পরিমাপ করি যে কোনও ট্রেডিং কৌশল যুক্তিসঙ্গত কিনা, তখন আমরা কেবল এর নিখুঁত দিক বা অসম্পূর্ণ দিকটি দেখতে পারি না। আমাদের কৌশলটির অখণ্ডতা ব্যাপকভাবে বিশ্লেষণ করা উচিত।
পরিশেষে, কৌশলটির বৈশিষ্ট্য, আপনার নিজস্ব ব্যক্তিত্ব এবং আর্থিক পরিস্থিতির সাথে মিলিত হয়ে, কৌশলটি আপনার জন্য উপযুক্ত কিনা তা পরিমাপ করুন। যদি এটি আপনার জন্য উপযুক্ত হয়, তাহলে আপনার এটিতে লেগে থাকার সম্ভাবনা কতটা তা সম্পূর্ণরূপে মূল্যায়ন করা উচিত এবং আগে থেকেই সবচেয়ে খারাপ ফলাফলের জন্য পরিকল্পনা করা উচিত। যদি আপনি সবচেয়ে খারাপ পরিস্থিতি সম্পর্কে চিন্তা করে থাকেন, তাহলে এটি কার্যকর করার সম্ভাবনা তুলনামূলকভাবে বেশি।
মনে রাখবেন, ট্রেডিংয়ে, আত্মবিশ্বাস আসে আপনার আন্তরিক স্বীকৃতি থেকে, এবং আত্মবিশ্বাস আসে সঠিক ট্রেডিং দর্শন থেকে!
পরবর্তী বিভাগের পূর্বরূপ
এটি প্রথম অধ্যায়ের শেষ প্রবন্ধ। পরবর্তী অধ্যায়ে, আমরা পরিমাণগত ট্রেডিং সরঞ্জামগুলি আরও ব্যাখ্যা করব, যার মধ্যে রয়েছে: পরিমাণগত সরঞ্জামগুলির একটি সামগ্রিক ভূমিকা, কীভাবে একটি পরিমাণগত ট্রেডিং সিস্টেম কনফিগার করতে হয়, সাধারণ API ব্যাখ্যা এবং কীভাবে একটি পরিমাণগত সিস্টেমে কৌশল লিখতে হয়।
বাড়ির কাজ
১. ট্রেন্ড ট্রেডিং কৌশলগুলি কি উচ্চ-অস্থিরতা পণ্য বা কম-অস্থিরতা পণ্য বেছে নেওয়া উচিত?
২. ট্রেডিং অর্ডার কত প্রকার?
অধ্যায় ২ পরিমাণগত সরঞ্জামের ভূমিকা
২.১ পরিমাণগত সরঞ্জামের সামগ্রিক ভূমিকা
সারাংশ
পূর্ববর্তী অধ্যায়ে, আমরা পরিমাণগত ট্রেডিংয়ের প্রাসঙ্গিক ধারণাগুলি সম্পর্কে শিখেছি এবং পরিমাণগত ট্রেডিং সম্পর্কে একটি মৌলিক ধারণা অর্জন করেছি। তাহলে বাজারে পরিমাণগত ট্রেডিংয়ের জন্য কী কী সরঞ্জাম রয়েছে? আমাদের চাহিদা অনুযায়ী কীভাবে নির্বাচন করা উচিত?
ওপেন সোর্স এবং বাণিজ্যিক সফ্টওয়্যার
দেশীয় পরিমাণগত ট্রেডিং সরঞ্জামগুলিকে সাধারণত দুটি বিভাগে ভাগ করা যায়: ওপেন সোর্স সফ্টওয়্যার এবং বাণিজ্যিক সফ্টওয়্যার। তথাকথিত ওপেন সোর্স সফটওয়্যার বলতে এমন সফটওয়্যার বোঝা যায় যার সোর্স কোড খোলা থাকে এবং ব্যবহারের জন্য সরাসরি ডাউনলোড করা যায়; বাণিজ্যিক সফটওয়্যার বলতে সাধারণত বাণিজ্যিক কোম্পানিগুলি দ্বারা রক্ষণাবেক্ষণ এবং পরিচালিত ক্লোজড সোর্স সফটওয়্যারকে বোঝায়, যা সাধারণত অর্থ প্রদান করে।
ওপেন সোর্স কোয়ান্টিটেটিভ সফটওয়্যার
প্রথমত, ওপেন সোর্স সফটওয়্যারের নমনীয়তা অনেক বেশি এবং এটি সম্পূর্ণ বিনামূল্যে। ব্যবহারকারীরা মূলত এই সফটওয়্যারটি যেকোনো ফাংশন বাস্তবায়নের জন্য ব্যবহার করতে পারেন, তা সে মাঝারি বা নিম্ন ফ্রিকোয়েন্সি ট্রেডিং কৌশল, আরবিট্রেজ কৌশল বা বিকল্প কৌশলই হোক না কেন, যা কাস্টমাইজড মডিউলের মাধ্যমে অর্জন করা যেতে পারে। যেহেতু ব্যবহারকারীরা সফটওয়্যারের সোর্স কোড নিয়ন্ত্রণ করে এবং সফটওয়্যারের প্রতিটি কোণ বুঝতে পারে, তাই এটি আরও নির্ভরযোগ্য এবং নিরাপদ।
যদিও ওপেন সোর্স সফটওয়্যারের অনেক সুবিধা রয়েছে, তবে এটি পরিমাণগত ট্রেডিং নতুনদের জন্য খুব একটা বন্ধুত্বপূর্ণ নয়। আপনাকে পদ্ধতিগতভাবে পাইথন, জাভা বা সি++ এর মতো একটি স্ট্যান্ডার্ড প্রোগ্রামিং ভাষা শিখতে হবে। শুরু থেকে হাল ছেড়ে দেওয়া পর্যন্ত, অসুবিধা কল্পনা করা যায়। কখনও কখনও, বাগ ডিবাগিং আপনাকে আপনার জীবন সম্পর্কে সন্দেহ করতে পারে। এবং বাণিজ্যিক সফ্টওয়্যারের বিপরীতে, আপনার প্রশ্নের তাৎক্ষণিক উত্তর দেওয়ার জন্য নিবেদিতপ্রাণ প্রযুক্তিগত গ্রাহক পরিষেবা রয়েছে। এই সময়ে আপনি কেবল সাফল্যের অনুভূতিই অনুভব করবেন না, বরং এটি আপনাকে শেখা চালিয়ে যেতে নিরুৎসাহিত করবে।
অতএব, শেখার দৃষ্টিকোণ থেকে, পরিমাণগত ট্রেডিং নতুনদের ধাপে ধাপে শুরু করার পরামর্শ দেওয়া হচ্ছে, সহজতম বাণিজ্যিক সফ্টওয়্যার দিয়ে শুরু করা। যদিও এটি অর্থপ্রদান করা হয়, যদি কৌশলটি লাভজনক হয়, তবে সফ্টওয়্যার ফি লাভের একটি ভগ্নাংশ মাত্র। অধিকন্তু, বাণিজ্যিক সফ্টওয়্যার সাধারণত একটি দল দ্বারা রক্ষণাবেক্ষণ করা হয় এবং এর পরিপক্কতা অবশ্যই ওপেন সোর্স সফ্টওয়্যারের তুলনায় অনেক বেশি শক্তিশালী।
ব্যবসায়িক পরিমাণগত সফ্টওয়্যার
চীনে পরিমাণগত ট্রেডিংয়ের জন্য কয়েক ডজন বাণিজ্যিক সফ্টওয়্যার রয়েছে, যেমন: ইন্টারেক্টিভ ব্রোকার, যা পেশাদার, ব্যাপক এবং এর অনেক পণ্য রয়েছে; APAMA, যা বিশাল সমসাময়িক ডেটা পরিচালনা করতে পারে এবং উচ্চ-ফ্রিকোয়েন্সি ট্রেডিংয়ের জন্য উপযুক্ত; SPT, যা C++ ইন্টারফেস সমর্থন করে এবং ভাল কার্যকরীকরণ দক্ষতা রয়েছে; Nuggets Quantitative, যা লেনদেন কার্যকরকরণ এবং ঝুঁকি নিয়ন্ত্রণের উপর দৃষ্টি নিবদ্ধ করে; এবং পৃথক ব্যবসায়ীদের জন্য MC, TB এবং MQ। নীচের চিত্রে, আমরা মূলধারার দেশীয় পরিমাণগত প্ল্যাটফর্মগুলির একটি বিস্তৃত মূল্যায়ন পরিচালনা করেছি এবং পরিমাণগত সরঞ্জামগুলির অসুবিধার একটি নির্দিষ্ট শ্রেণীবিভাগও করেছি। পাঠকরা তাদের প্রকৃত পরিস্থিতি অনুসারে নির্বাচন করতে পারেন।

চিত্র ২-১ মূলধারার দেশীয় পরিমাণগত প্ল্যাটফর্মগুলির ব্যাপক মূল্যায়ন
যদিও উপরের সফটওয়্যারগুলো বাণিজ্যিক, তবুও এগুলো স্ট্যান্ডার্ড প্রোগ্রামিং ল্যাঙ্গুয়েজ বা স্ক্রিপ্টিং ল্যাঙ্গুয়েজও ব্যবহার করে। এটি করার পরিবর্তে, সরাসরি ওপেন সোর্স সফটওয়্যার ব্যবহার করা ভালো যা বিনামূল্যে এবং নিরাপদ। নতুনদের জন্য সরাসরি FMZ ইনভেনটর কোয়ান্টিটেটিভ প্ল্যাটফর্ম ব্যবহার করার পরামর্শ দেওয়া হচ্ছে, ওয়েবসাইটটি হল www.fmz.com। পরিমাণগত ট্রেডিং শেখার একটি ধাপ হিসেবে।
পরিমাণগত ট্রেডিং সরঞ্জামের উদ্ভাবকের সাথে দেখা করুন
উদ্ভাবকের পরিমাণগত সরঞ্জামগুলি নতুনদের জন্য উপযুক্ত। এমনকি যদি আপনার কোনও মৌলিক জ্ঞান না থাকে, তবুও আপনি এতে থাকা সরঞ্জামগুলির উপর ভিত্তি করে পরিমাণগত বিশ্লেষণের মনোমুগ্ধকর অভিজ্ঞতা অর্জন করতে পারেন। এই টুলটি উচ্চ-ফ্রিকোয়েন্সি ট্রেডিংয়ের জন্য তৈরি এবং এর কর্মক্ষমতা এবং নিরাপত্তার উপর কঠোর প্রয়োজনীয়তা রয়েছে। উচ্চ-ফ্রিকোয়েন্সি কৌশল, সালিসি কৌশল এবং ট্রেন্ড কৌশল সমর্থন করুন। এবং এটি কৌশল উন্নয়ন, পরীক্ষা, অপ্টিমাইজেশন, সিমুলেশন এবং বাস্তব ট্রেডিংয়ের সম্পূর্ণ প্রক্রিয়াকে একীভূত করে। এছাড়াও, এটি সহজ এবং ব্যবহারযোগ্য মাই ভাষা এবং পাইথন এবং সি++ এর মতো উন্নত পরিমাণগত ট্রেডিং ভাষা উভয়কেই সমর্থন করে, যার অর্থ এক শেখার পরে নির্বিঘ্নে স্যুইচিং। এবং শুধুমাত্র আসল ট্রেডিংয়ের জন্য ০.১২৫ ইউয়ান/ঘন্টা চার্জ করা হয়, যা শেখার পর্যায়ে আপনার সফ্টওয়্যার খরচ কমিয়ে দেয়। একই সাথে, আপনি বিনামূল্যে সিমুলেটেড ট্রেডিং করতে পারেন।
পরিমাণ নির্ধারণের দিকে প্রথম পদক্ষেপ নেওয়া: পরিমাণগত সরঞ্জাম ব্যবহার করা
পরিমাণগত সরঞ্জামগুলি ব্যবহার করা খুবই সহজ। আপনার নিজস্ব পরিমাণগত কৌশল ডিজাইন করার জন্য আপনাকে কেবল ওয়েবসাইটে প্রবেশ করতে হবে এবং এটিতে ক্লিক করতে হবে। আপনি Inventor Quantitative Tool এর অফিসিয়াল ওয়েবসাইটে লগ ইন করতে পারেন, নিবন্ধন করে লগ ইন করতে পারেন, এবং এটি ব্যবহার করার জন্য নিয়ন্ত্রণ কেন্দ্রে ক্লিক করতে পারেন (নীচে দেখানো হয়েছে)। এটি বর্তমানে জনপ্রিয় TikTok এর মতো। নিবন্ধন এবং লগইন করার পরে, আপনি আপনার নিজস্ব ছোট ভিডিও পোস্ট করতে পারেন, এবং quantitative tool এ লগ ইন করার পরে, আপনি আপনার নিজস্ব quantitative ট্রেডিং কৌশল ডিজাইন করতে পারেন।

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

চিত্র ২-৩ FMZ পরিমাণগত ট্রেডিং প্ল্যাটফর্মে লগ ইন করার পর ব্যবস্থাপনা পৃষ্ঠা
পরিমাণগত গবেষণায় নতুন বন্ধুদের কোড এবং প্রোগ্রামিং না বুঝে নিরুৎসাহিত হওয়ার দরকার নেই। ব্যবহারকারীদের জন্য থ্রেশহোল্ড কমানোর জন্য, অফিসিয়াল কমিউনিটি পরিমাণগত ট্রেডিং নতুনদের দ্রুত শুরু করতে সাহায্য করার জন্য অনেক ভিডিও টিউটোরিয়াল তৈরি করেছে; একই সাথে, স্ট্র্যাটেজি স্কয়ার হাজার হাজার অফিসিয়াল এবং তৃতীয় পক্ষের বিনামূল্যে এবং উন্মুক্ত ট্রেডিং কৌশল একত্রিত করে যাতে সবাই অনুলিপি করতে এবং শিখতে পারে।
এছাড়াও, স্ট্র্যাটেজি এডিটিং ইন্টারফেসে ক্লাসিক স্ট্র্যাটেজি নমুনাগুলিও কনফিগার করা আছে। আপনি স্ট্র্যাটেজি কোডটি ক্লিক করে সরাসরি ব্যবহার করতে পারেন এবং সম্পূর্ণ পরিমাণগত ট্রেডিংয়ের মূল প্রক্রিয়াটি সহজেই অনুভব করতে পারেন। এমনকি নবীন ব্যবহারকারীরাও তাৎক্ষণিকভাবে এটি শিখতে এবং অনুসরণ করতে পারেন!
রিয়েল মানি ট্রেডিংয়ের আগে, সিমুলেটেড ট্রেডিংও একটি অপরিহার্য পদক্ষেপ। এই টুলের সিমুলেটেড ট্রেডিং এক্সচেঞ্জ নিয়ম মেনে চলে এবং সম্পূর্ণ বিনামূল্যে। সিমুলেশনে অন্তর্ভুক্ত সময়, মূল্য, অর্ডারের পরিমাণ ইত্যাদি রিয়েল টাইমে রিয়েল মার্কেটের সাথে মিলে যায়, যা রিয়েল ট্রেডিংয়ের সাথে অত্যন্ত সামঞ্জস্যপূর্ণ। কৌশল যাচাইয়ের দক্ষতা ব্যাপকভাবে উন্নত করুন।
সারসংক্ষেপ
ওপেন সোর্স সফটওয়্যার হোক বা বাণিজ্যিক সফটওয়্যার, ভালো-মন্দের মধ্যে কোন পার্থক্য নেই, এবং কোন নিখুঁত পরিমাণগত ট্রেডিং টুলও নেই। প্রতিটি টুলের নিজস্ব ফোকাস রয়েছে। সবচেয়ে গুরুত্বপূর্ণ বিষয় হল আপনার চাহিদা অনুসারে আপনার জন্য উপযুক্ত টুলটি বেছে নেওয়া। বাণিজ্যিক সফ্টওয়্যারের জন্য অর্থপ্রদানের প্রয়োজন হয়, এবং এটি পরিষেবা ইত্যাদির দিক থেকেও ভালো, এবং এই শিল্পে নতুনদের জন্য এটি আরও উপযুক্ত হতে পারে যারা নতুনদের জন্য। আপনি যদি দীর্ঘদিন ধরে এই শিল্পে কাজ করে থাকেন এবং প্রচুর অভিজ্ঞতা অর্জন করে থাকেন, অথবা আরও জটিল ট্রেডিং কৌশল বাস্তবায়নের প্রয়োজন হয়, তাহলে ওপেন সোর্স সফ্টওয়্যার একটি ভালো পছন্দ।
পরবর্তী বিভাগের পূর্বরূপ
সরঞ্জামগুলি কীভাবে ব্যবহার করবেন? ঠিক যেমন আমরা যখন একটি নতুন মোবাইল ফোন কিনি এবং প্রথমবার এটি চালু করার সময় সহজ স্টার্টআপ সেটিংস করতে হয়, ঠিক তেমনই পরিমাণগত সরঞ্জামগুলির জন্যও মৌলিক সেটিংস এবং কনফিগারেশনের প্রয়োজন হয়। পরবর্তী বিভাগে, আমরা আপনাকে Inventor পরিমাণগত ট্রেডিং টুলটি কীভাবে কনফিগার করতে হয় তা ধাপে ধাপে নির্দেশ করব। পরিমাণগত ট্রেডিংয়ের প্রথম দরজাটি খুলুন, যার মধ্যে রয়েছে: বিনিময় যোগ করা, কাস্টোডিয়ান যোগ করা, ট্রেডিং কৌশল তৈরি করা, পরিমাণগত রোবট তৈরি করা ইত্যাদি। মৌলিক কনফিগারেশন সম্পন্ন করার পর, আপনি আনুষ্ঠানিকভাবে আপনার প্রথম পরিমাণগত কৌশল লিখতে পারেন।
বাড়ির কাজ
১. পরিমাণগত ট্রেডিং টুলের দুটি প্রধান বিভাগ কী কী?
২. সাধারণত ব্যবহৃত পরিমাণগত প্রোগ্রামিং ভাষাগুলি কী কী?
২.২ ইনভেনটর কোয়ান্টিটেটিভ ট্রেডিং সিস্টেম কীভাবে কনফিগার করবেন
সারাংশ
পরিমাণগত ট্রেডিং কৌশল তৈরি করার সময়, প্রথমেই ট্রেডিং টুলগুলি কনফিগার করতে হবে। কনফিগারেশন কী? এটা আসলে শুধু সেটিংস। এই বিভাগে, আমরা আপনাকে একটি এক্সচেঞ্জ স্থাপন, একটি ট্রেডিং কৌশল তৈরি এবং একটি পরিমাণগত ট্রেডিং রোবট তৈরির বিষয়ে ব্যাখ্যা করব, যা পরিমাণগত ট্রেডিংয়ের জন্য প্রয়োজনীয় পূর্বশর্ত।
কনফিগারেশনটি এন্ট্রি-লেভেল লার্নিং সিমুলেশন ট্রেডিং কনফিগারেশন এবং রিয়েল-টাইম ট্রেডিং কনফিগারেশনে বিভক্ত। এই বিভাগে, আমরা মূলত দেশীয় পণ্য ফিউচারের উপর ফোকাস করি। নির্দিষ্ট দেশীয় অবস্থার কারণে অন্যান্য ধরণের পরিমাণগত বিনিয়োগ সুপারিশ করা হয় না বা চালু করা হয় না, তবে অপারেটিং প্রক্রিয়া একই, শুধুমাত্র কনফিগারেশন প্রক্রিয়া ভিন্ন।
এক্সচেঞ্জ যোগ করুন
সম্পূর্ণ কনফিগারেশন প্রক্রিয়ার প্রথম ধাপ হল একটি এক্সচেঞ্জ যোগ করা। নির্দিষ্ট প্রক্রিয়াটির জন্য নীচের চিত্রটি দেখুন। এই ধাপে, আমাদের জোর দিয়ে বলতে হবে যে যারা নিশ্চিত নন যে তারা কোন এক্সচেঞ্জের অন্তর্ভুক্ত, তাদের জন্য এক্সচেঞ্জ যোগ করা কঠিন নয়। প্রথমে শেখার অনুকরণ করার পরামর্শ দেওয়া হচ্ছে।

চিত্র ২-৪ FMZ পরিমাণগত ট্রেডিং প্ল্যাটফর্ম নিবন্ধন এবং বিনিময় যোগ করার ধাপগুলি
কমোডিটি ফিউচার এক্সচেঞ্জ (লাইভ) কনফিগারেশন
আমাদের রিয়েল-টাইম কোয়ান্টিটেটিভ ট্রেডিং মূলত দেশীয় ফিউচার ট্রেডিং পণ্যের উপর দৃষ্টি নিবদ্ধ করে। বর্তমানে, ইনভেন্টর কোয়ান্টিটেটিভের প্রধান পরিষেবা বস্তুগুলিও দেশীয় ফিউচার এক্সচেঞ্জ। যারা বৈদেশিক মুদ্রা করেন তাদের জন্য, ইনভেন্টর কোয়ান্টিটেটিভ একটি শেখার প্ল্যাটফর্ম হিসাবে ব্যবহার করা যেতে পারে, কারণ বৈদেশিক মুদ্রার পরিমাণগত ট্রেডিং ইতিমধ্যেই MT5 এর মতো প্ল্যাটফর্মে উপস্থিত হয়েছে, তবে এটি আরও পেশাদার।
রিয়েল-টাইম কনফিগারেশনে যে বিষয়গুলি লক্ষ্য করা প্রয়োজন তা হল: যেহেতু উদ্ভাবকের পরিমাণগত সরঞ্জামগুলি একাধিক ট্রেডিং বাজারকে সমর্থন করে, তাই পণ্য ফিউচার কনফিগার করার সময়, আপনাকে প্রথমে ধাপ ১-এ "ট্র্যাডিশনাল ফিউচার" নির্বাচন করতে হবে; ধাপ ২-এ, আপনি যে ফিউচার কোম্পানিতে অ্যাকাউন্ট খুলেছেন সেই ফিউচার অ্যাকাউন্ট এবং পাসওয়ার্ডটি পূরণ করতে হবে।
উদ্ভাবকের পরিমাণগত সরঞ্জামটি CTP প্রোটোকল গ্রহণ করে এবং সমস্ত দেশীয় ফিউচার কোম্পানিকে সমর্থন করে। আসল বাজার কনফিগার করার সময়, অ্যাকাউন্ট এবং পাসওয়ার্ড ভুল না হলে কোনও লিঙ্ক ব্যর্থতা হবে না। অতএব, নতুনদের অ্যাকাউন্ট এবং পাসওয়ার্ড স্পষ্টভাবে পরীক্ষা করার দিকে মনোযোগ দেওয়া উচিত।

চিত্র 2-5 FMZ পরিমাণগত ট্রেডিং প্ল্যাটফর্ম ফিউচার এক্সচেঞ্জ যোগ করে
কমোডিটি ফিউচার এক্সচেঞ্জ (সিমুলেশন) কনফিগারেশন
যারা কমোডিটি ফিউচারে নতুন, তাদের জন্য আমি পরামর্শ দিচ্ছি যে আপনি প্রথমে কিছু সময়ের জন্য ট্রেডিং সিমুলেট করুন, কারণ পরিমাণগত ট্রেডিং কৌশল তৈরির প্রক্রিয়ায়, ক্রমাগত পরীক্ষা, ডিবাগিং এবং অপ্টিমাইজেশন প্রয়োজন। ঠিক যেমন ড্রাইভিং, শুরুতে আপনাকে অবশ্যই কয়েক মাস ড্রাইভিং স্কুলে শেখার জন্য ব্যয় করতে হবে, এবং তারপর পরীক্ষায় উত্তীর্ণ হয়ে লাইসেন্স পাওয়ার পর আপনি রাস্তায় নামতে পারবেন।
এখানে আমরা SimNow সিমুলেটেড ট্রেডিং ব্যবহার করার পরামর্শ দিচ্ছি। SimNow হল একটি আর্থিক সিমুলেশন ট্রেডিং প্ল্যাটফর্ম যা বিশেষভাবে Shangqi Technology দ্বারা বিনিয়োগকারীদের জন্য তৈরি করা হয়েছে। এই পণ্যটি বিভিন্ন এক্সচেঞ্জের ট্রেডিং এবং সেটেলমেন্ট নিয়মগুলিকে সিমুলেট করে এবং বর্তমানে বিভিন্ন দেশীয় ফিউচার এক্সচেঞ্জের কমোডিটি ফিউচার ব্যবসাকে সমর্থন করে। নির্দিষ্ট প্রক্রিয়ার জন্য, অনুগ্রহ করে নীচের চিত্রটি দেখুন।

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

চিত্র ২-৭ নীতি তৈরির ধাপ
একটি পরিমাণগত ট্রেডিং রোবট তৈরি করা
একটি পরিমাণগত ট্রেডিং রোবট হল একটি ট্রেডিং কৌশলের নির্বাহক। কৌশল তৈরি হয়ে গেলে, এমন একটি রোবট তৈরি করুন যা আপনাকে কৌশল কোডের প্রতিটি ট্রেডিং লজিক, সেইসাথে পজিশন খোলা এবং বন্ধ করা, অর্ডার উত্তোলন এবং অন্যান্য ক্রয়-বিক্রয় কার্যক্রম স্বয়ংক্রিয়ভাবে সম্পাদন করতে সাহায্য করবে। একটি পরিমাণগত ট্রেডিং রোবট তৈরির নির্দিষ্ট ধাপগুলি নিম্নরূপ: প্রথমত, ধাপ ①: নিয়ন্ত্রণ কেন্দ্র পৃষ্ঠায়, "রোবট" এ ক্লিক করুন, "রোবট তৈরি করুন" এ ক্লিক করুন ধাপ ②: রোবটটিকে একটি কাস্টম নাম দিন। ধাপ ৩: একটি ট্রেডিং প্ল্যাটফর্ম যোগ করতে "+" চিহ্নে ক্লিক করুন। ধাপ ৪: "রোবট তৈরি করুন" এ ক্লিক করুন।

চিত্র ২-৮ রোবট তৈরির ধাপ
সারসংক্ষেপ
উপরের প্রক্রিয়ায়, বাস্তব ট্রেডিং এবং সিমুলেশন নির্বাচনের প্রথম ধাপ ব্যতীত, কৌশল লেখা এবং ট্রেডিং রোবট তৈরির পরবর্তী ধাপগুলি একীভূত ধাপ। সম্পূর্ণ পরিমাণগত টুলটি কনফিগার করা হয়েছে, ট্রেডিং রোবটটি ইতিমধ্যেই চলছে, এবং কৌশলের নির্দিষ্ট শর্ত অনুসারে ক্রয় এবং বিক্রয় কার্যক্রম সম্পাদন করবে। পরিমাণগত ট্রেডিং কনফিগার করার জন্য তিনটি ধাপ রয়েছে: একটি এক্সচেঞ্জ যোগ করুন এবং আপনার ফিউচার অ্যাকাউন্টের পাসওয়ার্ড পূরণ করুন; একটি ট্রেডিং কৌশল লিখুন; এবং একটি রিয়েল-টাইম পরিমাণগত ট্রেডিং রোবট তৈরি করুন। এটা কি সহজ নয়?
পরবর্তী বিভাগের পূর্বরূপ
যদিও মাত্র তিনটি সহজ ধাপে পরিমাণগত ট্রেডিং অর্জন করা সম্ভব, আপনি হয়তো দেখতে পাবেন যে বিনিময় যোগ করা এবং পরিমাণগত ট্রেডিং রোবট তৈরি করা সহজ। তবে, একটি কার্যকর ট্রেডিং কৌশল বাস্তবায়ন করা এত সহজ নয়। পরবর্তী বিভাগে, আমরা আপনাকে একটি সম্ভাব্য ট্রেডিং কৌশল লেখার জন্য প্রস্তুত করার জন্য পরিমাণগত ট্রেডিংয়ে সাধারণত ব্যবহৃত API গুলি শিখতে নিয়ে যাব। কারণ যে ধরণের পরিমাণগত ট্রেডিং টুল ব্যবহার করা হোক না কেন, এটি API ইন্টারফেস থেকে অবিচ্ছেদ্য, যা পরিমাণগত ট্রেডিং কৌশল বাস্তবায়নের জন্য একটি গুরুত্বপূর্ণ কাজ।
বাড়ির কাজ
১. একটি এক্সচেঞ্জ যোগ করার চেষ্টা করুন।
2. এই অংশে ট্রেডিং কৌশল লেখার চেষ্টা করুন।
২.৩ সাধারণ API ব্যাখ্যা
সারাংশ
প্রোগ্রামিংয়ের ক্ষেত্রে, আমরা API এড়িয়ে যেতে পারি না। অনেক নন-আইটি লোকের কাছে, API আসলে কী? API ≈ আমি বুঝতে পারছি না। এই বিভাগে, আমরা সহজ ভাষায় ব্যাখ্যা করব API কী এবং পরিমাণগত সরঞ্জামগুলিতে সাধারণত ব্যবহৃত API গুলি পরিচয় করিয়ে দেব।
API কী?
অনলাইনে অনুসন্ধান করলে আপনি নিম্নলিখিত ফলাফল পাবেন: API (অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস) হল পূর্বনির্ধারিত ফাংশনের একটি সেট যা অ্যাপ্লিকেশন এবং ডেভেলপারদের নির্দিষ্ট সফ্টওয়্যার বা হার্ডওয়্যারের উপর ভিত্তি করে রুটিনের একটি সেট অ্যাক্সেস করার ক্ষমতা প্রদান করে যার জন্য সোর্স কোড অ্যাক্সেস করতে হয় না বা অভ্যন্তরীণ কাজের প্রক্রিয়ার বিশদ বুঝতে হয় না। তাহলে, আরও সহজভাবে বলতে গেলে, API আসলে কী?
আসলে, আমাদের দৈনন্দিন জীবনে, API-এর মতো অনেক পরিস্থিতি দেখা যায়। উদাহরণস্বরূপ, যখন আপনি কোনও রেস্তোরাঁয় খেতে যান, তখন আপনাকে কেবল মেনুটি দেখে খাবার অর্ডার করতে হবে, খাবারটি কীভাবে তৈরি করা হয় তা না জেনেই। মেনুতে থাকা খাবারের নামগুলি হল নির্দিষ্ট API গুলি, এবং মেনু হল API ডকুমেন্টেশন।
পরিমাণগত ট্রেডিংয়ে API কী?
যদি আপনার বর্তমান পণ্যের প্রারম্ভিক মূল্য আজই পেতে হয়, তাহলে আপনাকে এটি কীভাবে পেতে হবে তা জানার দরকার নেই। আপনাকে শুধু কোড এডিটরে "OPEN" লিখতে হবে এবং সরাসরি এটি ব্যবহার করতে হবে। "OPEN" হল মাই ভাষায় খোলার মূল্যের API।
সাধারণত ব্যবহৃত মাই ভাষা API
মাই ল্যাঙ্গুয়েজ এপিআই ব্যাখ্যা করার আগে, আসুন সাধারণ কোড কাঠামো এবং এর কার্যকরী উপাদানগুলি একবার দেখে নেওয়া যাক। এটি আপনাকে এপিআই আরও ভালভাবে বুঝতে সাহায্য করবে। নীচের উদাহরণটি দেখুন:

চিত্র ২-৯ মাই ভাষার উদাহরণ
উপরের কোডে যেমন দেখানো হয়েছে:
বেগুনি AA হল একটি চলক। চলক হল এমন একটি রাশি যা পরিবর্তনশীল হতে পারে, ঠিক যেমন আমরা জুনিয়র হাই স্কুলে বীজগণিত শিখেছিলাম। যদি প্রারম্ভিক মূল্য AA-কে নির্ধারিত হয়, তাহলে AA হল প্রারম্ভিক মূল্য; যদি সর্বোচ্চ মূল্য AA-কে নির্ধারিত হয়, তাহলে AA হল সর্বোচ্চ মূল্য। অবশ্যই, AA কেবল একটি কাস্টম নাম, আপনি এটিকে BB হিসাবেও সংজ্ঞায়িত করতে পারেন।
সবুজ “:=” অর্থ অ্যাসাইনমেন্ট, যার অর্থ “:=” এর ডান দিকের মানটি বাম দিকের ভেরিয়েবলে বরাদ্দ করা।
কমলা কোডটি হল Inventor Quantitative Tool এর Mai ভাষার API। মনে রাখবেন যে প্রথম লাইনে OPEN হল ক্লোজিং প্রাইস পাওয়ার জন্য API, যা সরাসরি ব্যবহার করা যেতে পারে; দ্বিতীয় লাইনে MA হল মুভিং এভারেজ পাওয়ার জন্য API, যার জন্য দুটি প্যারামিটার পাস করতে হবে, অর্থাৎ, আপনাকে Inventor Quantitative Tool কে বলতে হবে যে আপনার কী ধরণের মুভিং এভারেজ প্রয়োজন: যদি আপনি খোলার মূল্যের উপর ভিত্তি করে গণনা করা 50-পিরিয়ড মুভিং এভারেজ পেতে চান, তাহলে আপনি এটি লিখতে পারেন: MA(OPEN,50); মনে রাখবেন যে দুটি প্যারামিটারের মধ্যে একটি ইংরেজি কমা রয়েছে।
হলুদ “//” একটি মন্তব্য প্রতীক, এবং এর পিছনে নীল চীনা অক্ষরগুলি হল মন্তব্যের বিষয়বস্তু। এগুলি আপনার নিজের পড়ার জন্য, এবং কোডের লাইনের অর্থ কী তা নির্দেশ করতে ব্যবহৃত হয়। প্রোগ্রামটি চলমান অবস্থায় মন্তব্য প্রক্রিয়া করে না। মনে রাখবেন যে মন্তব্য অক্ষরের আগে, কোডের প্রতিটি লাইনের শেষে একটি ইংরেজি সেমিকোলন থাকতে হবে।
কোড কাঠামোর প্রাথমিক ধারণার সাথে, আমরা নীচে আপনাকে কিছু সাধারণভাবে ব্যবহৃত ভাষার সাথে পরিচয় করিয়ে দেব, এবং ভবিষ্যতে আমরা এই ভাষাগুলি ঘন ঘন ব্যবহার করব।
খোলা——সর্বশেষ K-লাইনের খোলার মূল্য পান
উদাহরণ: AA: =OPEN; সর্বশেষ K-লাইনের খোলার মূল্য পান এবং ফলাফলটি AA-কে নির্ধারণ করুন।
উচ্চ——সর্বশেষ K-লাইনের সর্বোচ্চ দাম পান
উদাহরণ: AA: =HIGH; সর্বশেষ K-লাইনের সর্বোচ্চ মূল্য পান এবং ফলাফলটি AA-কে নির্ধারণ করুন।
কম——সর্বনিম্নতম কে-লাইনের দাম পান
উদাহরণ: AA: =LOW; সর্বশেষ K-লাইনের সর্বনিম্ন মূল্য পান এবং ফলাফলটি AA-কে নির্ধারণ করুন।
বন্ধ করুন——কে-লাইনের সর্বশেষ সমাপনী মূল্য পান। যখন ইন্ট্রাডে কে-লাইন শেষ না হয়, তখন সর্বশেষ মূল্য পান
উদাহরণ: AA: =CLOSE; সর্বশেষ K-লাইনের সমাপনী মূল্য পান এবং ফলাফলটি AA-কে নির্ধারণ করুন।
VOL——সর্বশেষ K-লাইন লেনদেনের পরিমাণ পান
উদাহরণ: AA: =VOL; সর্বশেষ K-লাইন লেনদেনের পরিমাণ পান এবং ফলাফলটি AA-কে বরাদ্দ করুন।
REF(X,N) - X N চক্রের আগের মান উল্লেখ করে।
উদাহরণ: REF(CLOSE,1); পূর্ববর্তী K-লাইনের খোলার মূল্য পান
MA(X,N)——N পিরিয়ডে X এর সরল চলমান গড় নির্ণয় করো
উদাহরণ: MA(CLOSE,10); //সর্বশেষ K-লাইনের 10-পিরিয়ড মুভিং এভারেজ পান
CROSSUP(A,B)——যখন A নিচ থেকে উপরে B কে অতিক্রম করে, তখন এটি 1 (হ্যাঁ) প্রদান করে, অন্যথায় এটি 0 (না) প্রদান করে
উদাহরণ: CROSSUP(CLOSE,MA(C,10)) // সমাপনী মূল্য ১০-পিরিয়ডের গড় মূল্য অতিক্রম করে
CROSSDOWN(A,B)——যখন A উপর থেকে B কে অতিক্রম করে, তখন এটি 1 (হ্যাঁ) প্রদান করে, অন্যথায় এটি 0 (না) প্রদান করে
উদাহরণ: CROSSDOWN(CLOSE,MA(C,10)) // সমাপনী মূল্য 10-পিরিয়ডের গড় মূল্যের নিচে চলে যায়
বিকে——ওপেনিং পজিশন কিনুন
উদাহরণ: CLOSE>MA(CLOSE,5),BK; //ক্লোজিং প্রাইস ৫-পিরিয়ড মুভিং এভারেজের চেয়ে বেশি, একটি পজিশন খোলার জন্য কিনুন
SP——বন্ধ পজিশনে বিক্রি করুন
উদাহরণ: CLOSE<MA(CLOSE,5),SP; // সমাপনী মূল্য ৫-পিরিয়ড মুভিং এভারেজের কম, পজিশনটি বিক্রি করুন এবং বন্ধ করুন
এসকে——ওপেনিং পজিশন বিক্রি করুন
উদাহরণ: CLOSE<MA(CLOSE,5),SK; // সমাপনী মূল্য ৫-পিরিয়ড মুভিং এভারেজের কম, বিক্রয় অবস্থান
বিপি——কিনুন বন্ধ করুন
উদাহরণ: CLOSE>MA(CLOSE,5),BP; //ক্লোজিং প্রাইস ৫-পিরিয়ড মুভিং এভারেজের চেয়ে বেশি, বাই এবং ক্লোজ পজিশন
BPK——কোনও পজিশন বন্ধ করার জন্য কিনুন, এবং একটি পজিশন খোলার জন্য কিনুন (বিপরীত দীর্ঘ)
উদাহরণ: CLOSE>MA(CLOSE,5),BPK; // সমাপনী মূল্য ৫-পিরিয়ড মুভিং এভারেজের চেয়ে বেশি, শর্ট পজিশন বন্ধ করুন এবং তারপর একটি নতুন পজিশন খোলার জন্য কিনুন।
SPK——একটি পজিশন বন্ধ করার জন্য বিক্রি করুন এবং একটি পজিশন খোলার জন্য বিক্রি করুন (সংক্ষিপ্ত বিক্রয়)
উদাহরণ: CLOSE<MA(CLOSE,5),SPK; // সমাপনী মূল্য ৫-পিরিয়ড মুভিং এভারেজের চেয়ে কম, লং পজিশন বন্ধ করুন এবং তারপর ওপেন পজিশন বিক্রি করুন।
বন্ধ করুন——পজিশন বৃদ্ধি এবং হ্রাস মডেলে ব্যবহারের জন্য প্রস্তাবিত সমস্ত অবস্থান বন্ধ করুন। উদাহরণ: বন্ধ করুন; সকল দিকের সকল অবস্থান বন্ধ করুন।
সাধারণত ব্যবহৃত জাভাস্ক্রিপ্ট ভাষার API গুলি
জাভাস্ক্রিপ্ট ল্যাঙ্গুয়েজ এপিআই ব্যাখ্যা করার আগে, আসুন সাধারণ কোড কাঠামো এবং এর কার্যকরী উপাদানগুলি একবার দেখে নেওয়া যাক। এটি আপনাকে এপিআই আরও ভালভাবে বুঝতে সাহায্য করবে। নীচের উদাহরণটি দেখুন:

চিত্র 2-10 জাভাস্ক্রিপ্ট কোড উদাহরণ
উপরের কোডে যেমন দেখানো হয়েছে:
জাভাস্ক্রিপ্ট ভাষায় একটি ভেরিয়েবল তৈরি করাকে প্রায়শই ভেরিয়েবলটিকে "ঘোষণা" বলা হয়। লাল কোডে, আমরা একটি ভেরিয়েবল ঘোষণা করতে var কীওয়ার্ড ব্যবহার করি এবং ভেরিয়েবলের নাম কমলা কোডে থাকে: “aa”।
জাভাস্ক্রিপ্টে, সমান চিহ্নটি মান নির্ধারণের জন্য ব্যবহৃত হয়, অর্থাৎ, "=" এর ডান দিকের মানটি বাম দিকের ভেরিয়েবলের সাথে নির্ধারিত হয়।
সায়ান কোড "এক্সচেঞ্জ" হল এক্সচেঞ্জ অবজেক্ট। এখানে এক্সচেঞ্জটি আপনার সেট করা ফিউচার কোম্পানিকে বোঝায়। এটি একটি স্থির ফর্ম্যাট, যার অর্থ হল যখন আপনি জাভাস্ক্রিপ্ট ল্যাঙ্গুয়েজ এপিআই কল করবেন, তখন আপনাকে এক্সচেঞ্জ অবজেক্টটি নির্দিষ্ট করতে হবে।
সবুজ কোডটি হল জাভাস্ক্রিপ্ট এপিআই। যখন আমরা এটি কল করি, তখন আমরা আসলে এক্সচেঞ্জ অবজেক্টে ফাংশনটি কল করছি। নীল কোডের পরে বিন্দুটি লক্ষ্য করুন, যা একটি নির্দিষ্ট বিন্যাসও। এখানে ফাংশনটি আমরা মাধ্যমিক বিদ্যালয়ে যে ফাংশনটি শিখেছিলাম তার মতোই। যদি ফাংশনটির জন্য প্যারামিটারের প্রয়োজন না হয়, তাহলে এটি নির্দেশ করার জন্য খালি বন্ধনী ব্যবহার করুন; যদি ফাংশনটিকে প্যারামিটারে পাস করতে হয়, তাহলে বন্ধনীর ভিতরে পরামিতিগুলি লিখুন।
উদাহরণের মাধ্যমে কোডের মৌলিক কাঠামো এবং নীতিগুলি বোঝার পর, আমরা আপনাকে বেশ কয়েকটি জাভাস্ক্রিপ্ট ভাষার API দেখাব যা আপনি ভবিষ্যতে প্রায়শই ব্যবহার করবেন।
SetContractType("পণ্য কোড")-—চুক্তির ধরণ নির্ধারণ করুন, অর্থাৎ, আপনি কোন পণ্যটি ট্রেড করতে চান
উদাহরণ: exchange.SetContractType("rb1905"); //লেনদেনের ধরণটি "Rebar 1905 Contract" এ সেট করুন।
GetTicker——টিক ডেটা পান
উদাহরণ: exchange.GetTicker(); //টিক ডেটা পান
GetRecords——K-লাইন ডেটা পান
উদাহরণ: exchange.GetRecords(); //K-লাইন ডেটা পান
কেনা
উদাহরণ: exchange.Buy(5000, 1); //5000 ইউয়ানে একটি লট কিনুন
বিক্রি——কিনুন
উদাহরণ: exchange.Sell(5000, 1); //একটি লট 5,000 ইউয়ানে বিক্রি করুন
GetAccount——অ্যাকাউন্টের তথ্য পান
উদাহরণ: exchange.GetAccount(); //অ্যাকাউন্টের তথ্য পান
GetPosition——অবস্থানের তথ্য পান
উদাহরণ: exchange.GetPosition(); //পজিশনের তথ্য পান
SetDirection——দীর্ঘ বা সংক্ষিপ্ত অর্ডারের ধরণ নির্ধারণ করুন
উদাহরণঃ
exchange.SetDirection("buy"); //দীর্ঘ পজিশন খোলার জন্য অর্ডারের ধরণ নির্ধারণ করুন
exchange.SetDirection("closebuy"); //দীর্ঘ পজিশন বন্ধ করার জন্য বিক্রির অর্ডারের ধরণ সেট করুন
exchange.SetDirection("sell"); //একটি সংক্ষিপ্ত অবস্থান খোলার জন্য বিক্রয়ের জন্য অর্ডারের ধরণ সেট করুন
exchange.SetDirection("closesell"); //শর্ট পজিশন বন্ধ করার জন্য ক্রয় করার অর্ডারের ধরণ সেট করুন
লগ - লগে একটি বার্তা আউটপুট করুন।
উদাহরণ: Log("hello, world"); // লগে "hello world" আউটপুট করুন
ঘুম - কিছু সময়ের জন্য প্রোগ্রামটি বিরতি দিন
উদাহরণ: Sleep(1000); //প্রোগ্রামটি 1 সেকেন্ডের জন্য থামান
তোমাদের কারো কারো মনে প্রশ্ন থাকতে পারে, উপরে এতগুলো API কিভাবে মনে রাখা যায়? আসলে, আপনাকে এই সব মুখস্থ করতে হবে না। ইনভেনটর কোয়ান্টের অফিসিয়াল ওয়েবসাইটে API ডকুমেন্টেশনের একটি বিস্তারিত সেট রয়েছে। ঠিক যেমন একটি অভিধান খোঁজার সময়, যখন আপনার প্রয়োজন হবে, তখনই এটি খুঁজে বের করুন। প্রথমবারের মতো আপনার পরিচিত কোড এবং অন্যান্য বিষয়বস্তু দেখে ভীত হবেন না। আমরা যা চাই তা হল এই ভাষাগুলির মাধ্যমে আমাদের নিজস্ব কৌশলগুলি সংগঠিত করা। দয়া করে মনে রাখবেন যে প্রযুক্তি কখনই পরিমাণ নির্ধারণের সীমা নয়। আপনার একটি ভাল কৌশল আছে কিনা তা হল পরিমাণগত বাজারে দীর্ঘমেয়াদীভাবে এগিয়ে যেতে পারবেন কিনা তার মূল চাবিকাঠি।
সারসংক্ষেপ
উপরে উল্লেখিত API গুলি হল পরিমাণগত ট্রেডিংয়ে সর্বাধিক ব্যবহৃত API গুলি, যার মধ্যে মূলত অন্তর্ভুক্ত রয়েছে: ডেটা প্রাপ্ত করা, ডেটা গণনা করা, ক্রয় এবং বিক্রয় অর্ডার দেওয়া, যা একটি সহজ পরিমাণগত ট্রেডিং কৌশল পরিচালনা করার জন্য যথেষ্ট। অবশ্যই, আপনি যদি আরও জটিল কৌশল লিখতে চান, তবে এটি পেতে আপনাকে ইনভেন্টর কোয়ান্টিটেটিভ টুলের অফিসিয়াল ওয়েবসাইটে যেতে হবে।
বাড়ির কাজ
১. মায়া ভাষায় একটি বিবৃতি লেখার চেষ্টা করুন যে ৫-পিরিয়ডের চলমান গড় ১০-পিরিয়ডের চলমান গড়কে অতিক্রম করে।
২. আপনার অ্যাকাউন্টের তথ্য পেতে জাভাস্ক্রিপ্টে GetAccount ব্যবহার করার চেষ্টা করুন, এবং Log ব্যবহার করে লগে প্রিন্ট করুন।
পরবর্তী বিভাগের পূর্বরূপ
প্রোগ্রামিং হলো লেগো ব্লক একত্রিত করার মতো, এপিআই হলো ব্লকের বিভিন্ন অংশের মতো, এবং প্রোগ্রামিং প্রক্রিয়া হলো বিভিন্ন লেগো অংশগুলোকে একত্রিত করে একটি সম্পূর্ণ খেলনা তৈরি করা। পরবর্তী বিভাগে, আমি আপনাকে একটি সম্পূর্ণ পরিমাণগত ট্রেডিং কৌশল তৈরি করতে মাই ল্যাঙ্গুয়েজ এপিআই ব্যবহার করতে শেখাবো।
২.৪ ইনভেনটর কোয়ান্টেটিভেটিভ সিস্টেমে কৌশল কীভাবে লিখবেন
সারাংশ
পূর্ববর্তী বিভাগগুলি অধ্যয়ন করার পর, আপনি এখন অবশেষে পরিমাণগত ট্রেডিং কৌশল লেখা শুরু করতে পারেন। ম্যানুয়াল ট্রেডিং থেকে পরিমাণগত ট্রেডিংয়ে যাওয়ার জন্য এটি আপনার জন্য সবচেয়ে গুরুত্বপূর্ণ পদক্ষেপ হবে। আসলে, এটা তেমন রহস্যময় নয়। কৌশল লেখা মানে আপনার ধারণাগুলিকে কোডে রূপান্তর করা। এই বিভাগটি শুরু থেকেই একটি পরিমাণগত ট্রেডিং কৌশল বাস্তবায়ন করবে এবং আপনাকে Inventor Quantitative System-এ কৌশলগুলি কীভাবে লিখতে হয় তা সম্পর্কে পরিচিত করবে।
প্রস্তুত করুন
প্রথমে, Inventor Quantitative Tool এর অফিসিয়াল ওয়েবসাইট খুলুন এবং "Strategy Library" এবং "New Strategy" এ ক্লিক করুন। উল্লেখ্য, কোড লেখা শুরু করার আগে, আপনাকে প্রোগ্রামিং ভাষার ড্রপ-ডাউন মেনুতে Mai ভাষা বা JavaScript ভাষা নির্বাচন করতে হবে। অবশ্যই, প্ল্যাটফর্মটি Python, C++ এবং ভিজ্যুয়াল ভাষাও সমর্থন করে।
কৌশলগত ধারণা
পূর্ববর্তী অধ্যায়ে, আমরা চলমান গড়ের মধ্য দিয়ে মূল্য নির্ধারণের জন্য একটি কৌশল প্রবর্তন করেছি। অর্থাৎ: যদি দাম গত ১০ দিনের গড় মূল্যের চেয়ে বেশি হয়, তাহলে কিনুন; যদি দাম গত ১০ দিনের গড় মূল্যের চেয়ে কম হয়, তাহলে বিক্রি করুন। তবে, যদিও দাম সরাসরি বাজারের অবস্থা প্রতিফলিত করতে পারে, তবুও অনেক ভুল অগ্রগতির সংকেত থাকবে; তাই আমাদের এই কৌশলটি আপগ্রেড এবং উন্নত করতে হবে।
প্রথমে, ট্রেন্ডের দিক নির্ধারণের জন্য একটি বৃহত্তর পিরিয়ড মুভিং এভারেজ নির্বাচন করুন, যা কমপক্ষে প্রায় অর্ধেক মিথ্যা ব্রেকথ্রু সিগন্যাল ফিল্টার করেছে। যদিও বৃহত্তর পিরিয়ড মুভিং এভারেজ ধীর, এটি আরও স্থিতিশীল হবে; তারপর, প্রবেশের সাফল্যের হার আরও বাড়ানোর জন্য, আরেকটি শর্ত যোগ করুন যে এই বৃহত্তর পিরিয়ড মুভিং এভারেজ কমপক্ষে ঊর্ধ্বমুখী; অবশেষে, একটি সম্পূর্ণ ট্রেডিং কৌশল তৈরি করতে মূল্য, স্বল্প-মেয়াদী মুভিং এভারেজ এবং দীর্ঘমেয়াদী মুভিং এভারেজের আপেক্ষিক অবস্থান সম্পর্ক ব্যবহার করুন।
কৌশল যুক্তি
উপরোক্ত কৌশলগত ধারণা এবং চিন্তাভাবনা দিয়ে, আমরা কৌশলগত যুক্তি তৈরি করার চেষ্টা করতে পারি। এখানে যুক্তি হল আপনাকে স্বর্গীয় গতিবিধির নিয়ম গণনা করতে বলা নয়; এটি এত জটিল নয়। এটি পূর্ববর্তী কৌশলগত ধারণাগুলিকে কথায় প্রকাশ করা ছাড়া আর কিছুই নয়।
লং পজিশন ওপেনিং: যদি কোন বর্তমান অবস্থান না থাকে, এবং সমাপনী মূল্য স্বল্পমেয়াদী চলমান গড়ের চেয়ে বেশি হয়, এবং সমাপনী মূল্য দীর্ঘমেয়াদী চলমান গড়ের চেয়ে বেশি হয়, এবং স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের চেয়ে বেশি হয়, এবং দীর্ঘমেয়াদী চলমান গড় ক্রমবর্ধমান হয়।
একটি সংক্ষিপ্ত অবস্থান খুলুন: যদি কোন বর্তমান অবস্থান না থাকে, এবং সমাপনী মূল্য স্বল্পমেয়াদী চলমান গড়ের চেয়ে কম হয়, এবং সমাপনী মূল্য দীর্ঘমেয়াদী চলমান গড়ের চেয়ে কম হয়, এবং স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের চেয়ে কম হয়, এবং দীর্ঘমেয়াদী চলমান গড় হ্রাস পাচ্ছে।
দীর্ঘ পজিশন ক্লোজিং: যদি আপনি বর্তমানে একটি দীর্ঘ অর্ডার ধরে থাকেন এবং সমাপনী মূল্য দীর্ঘমেয়াদী চলমান গড়ের চেয়ে কম হয়, অথবা স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের চেয়ে কম হয়, অথবা দীর্ঘমেয়াদী চলমান গড় হ্রাস পাচ্ছে।
শর্ট পজিশন ক্লোজিং: যদি আপনি বর্তমানে একটি স্বল্পমেয়াদী অর্ডার ধরে থাকেন, এবং সমাপনী মূল্য দীর্ঘমেয়াদী চলমান গড়ের চেয়ে বেশি হয়, অথবা স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের চেয়ে বেশি হয়, অথবা দীর্ঘমেয়াদী চলমান গড় ক্রমবর্ধমান হয়।
উপরেরটি সম্পূর্ণ পরিমাণগত ট্রেডিং কৌশলের যৌক্তিক অংশ। যদি আমরা কৌশল যুক্তির টেক্সট সংস্করণটিকে কোডে রূপান্তর করি, তাহলে এতে তিনটি ধাপ অন্তর্ভুক্ত থাকবে: বাজারের অবস্থা অর্জন, সূচক গণনা করা এবং ক্রয়-বিক্রয় অর্ডার দেওয়া।
ভাষা কৌশল
প্রথম ধাপ হল বাজারের তথ্য সংগ্রহ করা। এই পরিমাণগত ট্রেডিং কৌশলে, আমাদের শুধুমাত্র সমাপনী মূল্য সংগ্রহ করতে হবে। মাই ভাষায়, সমাপনী মূল্য সংগ্রহের API হল: CLOSE। অর্থাৎ, সর্বশেষ K-লাইনের সমাপনী মূল্য সংগ্রহ করতে আপনাকে কোডে শুধুমাত্র CLOSE লিখতে হবে।
তারপর আসে গণনার সূচক। এই পরিমাণগত ট্রেডিং কৌশলে, আমরা মোট দুটি প্রযুক্তি ব্যবহার করি, যথা: স্বল্পমেয়াদী চলমান গড় এবং দীর্ঘমেয়াদী চলমান গড়। আমরা ধরে নিই যে স্বল্পমেয়াদী চলমান গড় হল একটি 10-পিরিয়ড চলমান গড় এবং দীর্ঘমেয়াদী চলমান গড় হল একটি 50-পিরিয়ড চলমান গড়। তাহলে আমরা কীভাবে 10-পিরিয়ড চলমান গড় এবং 50-পিরিয়ড চলমান গড় উপস্থাপন করার জন্য কোড ব্যবহার করব? অনুগ্রহ করে নিচের চিত্রটি দেখুন:

চিত্র ২-১১ মাই ভাষা কৌশল কোড
ম্যানুয়াল ট্রেডিংয়ে, আমরা এক নজরে দেখতে পারি যে ৫০-পিরিয়ড মুভিং এভারেজ বাড়ছে নাকি কমছে, কিন্তু কোডে আমরা এটি কীভাবে প্রকাশ করব? ভালো করে ভাবুন, চলমান গড় বাড়ছে কিনা তা বিচার করার জন্য, বর্তমান K-লাইনের ৫০-পিরিয়ডের চলমান গড় মান কি পূর্ববর্তী K-লাইনের ৫০-পিরিয়ডের চলমান গড় মানের চেয়ে বেশি নয়, এবং পূর্ববর্তী K-লাইনের ৫০-পিরিয়ডের চলমান গড় মান পূর্ববর্তী K-লাইনের ৫০-পিরিয়ডের চলমান গড় মানের চেয়ে বেশি? বিপরীতটি সত্য, যার অর্থ চলমান গড় হ্রাস পাচ্ছে। তাই কোডে, এটি এরকম হওয়া উচিত:

চিত্র ২-১২ মাই ভাষার বিচার চলমান গড় কোড
উপরের চিত্রের ৮ এবং ৯ নম্বর লাইনে গোলাপি-লাল রঙের "AND" কোডটি লক্ষ্য করুন। মাই ভাষায় এর অর্থ "এবং"। উদাহরণস্বরূপ, ৯ম লাইনটি চীনা ভাষায় অনুবাদ করা হয়েছে এভাবে: যদি বর্তমান K-লাইনের ৫০-পিরিয়ড মুভিং এভারেজ পূর্ববর্তী K-লাইনের ৫০-পিরিয়ড মুভিং এভারেজের চেয়ে বেশি হয় এবং পূর্ববর্তী K-লাইনের ৫০-পিরিয়ড মুভিং এভারেজ পূর্ববর্তী K-লাইনের ৫০-পিরিয়ড মুভিং এভারেজের চেয়ে বেশি হয়, তাহলে মানটি "হ্যাঁ" হিসাবে গণনা করা হয়; অন্যথায়, মানটি "না" হিসাবে গণনা করা হয় এবং ফলাফলটি "MA50_ISUP" হিসাবে নির্ধারিত হয়।
শেষ ধাপ হল ক্রয় এবং বিক্রয় অর্ডার দেওয়া। ক্রয় এবং বিক্রয় কার্যক্রম সম্পাদন করার জন্য আপনাকে কেবল ক্রয় এবং বিক্রয় লজিক কোডের পরে উদ্ভাবকের পরিমাণগত সরঞ্জামের অর্ডার API কল করতে হবে। অনুগ্রহ করে নিচের চিত্রটি দেখুন:

চিত্র ২-১৩ মাই ভাষা ক্রয় এবং বিক্রয় লেনদেন কোড
উপরের ছবিতে ১৩ এবং ১৪ নম্বর লাইনে গোলাপি-লাল রঙের "OR" কোডটি লক্ষ্য করুন। মাই ভাষায় এর অর্থ "অথবা"। উদাহরণস্বরূপ, ১৩ নম্বর লাইনটি চীনা ভাষায় এভাবে অনুবাদ করা হয়েছে: যদি বর্তমান K-লাইনের সমাপনী মূল্য বর্তমান K-লাইনের ৫০-পিরিয়ড মুভিং এভারেজের চেয়ে কম হয়, অথবা বর্তমান K-লাইনের ১০-পিরিয়ড মুভিং এভারেজ বর্তমান K-লাইনের ৫০-পিরিয়ড মুভিং এভারেজের চেয়ে কম হয়, তাহলে মানটি "হ্যাঁ" হিসাবে গণনা করা হয় এবং অবিলম্বে একটি অর্ডার দেওয়া হয়; অন্যথায়, এটি "না" হিসাবে গণনা করা হয় এবং কিছুই করা হয় না।
দয়া করে মনে রাখবেন: "AND" এবং "OR" হল মাই ভাষায় লজিক্যাল অপারেটর:
"AND" এর অর্থ হল যখন সমস্ত শর্ত "হ্যাঁ" হবে, তখন চূড়ান্ত শর্তটি "হ্যাঁ" হবে;
"OR" বলতে বোঝায়, সকল শর্তের মধ্যে, যতক্ষণ পর্যন্ত যেকোনো একটি শর্ত "হ্যাঁ" থাকে, ততক্ষণ পর্যন্ত চূড়ান্ত শর্তটি "হ্যাঁ" হবে।
সারসংক্ষেপ
উপরে Inventor Quantitative Tool-এ মাই ভাষায় ট্রেডিং কৌশল লেখার সম্পূর্ণ প্রক্রিয়াটি দেওয়া হল। মোট মাত্র তিনটি ধাপ আছে: কৌশলগত ধারণা থাকা থেকে শুরু করে কৌশলটি ধারণা করা এবং শব্দে যুক্তি বর্ণনা করা এবং অবশেষে কোড সহ সম্পূর্ণ ট্রেডিং কৌশল বাস্তবায়ন করা। যদিও এটি একটি সহজ কৌশল, নির্দিষ্ট বাস্তবায়ন প্রক্রিয়াটি আরও জটিল কৌশলের মতোই, তবে কৌশলটির অ্যালগরিদম এবং ডেটা কাঠামো ভিন্ন। অতএব, যতক্ষণ পর্যন্ত আপনি এই বিভাগে পরিমাণগত কৌশল প্রক্রিয়াটি বোঝেন এবং আয়ত্ত করেন, ততক্ষণ পর্যন্ত আপনি প্রয়োজন অনুসারে আবিষ্কারকের পরিমাণগত সরঞ্জামগুলির উপর পরিমাণগত কৌশল গবেষণা এবং অনুশীলন পরিচালনা করতে মাই ভাষা ব্যবহার করতে পারেন।
বাড়ির কাজ
১. এই বিভাগের কৌশলগুলি নিজে বাস্তবায়ন করার চেষ্টা করুন।
2. এই বিভাগের কৌশলের উপর ভিত্তি করে, স্টপ-প্রফিট এবং স্টপ-লস ফাংশন যোগ করুন।
পরবর্তী বিভাগের পূর্বরূপ
পরিমাণগত ট্রেডিং কৌশল বিকাশে, প্রোগ্রামিং ভাষাগুলি অস্ত্র এবং সরঞ্জামের মতো। একটি ভাল প্রোগ্রামিং ভাষা আপনাকে অর্ধেক প্রচেষ্টায় দ্বিগুণ ফলাফল পেতে সাহায্য করতে পারে। উদাহরণস্বরূপ, পরিমাণগত ট্রেডিং শিল্পে এক ডজনেরও বেশি সর্বাধিক ব্যবহৃত ভাষা রয়েছে, যার মধ্যে রয়েছে পাইথন, সি++, জাভা, সি#, ইজিল্যাঙ্গুয়েজ, মাই ল্যাঙ্গুয়েজ ইত্যাদি। যুদ্ধক্ষেত্রে যাওয়ার জন্য আমার কোন অস্ত্র বেছে নেওয়া উচিত? পরবর্তী অংশে আমরা এই সাধারণ প্রোগ্রামিং ভাষাগুলি এবং প্রতিটি প্রোগ্রামিং ভাষার বৈশিষ্ট্যগুলি পরিচয় করিয়ে দেব।
অধ্যায় ৩ ট্রেডিং কৌশল বাস্তবায়নের জন্য সহজ প্রোগ্রামিং ভাষা
৩.১ পরিমাণগত ট্রেডিং প্রোগ্রামিং ভাষার অনুভূমিক মূল্যায়ন
সারাংশ
অধ্যায় ১ এবং অধ্যায় ২-এ, আমরা পরিমাণগত ট্রেডিংয়ের মূল বিষয়গুলি এবং উদ্ভাবকের পরিমাণগত সরঞ্জামগুলি কীভাবে ব্যবহার করতে হয় তা শিখেছি। এই অধ্যায়ে, আমরা ট্রেডিং কৌশলটি বিস্তারিতভাবে বাস্তবায়ন করব। তুমি যদি তোমার কাজ ভালোভাবে করতে চাও, তাহলে প্রথমে তোমার হাতিয়ারগুলো ধারালো করতে হবে। ট্রেডিং কৌশল বাস্তবায়নের জন্য, আপনাকে প্রথমে একটি প্রোগ্রামিং ভাষা আয়ত্ত করতে হবে। এই বিভাগটি প্রথমে পরিমাণগত ট্রেডিংয়ে মূলধারার প্রোগ্রামিং ভাষাগুলির পাশাপাশি প্রতিটি প্রোগ্রামিং ভাষার বৈশিষ্ট্যগুলি পরিচয় করিয়ে দেয়।
একটি প্রোগ্রামিং ভাষা কি?
প্রোগ্রামিং ভাষা শেখার আগে, আপনাকে প্রথমে "প্রোগ্রামিং ভাষা" ধারণাটি বুঝতে হবে। প্রোগ্রামিং ভাষা এমন একটি ভাষা যা মানুষ এবং কম্পিউটার উভয়ই বুঝতে পারে। এটি একটি প্রমিত যোগাযোগ কোড। প্রোগ্রামিং ভাষার উদ্দেশ্য হল কম্পিউটার নিয়ন্ত্রণ করতে এবং আমরা কী করতে চাই তা কম্পিউটারকে জানানোর জন্য মানুষের ভাষা ব্যবহার করা। কম্পিউটার প্রোগ্রামিং ভাষা অনুসারে নির্দেশাবলী কার্যকর করতে পারে এবং আমরা কম্পিউটারগুলিকে নির্দেশাবলী জারি করার জন্য কোডও লিখতে পারি।
ছোটবেলায় আমাদের বাবা-মা যেমন আমাদের কথা বলতে শিখিয়েছিলেন, ঠিক তেমনি অন্যদের কথা বুঝতেও শিখিয়েছিলেন। দীর্ঘ সময় ধরে প্রভাব বিস্তার এবং স্ব-অধ্যয়নের পর, আমরা অজান্তেই কথা বলতে শিখেছি এবং অন্যান্য শিশুরা কী বলছে তা বুঝতে পেরেছি। চীনা, ইংরেজি, ফরাসি ইত্যাদি সহ অনেক ভাষা আছে। উদাহরণস্বরূপ:
চীনা: হ্যালো ওয়ার্ল্ড
ইংরেজি: হ্যালো ওয়ার্ল্ড
ফরাসি: Bonjour tout le monde
যদি আপনি কম্পিউটার স্ক্রিনে "হ্যালো ওয়ার্ল্ড" প্রদর্শনের জন্য একটি প্রোগ্রামিং ভাষা ব্যবহার করেন, তাহলে এটি দেখতে এরকম হবে:
সি ভাষা: puts("হ্যালো ওয়ার্ল্ড");
জাভা ভাষা: System.out.println("হ্যালো ওয়ার্ল্ড");
পাইথন ভাষা: print("হ্যালো ওয়ার্ল্ড")
আমরা দেখতে পাচ্ছি যে কম্পিউটার ভাষার নিজস্ব নির্দিষ্ট নিয়ম আছে, এবং অনেক ভাষা আছে। এই ভাষার নিয়মগুলি হল প্রোগ্রামিং ভাষার শ্রেণীবিভাগ যা আজ আমাদের আপনাকে ব্যাখ্যা করতে হবে। প্রতিটি শ্রেণীবিভাগে, আমাদের কেবল সবচেয়ে মৌলিক এবং সাধারণভাবে ব্যবহৃত নিয়মগুলি মনে রাখতে হবে এবং আমরা কম্পিউটারের সাথে যোগাযোগ করার জন্য এই প্রোগ্রামিং ভাষাগুলি ব্যবহার করতে পারি এবং কম্পিউটারগুলিকে আমাদের নির্দেশাবলী অনুসারে সংশ্লিষ্ট কৌশলগুলি চালাতে দিতে পারি।
প্রোগ্রামিং ভাষার শ্রেণীবিভাগ
আপনার রেফারেন্স এবং তুলনা সহজতর করার জন্য এবং আপনার জন্য উপযুক্ত পরিমাণগত ট্রেডিং প্রোগ্রামিং ভাষা নির্বাচন করার জন্য, আমরা ছয়টি সর্বাধিক ব্যবহৃত প্রোগ্রামিং ভাষা শ্রেণীবদ্ধ করব, যথা পাইথন, ম্যাটল্যাব/আর, সি++, জাভা/সি#, ইজিল্যাঙ্গুয়েজ এবং ভিজ্যুয়াল ভাষা (নীচে দেখানো হয়েছে)।

চিত্র ৩-১ প্রোগ্রামিং ভাষা মূল্যায়ন
আমরা তাদের কার্যকারিতার পরিধি, চলমান গতি, স্কেলেবিলিটি এবং শেখার অসুবিধার উপর ভিত্তি করে তাদের রেটিং দিয়েছি। স্কোর ১ থেকে ৫ এর মধ্যে। উদাহরণস্বরূপ, কার্যকরী পরিসরের দিক থেকে ৫ স্কোর মানে ফাংশনটি শক্তিশালী, এবং ১ স্কোর মানে ফাংশনটি কম। (উপরে দেখানো হয়েছে) ভিজ্যুয়াল ভাষা এবং ইজি ল্যাঙ্গুয়েজ শেখা সহজ এবং নতুনদের জন্য খুবই উপযুক্ত; পাইথন শক্তিশালী এবং এর শক্তিশালী সম্প্রসারণ ক্ষমতা রয়েছে, যা এটিকে আরও জটিল ট্রেডিং কৌশল তৈরির জন্য উপযুক্ত করে তোলে; C++ এর দ্রুত ট্রেডিং গতি রয়েছে এবং উচ্চ-ফ্রিকোয়েন্সি ব্যবসায়ীদের জন্য আরও উপযুক্ত।
যাইহোক, প্রতিটি প্রোগ্রামিং ভাষার মূল্যায়ন মূলত পরিমাণগত ট্রেডিংয়ের ক্ষেত্রে এর প্রয়োগের লক্ষ্যে এবং এতে ব্যক্তিগত বিষয়গত উপাদান থাকে। মন্তব্য বিভাগে সমালোচনা করতে অথবা আলোচনার জন্য আপনার মতামত প্রকাশ করতেও আপনাকে স্বাগত। এরপর, আমরা একে একে এই প্রোগ্রামিং ভাষাগুলি চালু করব।
ভিজ্যুয়াল ভাষা
ভিজ্যুয়াল প্রোগ্রামিংয়ের একটি দীর্ঘ ইতিহাস রয়েছে এবং এটি নতুন নয়। "যা দেখছো, তাই পাচ্ছো" এই প্রোগ্রামিং ধারণাটি, বিভিন্ন নিয়ন্ত্রণ মডিউল দিয়ে সজ্জিত, কোড লজিক তৈরি করতে পারে এবং কেবল টেনে এনে ফেলে দিয়ে ট্রেডিং কৌশল নকশা সম্পূর্ণ করতে পারে। প্রক্রিয়াটি বিল্ডিং ব্লকের মতোই।

চিত্র ৩-২ ভিজ্যুয়াল প্রোগ্রামিং ভাষার ইন্টারফেস
উপরে দেখানো হয়েছে, ইনভেনটর কোয়ান্টিটেটিভ ট্রেডিং প্ল্যাটফর্মের ভিজ্যুয়াল প্রোগ্রামিংয়ে মাত্র কয়েকটি লাইন কোড দিয়ে একই প্রোগ্রামটি সম্পন্ন করা যেতে পারে। এটি প্রোগ্রামিংয়ের জন্য থ্রেশহোল্ডকে অনেকাংশে কমিয়ে দেয়, যা একটি দুর্দান্ত অপারেটিং অভিজ্ঞতা, বিশেষ করে যাদের প্রোগ্রামিং সম্পর্কে কোন জ্ঞান নেই তাদের জন্য।
যেহেতু এই ভিজ্যুয়াল ভাষার অন্তর্নিহিত বাস্তবায়ন কৌশলটি C++ তে রূপান্তরিত হয়েছে, তাই প্রোগ্রামটির চলমান গতির উপর এর খুব কম প্রভাব পড়ে। তবে, এর কার্যকারিতা এবং স্কেলেবিলিটি তুলনামূলকভাবে দুর্বল, এবং অত্যধিক জটিল বা পরিশীলিত ট্রেডিং কৌশল তৈরি করা সম্ভব নয়।
সহজ ভাষা
তথাকথিত ইজি ল্যাঙ্গুয়েজ বলতে এমন একটি প্রোগ্রামিং ভাষা বোঝায় যা কিছু বাণিজ্যিক পরিমাণগত ট্রেডিং সফ্টওয়্যারের জন্য অনন্য। যদিও এই ভাষাগুলিতে কিছু অবজেক্ট-ওরিয়েন্টেড বৈশিষ্ট্যও রয়েছে, তবে এগুলি মূলত তাদের অ্যাপ্লিকেশনগুলিতে স্ক্রিপ্ট করা হয়। বাক্য গঠনের দিক থেকে, এটি আমাদের প্রাকৃতিক ভাষার খুব কাছাকাছি। পরিমাণগত ট্রেডিং নতুনদের জন্য, EasyLanguage কে এন্ট্রি পয়েন্ট হিসেবে ব্যবহার করা একটি ভালো পছন্দ। উদাহরণস্বরূপ: উদ্ভাবকের পরিমাণগত ট্রেডিং প্ল্যাটফর্মে মাই ভাষা।
এই স্ক্রিপ্টিং ভাষার নির্দিষ্ট সফ্টওয়্যারে স্ট্র্যাটেজি ব্যাকটেস্টিং এবং রিয়েল ট্রেডিং করতে কোনও সমস্যা নেই, তবে এটি প্রায়শই স্কেলেবিলিটির দিক থেকে সীমিত। উদাহরণস্বরূপ, স্ট্র্যাটেজি ডেভেলপাররা বহিরাগত API কল করতে পারে না। তাছাড়া, চলমান গতির দিক থেকে, এই স্ক্রিপ্টিং ভাষাটি নিজস্ব ভার্চুয়াল মেশিনে চলে এবং এর কর্মক্ষমতা অপ্টিমাইজেশন জাভা/সি# এর মতো ভালো নয়, তাই এটি ধীর।
Python
স্ট্যাকওভারফ্লোতে, সাম্প্রতিক বছরগুলিতে মূলধারার প্রোগ্রামিং ভাষাগুলিতে ভিজিটের সংখ্যা মূলত অপরিবর্তিত রয়েছে, শুধুমাত্র পাইথন ঊর্ধ্বমুখী প্রবণতা দেখিয়েছে। পাইথন ওয়েবসাইট ডেভেলপমেন্ট, মেশিন লার্নিং, ডিপ লার্নিং, ডেটা বিশ্লেষণ ইত্যাদির জন্য ব্যবহার করা যেতে পারে। এর নমনীয়তা এবং উন্মুক্ততার কারণে, এটি সবচেয়ে সাধারণ ভাষা হয়ে উঠেছে। পরিমাণগত বিনিয়োগের ক্ষেত্রেও একই কথা প্রযোজ্য। বর্তমানে, বেশিরভাগ দেশীয় পরিমাণগত প্ল্যাটফর্ম পাইথনের উপর ভিত্তি করে তৈরি।
পাইথনের মৌলিক ডেটা স্ট্রাকচার, তালিকা এবং অভিধানগুলি খুবই শক্তিশালী এবং মূলত ডেটা উপস্থাপনের চাহিদা পূরণ করতে পারে। যদি আপনার একটি দ্রুত এবং আরও বিস্তৃত ডেটা স্ট্রাকচারের প্রয়োজন হয়, তাহলে NumPy এবং SciPy ব্যবহার করার পরামর্শ দেওয়া হচ্ছে। এই দুটি লাইব্রেরিকে মূলত পাইথন বৈজ্ঞানিক কম্পিউটিংয়ের জন্য স্ট্যান্ডার্ড লাইব্রেরি বলা হয়।
আর্থিক প্রকৌশলের জন্য, আরও লক্ষ্যবস্তু লাইব্রেরি হল পান্ডাস, যার দুটি ডেটা স্ট্রাকচার রয়েছে, সিরিজ এবং ডেটাফ্রেম, এবং সময় সিরিজ প্রক্রিয়াকরণের জন্য খুবই উপযুক্ত।
গতির দিক থেকে, পাইথন মাঝামাঝি, C++ এর চেয়ে ধীর এবং EasyLanguage এর চেয়ে দ্রুত, মূলত কারণ পাইথন একটি গতিশীল ভাষা এবং বিশুদ্ধ পাইথনে চলার সময় এর গতি গড়। তবে, আপনি C++ এর গতির সাথে মানানসই কিছু ফাংশন স্ট্যাটিক্যালি অপ্টিমাইজ করতে Cython ব্যবহার করতে পারেন।
গ্লু ল্যাঙ্গুয়েজ হিসেবে, এক্সপেনশন পারফরম্যান্সের দিক থেকে পাইথন নিঃসন্দেহে এক নম্বর। অন্যান্য ভাষার সাথে ব্যাপকভাবে সংযোগ স্থাপনের পাশাপাশি, এক্সপেনশন এপিআই ব্যবহার করা খুব সহজ করার জন্যও ডিজাইন করা হয়েছে। শেখার অসুবিধার দিক থেকে, পাইথনের সহজ বাক্য গঠন, অত্যন্ত পঠনযোগ্য কোড এবং শুরু করা সহজ।
Matlab/R
এরপর রয়েছে ম্যাটল্যাব এবং আর। এই দুটি ভাষা মূলত ডেটা বিশ্লেষণের জন্য ব্যবহৃত হয়। ভাষা লেখকরা বৈজ্ঞানিক ক্রিয়াকলাপের জন্য অনেক সিনট্যাকটিকাল নকশা তৈরি করেছেন। তাদের বৈশিষ্ট্য হল যে তারা স্বাভাবিকভাবেই পরিমাণগত ট্রেডিং ক্রিয়াকলাপ সমর্থন করে। তবে, এর প্রয়োগের পরিধি তুলনামূলকভাবে সীমিত, এবং এটি সাধারণত ডেটা বিশ্লেষণ এবং কৌশল ব্যাকটেস্টিংয়ের জন্য ব্যবহৃত হয়। ট্রেডিং সিস্টেম এবং কৌশল অ্যালগরিদম বিকাশের ক্ষেত্রে, এর ব্যবহারযোগ্যতা এবং স্থিতিশীলতা তুলনামূলকভাবে কম।
উপরন্তু, ম্যাটল্যাব এবং আর অনন্য ভাষার ভার্চুয়াল মেশিনে চলে বলে তাদের চলমান গতি এবং স্কেলেবিলিটি তুলনামূলকভাবে খারাপ। পারফরম্যান্সের দিক থেকে, তাদের ভার্চুয়াল মেশিনগুলি জাভা এবং সি# এর চেয়ে অনেক খারাপ। কিন্তু যেহেতু তাদের বাক্য গঠন গাণিতিক রাশির কাছাকাছি, তাই এগুলি শেখা তুলনামূলকভাবে সহজ।
C++
C++ হল একটি সাধারণ-উদ্দেশ্যমূলক প্রোগ্রামিং ভাষা যা একাধিক প্রোগ্রামিং মডেল সমর্থন করে, যেমন পদ্ধতিগত প্রোগ্রামিং, ডেটা বিমূর্ততা, অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং, জেনেরিক প্রোগ্রামিং এবং ডিজাইন প্যাটার্ন। আপনি যে সকল ফাংশন অর্জন করতে চান তা বাস্তবায়নের জন্য C++ ব্যবহার করতে পারেন, কিন্তু এত শক্তিশালী ভাষার সবচেয়ে বড় অসুবিধা হল এটি শেখা খুব কঠিন, যেমন টেমপ্লেট, পয়েন্টার, মেমোরি লিক ইত্যাদি।
বর্তমানে, বৃহৎ-ভলিউম, উচ্চ-ফ্রিকোয়েন্সি ট্রেডিংয়ের জন্য C++ এখনও পছন্দের প্রোগ্রামিং ভাষা। কারণটি সহজ। যেহেতু C++ ভাষার বৈশিষ্ট্যগুলি অন্তর্নিহিত কম্পিউটারের কাছে সহজে পৌঁছানো যায়, তাই এটি উচ্চ-কার্যক্ষমতাসম্পন্ন ব্যাকটেস্টিং এবং এক্সিকিউশন সিস্টেম তৈরির জন্য সবচেয়ে কার্যকর হাতিয়ার যা প্রচুর পরিমাণে ডেটা প্রক্রিয়াকরণ করে।
Java/C#
জাভা/সি# উভয়ই স্ট্যাটিক ভাষা যা ভার্চুয়াল মেশিনে চলে। সি++ এর তুলনায়, কোনও অ্যারে আউট-অফ-বাউন্ডস ত্রুটি নেই, কোনও কোরডাম্প নেই, থ্রোন্ড এক্সেপশনগুলি ত্রুটি কোডের অবস্থান সঠিকভাবে সনাক্ত করতে পারে, তাদের নিজস্ব স্বয়ংক্রিয় আবর্জনা সংগ্রহের প্রক্রিয়া রয়েছে, মেমরি লিক ইত্যাদি নিয়ে চিন্তা করার দরকার নেই। অতএব, বাক্য গঠন শেখার অসুবিধার দিক থেকে, এগুলি C++ এর চেয়েও সহজ। চলমান গতির দিক থেকে, যেহেতু তাদের সকল ভার্চুয়াল মেশিনের রানটাইম সংকলনের জন্য নিজস্ব JIT ফাংশন রয়েছে, তাই তাদের গতি C++ এর পরেই দ্বিতীয়।
তবে, কার্যকারিতার দিক থেকে, C++ এর মতো অন্তর্নিহিত ট্রেডিং সিস্টেমকে অপ্টিমাইজ করা সম্ভব নয়। সম্প্রসারণ কর্মক্ষমতার দিক থেকে, এটি C++ এর তুলনায় দুর্বল কারণ তাদের সম্প্রসারণকে C এর সেতুর মধ্য দিয়ে যেতে হয়, এবং এই দুটি ভাষা নিজেই ভার্চুয়াল মেশিনে চলে, তাই কার্যকরী মডিউলগুলি সম্প্রসারণ করার সময়, এটি অর্জনের জন্য প্রাচীরের একটি অতিরিক্ত স্তর অতিক্রম করতে হয়।
সারসংক্ষেপ
কিন্তু আবারও বলছি, পরিমাণগত প্রোগ্রামিং ভাষা গুরুত্বপূর্ণ নয়, গুরুত্বপূর্ণ হলো ধারণা। পরিমাণগত প্রবেশের ধাপ হিসেবে উদ্ভাবকের পরিমাণগত মাই ভাষা এবং ভিজ্যুয়ালাইজেশন ভাষা ব্যবহার করা একেবারেই কোনও সমস্যা নয়। প্রবেশের পরে উন্নতি করার জন্য, আপনাকে ক্রমাগত বিভিন্ন বাজারের অবস্থার সাথে সমন্বয় করে অন্বেষণ করার চেষ্টা করতে হবে। এটা বলা যেতে পারে যে ধারণাগুলি বেরিয়ে আসার পথ নির্ধারণ করে এবং দৃষ্টিভঙ্গি অঞ্চল নির্ধারণ করে।
"আপনার কৌশল ডিজাইন করুন, আপনার ধারণাগুলি বাণিজ্য করুন।" এই দৃষ্টিকোণ থেকে, পরিমাণগত ট্রেডিংয়ের মূল বিষয় হল ধারণাগুলি বাণিজ্য করা। একজন পরিমাণগত ব্যবসায়ী হিসেবে, আপনাকে কেবল কৌশল লেখার প্ল্যাটফর্মের মৌলিক বাক্য গঠন এবং কার্যকারিতা আয়ত্ত করতে হবে না, বরং প্রকৃত যুদ্ধে ট্রেডিং ধারণাগুলিও অভিজ্ঞতা অর্জন করতে হবে। পরিমাণ নির্ধারণ বিভিন্ন ট্রেডিং ধারণা প্রতিফলিত করার একটি হাতিয়ার এবং বাহক মাত্র।
বাড়ির কাজ
১. পরিমাণগত ট্রেডিংয়ের জন্য পাইথন ভাষার সুবিধা কী কী?
২. উদ্ভাবকের মাই ভাষা ব্যবহার করে কিছু সাধারণভাবে ব্যবহৃত API লেখার চেষ্টা করবেন?
পরবর্তী বিভাগের পূর্বরূপ
আমি বিশ্বাস করি যে প্রোগ্রামিং ভাষার উপরোক্ত ভূমিকার মাধ্যমে, আপনাকে অবশ্যই জানতে হবে কিভাবে নির্বাচন করতে হয়। পরবর্তী কয়েকটি অধ্যায়ে, আমরা প্রোগ্রামিং ভাষার শ্রেণীবিভাগ অনুসারে লক্ষ্যবস্তুতে পরিমাণগত ট্রেডিং কৌশল বিকাশ শিখব।
৩.২ মাই ভাষা সম্পর্কে দ্রুত শুরু করার নির্দেশিকা
সারাংশ
মাই ভাষা কী? তথাকথিত মাই ভাষা হল প্রোগ্রাম করা ফাংশন লাইব্রেরির একটি সেট যা প্রাথমিক স্টক প্রযুক্তিগত সূচক থেকে প্রসারিত। অ্যালগরিদমগুলি ফাংশনগুলিতে আবদ্ধ থাকে এবং ব্যবহারকারীদের কৌশলগত যুক্তি বাস্তবায়নের জন্য বিল্ডিং ব্লকগুলির সাথে খেলার মতো কেবল লাইন বাই লাইন ফাংশন কল করতে হয়।
এটি "ছোট বাক্য গঠন, বৃহৎ ফাংশন" এর নির্মাণ মোড গ্রহণ করে, যা লেখার দক্ষতাকে ব্যাপকভাবে উন্নত করে। যেসব কৌশলের জন্য অন্যান্য ভাষায় ১০০ টিরও বেশি বাক্যের প্রয়োজন হয়, সেগুলো সাধারণত মাই ভাষায় মাত্র এক ডজন বাক্যে লেখা যায়। উদ্ভাবকের পরিমাণগত সরঞ্জামগুলির আর্থিক পরিসংখ্যানগত ফাংশন লাইব্রেরি এবং ডেটা কাঠামোর সাথে একত্রে, এটি কিছু জটিল ট্রেডিং যুক্তিকেও সমর্থন করতে পারে।
সম্পূর্ণ কৌশল
এই বিভাগের মূল জ্ঞান দ্রুত বুঝতে সাহায্য করার জন্য, Inventor Quantitative Microwave Language Quick Start চালু করার আগে, আপনার প্রথমে এই বিভাগের ধারণাগুলি সম্পর্কে প্রাথমিক ধারণা থাকা উচিত। আমরা এখনও দীর্ঘমেয়াদী ৫০ দিনের চলমান গড় এবং স্বল্পমেয়াদী ১০ দিনের চলমান গড়কে মৌলিক ক্ষেত্রে ব্যবহার করি এবং পূর্ববর্তী অধ্যায়ে উল্লিখিত সম্পূর্ণ কৌশলগত ক্ষেত্রে পর্যালোচনা করি:
লং পজিশন ওপেনিং: যদি কোন বর্তমান অবস্থান না থাকে, এবং সমাপনী মূল্য স্বল্পমেয়াদী চলমান গড়ের চেয়ে বেশি হয়, এবং সমাপনী মূল্য দীর্ঘমেয়াদী চলমান গড়ের চেয়ে বেশি হয়, এবং স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের চেয়ে বেশি হয়, এবং দীর্ঘমেয়াদী চলমান গড় ক্রমবর্ধমান হয়।
একটি সংক্ষিপ্ত অবস্থান খুলুন: যদি কোন বর্তমান অবস্থান না থাকে, এবং সমাপনী মূল্য স্বল্পমেয়াদী চলমান গড়ের চেয়ে কম হয়, এবং সমাপনী মূল্য দীর্ঘমেয়াদী চলমান গড়ের চেয়ে কম হয়, এবং স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের চেয়ে কম হয়, এবং দীর্ঘমেয়াদী চলমান গড় হ্রাস পাচ্ছে।
দীর্ঘ পজিশন ক্লোজিং: যদি আপনি বর্তমানে একটি দীর্ঘ অর্ডার ধরে থাকেন এবং সমাপনী মূল্য দীর্ঘমেয়াদী চলমান গড়ের চেয়ে কম হয়, অথবা স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের চেয়ে কম হয়, অথবা দীর্ঘমেয়াদী চলমান গড় হ্রাস পাচ্ছে।
শর্ট পজিশন ক্লোজিং: যদি আপনি বর্তমানে একটি স্বল্পমেয়াদী অর্ডার ধরে থাকেন, এবং সমাপনী মূল্য দীর্ঘমেয়াদী চলমান গড়ের চেয়ে বেশি হয়, অথবা স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের চেয়ে বেশি হয়, অথবা দীর্ঘমেয়াদী চলমান গড় ক্রমবর্ধমান হয়।
যদি এটি মাই ভাষার কোডে লেখা হয়, তাহলে এটি দেখতে এরকম দেখাবে:

চিত্র ৩-৩ মাই ভাষার সম্পূর্ণ উদাহরণ
একটি সম্পূর্ণ পরিমাণগত ট্রেডিং কৌশল লেখার জন্য সাধারণত বেশ কয়েকটি ধাপের প্রয়োজন হয়: ডেটা অর্জন, ডেটা গণনা, যৌক্তিক গণনা, অর্ডার প্লেসমেন্ট ইত্যাদি। উপরের চিত্রে যেমন দেখানো হয়েছে, পুরো কোডে, মৌলিক তথ্য সংগ্রহের জন্য শুধুমাত্র একটি API ব্যবহার করা হয়েছে, যা প্রথম এবং দ্বিতীয় লাইনে "CLOSE"; তারপর প্রথম থেকে নবম লাইন হল ডেটা গণনার অংশ; এবং অবশেষে একাদশ থেকে চৌদ্দতম লাইন হল লজিক গণনা এবং ক্রম স্থাপনের অংশ।
অনুগ্রহ করে মনে রাখবেন যে বেগুনি কোডটি একটি চলক; প্রথম থেকে নবম লাইনে, সবুজ ":=" হল একটি অ্যাসাইনমেন্ট অপারেটর, এবং অ্যাসাইনমেন্ট অপারেটরের ডান পাশের ডেটা গণনার পরে বাম পাশের ভেরিয়েবলে বরাদ্দ করা হয়; কমলা কোডটি হল API, উদাহরণস্বরূপ, প্রথম লাইনে, MA (মুভিং এভারেজ) কল করার জন্য দুটি প্যারামিটারে পাস করতে হয়, যা সেটিংস হিসাবে বোঝা যায়, অর্থাৎ, MA কল করার সময়, আপনাকে MA এর ধরণ সেট করতে হবে; গোলাপী-লাল "AND" এবং "OR" হল লজিক্যাল অপারেটর, যা মূলত একাধিক লজিক্যাল গণনা সংযোগ করতে ব্যবহৃত হয়, ইত্যাদি। উপরের মৌলিক জ্ঞানের ধারণাগুলি অনুসরণ করে, আসুন মাই ভাষার বিস্তারিত মৌলিক বিষয়গুলি শেখা শুরু করি।
মৌলিক তথ্য
মৌলিক তথ্য (খোলার মূল্য, সর্বোচ্চ মূল্য, সর্বনিম্ন মূল্য, সমাপনী মূল্য, ট্রেডিং ভলিউম) পরিমাণগত ট্রেডিংয়ের একটি অপরিহার্য অংশ। কৌশলের সর্বশেষ মৌলিক তথ্য পেতে, আপনাকে কেবল উদ্ভাবকের পরিমাণগত সরঞ্জামের API কল করতে হবে। যদি আপনি ঐতিহাসিক মৌলিক তথ্য পেতে চান, তাহলে আপনি "REF" ব্যবহার করতে পারেন, যেমন: গতকালের সমাপনী মূল্য পেতে REF (CLOSE, 1) ব্যবহার করা হয়।
পরিবর্তনশীল
একটি চলক হল এমন একটি সংখ্যা যা পরিবর্তন করা যায়। একটি চলকের নামকে একটি কোড হিসাবে বোঝা যায়। এর নামকরণ চীনা অক্ষর, অক্ষর, সংখ্যা এবং ড্যাশ সমর্থন করে, তবে দৈর্ঘ্য 31 অক্ষরের মধ্যে নিয়ন্ত্রণ করতে হবে। ভেরিয়েবলের নামগুলি একে অপরের সাথে পুনরাবৃত্তি করা যাবে না, প্যারামিটারের নাম, অথবা ফাংশনের নাম (API), এবং প্রতিটি বিবৃতি একটি সেমিকোলন দিয়ে শেষ হওয়া উচিত। লেখার পর যদি আপনি নিজের ভাষার মন্তব্য যোগ করতে চান, তাহলে শেষে “//” ব্যবহার করুন। এটি অর্ধ-প্রস্থ ইনপুট পদ্ধতির বড় হাতের মোডে লিখতে হবে। নিচের চিত্রে দেখানো হয়েছে:

চিত্র ৩-৪ মাই ভাষার ডেটা টাইপ
পরিবর্তনশীল অ্যাসাইনমেন্ট
ভ্যারিয়েবল অ্যাসাইনমেন্ট হল অ্যাসাইনমেন্ট অপারেটরের ডান দিকের মান বাম দিকের ভ্যারিয়েবলের সাথে নির্ধারণ করা। ৪ ধরণের অ্যাসাইনমেন্ট অপারেটর রয়েছে, যারা চার্টে মানটি প্রদর্শিত হচ্ছে কিনা তা নিয়ন্ত্রণ করতে পারে এবং প্রদর্শনের অবস্থান নির্ধারণ করতে পারে। নিচের চিত্রে সবুজ ফন্টগুলি হল অ্যাসাইনমেন্ট অপারেটর, যথা “:”, “:=”, “^^”, এবং “..”। চিত্রে কোড মন্তব্যগুলি তাদের অর্থ বিস্তারিতভাবে ব্যাখ্যা করে।

চিত্র ৩-৫ মাই ভাষা পরিবর্তনশীল অ্যাসাইনমেন্ট
ডাটা টাইপ
মাই ভাষায়, অনেক ডেটা টাইপ আছে, যার মধ্যে সবচেয়ে বেশি ব্যবহৃত হয় সংখ্যাসূচক টাইপ, স্ট্রিং টাইপ এবং বুলিয়ান টাইপ। সংখ্যাসূচক ধরণ হল সংখ্যা, যার মধ্যে পূর্ণসংখ্যা, দশমিক, ধনাত্মক এবং ঋণাত্মক সংখ্যা ইত্যাদি অন্তর্ভুক্ত, যেমন: 1, 2, 3, 1.1234, 2.23456...; স্ট্রিং ধরণগুলিকে টেক্সট, চাইনিজ, ইংরেজি হিসাবে বোঝা যায় এবং সংখ্যাগুলি সমস্ত স্ট্রিং হতে পারে, যেমন: 'ইনভেন্টর কোয়ান্টিফিকেশন', 'CLOSEPRICE', '6000', এবং স্ট্রিং ধরণগুলিকে ইংরেজি সেমিকোলনে আবৃত করতে হবে; বুলিয়ান ধরণ হল সবচেয়ে সহজ, এর মাত্র দুটি মান আছে "হ্যাঁ" এবং "না", যেমন: 1 "হ্যাঁ" এর জন্য সত্যকে প্রতিনিধিত্ব করে, এবং 0 "না" এর জন্য মিথ্যাকে প্রতিনিধিত্ব করে।
রিলেশনাল অপারেটর
রিলেশনাল অপারেটর, যেমন নাম থেকেই বোঝা যায়, দুটি মানের মধ্যে সম্পর্ক তুলনা করার জন্য ব্যবহৃত অপারেটর। এগুলি সমান, এর চেয়ে বড়, এর চেয়ে কম, এর চেয়ে বড় বা সমান, এর চেয়ে কম বা সমান, এবং এর সমান নয়, যেমনটি নীচে দেখানো হয়েছে:

চিত্র ৩-৬ মাই ভাষা অপারেটর
লজিক্যাল অপারেটর
লজিক্যাল অপারেশনগুলি পৃথক বুলিয়ান স্টেটমেন্টগুলিকে একটি সম্পূর্ণতে সংযুক্ত করতে পারে। সর্বাধিক ব্যবহৃত স্টেটমেন্টগুলি হল "AND" এবং "OR"। ধরুন দুটি বুলিয়ান ধরণের মান আছে, যথা "ক্লোজিং প্রাইস ওপেনিং প্রাইসের চেয়ে বেশি" এবং "ক্লোজিং প্রাইস মুভিং এভারেজের চেয়ে বেশি", আমরা এগুলিকে একটি বুলিয়ান মানে একত্রিত করতে পারি, যেমন: "ক্লোজিং প্রাইস ওপেনিং প্রাইসের চেয়ে বেশি এবং (এবং) ক্লোজিং প্রাইস মুভিং এভারেজের চেয়ে বেশি", "ক্লোজিং প্রাইস ওপেনিং প্রাইসের চেয়ে বেশি অথবা (OR) ক্লোজিং প্রাইস মুভিং এভারেজের চেয়ে বেশি"।

চিত্র ৩-৭ মাই ভাষার যৌক্তিক ক্রিয়া
সকলের দৃষ্টি আকর্ষণ করছি:
"AND" এর অর্থ হল যখন সমস্ত শর্ত "হ্যাঁ" হবে, তখন চূড়ান্ত শর্তটি "হ্যাঁ" হবে;
"OR" বলতে বোঝায়, সকল শর্তের মধ্যে, যতক্ষণ পর্যন্ত যেকোনো একটি শর্ত "হ্যাঁ" থাকে, ততক্ষণ পর্যন্ত চূড়ান্ত শর্তটি "হ্যাঁ" হবে।
“AND” কে “&&” এবং “OR” কে “||” হিসেবে লেখা যেতে পারে।
অ্যালগরিদম অপারেটর
মাই ভাষায় সাধারণত ব্যবহৃত গাণিতিক অপারেটর ("+", "-",*”, “/”) প্রাথমিক বিদ্যালয়ে শেখা গণিত থেকে আলাদা নয়, যেমনটি নীচে দেখানো হয়েছে:

চিত্র ৩-৮ মাই ভাষায় পাটিগণিতের ক্রিয়াকলাপ
অগ্রাধিকার
যদি ১০০ থাকে*(10-1)/(10+5) রাশির জন্য, প্রোগ্রামটি প্রথমে কোন ধাপ গণনা করে? মাধ্যমিক বিদ্যালয়ের গণিত আমাদের বলে: ① যদি এটি একই স্তরের একটি ক্রিয়াকলাপ হয়, তবে এটি সাধারণত বাম থেকে ডানে গণনা করা হয়। ② যদি যোগ এবং বিয়োগ উভয়ই থাকে, পাশাপাশি গুণ এবং ভাগও থাকে, তাহলে প্রথমে গুণ এবং ভাগ গণনা করুন, তারপর যোগ এবং বিয়োগ। ③যদি বন্ধনী থাকে, তাহলে প্রথমে বন্ধনীর বিষয়বস্তু গণনা করুন। ④ যদি এটি অপারেশন আইনের সাথে সঙ্গতিপূর্ণ হয়, তাহলে গণনা সহজ করার জন্য অপারেশন আইন ব্যবহার করা যেতে পারে। মাই ভাষার অগ্রাধিকার নীচে দেখানো হয়েছে এমনই:

চিত্র ৩-৯ মাই ভাষায় গাণিতিক ক্রিয়াকলাপের অগ্রাধিকার
কার্যকর মোড
উদ্ভাবকের পরিমাণগত হাতিয়ারের মাই ভাষায়, প্রোগ্রাম কৌশল বাস্তবায়নের জন্য দুটি পদ্ধতি রয়েছে, যথা: সমাপনী মূল্য মোড এবং রিয়েল-টাইম মূল্য মোড। ক্লোজিং প্রাইস মোডের অর্থ হল বর্তমান কে-লাইন সিগন্যাল প্রতিষ্ঠিত হয়েছে, এবং পরবর্তী কে-লাইন শুরু হওয়ার সাথে সাথেই অর্ডার লেনদেন কার্যকর করা হবে। রিয়েল-টাইম প্রাইস মোডের অর্থ হল বর্তমান কে-লাইন সিগন্যাল প্রতিষ্ঠিত হয়ে গেলে, অর্ডার লেনদেন অবিলম্বে কার্যকর করা হবে।
ইন্ট্রাডে কৌশল
যদি এটি একটি ইন্ট্রাডে কৌশল হয়, তাহলে ট্রেডিং দিনের শেষে যখন আপনার পজিশনটি বন্ধ করার প্রয়োজন হয়, তখন আপনাকে "TIME" টাইম ফাংশনটি ব্যবহার করতে হবে। এই ফাংশনটি চার-অঙ্কের আকারে প্রদর্শিত হয় যখন এটি দ্বিতীয় পিরিয়ডের উপরে এবং দিনের পিরিয়ডের নীচে থাকে, যথা: HHMM (1450-14:50)। দ্রষ্টব্য: ট্রেডিং শেষে কোনও পজিশন বন্ধ করার শর্ত হিসেবে TIME ফাংশন ব্যবহার করার সময়, খোলার শর্তেরও একটি সংশ্লিষ্ট সময়সীমা থাকা বাঞ্ছনীয়। নিচে দেখানো হয়েছে:

চিত্র 3-10 মাইক্রোফোনের ভাষা সময় ফাংশন
মডেল শ্রেণীবিভাগ

চিত্র ৩-১১ মাই ভাষার মডেলের শ্রেণীবিভাগ
মাই ভাষায় মডেল শ্রেণীবিভাগ দুই ধরণের, যথা: নন-ফিল্টারিং মডেল এবং ফিল্টারিং মডেল। এটি আসলে বোঝা খুব সহজ: নন-ফিল্টারিং মডেলটি ক্রমাগত খোলা বা বন্ধ করার সংকেতগুলিকে অনুমতি দেয়, যা অবস্থান যোগ এবং হ্রাস করার ফাংশনগুলি উপলব্ধি করতে পারে। ফিল্টারিং মডেলটি ক্রমাগত খোলা বা বন্ধ করার সংকেত অনুমোদন করে না। অর্থাৎ, যখন একটি খোলার সংকেত প্রদর্শিত হয়, তখন পরবর্তী খোলার সংকেতগুলি ফিল্টার করা হবে যতক্ষণ না একটি বন্ধের সংকেত প্রদর্শিত হয়। নন-ফিল্টারিং মডেলে সংকেতের ক্রম হল: খোলা-বন্ধ-খোলা-বন্ধ-খোলা.....
সারসংক্ষেপ
উপরে মাই ভাষার সংক্ষিপ্ত ভূমিকা দেওয়া হল। এটি শেখার পর, আপনি পরিমাণগত ট্রেডিং কৌশল প্রোগ্রাম করতে পারেন। যদি আপনার আরও জটিল কৌশল লেখার প্রয়োজন হয়, তাহলে আপনি Inventor Quantitative Tool Mai Language API ডকুমেন্টেশন দেখতে পারেন, অথবা আপনার জন্য পরিমাণগত ট্রেডিং কৌশল লেখার জন্য সরাসরি অফিসিয়াল গ্রাহক পরিষেবার সাথে পরামর্শ করতে পারেন।
পরবর্তী বিভাগের পূর্বরূপ
ডে ট্রেডিংও একটি ট্রেডিং মডেল। এই পদ্ধতিতে রাতারাতি পজিশন ধরে রাখা হয় না, তাই বাজারের অস্থিরতার ঝুঁকি কম থাকে। প্রতিকূল বাজার পরিস্থিতি দেখা দিলে, সময়মতো সমন্বয় করা যেতে পারে। এই বিভাগে মাই ভাষার ভূমিকা শেখার পর, পরবর্তী বিভাগে আমরা আপনাকে দেখাবো কিভাবে একটি সম্ভাব্য ইন্ট্রাডে পরিমাণগত ট্রেডিং কৌশল লিখতে হয়।
বাড়ির কাজ
১. মৌলিক তথ্য সংগ্রহের জন্য মাই ভাষায় একটি API লেখার জন্য Inventor Quantitative Tool ব্যবহার করার চেষ্টা করুন।
২. চার্টে ভেরিয়েবল অ্যাসাইনমেন্ট প্রদর্শনের উপায়গুলি কী কী?
৩.৩ মাই ভাষায় কৌশল কীভাবে বাস্তবায়ন করবেন
সারাংশ
পূর্ববর্তী প্রবন্ধে, আমরা মাই ভাষা ভূমিকা, মৌলিক বাক্য গঠন, মডেল কার্যকরকরণ পদ্ধতি, মডেল শ্রেণীবিভাগ ইত্যাদি দিক থেকে ট্রেডিং কৌশল বাস্তবায়নের ভিত্তি ব্যাখ্যা করেছি। এই প্রবন্ধে, আমরা পূর্ববর্তী প্রবন্ধের বিষয়বস্তু চালিয়ে যাব এবং সাধারণভাবে ব্যবহৃত কৌশল মডিউল এবং প্রযুক্তিগত সূচকগুলি থেকে ধাপে ধাপে একটি সম্ভাব্য ইন্ট্রাডে পরিমাণগত ট্রেডিং কৌশল বাস্তবায়নে আপনাকে সহায়তা করব।
নীতি মডিউল
একবার ভাবুন তো, লেগোর টুকরো ব্যবহার করে আপনি কীভাবে একটি রোবট তৈরি করবেন? তুমি একে টুকরো টুকরো করে একসাথে রাখতে পারবে না, উপর থেকে নীচে অথবা নিচ থেকে উপরে। সামান্য সাধারণ জ্ঞানসম্পন্ন যে কেউ জানে যে মাথা, বাহু, পা, ডানা ইত্যাদি আলাদাভাবে একত্রিত করা উচিত এবং তারপর একটি সম্পূর্ণ রোবটে পরিণত করা উচিত। প্রোগ্রাম লেখার ক্ষেত্রেও একই কথা। কৌশল মডিউলে প্রয়োজনীয় ফাংশনগুলি লিখুন, এবং তারপর কৌশল মডিউলগুলিকে একত্রিত করে একটি সম্পূর্ণ পরিমাণগত ট্রেডিং কৌশল তৈরি করুন। নিচে আমি কিছু সাধারণভাবে ব্যবহৃত কৌশল মডিউলের তালিকা দেব:
পর্যায় বৃদ্ধি
বর্তমান K-লাইনের সমাপনী মূল্য এবং পূর্ববর্তী N পিরিয়ডের সমাপনী মূল্যের মধ্যে পার্থক্যের শতাংশ গণনা করে পর্যায় বৃদ্ধি গণনা করা হয়। উদাহরণস্বরূপ, শেষ ১০টি K-লাইন পিরিয়ডের বৃদ্ধি গণনা করার জন্য, কোডটি এভাবে লেখা যেতে পারে:

চিত্র ৩-১২ মাই ভাষার স্তর বৃদ্ধি
নতুন উচ্চতা
একটি নতুন উচ্চতা স্থাপন করার জন্য, আমাদের গণনা করতে হবে যে বর্তমান K-লাইন N পিরিয়ডের সর্বোচ্চ মূল্যের চেয়ে বেশি কিনা। উদাহরণস্বরূপ, বর্তমান K-লাইনটি শেষ 10টি K-লাইনের মধ্যে সর্বোচ্চ মূল্যের চেয়ে বেশি কিনা তা গণনা করার জন্য, কোডটি এভাবে লেখা যেতে পারে:

চিত্র ৩-১৩ মাই ভাষা নতুন উচ্চতায় পৌঁছেছে
বড় ভলিউম ঊর্ধ্বমুখী
একটি বৃহৎ পরিমাণের ঊর্ধ্বমুখী আক্রমণকে ক্রমবর্ধমান দাম এবং ট্রেডিং ভলিউমের তীব্র বৃদ্ধি হিসাবে বোঝা যেতে পারে। উদাহরণস্বরূপ: যদি একটি K-লাইনের সমাপনী মূল্য পূর্ববর্তী 10টি K-লাইনের সমাপনী মূল্যের 1.5 গুণ হয়, তাহলে এর অর্থ হল এটি 10 দিনে 50% বৃদ্ধি পেয়েছে; ট্রেডিং ভলিউম শেষ 10টি K-লাইনের গড়ের 5 গুণ ছাড়িয়ে গেছে। এটি কোডে এভাবে লেখা যেতে পারে:

চিত্র ৩-১৪ মাইয়ুয়ের আয়তন বৃদ্ধি পাচ্ছে
সংকীর্ণ সমাপ্তি
সংকীর্ণ পরিসরের একত্রীকরণের অর্থ হল সাম্প্রতিক সময়ের মধ্যে দাম একটি নির্দিষ্ট সীমার মধ্যে থাকে। উদাহরণস্বরূপ: যদি ১০টি পিরিয়ডের মধ্যে সর্বোচ্চ মূল্য এবং ১০টি পিরিয়ডের মধ্যে সর্বনিম্ন মূল্যের মধ্যে পার্থক্য, বর্তমান K-লাইনের সমাপনী মূল্য দিয়ে ভাগ করলে, প্রায় ০.০৫ এর কম হয়। এটি কোডে এভাবে লেখা যেতে পারে:

চিত্র ৩-১৫ গমের ভাষার সংকীর্ণ পরিসর
মুভিং এভারেজ বুলিশ বিন্যাস
চলমান গড়ের বুলিশ বিন্যাসকে বুলিশ বিন্যাস এবং বিয়ারিশ বিন্যাসে ভাগ করা হয়েছে। K-লাইনটি 5-10-20-30-60 চলমান গড়ের অধীনে সমর্থন সহ ঊর্ধ্বমুখীভাবে সাজানো হয়েছে, যা একটি বুলিশ বিন্যাস। বুলিশ বিন্যাসের অর্থ হল বাজারের প্রবণতা একটি শক্তিশালী ঊর্ধ্বমুখী প্রবণতা। এটি কোডে এভাবে লেখা যেতে পারে:

চিত্র ৩-১৬ মাই ল্যাঙ্গুয়েজ মুভিং এভারেজ বুলিশ অ্যারেঞ্জমেন্ট
পূর্ববর্তী উচ্চতা এবং তাদের অবস্থান
পূর্ববর্তী উচ্চ বিন্দু এবং এই উচ্চ বিন্দুর অবস্থান পেতে, আপনি সরাসরি এটি Inventor Quantitative Tool এর API এর মাধ্যমে পেতে পারেন। এটি কোডে লেখা যেতে পারে:

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

চিত্র ৩-১৮ মাই ভাষার ব্যবধান
সাধারণ প্রযুক্তিগত সূচক
চলমান গড়
পরিসংখ্যানগত দৃষ্টিকোণ থেকে, চলমান গড় হল দৈনিক মূল্যের গাণিতিক গড়, এবং এটি একটি প্রবণতা সহ একটি মূল্যের গতিপথ। মুভিং এভারেজ সিস্টেম হল একটি প্রযুক্তিগত হাতিয়ার যা বেশিরভাগ বিশ্লেষক সাধারণত ব্যবহার করেন। কারিগরি দৃষ্টিকোণ থেকে, এটি এমন একটি ফ্যাক্টর যা কারিগরি বিশ্লেষকদের মনস্তাত্ত্বিক মূল্য এবং ক্রয়-বিক্রয়ের সিদ্ধান্ত গ্রহণের ফ্যাক্টরকে প্রভাবিত করে। এটি কারিগরি বিশ্লেষকদের জন্য একটি ভালো রেফারেন্স টুল। উদ্ভাবকের পরিমাণগত হাতিয়ারটি বিভিন্ন ধরণের মুভিং এভারেজকে সমর্থন করে, যেমনটি নিম্নলিখিত চিত্রে দেখানো হয়েছে:

চিত্র ৩-২০ মাই ভাষার বিভিন্ন সূচকের গণনা
বোল চ্যানেল

চিত্র 3-21 BOLL চ্যানেল ডায়াগ্রাম
BOLL, যা বলিঙ্গার ব্যান্ড সূচক নামেও পরিচিত, পরিসংখ্যানগত নীতি ব্যবহার করে প্রথমে N-দিনের চলমান গড়ের উপর ভিত্তি করে মধ্যম ট্র্যাক গণনা করে এবং তারপর স্ট্যান্ডার্ড ডেভিয়েশনের উপর ভিত্তি করে উপরের এবং নীচের ট্র্যাক গণনা করে। যখন BOLL চ্যানেল সংকুচিত হয়ে যায়, তখন এর অর্থ হল দাম ধীরে ধীরে গড়ের দিকে ফিরে আসছে। যখন BOLL চ্যানেলটি সংকীর্ণ থেকে প্রশস্তে পরিবর্তিত হয়, তখন এর অর্থ হল বাজার পরিবর্তন হতে শুরু করে। যদি দাম উপরের ট্র্যাক অতিক্রম করে, তাহলে এটি নির্দেশ করে যে ক্রয় ক্ষমতা বৃদ্ধি পেয়েছে। যদি দাম নিম্ন ট্র্যাক অতিক্রম করে, তাহলে এটি নির্দেশ করে যে বিক্রয় ক্ষমতা বৃদ্ধি পেয়েছে।
সকল প্রযুক্তিগত সূচকের মধ্যে, BOLL এর গণনা পদ্ধতিটি সবচেয়ে জটিল, যা পরিসংখ্যানে আদর্শ বিচ্যুতির ধারণাটি প্রবর্তন করে এবং মধ্যম রেখা (MB), উপরের রেখা (UP) এবং নিম্ন রেখা (DN) গণনা করে। গণনা পদ্ধতিটি নিম্নরূপ:

চিত্র 3-22 মাই ল্যাঙ্গুয়েজ বলিঙ্গার ব্যান্ড গণনা
MACD সূচক
MACD সূচকটি দ্রুত (স্বল্পমেয়াদী) এবং ধীর (দীর্ঘমেয়াদী) চলমান গড় এবং তাদের অভিসৃতি এবং পৃথকীকরণের লক্ষণ ব্যবহার করে এবং একটি দ্বিগুণ মসৃণকরণ অপারেশন সম্পাদন করে। মুভিং এভারেজের নীতির উপর ভিত্তি করে তৈরি MACD, মুভিং এভারেজের ত্রুটি দূর করেছে যা প্রায়শই মিথ্যা সংকেত পাঠায় এবং মুভিং এভারেজের প্রভাব ধরে রেখেছে। অতএব, MACD সূচকের মুভিং এভারেজ প্রবণতা, স্থিতিশীলতা এবং স্থিতিশীলতার বৈশিষ্ট্য রয়েছে। এটি একটি প্রযুক্তিগত বিশ্লেষণ সূচক যা স্টক কেনা এবং বেচার সময় বিচার করতে এবং স্টকের দামের উত্থান-পতনের পূর্বাভাস দিতে ব্যবহৃত হয়। গণনা পদ্ধতিটি নিম্নরূপ:

চিত্র ৩-২৪ মাই ভাষার MACD সূচক
উপরে উল্লেখিত কৌশলগুলি হল পরিমাণগত ট্রেডিং কৌশল তৈরিতে সর্বাধিক ব্যবহৃত কৌশল মডিউল। অবশ্যই, এর চেয়েও অনেক বেশি। উপরের মডিউল উদাহরণগুলির মাধ্যমে, আপনি আপনার ব্যক্তিগত ট্রেডিংয়ে সর্বাধিক ব্যবহৃত বেশ কয়েকটি ট্রেডিং মডিউলও বাস্তবায়ন করতে পারেন। পদ্ধতিগুলি সবই সর্বজনীন। এরপর, আমরা একটি সম্ভাব্য ইন্ট্রাডে পরিমাণগত ট্রেডিং কৌশল লেখা শুরু করব।
কৌশল লেখা
বৈদেশিক মুদ্রার স্পট মার্কেটে, একসময় একটি ব্যাপকভাবে প্রচারিত ব্রেকথ্রু ট্রেডিং কৌশল ছিল, যা হল HANS123 কৌশল। এটি খোলার পরে N K-লাইনের সহজ উচ্চ এবং নিম্ন বিন্দু ব্রেকথ্রুগুলিকে ট্রেডিং সংকেত ট্রিগার করার মানদণ্ড হিসাবে ব্যবহার করে। এটিও একটি ট্রেডিং মোড যেখানে আগেভাগে প্রবেশ করা যায়।
কৌশল যুক্তি
বাজার খোলার 30 মিনিট পরে বাজারে প্রবেশের জন্য প্রস্তুত থাকুন;
উপরের ট্র্যাক = খোলার 30 মিনিট পরে উচ্চ বিন্দু;
নিচের ট্র্যাক = খোলার ৩০ মিনিট পর নিম্ন;
যখন দাম উপরের সীমা অতিক্রম করে, তখন একটি পজিশন কিনুন এবং খুলুন;
যখন দাম নিম্ন ট্র্যাকের নিচে নেমে যায়, তখন একটি বিক্রয় অবস্থান খুলুন।
ইন্ট্রাডে ট্রেডিং কৌশল, বাজার বন্ধ হওয়ার আগে পজিশন বন্ধ করুন;
নীতি কোড
সারসংক্ষেপ
উপরে, আমরা কৌশল মডিউলের ধারণাটি শিখেছি, এবং বেশ কয়েকটি সাধারণভাবে ব্যবহৃত কৌশল মডিউলের ক্ষেত্রে, আমরা উদ্ভাবকের পরিমাণগত সরঞ্জামগুলির প্রোগ্রামিং পদ্ধতিগুলির সাথে পরিচিত হয়েছি। এটা বলা যেতে পারে যে কৌশল মডিউল লিখতে শেখা এবং প্রোগ্রামিং লজিক্যাল চিন্তাভাবনা উন্নত করা উন্নত পরিমাণগত ট্রেডিংয়ের মূল পদক্ষেপ। অবশেষে, আমরা বৈদেশিক মুদ্রার স্পট ট্রেডিংয়ে সাধারণত ব্যবহৃত ট্রেডিং কৌশলগুলি বাস্তবায়নের জন্য উদ্ভাবকের পরিমাণগত সরঞ্জামগুলি ব্যবহার করেছি।
পরবর্তী বিভাগের পূর্বরূপ
কিছু বন্ধু বিভ্রান্ত বোধ করতে পারে এবং ঘন ঘন কোডগুলি বুঝতে অক্ষম হতে পারে। চিন্তা করো না, আমরা ইতিমধ্যেই তোমার জন্য এই সবগুলো ভেবে রেখেছি। Inventor Quantitative Tool-এ, এমন একটি প্রোগ্রামিং ভাষাও রয়েছে যা নবীন ব্যবহারকারীদের জন্য আরও উপযুক্ত। এটি হল ভিজ্যুয়াল প্রোগ্রামিং। নাম থেকেই বোঝা যাচ্ছে, তুমি যা দেখছো তাই পাবে। আসুন একসাথে এটির জন্য অপেক্ষা করি!
বাড়ির কাজ
১. সাবজেক্টিভ ট্রেডিংয়ে আপনি যে কয়েকটি ট্রেডিং মডিউল প্রায়শই ব্যবহার করেন তা বাস্তবায়নের চেষ্টা করুন।
২. উদ্ভাবকের পরিমাণগত হাতিয়ারে মাই ভাষা ব্যবহার করে KDJ সূচক অ্যালগরিদম বাস্তবায়নের চেষ্টা করুন।
৩.৪ ভিজ্যুয়াল প্রোগ্রামিং দিয়ে দ্রুত শুরু করা
সারাংশ
অনেক সাবজেক্টিভ ট্রেডার কোয়ান্টিটিভ ট্রেডিংয়ে আগ্রহী। শুরুতেই তারা আত্মবিশ্বাসে ভরপুর। তবে, ঐতিহ্যবাহী প্রোগ্রামিং ভাষার মৌলিক বাক্য গঠন, ডেটা অপারেশন, ডেটা স্ট্রাকচার, লজিক্যাল কন্ট্রোল ইত্যাদি শেখার পর, দীর্ঘ এবং জটিল কোডগুলি দেখার পর তারা প্রায়শই নিরুৎসাহিত হন বা হাল ছেড়ে দেন। এই সময়ে, ভিজ্যুয়াল প্রোগ্রামিং ভাষাগুলি আপনার জন্য শুরু করার জন্য আরও উপযুক্ত হতে পারে।
সম্পূর্ণ কৌশল
এই বিভাগের মূল জ্ঞানটি দ্রুত বুঝতে সকলকে সাহায্য করার জন্য, Inventor Quantitative Visual Programming Language-এর সংক্ষিপ্ত ভূমিকা উপস্থাপন করার আগে, আসুন প্রথমে দেখে নেওয়া যাক ভিজ্যুয়াল ভাষায় লেখা কৌশলটি কেমন দেখাচ্ছে? এবং এই বিভাগে বিশেষ্যের ধারণা সম্পর্কে প্রাথমিক ধারণা রাখুন। ৫০-পিরিয়ড মুভিং এভারেজের চেয়ে ক্লোজিং প্রাইস বেশি হলে লং নেওয়া এবং ৫০-পিরিয়ড মুভিং এভারেজের চেয়ে কম হলে শর্ট নেওয়ার সহজ উদাহরণটি ধরা যাক:
লং পজিশন ওপেনিং: যদি কোন বর্তমান অবস্থান না থাকে এবং সমাপনী মূল্য ৫০-পিরিয়ড মুভিং এভারেজের চেয়ে বেশি হয়।
একটি সংক্ষিপ্ত অবস্থান খুলুন: যদি কোন বর্তমান অবস্থান না থাকে এবং সমাপনী মূল্য ৫০-পিরিয়ড মুভিং এভারেজের কম হয়।
দীর্ঘ পজিশন ক্লোজিং: যদি আপনি বর্তমানে একটি দীর্ঘ পজিশন ধরে থাকেন এবং সমাপনী মূল্য 50-পিরিয়ড মুভিং এভারেজের চেয়ে কম হয়।
শর্ট পজিশন ক্লোজিং: যদি আপনি বর্তমানে একটি সংক্ষিপ্ত অর্ডার ধরে থাকেন এবং সমাপনী মূল্য 50-পিরিয়ড মুভিং এভারেজের চেয়ে বেশি হয়।
যদি উপরের কৌশলটি একটি দৃশ্যমান ভাষায় লেখা হয়, তাহলে এটি দেখতে এরকম হবে (নীচে দেখানো হয়েছে):

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

চিত্র 3-27 কে-লাইন অ্যারে
উপরের চিত্রের কোডটি একটি K-লাইন অ্যারে। অ্যারেতে মোট তিনটি ডেটা রয়েছে, যথা পূর্ববর্তী K-লাইনের ডেটা, পূর্ববর্তী K-লাইনের ডেটা এবং বর্তমান K-লাইনের ডেটা। যদি আমরা এই অ্যারেটিকে একটি ভেরিয়েবল "arr"-এ বরাদ্দ করি, তাহলে যদি আমরা এই অ্যারের শেষ ডেটা (মূল K লাইনের ডেটা) পেতে চাই, তাহলে আমরা এটি এভাবে লিখতে পারি (নীচের চিত্রের ৪র্থ এবং ৫ম লাইনে দেখানো হয়েছে):

চিত্র 3-28 অ্যারে রেফারেন্স
আমরা কেবল দ্বিতীয় লেখার পদ্ধতিটি ব্যবহার করতে পারি (পংক্তি ৫), কারণ বাস্তবে শত শত বা হাজার হাজার K-লাইন ডেটা রয়েছে এবং নতুন K-লাইনগুলি ক্রমাগত বৃদ্ধি পাচ্ছে। তাহলে আপনি প্রথমে অ্যারের দৈর্ঘ্য পেতে পারেন। "arr.length" মানে অ্যারের দৈর্ঘ্য পাওয়া, এবং তারপর "1" বিয়োগ করা, যা সর্বশেষ K-লাইনের ডেটা। যদি আপনি পূর্ববর্তী K-লাইনের তথ্য পেতে চান, তাহলে "2" বিয়োগ করুন।
সতর্ক ব্যক্তিরা হয়তো দেখতে পাবেন যে এই তথ্যগুলি "{}"-এ আবদ্ধ। ইংরেজি নামগুলি থেকে, আপনি মোটামুটিভাবে জানতে পারবেন যে এগুলি নিম্নলিখিতগুলির সাথে সঙ্গতিপূর্ণ: সময়, খোলার মূল্য, সর্বোচ্চ মূল্য, সর্বনিম্ন মূল্য, সমাপনী মূল্য এবং ট্রেডিং ভলিউম। যদি আপনি পূর্ববর্তী K-লাইনের সমাপনী মূল্য পেতে চান, তাহলে কেবল "." যোগ করুন এবং শেষে প্রয়োজনীয় মানটি যোগ করুন, নীচের চিত্রের 8 থেকে 10 লাইনগুলি দেখুন।

চিত্র 3-29 অ্যারে রেফারেন্স
কেন ভিজ্যুয়াল প্রোগ্রামিং ভাষা ব্যবহার করবেন?
উপরের ধারণাগুলি ব্যবহার করে, প্রথমে জাভা ব্যবহার করে এমন একটি প্রোগ্রাম লিখি যা "হ্যালো, ওয়ার্ল্ড" আউটপুট দেয় এবং ঐতিহ্যবাহী প্রোগ্রামিং অভিজ্ঞতা লাভ করে, যেমনটি নীচে দেখানো হয়েছে:

চিত্র ৩-৩০
একটি প্রোগ্রাম যা কেবল "হ্যালো ওয়ার্ল্ড!" স্ট্রিং আউটপুট করে, তার জন্য মাত্র ৫ লাইন কোড প্রয়োজন। আমার বিশ্বাস, বেশিরভাগ নতুনরা কেবল বন্ধনীতে "হ্যালো, ওয়ার্ল্ড" ইংরেজি শব্দগুলো জানে এবং বাকিগুলো কোথা থেকে শুরু করবে তা জানে না। অতএব, ক্ষতির সম্মুখীন হওয়ার চেয়ে ভিজ্যুয়াল প্রোগ্রামিং দিয়ে শুরু করাই ভালো পছন্দ।
ভিজ্যুয়াল প্রোগ্রামিং কী?
ভিজ্যুয়াল প্রোগ্রামিংয়ের একটি দীর্ঘ ইতিহাস রয়েছে এবং এটি নতুন নয়। "যা দেখছো, তাই পাচ্ছো" এই প্রোগ্রামিং ধারণাটি, বিভিন্ন নিয়ন্ত্রণ মডিউল দিয়ে সজ্জিত, কোড লজিক তৈরি করতে পারে এবং কেবল টেনে এনে ফেলে দিয়ে ট্রেডিং কৌশল নকশা সম্পূর্ণ করতে পারে। প্রক্রিয়াটি বিল্ডিং ব্লকের মতোই।

চিত্র ৩-৩১
উপরে দেখানো হয়েছে, ব্লকলি ভিজ্যুয়াল প্রোগ্রামিং-এ একই প্রোগ্রামটি শুধুমাত্র একটি লাইন কোড দিয়ে সম্পন্ন করা যেতে পারে। এটি প্রোগ্রামিংয়ের জন্য থ্রেশহোল্ডকে অনেকাংশে কমিয়ে দেয়, যা একটি দুর্দান্ত অপারেটিং অভিজ্ঞতা, বিশেষ করে যাদের প্রোগ্রামিং সম্পর্কে কোন জ্ঞান নেই তাদের জন্য।
ভিজ্যুয়াল প্রোগ্রামিং ভাষার বৈশিষ্ট্যগুলি কী কী?
ব্লকলি কোনও প্রোগ্রামিং খেলনা নয়, এটি একটি আসল সম্পাদক, কোনও সম্পাদকের ছদ্মবেশে থাকা কোনও অপারেটিং সিস্টেম নয়। এটি প্রোগ্রামিংয়ের অনেক মৌলিক উপাদান যেমন ভেরিয়েবল, ফাংশন, অ্যারে এবং সহজেই প্রসারণযোগ্য এবং কাস্টমাইজযোগ্য ব্লকগুলিকে সমর্থন করে। আপনি জটিল প্রোগ্রামিং কাজগুলি সম্পন্ন করতে এটি ব্যবহার করতে পারেন। নকশাটি ইউনিক্স দর্শনের সাথে খুবই সামঞ্জস্যপূর্ণ: এক কাজ করো।
পরিমাণগত ভিজ্যুয়াল প্রোগ্রামিংয়ের উদ্ভাবকও গুগল কর্তৃক প্রকাশিত ব্লকলি ভিজ্যুয়ালাইজেশন টুলের মাধ্যমে উপলব্ধি করা হয়েছিল। নকশাটি MIT দ্বারা চালু করা Scratch-এর অনুরূপ, যেখানে সত্যিকার অর্থে শূন্য থ্রেশহোল্ড রয়েছে (নীচে দেখানো হয়েছে)।

চিত্র ৩-৩২
ইনভেনটর কোয়ান্টের ভিজ্যুয়াল প্রোগ্রামিং ইন্টারফেসে, শত শত সাধারণভাবে ব্যবহৃত ট্রেডিং মডিউল অন্তর্নির্মিত রয়েছে। ব্যবসায়ীদের নতুন ধারণা এবং নতুন অ্যাপ্লিকেশনগুলিকে সমর্থন করার জন্য ভবিষ্যতে আরও ট্রেডিং মডিউল যুক্ত করা হবে। এগুলি ডেভেলপাররা যৌথভাবে তৈরি এবং রক্ষণাবেক্ষণ করবে।
যদিও বাক্য গঠন সহজ, এটি কর্মক্ষমতাকে ক্ষুন্ন করে না। এটি প্রায় সর্বাধিক সহজ পরিমাণগত ট্রেডিং কৌশলগুলির বিকাশ পূরণ করতে পারে। কার্যকারিতা এবং গতির দিক থেকে, এটি পাইথন এবং জাভাস্ক্রিপ্টের মতো প্রচলিত প্রোগ্রামিং ভাষার থেকে নিকৃষ্ট নয়। ভবিষ্যতে, এটি যৌক্তিকভাবে জটিল আর্থিক অ্যাপ্লিকেশনগুলিকে সমর্থন করবে।
কিভাবে ব্যবহার করবেন
একটি হ্যালো, ওয়ার্ল্ড প্রোগ্রাম লিখুন
"হ্যালো, ওয়ার্ল্ড" চালান এবং প্রিন্ট করুন।
সারসংক্ষেপ
উপরে, আমরা একটি সম্পূর্ণ ভিজ্যুয়ালাইজেশন কৌশল দিয়ে শুরু করেছি, তারপর ভিজ্যুয়ালাইজেশন ভাষার ভূমিকা এবং বৈশিষ্ট্যগুলি উপস্থাপন করেছি, এবং অবশেষে ইনভেনটর কোয়ান্ট টুলে ভিজ্যুয়ালাইজেশন ভাষা কীভাবে ব্যবহার করতে হয় তা উপস্থাপন করেছি এবং একটি "হ্যালো ওয়ার্ল্ড" উদাহরণ লিখেছি। তবে, আমাদের সকলকে মনে করিয়ে দিতে হবে যে পরিমাণগত ট্রেডিংয়ের ভূমিকা হিসেবে, ভিজ্যুয়াল প্রোগ্রামিং একটি ভালো ধাপ, কিন্তু বর্তমানে ইনভেনটর কোয়ান্টিটেটিভ টুলে কেবলমাত্র সীমিত API ইন্টারফেস খোলা আছে। পরিমাণগত ট্রেডিংয়ের জন্য, কৌশলের যুক্তি বাছাই করতে সাহায্য করার জন্য এটিকে একটি সহায়ক হাতিয়ার হিসেবে ব্যবহার করা ভাল।
পরবর্তী বিভাগের পূর্বরূপ
ভিজ্যুয়াল প্রোগ্রামিং এবং উচ্চ-স্তরের প্রোগ্রামিং ভাষার মৌলিক বিষয়গুলির মধ্যে কোনও পার্থক্য নেই এবং কিছু দিক এমনকি সর্বজনীন। একবার আপনি ভিজ্যুয়াল প্রোগ্রামিং শিখলে, আপনি উচ্চ-স্তরের প্রোগ্রামিং শেখার এক ধাপ এগিয়ে যাবেন। পরবর্তী বিভাগে, আমরা ভিজ্যুয়াল প্রোগ্রামিং এর উন্নত শিক্ষার উপর গভীরভাবে আলোকপাত করব, যার মধ্যে রয়েছে ইনভেনটর কোয়ান্টিটেটিভ টুলে সাধারণভাবে ব্যবহৃত কোয়ান্টিটেটিভ ট্রেডিং মডিউল লেখার জন্য ভিজ্যুয়াল ভাষা ব্যবহার করা এবং একটি সম্পূর্ণ ইন্ট্রাডে ট্রেডিং কৌশল কীভাবে তৈরি করা যায়।
বাড়ির কাজ
১. ইনভেনটর কোয়ান্ট ভিজ্যুয়াল প্রোগ্রামিং ইন্টারফেসে, API ব্যবহার করুন এবং তাদের অর্থ কী তা বুঝুন।
2. সর্বশেষ খোলার মূল্য পেতে এবং লগে আউটপুট করার জন্য ভিজ্যুয়াল ভাষা ব্যবহার করুন।
৩.৫ দৃশ্যমান ভাষা ব্যবহার করে কৌশলগুলি কীভাবে বাস্তবায়ন করা যায়
সারাংশ
পূর্ববর্তী প্রবন্ধে, আমরা উদ্ভাবকের পরিমাণগত ট্রেডিং টুলে ভিজ্যুয়াল প্রোগ্রামিং ভাষার ভূমিকা এবং বৈশিষ্ট্য, "হ্যালো ওয়ার্ল্ড" উদাহরণ এবং কৌশল লেখা সম্পর্কে শিখেছি এবং ট্রেডিং কৌশল বাস্তবায়নের পূর্বশর্তগুলি ব্যাখ্যা করেছি। এই প্রবন্ধে, আমরা পূর্ববর্তী প্রবন্ধ থেকে শুরু করে, সাধারণত ব্যবহৃত কৌশল মডিউল এবং প্রযুক্তিগত সূচক থেকে শুরু করে, এবং তারপর কৌশলগত যুক্তিতে, যাতে প্রত্যেককে ধাপে ধাপে একটি সম্পূর্ণ ইন্ট্রাডে ট্রেডিং কৌশল বাস্তবায়নে সহায়তা করা যায়।
নীতি মডিউল
পর্যায় বৃদ্ধি
বর্তমান K-লাইনের সমাপনী মূল্য এবং পূর্ববর্তী N পিরিয়ডের সমাপনী মূল্যের মধ্যে পার্থক্যের শতাংশ গণনা করে পর্যায় বৃদ্ধি গণনা করা হয়। উদাহরণস্বরূপ, শেষ ১০টি K-লাইন পিরিয়ডের বৃদ্ধি গণনা করার জন্য, কোডটি এভাবে লেখা যেতে পারে:

চিত্র ৩-৩৬
উপরের কোড থেকে আমরা দেখতে পাচ্ছি যে কম্পিউটার যেভাবে কাজ করে তার জন্য একটি সম্পূর্ণ লজিক্যাল লুপ প্রয়োজন। উদাহরণস্বরূপ, শেষ ১০টি K-লাইন পিরিয়ডের বৃদ্ধির হার গণনা করার জন্য, এটিকে নিম্নলিখিত ধাপগুলিতে ভাগ করতে হবে:
প্রথমত, কম্পিউটারকে স্পষ্টভাবে জানতে হবে যে আপনি কোন পণ্যটি ট্রেড করতে চান। উদাহরণস্বরূপ, উপরের উদাহরণটি মিথানলের, তাই চুক্তি কোডটি "MA888" এ সেট করুন। চুক্তি কোড সেট করার পরে, আপনি চুক্তির কে-লাইন ডেটা পেতে পারেন।
K-লাইন ডেটার সাহায্যে, আপনি এই K-লাইন ডেটা থেকে যেকোনো K-লাইনের বিস্তারিত ডেটা পেতে পারেন।
পর্যায়ক্রমিক বৃদ্ধি গণনা করার জন্য, আপনাকে প্রথমে দুটি K-লাইনের সমাপনী মূল্য পেতে হবে, উদাহরণস্বরূপ: পূর্ববর্তী K-লাইনের সমাপনী মূল্য এবং তার আগে 11 তম K-লাইনের সমাপনী মূল্য।
অবশেষে, এই দুটি কে-লাইনের সমাপনী মূল্যের উপর ভিত্তি করে, পর্যায় বৃদ্ধির অনুপাত গণনা করুন। নিম্নলিখিত প্রতিটি কৌশলেরই এই ধরনের লজিক লুপ এবং শর্তসাপেক্ষ বৈশিষ্ট্যের বৈশিষ্ট্য রয়েছে। একবার আপনি এই লজিকটি বুঝতে পারলে, ভিজ্যুয়াল প্রোগ্রামিং অনেক সহজ হয়ে যাবে।
বড় ভলিউম ঊর্ধ্বমুখী
একটি বৃহৎ পরিমাণের ঊর্ধ্বমুখী আক্রমণকে ক্রমবর্ধমান দাম এবং ট্রেডিং ভলিউমের তীব্র বৃদ্ধি হিসাবে বোঝা যেতে পারে। উদাহরণস্বরূপ: যদি একটি K-লাইনের সমাপনী মূল্য পূর্ববর্তী 10টি K-লাইনের সমাপনী মূল্যের 1.5 গুণ হয়, তাহলে এর অর্থ হল এটি 10 দিনে 50% বৃদ্ধি পেয়েছে; ট্রেডিং ভলিউম শেষ 10টি K-লাইনের গড়ের 5 গুণ ছাড়িয়ে গেছে। এটি কোডে এভাবে লেখা যেতে পারে:

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

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

চিত্র ৩-৩৯
MACD সূচক
MACD সূচকটি দ্রুত (স্বল্পমেয়াদী) এবং ধীর (দীর্ঘমেয়াদী) চলমান গড় এবং তাদের অভিসৃতি এবং পৃথকীকরণের লক্ষণ ব্যবহার করে এবং একটি দ্বিগুণ মসৃণকরণ অপারেশন সম্পাদন করে। মুভিং এভারেজের নীতির উপর ভিত্তি করে তৈরি MACD, মুভিং এভারেজের ত্রুটি দূর করেছে যা প্রায়শই মিথ্যা সংকেত পাঠায় এবং মুভিং এভারেজের প্রভাব ধরে রেখেছে। অতএব, MACD সূচকের মুভিং এভারেজ প্রবণতা, স্থিতিশীলতা এবং স্থিতিশীলতার বৈশিষ্ট্য রয়েছে। এটি একটি প্রযুক্তিগত বিশ্লেষণ সূচক যা স্টক কেনা এবং বেচার সময় বিচার করতে এবং স্টকের দামের উত্থান-পতনের পূর্বাভাস দিতে ব্যবহৃত হয়। গণনা পদ্ধতিটি নিম্নরূপ:

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

চিত্র 3-41
কৌশল লেখা
ওয়ারেন বাফেটের পরামর্শদাতা বেঞ্জামিন গ্রাহাম একবার তার বই "দ্য ইন্টেলিজেন্ট ইনভেস্টর"-এ স্টক এবং বন্ডের জন্য একটি গতিশীল ভারসাম্যপূর্ণ ট্রেডিং মডেল উল্লেখ করেছিলেন।
এই ট্রেডিং মডেল খুবই সহজ:
আপনার অর্থের 50% স্টক ফান্ডে এবং বাকি 50% বন্ড ফান্ডে বিনিয়োগ করুন। যে, স্টক এবং বন্ড প্রতিটি অর্ধেক জন্য অ্যাকাউন্ট.
স্টক সম্পদের সাথে বন্ড সম্পদের অনুপাত প্রাথমিক ১:১-এ ফিরিয়ে আনতে নির্দিষ্ট বিরতিতে অথবা বাজার পরিবর্তনের উপর ভিত্তি করে সম্পদের পুনঃভারসাম্য তৈরি করুন। এটিই কৌশলটির সম্পূর্ণ যুক্তি, যার মধ্যে রয়েছে কখন কিনতে হবে এবং বিক্রি করতে হবে এবং কত কিনতে হবে এবং বিক্রি করতে হবে। যথেষ্ট সহজ!
এই পদ্ধতিতে, বন্ড তহবিলের অস্থিরতা স্টকের অস্থিরতার তুলনায় অনেক কম, তাই বন্ডগুলিকে এখানে "রেফারেন্স অ্যাঙ্কর" হিসাবে ব্যবহার করা হয়, স্টক পরিমাপ করার জন্য বন্ড ব্যবহার করা হয় খুব কম আপ
স্টক মূল্য বৃদ্ধি পেলে, স্টকের বাজার মূল্য বন্ডের বাজার মূল্যের চেয়ে বেশি হবে যখন দুটির বাজার মূল্যের অনুপাত নির্ধারিত থ্রেশহোল্ডকে ছাড়িয়ে যায়, তখন মোট অবস্থান পুনরায় সামঞ্জস্য করা হবে, স্টকটি বিক্রি করা হবে। , এবং বন্ড কেনা হবে, যাতে স্টক এবং বন্ডের বাজার মূল্যের অনুপাত মূল 1:1-এ ফিরে আসে।
বিপরীতে, যদি স্টক মূল্য কমে যায়, স্টকের বাজার মূল্য বন্ডের বাজার মূল্যের চেয়ে ছোট হবে, যখন দুটির বাজার মূল্যের অনুপাত নির্ধারিত থ্রেশহোল্ডকে অতিক্রম করবে, তখন মোট অবস্থান পুনরায় সামঞ্জস্য করা হবে। স্টক এবং বন্ড বিক্রি করে, যাতে বন্ডের সাথে স্টকের বাজার মূল্যের অনুপাত মূল 1:1-এ ফিরে আসে।
এইভাবে, স্টক এবং বন্ডের মধ্যে গতিশীল ভারসাম্যের অনুপাতটি স্টক বৃদ্ধির ফল উপভোগ করার জন্য যথেষ্ট এবং সম্পদ ওঠানামা হ্রাস করে। ভ্যালু বিনিয়োগের অগ্রদূত হিসাবে, গ্রাহাম আমাদের একটি ভাল ধারণা দিয়েছেন।
কৌশল যুক্তি
BTC-এর বর্তমান মান অনুযায়ী, অ্যাকাউন্ট ব্যালেন্স £5,000 নগদ এবং 0.1 BTC ধরে রাখে, অর্থাৎ, নগদ এবং BTC বাজার মূল্যের প্রাথমিক অনুপাত হল 1:1।
যদি BTC-এর মূল্য 6000-এ বেড়ে যায়, অর্থাৎ, BTC-এর বাজার মূল্য অ্যাকাউন্ট ব্যালেন্সের চেয়ে বেশি হয়, এবং তাদের মধ্যে পার্থক্য সেট থ্রেশহোল্ড অতিক্রম করে, বিক্রি করুন (6000-5000)/6000/2 কয়েন৷ এর মানে হল যে বিটিসি-র মূল্য বৃদ্ধি পেয়েছে এবং অর্থ ফেরত বিনিময় করা যেতে পারে।
যদি BTC-এর মূল্য £4000-এ নেমে যায়, অর্থাৎ BTC-এর বাজার মূল্য অ্যাকাউন্ট ব্যালেন্সের চেয়ে কম হয় এবং তাদের মধ্যে পার্থক্য নির্ধারিত থ্রেশহোল্ড অতিক্রম করে, তাহলে (5000-4000)/4000/2 কয়েন কিনুন৷ এর মানে হল যে BTC অবমূল্যায়ন করেছে, BTC ফেরত কিনুন।
এইভাবে, BTC প্রশংসা বা অবমূল্যায়ন যাই করুক না কেন, অ্যাকাউন্ট ব্যালেন্স এবং BTC-এর বাজার মূল্য সবসময় গতিশীলভাবে সমান বজায় থাকে। যদি BTC অবমূল্যায়ন করে, কিছু কিনুন, এবং যখন আবার বেড়ে যায়, কিছু আবার বিক্রি করুন, ঠিক একটি স্কেলের মতো।
শর্ত কিনুন: যদি বর্তমান অবস্থানের বাজার মূল্য বিয়োগ করে বর্তমান উপলব্ধ ব্যালেন্স নেতিবাচক বর্তমান উপলব্ধ ব্যালেন্সের 5% এর কম হয়, তাহলে একটি ক্রয় অবস্থান খুলুন।
বিক্রয় শর্তাবলী: বর্তমান অবস্থানের বাজার মূল্য বর্তমান উপলব্ধ ব্যালেন্স বিয়োগ বর্তমান উপলব্ধ ব্যালেন্সের 5% এর বেশি হলে, অবস্থানটি বন্ধ করে বিক্রি করা হবে।
পূর্বশর্ত
- বর্তমান বাজার
- বর্তমান সম্পদ
- মুদ্রার মোট বাজার মূল্য
- সম্পদ পার্থক্য
কৌশলগত গঠন
ভিজ্যুয়াল রাইটিং কৌশল ধাপ 1
আমরা ট্রেডিং কৌশলের জন্য চারটি পূর্বশর্ত গণনা করি এবং সেগুলিকে তাদের নিজ নিজ ভেরিয়েবলের সাথে নির্ধারণ করি। ভিজ্যুয়াল প্রোগ্রামিংয়ের ক্ষেত্রে, কোড ব্লকগুলো দেখতে এরকম। নিচে দেখানো হয়েছে

চিত্র ৩-৪২
এটা উল্লেখ করা উচিত যে কয়েনের মোট বাজার মূল্য হল বর্তমান ধারণকৃত কয়েনের মোট বাজার মূল্যকে বর্তমান সর্বশেষ মূল্য দ্বারা গুণ করা। সম্পদের পার্থক্য হল মুদ্রার মোট বাজার মূল্য বিয়োগ বর্তমান উপলব্ধ ব্যালেন্স।
ভিজ্যুয়াল রাইটিং কৌশল ধাপ 2
পূর্বশর্ত এবং প্রয়োজনীয় শর্তাবলী নির্ধারিত হওয়ার পরে, আপনাকে লেনদেনের যুক্তি লিখতে হবে। এটা তুমি যতটা জটিল ভাবছো ততটা জটিল নয়। এটি কোড ব্লকের আকারে উপরের কৌশলগত যুক্তি প্রকাশ করা ছাড়া আর কিছুই নয়।
অর্থাৎ, যদি সম্পদের পার্থক্য ঋণাত্মক উপলব্ধ ব্যালেন্সের ৫% এর কম হয়, তাহলে কিনুন; যদি সম্পদের পার্থক্য উপলব্ধ ব্যালেন্সের ৫% এর বেশি হয়, তাহলে বিক্রি করুন। নিচে দেখানো হয়েছে:

চিত্র ৩-৪৩
পুরো কৌশলটি লেখা বলে মনে হচ্ছে, কিন্তু আপনার অবশ্যই জানা উচিত যে প্রোগ্রামটি উপর থেকে নীচে কার্যকর করা হয় এবং কার্যকর করার পরে বন্ধ হয়ে যায়। তবে, আমাদের ট্রেডিং কৌশল হল ট্রেডিং শর্তাবলী একবার কার্যকর করা নয়, বরং বারবার সেগুলি কার্যকর করা।
অন্য কথায়, প্রোগ্রামটিকে ক্রমাগত পরীক্ষা করতে হবে যে কৌশলের শর্তগুলি পূরণ হয়েছে কিনা। যদি তাই হয়, তাহলে ক্রয় বা বিক্রয় সম্পাদন করুন; অন্যথায়, পরীক্ষা চালিয়ে যান। এই সময়ে, আপনাকে নীচে দেখানো অন্য একটি লুপ স্টেটমেন্ট ব্যবহার করতে হবে:

চিত্র 3-44
কৌশল ব্যাকটেস্ট
ভিজ্যুয়াল স্ট্র্যাটেজি এবং অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজগুলিতে লেখা কৌশলগুলির মধ্যে কোনও অপরিহার্য পার্থক্য নেই এটি একাধিক চক্র এবং সিডিং নির্ভুলতাকেও সমর্থন করে। এই কৌশলটির জন্য সর্বোত্তম তথ্য এখানে রয়েছে:

চিত্র 3-45
এই সময়ে, একটি সম্পূর্ণ ট্রেডিং কৌশল সম্পন্ন হয়। পৌছানো পার্টির যত্ন নেওয়ার জন্য, এই কৌশলটি কৌশল স্কোয়ারে ভাগ করা হয়েছে এবং সরাসরি অনুলিপি এবং অধ্যয়ন করা যেতে পারে।
শেষ
10,000-ঘন্টা নিয়ম সর্বদা বিদ্যমান, কিন্তু শূন্য ভিত্তি সহ ব্যবসায়ীদের জন্য, শিল্পে প্রবেশের আগে 10,000 ঘন্টা ব্যয় করা অসম্ভব। তাই আপনার অবশ্যই একটি মই থাকতে হবে, এবং শূন্য প্রোগ্রামিং ফাউন্ডেশন সহ ব্যবসায়ীদের জন্য, উদ্ভাবকের পরিমাণগত ভিজ্যুয়াল প্রোগ্রামিং দ্রুত শুরু করার জন্য একটি মই।
ভিজ্যুয়াল প্রোগ্রামিংয়ের সাথে, আপনাকে সিনট্যাক্স এবং পদ্ধতির নাম মনে রাখতে হবে না আপনি কেবল ফাংশন মডিউলগুলি ব্রাউজ করতে পারেন এবং আপনি যা চান তা খুঁজে পেতে পারেন। এটি পরিমাণ নির্ধারণের উদ্ভাবকের মূল অভিপ্রায়, যা আরও পরিমাণগত নতুনদের প্রবেশের থ্রেশহোল্ড কমাতে সাহায্য করে এবং প্রত্যেকে পরিমাণগত ব্যবসায়ী হতে পারে!
যাইহোক, এই বলে যে, ভিজ্যুয়াল প্রোগ্রামিং এর পরিমাণ নির্ধারণে শুরু করার জন্য একটি পদক্ষেপ হিসাবে কোন সমস্যা নেই, তবে এর নিজস্ব সীমাবদ্ধতাও রয়েছে, যেমন অত্যধিক জটিল এবং অত্যধিক পরিমার্জিত ট্রেডিং কৌশল বিকাশে অক্ষমতা। কিন্তু এটি পরিমাণগত ট্রেডিংয়ে আপনার প্রথম ধাপকে প্রভাবিত করে না!
পরবর্তী বিভাগের পূর্বরূপ
পরিমাণগত বাণিজ্যের পেশাদারিত্বের দৃষ্টিকোণ থেকে, মাই ভাষা এবং দৃশ্যমান ভাষা উভয়ই পরিমাণগত বাণিজ্যের জগতে প্রবেশের জন্য কেবল ক্রান্তিকালীন ভাষা। তাদের ভাষাগত বৈশিষ্ট্যগুলি পরিমাণগত বাণিজ্য কৌশল বিকাশে তাদের সীমাবদ্ধতা নির্ধারণ করে এবং কিছু জটিল কৌশল বাস্তবায়নের সম্ভাবনা কম। তাই পরবর্তী বিভাগে আমরা আপনাকে জাভাস্ক্রিপ্ট শেখাবো, যা একটি আনুষ্ঠানিক উচ্চ-স্তরের প্রোগ্রামিং ভাষা এবং উন্নত পরিমাণগত ট্রেডিংয়ে এগিয়ে যাওয়ার একমাত্র উপায়।
বাড়ির কাজ
১. ভিজ্যুয়াল ভাষা ব্যবহার করে বলিঙ্গার ব্যান্ড সূচকটি বাস্তবায়নের চেষ্টা করুন।
2. একটি ট্রেডিং কৌশল সম্পূর্ণ করতে এই বিভাগের ট্রেডিং মডিউলটি ব্যবহার করার চেষ্টা করুন।
অধ্যায় ৪ মূলধারার প্রোগ্রামিং ভাষায় ট্রেডিং কৌশল বাস্তবায়ন
৪.১ জাভাস্ক্রিপ্ট ভাষার দ্রুত ভূমিকা
সারাংশ
ভবিষ্যতের পরিমাণগত ট্রেডিং তারকা হিসেবে, আপনার পক্ষে কেবল একটি সহজ ভাষা শেখা অসম্ভব। যদিও উদ্ভাবকের পরিমাণগত সরঞ্জামগুলির মাই ভাষা এবং ভিজ্যুয়ালাইজেশন ভাষা আপনাকে শুরু করতে পারে, তবে তাদের ভাষার বৈশিষ্ট্যের কারণে কৌশল বিকাশে তাদের অনেক সীমাবদ্ধতা রয়েছে। অতএব, যদি আপনি পরিমাণগত ট্রেডিংয়ে পা রাখতে চান, তাহলে আপনাকে অবশ্যই একটি আনুষ্ঠানিক প্রোগ্রামিং ভাষা শিখতে হবে।
কেন জাভাস্ক্রিপ্ট শিখবেন
ভিজ্যুয়াল ভাষার তুলনায়, জাভাস্ক্রিপ্টের কর্মক্ষমতা এবং কার্যকর করার দক্ষতা আরও শক্তিশালী। আর কৌশল বিকাশের ক্ষেত্রে, জাভাস্ক্রিপ্ট ভিজ্যুয়াল ভাষার তুলনায় অনেক বেশি নমনীয়। উদাহরণস্বরূপ, যদি আপনি একটি আরবিট্রেজ কৌশল বিকাশ করতে চান, তাহলে আপনি ভিজ্যুয়াল ভাষা ব্যবহার করতে পারবেন না কারণ এর সীমিত মডিউল রয়েছে এবং এটি আরবিট্রেজ-জাতীয় কৌশল সমর্থন করে না, অন্যদিকে জাভাস্ক্রিপ্ট সহজেই কাজটি করতে পারে।
তাছাড়া, জাভাস্ক্রিপ্ট ভিজ্যুয়াল ভাষার তুলনায় আরও সংক্ষিপ্ত এবং মার্জিত। উদাহরণস্বরূপ, জাভাস্ক্রিপ্টে একটি ভিজ্যুয়াল ভাষার ১০ লাইন কোড ৫ লাইনে লেখা যায়। কিছু দিক থেকে, ভিজ্যুয়াল ভাষা জাভাস্ক্রিপ্টের একটি টেক্সট সংস্করণ মাত্র, এবং এর কোডের এক্সিকিউশন এবং লজিক প্রায় জাভাস্ক্রিপ্টের মতোই। আপনি যদি ভিজ্যুয়াল ভাষা শিখেন, তাহলে জাভাস্ক্রিপ্ট শেখা খুব সহজ হবে।
জাভাস্ক্রিপ্টের ভূমিকা
জাভাস্ক্রিপ্ট একটি আনুষ্ঠানিক উচ্চ-স্তরের প্রোগ্রামিং ভাষা। এটি প্রোগ্রামিং শেখার জন্য একটি প্রাথমিক ভাষা হিসেবে এবং দৈনন্দিন উন্নয়নের জন্য একটি কার্যকরী ভাষা হিসেবেও উপযুক্ত। এটি বর্তমানে সবচেয়ে প্রতিশ্রুতিশীল এবং সম্ভাবনাময় কম্পিউটার ভাষাগুলির মধ্যে একটি, এবং ব্রাউজারের দিক থেকে এটি এখনও একটি অটল প্রভাবশালী অবস্থানে রয়েছে। যদিও এটি ওয়েব পৃষ্ঠা তৈরির জন্য বিখ্যাত, এটি অনেক নন-ব্রাউজার পরিবেশেও ব্যবহৃত হয়, যেমন সার্ভার, পিসি, মোবাইল ডিভাইস ইত্যাদি। অবশ্যই, এটি পরিমাণগত ট্রেডিংও করতে পারে!
সম্পূর্ণ কৌশল
এই বিভাগের মূল জ্ঞান দ্রুত বুঝতে সাহায্য করার জন্য, উদ্ভাবকের কোয়ান্টাইজড জাভাস্ক্রিপ্ট ভাষার দ্রুত ভূমিকা উপস্থাপন করার আগে, আপনার প্রথমে এই বিভাগের ধারণাগুলি সম্পর্কে প্রাথমিক ধারণা থাকা উচিত। উদাহরণ হিসেবে সবচেয়ে সহজ ডাবল মুভিং এভারেজ কৌশলটি নেওয়া যাক:
লং পজিশন ওপেনিং: যদি কোন বর্তমান অবস্থান না থাকে এবং ৫-পিরিয়ড মুভিং এভারেজ ২০-পিরিয়ড মুভিং এভারেজের চেয়ে বেশি হয়।
একটি সংক্ষিপ্ত অবস্থান খুলুন: যদি কোন বর্তমান অবস্থান না থাকে এবং ৫-পিরিয়ড মুভিং এভারেজ ২০-পিরিয়ড মুভিং এভারেজের চেয়ে কম হয়।
দীর্ঘ পজিশন ক্লোজিং: যদি আপনি বর্তমানে একটি দীর্ঘ পজিশন ধরে থাকেন এবং ৫-পিরিয়ড মুভিং এভারেজ ২০-পিরিয়ড মুভিং এভারেজের চেয়ে কম হয়।
শর্ট পজিশন ক্লোজিং: যদি আপনি বর্তমানে একটি সংক্ষিপ্ত অবস্থান ধরে থাকেন এবং ৫-পিরিয়ড মুভিং এভারেজ ২০-পিরিয়ড মুভিং এভারেজের চেয়ে বেশি হয়।
যদি জাভাস্ক্রিপ্টে লেখা হয়, তাহলে এটি দেখতে এরকম হবে:

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

চিত্র ৪-২
মন্তব্য
মন্তব্যের মধ্যে রয়েছে একক-লাইন মন্তব্য এবং ব্লক-স্তরের মন্তব্য। একক-লাইনের মন্তব্য দুটি স্ল্যাশ দিয়ে শুরু হয় এবং ব্লক মন্তব্যগুলি একটি স্ল্যাশ এবং একটি তারকাচিহ্ন দিয়ে শুরু হয় (/) এবং একটি তারকাচিহ্ন এবং একটি স্ল্যাশ দিয়ে শেষ হয় (/) নিচে দেখানো হয়েছে:

চিত্র ৪-৩
বিবৃতি
প্রতিটি বিবৃতি একটি সেমিকোলন দিয়ে শেষ হয়; যদিও এটি বাধ্যতামূলক নয়, আমরা আপনাকে এটি কখনই বাদ দেওয়ার পরামর্শ দিচ্ছি। সেমিকোলন যোগ করলে কিছু ক্ষেত্রে কোডের কর্মক্ষমতা বৃদ্ধি পেতে পারে, যেমনটি নিম্নলিখিত চিত্রে দেখানো হয়েছে:

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

চিত্র ৪-৫
তথ্য
জাভাস্ক্রিপ্টে মোট ৫টি ডেটা টাইপ আছে, যথা: অনির্ধারিত, নাল, বুলিয়ান, সংখ্যা এবং স্ট্রিং, যেমনটি নিম্নলিখিত চিত্রে দেখানো হয়েছে:

চিত্র ৪-৬
অনির্ধারিতের শুধুমাত্র একটি মান আছে, বিশেষ "অনির্ধারিত", যা এমন একটি মানকে প্রতিনিধিত্ব করে যা এখনও সেট করা হয়নি। উদাহরণস্বরূপ, যদি আমরা কেবল একটি চলক সংজ্ঞায়িত করি এবং এর জন্য একটি মান নির্ধারণ না করি, তাহলে চলকের মান "অনির্ধারিত" হবে।
Null-এর শুধুমাত্র একটি মান আছে, বিশেষ "null", যা এমন একটি মানকে প্রতিনিধিত্ব করে যা খালিতে সেট করা আছে। উদাহরণস্বরূপ, যদি আমরা প্রথমে একটি ভেরিয়েবল তৈরি করি এবং তারপর ভেরিয়েবলের মান "নাল" তে সেট করি, তাহলে ভেরিয়েবল দ্বারা প্রদত্ত মান "নাল" হবে।
বুলিয়ানের দুটি মান আছে, "true" এবং "false"। "true" সত্যকে নির্দেশ করে এবং "false" মিথ্যাকে নির্দেশ করে। মনে রাখবেন যে "true" এবং "false" উভয়ই ছোট হাতের অক্ষর।
সংখ্যা হল সংখ্যার ধরণ, যার মধ্যে রয়েছে: ধনাত্মক সংখ্যা, ঋণাত্মক সংখ্যা, পূর্ণসংখ্যা, দশমিক ইত্যাদি। এছাড়াও, "NaN" হল একটি বিশেষ সংখ্যা যা নির্দিষ্টভাবে সেই পরিস্থিতি নির্দেশ করে যেখানে কোনও মান ফেরত দেওয়া হয় না, উদাহরণস্বরূপ: 1 কে 0 দিয়ে ভাগ করলে "NaN" ফেরত পাওয়া যায়।
আপনি String কে টেক্সট হিসেবে বুঝতে পারবেন, যার মধ্যে চাইনিজ এবং ইংরেজি অন্তর্ভুক্ত, এবং আপনি একক উদ্ধৃতি বা দ্বিগুণ উদ্ধৃতি ব্যবহার করে একটি স্ট্রিং তৈরি করতে পারেন। উদাহরণস্বরূপ: "fmz" বা "উদ্ভাবক কোয়ান্টাইজেশন"।
বিষয়
আপনি একটি বস্তুকে বিভিন্ন ডেটা সংরক্ষণের জন্য একটি ধারক হিসাবে ভাবতে পারেন, যেখানে বৈশিষ্ট্য এবং মান একে অপরের সাথে সঙ্গতিপূর্ণ। আপনি প্রথমে নতুন অপারেটরের মাধ্যমে এই কন্টেইনারটি তৈরি করতে পারেন। আপনি তৈরি বস্তুতে বৈশিষ্ট্য এবং পদ্ধতি যোগ করতে পারেন, যেমনটি নিম্নলিখিত চিত্রে দেখানো হয়েছে:

চিত্র ৪-৭
গ্রুপ
একটি অ্যারেও বিভিন্ন ডেটা সংরক্ষণের জন্য একটি ধারক, তবে ধারকটির উপাদানগুলি বাম থেকে ডানে সাজানো থাকে। প্রথম উপাদানটি 0, দ্বিতীয় উপাদানটি 1, ইত্যাদি। এছাড়াও, জাভাস্ক্রিপ্ট অ্যারে যেকোনো ডেটা টাইপ সংরক্ষণ করতে পারে, যেমনটি নীচে দেখানো হয়েছে:

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

চিত্র ৪-৯
অপারেটর
জাভাস্ক্রিপ্টের বিভিন্ন অপারেটর রয়েছে, যেমন গাণিতিক অপারেটর, তুলনা অপারেটর এবং লজিক্যাল অপারেটর। এর মধ্যে, গাণিতিক অপারেটর হল যোগ, বিয়োগ, গুণ এবং ভাগের গাণিতিক ক্রিয়াকলাপ। তুলনামূলক অপারেটররা দুটি মান কম বা কম কিনা তা তুলনা করতে পারে। প্রধান লজিক্যাল অপারেটরগুলি হল: লজিক্যাল AND, লজিক্যাল OR, এবং লজিক্যাল NOT। নিচের চিত্রে দেখানো হয়েছে:

চিত্র ৪-১০
এটি লক্ষ করা উচিত যে: "&&" একটি যৌক্তিক AND, যার অর্থ "এবং"। “||” হল একটি লজিক্যাল OR, যার অর্থ “অথবা”। "!" হল একটি যৌক্তিক অস্বীকার, যার অর্থ "না":
“&&” এর অর্থ হল যখন সমস্ত শর্ত “সত্য” হবে, তখন চূড়ান্ত শর্তটি “সত্য” হবে;
“||” এর অর্থ হল সকল শর্তের মধ্যে, যতক্ষণ পর্যন্ত তাদের যেকোনো একটি “সত্য” থাকে, ততক্ষণ পর্যন্ত চূড়ান্ত শর্তটি “সত্য” হবে।
অগ্রাধিকার
যদি ১০০ থাকে*(10-1)/(10+5) রাশির জন্য, প্রোগ্রামটি প্রথমে কোন ধাপ গণনা করে? মাধ্যমিক বিদ্যালয়ের গণিত আমাদের বলে: ① যদি এটি একই স্তরের একটি ক্রিয়াকলাপ হয়, তবে এটি সাধারণত বাম থেকে ডানে গণনা করা হয়। ② যদি যোগ এবং বিয়োগ উভয়ই থাকে, পাশাপাশি গুণ এবং ভাগও থাকে, তাহলে প্রথমে গুণ এবং ভাগ গণনা করুন, তারপর যোগ এবং বিয়োগ। ③যদি বন্ধনী থাকে, তাহলে প্রথমে বন্ধনীর বিষয়বস্তু গণনা করুন। ④ যদি এটি অপারেশন আইনের সাথে সঙ্গতিপূর্ণ হয়, তাহলে গণনা সহজ করার জন্য অপারেশন আইন ব্যবহার করা যেতে পারে। জাভাস্ক্রিপ্ট ভাষার অগ্রাধিকারের ক্ষেত্রেও একই কথা প্রযোজ্য, যেমনটি নীচে দেখানো হয়েছে:

চিত্র ৪-১১
শর্তসাপেক্ষ বিবৃতি
প্রায়শই কোড লেখার সময়, বিভিন্ন সিদ্ধান্তের জন্য আপনাকে বিভিন্ন ক্রিয়া সম্পাদন করতে হবে। এই কাজটি সম্পন্ন করার জন্য আপনি আপনার কোডে শর্তসাপেক্ষ বিবৃতি ব্যবহার করতে পারেন। জাভাস্ক্রিপ্টে, আমরা নিম্নলিখিত শর্তসাপেক্ষ বিবৃতি ব্যবহার করতে পারি:
if স্টেটমেন্ট - নির্দিষ্ট শর্ত সত্য হলেই কোডটি কার্যকর করতে এই স্টেটমেন্টটি ব্যবহার করুন।
if...else স্টেটমেন্ট - যদি একটি শর্ত সত্য হয় তবে কোড কার্যকর করে এবং যদি শর্তটি মিথ্যা হয় তবে অন্য কোড কার্যকর করে
if...else if....else স্টেটমেন্ট - একাধিক কোড ব্লকের মধ্যে একটি নির্বাচন করতে এই স্টেটমেন্টটি ব্যবহার করুন।
সুইচ স্টেটমেন্ট - এই স্টেটমেন্টটি ব্যবহার করে বেশ কয়েকটি কোড ব্লকের মধ্যে একটি নির্বাচন করুন যা কার্যকর করা হবে।
যদি বিবৃতি
এই স্টেটমেন্টটি শুধুমাত্র তখনই কোড এক্সিকিউট করে যখন একটি নির্দিষ্ট শর্ত সত্য হয়। যদি থাকে তাহলে ছোট হাতের অক্ষর ব্যবহার করুন। বড় হাতের অক্ষর (IF) ব্যবহার করলে জাভাস্ক্রিপ্টের ত্রুটি তৈরি হবে! নিচের চিত্রে দেখানো হয়েছে:

চিত্র ৪-১২#
যদি...অন্যথায় বিবৃতি
যখন শর্তটি সত্য হয়, তখন কোডটি কার্যকর হয়, এবং যখন শর্তটি মিথ্যা হয়, তখন অন্য কোডটি কার্যকর হয়, যেমনটি নিম্নলিখিত চিত্রে দেখানো হয়েছে:

চিত্র ৪-১৩
লুপের জন্য
কখনও কখনও আমাদের গত কয়েক দিনের K-লাইন ডেটা সংগ্রহ করতে হয়, এবং K-লাইন ডেটার অবস্থান অনুসারে ক্রমানুসারে K-লাইন অ্যারে থেকে এটি সংগ্রহ করতে হয়। তারপর নিচের চিত্রে দেখানো হিসাবে একটি for লুপ ব্যবহার করা খুবই সুবিধাজনক:

চিত্র ৪-১৪
লুপ চলাকালীন
আমরা সকলেই জানি যে বাজার ক্রমাগত পরিবর্তনশীল। আপনি যদি সর্বশেষ K-লাইন অ্যারে পেতে চান, তাহলে আপনাকে একই কোড বারবার চালাতে হবে। তারপর whilex লুপ ব্যবহার করুন। যতক্ষণ পর্যন্ত নির্দিষ্ট শর্তটি সত্য থাকে, লুপটি সর্বদা সর্বশেষ K-লাইন অ্যারে পেতে পারে।

চিত্র ৪-১৫
ব্রেক স্টেটমেন্ট এবং কন্টিনিউ স্টেটমেন্ট
লুপের একটি পূর্বশর্ত আছে। পূর্বশর্ত "সত্য" হলেই লুপটি বারবার কিছু করতে শুরু করবে এবং পূর্বশর্ত "মিথ্যা" না হওয়া পর্যন্ত লুপটি শেষ হবে না। তবে, লুপ কার্যকর করার সময় ব্রেক স্টেটমেন্টটি তাৎক্ষণিকভাবে লুপ থেকে বেরিয়ে আসতে পারে; continue স্টেটমেন্ট একটি নির্দিষ্ট লুপকে বাধাগ্রস্ত করতে পারে এবং তারপরে পরবর্তী লুপটি চালিয়ে যেতে পারে। নিচের চিত্রে দেখানো হয়েছে:

চিত্র ৪-১৬
রিটার্ন স্টেটমেন্ট
রিটার্ন স্টেটমেন্ট একটি ফাংশনের এক্সিকিউশন বন্ধ করে এবং ফাংশনের মান প্রদান করে। রিটার্ন স্টেটমেন্ট শুধুমাত্র একটি ফাংশন বডিতে প্রদর্শিত হতে পারে। যদি এটি কোডের অন্য কোথাও প্রদর্শিত হয়, তাহলে এটি একটি সিনট্যাক্স ত্রুটির কারণ হবে!

চিত্র ৪-১৭
সিটিএ কৌশল কাঠামো
Inventor Quantitative Tool-এ, জাভাস্ক্রিপ্টে কৌশল লেখা খুবই সুবিধাজনক। অফিসিয়ালটিতে স্ট্যান্ডার্ড কৌশল কাঠামোর একটি সেট তৈরি করা হয়েছে, যা নিম্নলিখিত চিত্রে দেখানো হয়েছে:

চিত্র ৪-১৮
উপরের কোডে যেমন দেখানো হয়েছে, এটি একটি স্ট্যান্ডার্ড স্ট্র্যাটেজি ফ্রেমওয়ার্ক। "কমোডিটি ফিউচার প্রোডাক্ট কোড" যা পরিবর্তন করা যেতে পারে তা ছাড়া, বাকি সবকিছুই একটি নির্দিষ্ট ফর্ম্যাটে। স্ট্র্যাটেজি লেখার জন্য ফ্রেমওয়ার্ক ব্যবহার করার সবচেয়ে বড় সুবিধা হল আপনাকে কেবল স্ট্র্যাটেজি লজিক লিখতে হবে। বাজার অধিগ্রহণ, অর্ডার প্রক্রিয়াকরণ ইত্যাদির মতো অন্যান্য সমস্যাগুলি ফ্রেমওয়ার্ক দ্বারা পরিচালিত হয়। এটি আপনাকে কৌশল বিকাশে মনোনিবেশ করতে দেয়।
সারসংক্ষেপ
উপরে জাভাস্ক্রিপ্ট ভাষার একটি সংক্ষিপ্ত ভূমিকা দেওয়া হল। এটি শেখার পর, আপনি পরিমাণগত ট্রেডিং কৌশল প্রোগ্রাম করতে পারেন। যদি আপনার আরও জটিল কৌশল লেখার প্রয়োজন হয়, তাহলে আপনি Inventor Quantitative Tool-এর JavaScript ল্যাঙ্গুয়েজ API ডকুমেন্টেশন দেখতে পারেন।
পরবর্তী বিভাগের পূর্বরূপ
ডে ট্রেডিংও একটি ট্রেডিং মডেল। এই পদ্ধতিতে রাতারাতি পজিশন ধরে রাখা হয় না, তাই বাজারের অস্থিরতার ঝুঁকি কম থাকে। প্রতিকূল বাজার পরিস্থিতি দেখা দিলে, সময়মতো সমন্বয় করা যেতে পারে। এই বিভাগে জাভাস্ক্রিপ্ট ভাষা শেখার পর, পরবর্তী বিভাগে আমরা আপনাকে দেখাবো কিভাবে একটি সম্ভাব্য ইন্ট্রাডে পরিমাণগত ট্রেডিং কৌশল লিখতে হয়।
বাড়ির কাজ
১. ঐতিহাসিক কে-লাইন ডেটা পেতে ইনভেনটর কোয়ান্টিটেটিভ টুলে জাভাস্ক্রিপ্ট ভাষা ব্যবহার করার চেষ্টা করুন।
2. এই বিভাগের শুরুতে কৌশল কোডটি লিখে মন্তব্য যোগ করার চেষ্টা করুন।
৪.২ জাভাস্ক্রিপ্ট ভাষা ব্যবহার করে কৌশলগত ট্রেডিং কীভাবে বাস্তবায়ন করবেন
সারাংশ
পূর্ববর্তী প্রবন্ধে, আমরা জাভাস্ক্রিপ্ট ভাষা পরিচিতি, মৌলিক বাক্য গঠন, CTA কৌশল কাঠামো ইত্যাদি দিক থেকে ট্রেডিং কৌশল বাস্তবায়নের পূর্বশর্তগুলি ব্যাখ্যা করেছি। এই প্রবন্ধে, আমরা পূর্ববর্তী প্রবন্ধের বিষয়বস্তু চালিয়ে যাব এবং সাধারণভাবে ব্যবহৃত কৌশল মডিউল এবং প্রযুক্তিগত সূচকগুলি থেকে ধাপে ধাপে একটি সম্ভাব্য ইন্ট্রাডে পরিমাণগত ট্রেডিং কৌশল বাস্তবায়নে আপনাকে সহায়তা করব।
কৌশল ভূমিকা
বলিঙ্গার ব্যান্ডগুলিকে বলিঙ্গার চ্যানেলও বলা হয়, ইংরেজিতে সংক্ষেপে BOLL। এটি সর্বাধিক ব্যবহৃত প্রযুক্তিগত সূচকগুলির মধ্যে একটি এবং 1980-এর দশকে জন বলিঙ্গার এটি আবিষ্কার করেছিলেন। তত্ত্বগতভাবে, মূল্য সর্বদা একটি নির্দিষ্ট সীমার মধ্যে ওঠানামা করে। এই তাত্ত্বিক ভিত্তির উপর ভিত্তি করে, বলিঙ্গার ব্যান্ড "মূল্য চ্যানেল" ধারণাটি চালু করে।
গণনা পদ্ধতি হল পরিসংখ্যানগত নীতি ব্যবহার করে প্রথমে নির্দিষ্ট সময়ের মধ্যে মূল্যের "মানক বিচ্যুতি" গণনা করা, এবং তারপর মূল্যের "আত্মবিশ্বাস ব্যবধান" খুঁজে বের করার জন্য চলমান গড় থেকে মানক বিচ্যুতির 2 গুণ যোগ/বিয়োগ করা। এর মূল রূপ হল একটি স্ট্রিপ চ্যানেল যা তিনটি ট্র্যাক লাইন (মাঝারি ট্র্যাক, উপরের ট্র্যাক এবং নিম্ন ট্র্যাক) দ্বারা গঠিত। মাঝের ট্র্যাকটি হল দামের গড় খরচ, এবং উপরের এবং নীচের ট্র্যাকগুলি যথাক্রমে দামের চাপ রেখা এবং সমর্থন রেখাকে প্রতিনিধিত্ব করে।
স্ট্যান্ডার্ড ডেভিয়েশনের ধারণা গ্রহণের কারণে, বলিঙ্গার ব্যান্ডের প্রস্থ সাম্প্রতিক মূল্যের ওঠানামা অনুসারে গতিশীলভাবে সামঞ্জস্য করা হবে। যখন অস্থিরতা কম থাকে, তখন বলিঙ্গার ব্যান্ডগুলি সংকুচিত হয়ে যায়; যখন অস্থিরতা বেশি থাকে, তখন বলিঙ্গার ব্যান্ডগুলি প্রশস্ত হয়। যখন BOLL চ্যানেল সংকুচিত হয়ে যায়, তখন এর অর্থ হল দাম ধীরে ধীরে গড়ের দিকে ফিরে আসছে। যখন BOLL চ্যানেলটি সংকীর্ণ থেকে প্রশস্তে পরিবর্তিত হয়, তখন এর অর্থ হল বাজার পরিবর্তন হতে শুরু করে। যদি দাম উপরের ট্র্যাক অতিক্রম করে, তাহলে এটি নির্দেশ করে যে ক্রয় ক্ষমতা বৃদ্ধি পেয়েছে। যদি দাম নিম্ন ট্র্যাক অতিক্রম করে, তাহলে এটি নির্দেশ করে যে বিক্রয় ক্ষমতা বৃদ্ধি পেয়েছে।
বলিঙ্গার ব্যান্ড সূচক গণনা পদ্ধতি
সকল প্রযুক্তিগত সূচকের মধ্যে, বলিঙ্গার ব্যান্ডের গণনা পদ্ধতিটি সবচেয়ে জটিল, যা পরিসংখ্যানে স্ট্যান্ডার্ড ডেভিয়েশনের ধারণাটি প্রবর্তন করে এবং এতে মধ্যম রেখা (MB), উপরের রেখা (UP) এবং নিম্ন রেখা (DN) গণনা জড়িত। গণনা পদ্ধতিটি নিম্নরূপ:
মাঝের ট্র্যাক = N সময়কাল ধরে সরল চলমান গড়
উপরের ট্র্যাক = মধ্যবর্তী ট্র্যাক + K × N সময়কালের আদর্শ বিচ্যুতি
নিম্ন রেল = মধ্যম ট্র্যাক - K × N সময়কালের আদর্শ বিচ্যুতি

চিত্র ৪-১৯
কৌশল যুক্তি
বলিঙ্গার ব্যান্ড ব্যবহার করার অনেক উপায় আছে। এগুলি একা বা অন্যান্য সূচকের সাথে একত্রে ব্যবহার করা যেতে পারে। এই টিউটোরিয়ালে আমরা বলিঙ্গার ব্যান্ড ব্যবহারের সবচেয়ে সহজ পদ্ধতি ব্যবহার করব। অর্থাৎ: যখন দাম নিচ থেকে উপরে উপরের ট্র্যাক ভেঙে যায়, অর্থাৎ উপরের চাপ রেখা ভেঙে যায়, তখন আমরা বিশ্বাস করি যে বুলিশ বল শক্তিশালী হচ্ছে, ক্রমবর্ধমান বাজারের একটি তরঙ্গ তৈরি হয়েছে এবং একটি ক্রয় খোলার সংকেত তৈরি হয়েছে; যখন দাম উপর থেকে নীচের ট্র্যাকের নীচে নেমে যায়, অর্থাৎ সমর্থন রেখার নীচে নেমে যায়, তখন আমরা বিশ্বাস করি যে বিয়ারিশ বল শক্তিশালী হচ্ছে, পতনের প্রবণতার একটি তরঙ্গ তৈরি হয়েছে এবং একটি বিক্রয় খোলার সংকেত তৈরি হয়েছে।

চিত্র ৪-২০
যদি একটি ক্রয় অবস্থান খোলার পর, দাম আবার বলিঙ্গার ব্যান্ডের মধ্যবর্তী ট্র্যাকে ফিরে আসে, তাহলে আমরা বিশ্বাস করি যে বুলিশ বল দুর্বল হচ্ছে, অথবা বিয়ারিশ বল শক্তিশালী হচ্ছে, এবং একটি বিক্রয়-সমাপ্তি সংকেত তৈরি হচ্ছে; যদি একটি বিক্রয় অবস্থান খোলার পর, দাম আবার বলিঙ্গার ব্যান্ডের মধ্যবর্তী ট্র্যাকে ফিরে আসে, তাহলে আমরা বিশ্বাস করি যে বিয়ারিশ বল দুর্বল হচ্ছে, অথবা বুলিশ বল শক্তিশালী হচ্ছে, এবং একটি ক্রয়-সমাপ্তি সংকেত তৈরি হচ্ছে।
ক্রয় এবং বিক্রয় শর্তাবলী
লং পজিশন ওপেনিং: যদি কোন পজিশন না থাকে, এবং ক্লোজিং প্রাইস উপরের ট্র্যাকের চেয়ে বেশি হয়, এবং সময় ১৪:৪৫ না হয়
একটি সংক্ষিপ্ত অবস্থান খুলুন: যদি কোন পজিশন না থাকে, এবং ক্লোজিং প্রাইস নিম্ন ট্র্যাকের চেয়ে কম হয়, এবং সময় ১৪:৪৫ না হয়
দীর্ঘ পজিশন ক্লোজিং: যদি আপনি দীর্ঘ অর্ডার ধরে থাকেন, এবং সমাপনী মূল্য মধ্যম ট্র্যাকের চেয়ে কম হয়, অথবা সময় 14:45 হয়
শর্ট পজিশন ক্লোজিং: যদি আপনি একটি সংক্ষিপ্ত অর্ডার ধরে থাকেন, এবং সমাপনী মূল্য মধ্যম ট্র্যাকের চেয়ে বেশি হয়, অথবা সময় 14:45 হয়
কৌশল কোড বাস্তবায়ন
একটি কৌশল বাস্তবায়নের জন্য, আমাদের প্রথমে বিবেচনা করতে হবে যে আমাদের কোন তথ্যের প্রয়োজন? কোন API এর মাধ্যমে এটি পেতে হবে? তাহলে লেনদেনের যুক্তি কীভাবে গণনা করবেন? অবশেষে, অর্ডার দেওয়ার এবং ট্রেড করার জন্য কোন পদ্ধতি ব্যবহার করা হয়? এরপর, ধাপে ধাপে এটি বাস্তবায়ন করা যাক:
ধাপ ১: CTA কৌশল কাঠামো ব্যবহার করুন
তথাকথিত CTA কৌশল কাঠামো হল একটি স্ট্যান্ডার্ড কাঠামো যা আনুষ্ঠানিকভাবে Inventor Quantitative দ্বারা চালু করা হয়েছে। এই কাঠামো ব্যবহার করে, আপনাকে পরিমাণগত ট্রেডিং কৌশল বিকাশের তুচ্ছ বিষয়গুলি নিয়ে চিন্তা করতে হবে না এবং সরাসরি প্রোগ্রামিং ট্রেডিং লজিকের উপর মনোযোগ দিতে পারেন। উদাহরণস্বরূপ, যদি আপনি এই কাঠামোটি ব্যবহার না করেন, তাহলে অর্ডার দেওয়ার সময়, আপনাকে মাস-থেকে-মাস স্থানান্তর, অর্ডার ক্রয়-বিক্রয় মূল্য, অর্ডার বাতিলকরণ বা অর্ডার কার্যকর না হলে ফলো-আপ ইত্যাদি বিবেচনা করতে হবে।

চিত্র ৪-২১
উপরের ছবিটি উদ্ভাবকের পরিমাণগত সরঞ্জাম ব্যবহার করে CTA কৌশল কাঠামো। এটি একটি নির্দিষ্ট কোড ফর্ম্যাট, এবং সমস্ত লেনদেন লজিক কোড লাইন 3 থেকে শুরু করে লেখা হয়। ব্যবহারের সময়, ভ্যারাইটি কোড (হালকা হলুদ) ছাড়া অন্য কোনও পরিবর্তনের প্রয়োজন নেই।
এটি লক্ষ করা উচিত যে উপরের চিত্রে পণ্য কোডটি "rb000/rb888", যার অর্থ হল সিগন্যাল ডেটা "rb000" ব্যবহার করে, লেনদেনের ডেটা "rb888" ব্যবহার করে এবং মাস পরিবর্তন স্বয়ংক্রিয়ভাবে হয়। অবশ্যই, আপনি একটি নির্দিষ্ট পণ্য কোডও নির্দিষ্ট করতে পারেন, যেমন পণ্য কোড "rb1910", যার অর্থ সিগন্যাল ডেটা এবং লেনদেন ডেটা উভয়ই "rb1910" ব্যবহার করে।
FMZ-এর একটি অন্তর্নির্মিত জাভাস্ক্রিপ্ট কমোডিটি ফিউচার ট্রেডিং লাইব্রেরি রয়েছে। আপনি কৌশল সম্পাদনা ইন্টারফেসের রেফারেন্সে ক্লিক করে আপনার কোডে এটি ব্যবহার করতে পারেন:

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

চিত্র ৪-২২
উপরের ছবিতে দেখানো হয়েছে:
লাইন ৪: K-লাইন অ্যারেটি পান, যা একটি নির্দিষ্ট বিন্যাস।
লাইন ৫: K-লাইনের দৈর্ঘ্য ফিল্টার করুন, কারণ বলিঙ্গার ব্যান্ড সূচক গণনা করার জন্য আমরা যে প্যারামিটারটি ব্যবহার করি তা হল 20। যখন K-লাইন 20 এর কম হয়, তখন বলিঙ্গার ব্যান্ড সূচক গণনা করা যায় না। অতএব, আমাদের এখানে K-লাইনের দৈর্ঘ্য ফিল্টার করতে হবে। যদি 20 টিরও কম K-লাইন থাকে, তাহলে আমরা সরাসরি ফিরে আসব এবং পরবর্তী K-লাইনের জন্য অপেক্ষা করতে থাকব।
লাইন ৬: প্রাপ্ত K-লাইন অ্যারে থেকে, প্রথমে পূর্ববর্তী K-লাইনের বস্তুটি পান, এবং তারপর বস্তু থেকে সমাপনী মূল্য পান। একটি অ্যারের দ্বিতীয় থেকে শেষ উপাদানটি পান, যা অ্যারের দৈর্ঘ্য বিয়োগ 2 (r)।[r.length - 2]); K-লাইন অ্যারের উপাদানগুলি হল সমস্ত বস্তু, যার মধ্যে খোলার মূল্য, সর্বোচ্চ মূল্য, সর্বনিম্ন মূল্য, সমাপনী মূল্য, ট্রেডিং ভলিউম এবং সময় থাকে। সমাপনী মূল্য পেতে, কেবল "." এবং শেষে বৈশিষ্ট্যের নাম (r) যোগ করুন।[r.length - 2].Close)。
কে-লাইন টাইম ডেটা পান
যেহেতু আমরা একটি ইন্ট্রাডে কৌশল ব্যবহার করছি, তাই বাজার বন্ধ হওয়ার আগে আমাদের পজিশনটি বন্ধ করতে হবে, তাই আমাদের নির্ধারণ করতে হবে যে বর্তমান K-লাইনটি বাজার বন্ধের কাছাকাছি কিনা। যদি তা হয়, তাহলে আমরা পজিশনটি বন্ধ করব। যদি তা না হয়, তাহলে আমরা পজিশনটি খুলতে পারি। কোডটি নিম্নরূপ:

চিত্র ৪-২৩
উপরের ছবিতে দেখানো হয়েছে:
লাইন ৮: বর্তমান K-লাইনের টাইমস্ট্যাম্প অ্যাট্রিবিউট পান, এবং তারপর একটি টাইম অবজেক্ট তৈরি করুন (নতুন তারিখ(টাইমস্ট্যাম্প))।
লাইন ৯: সময় বস্তুর উপর ভিত্তি করে ঘন্টা এবং মিনিট গণনা করুন এবং K-লাইনের সময় ১৪:৪৫ কিনা তা নির্ধারণ করুন।
অবস্থানের তথ্য পান
পরিমাণগত ট্রেডিং কৌশলের ক্ষেত্রে অবস্থানের তথ্য একটি অত্যন্ত গুরুত্বপূর্ণ শর্ত। ট্রেডিং শর্ত পূরণ হলে, অবস্থানের অবস্থা এবং অবস্থানের সংখ্যার উপর ভিত্তি করে অর্ডার দেওয়া হবে কিনা তা নির্ধারণ করাও প্রয়োজন। উদাহরণস্বরূপ: যখন একটি ক্রয় অবস্থান খোলার শর্ত পূরণ হয়, যদি আপনার একটি অবস্থান থাকে, তাহলে আপনাকে আবার অর্ডার দেওয়ার প্রয়োজন নেই; যদি আপনার কোনও অবস্থান না থাকে, তাহলে আপনি একটি অর্ডার দিতে পারেন। কোডে এটি দেখতে এরকম দেখাচ্ছে:

চিত্র ৪-২৪
উপরের ছবিতে দেখানো হয়েছে:
লাইন ১১: বর্তমান অবস্থানের অবস্থা পান। যদি একাধিক অর্ডার থাকে, তাহলে মান ১ হবে; যদি ছোট অর্ডার থাকে, তাহলে মান -১ হবে; যদি কোনও পজিশন না থাকে, তাহলে মান ০ হবে।
বলিঙ্গার ব্যান্ডের তথ্য পান
এরপর, আপনাকে বলিঙ্গার ব্যান্ড সূচকের উপরের, মধ্যম এবং নিম্ন ট্র্যাকের মান গণনা করতে হবে। তারপর আপনাকে প্রথমে বলিঙ্গার ব্যান্ডস অ্যারে পেতে হবে, এবং তারপর অ্যারে থেকে উপরের, মধ্যম এবং নিম্ন ব্যান্ডের মান পেতে হবে। ইনভেনটর কোয়ান্টিটেটিভ টুলে, বলিঙ্গার ব্যান্ড অ্যারে পাওয়া খুবই সহজ। আপনি সরাসরি বলিঙ্গার ব্যান্ড API কল করতে পারেন। কঠিন অংশ হল উপরের, মধ্যম এবং নিম্ন ট্র্যাকের মান পাওয়া, কারণ বলিঙ্গার ব্যান্ড অ্যারে একটি দ্বি-মাত্রিক অ্যারে।
দ্বি-মাত্রিক অ্যারে আসলে বোঝা খুবই সহজ। এটি একটি অ্যারের মধ্যে একটি অ্যারে। তাই অর্জনের ক্রম হল: প্রথমে অ্যারেতে নির্দিষ্ট অ্যারেটি পান, এবং তারপর নির্দিষ্ট অ্যারে থেকে নির্দিষ্ট উপাদানটি পান, যেমনটি নিম্নলিখিত চিত্রে দেখানো হয়েছে:

চিত্র ৪-২৫
নিচের চিত্রে দেখানো হয়েছে, ১৩ থেকে ১৯ নম্বর লাইনে বলিঙ্গার ব্যান্ডের উপরের, মধ্যম এবং নিম্ন রেলের মান পেতে কোড ব্যবহার করা হয়েছে। এর মধ্যে, লাইন ১৩ সরাসরি উদ্ভাবকের পরিমাণগত টুলের API ব্যবহার করে সরাসরি বলিঙ্গার ব্যান্ড অ্যারে প্রাপ্ত করে; লাইন ১৪ থেকে ১৬ প্রথমে দ্বি-মাত্রিক অ্যারেতে যথাক্রমে উপরের রেল অ্যারে, মধ্য রেল অ্যারে এবং নিম্ন রেল অ্যারে প্রাপ্ত করে; লাইন ১৭ থেকে ১৯ যথাক্রমে উপরের রেল অ্যারে, মধ্য রেল অ্যারে এবং নিম্ন রেল অ্যারে থেকে পূর্ববর্তী K-লাইনের বলিঙ্গার ব্যান্ড উপরের রেল, মধ্য রেল এবং নিম্ন রেল মান প্রাপ্ত করে।

চিত্র ৪-২৬
ধাপ ৩: অর্ডার দিন
উপরের তথ্য দিয়ে, আপনি ট্রেডিং লজিক এবং অর্ডার দেওয়ার কোড লিখতে পারেন। এর ফর্ম্যাটটিও খুবই সহজ। সবচেয়ে বেশি ব্যবহৃত হল "if statement", যাকে শব্দে বর্ণনা করা যেতে পারে: যদি শর্ত ১ এবং শর্ত ২ পূরণ হয়, তাহলে একটি অর্ডার দিন; যদি শর্ত ৩ বা শর্ত ৪ পূরণ হয়, তাহলে একটি অর্ডার দিন। নিচের চিত্রে দেখানো হয়েছে:

চিত্র ৪-২৭
উপরের ছবিতে, ২১ থেকে ২৪ নম্বর লাইন হল ট্রেডিং লজিক এবং অর্ডার প্লেসমেন্ট কোড। উপর থেকে নিচ পর্যন্ত এগুলো হল: ক্লোজ লং, ক্লোজ শর্ট, ওপেন লং, ওপেন শর্ট।
একটি লং পজিশন (লাইন ২৩) খোলার উদাহরণ হিসেবে নিলে, এটি একটি "if স্টেটমেন্ট"। যদি এই স্টেটমেন্টে শুধুমাত্র একটি লাইন কোড কার্যকর করা হয়, তাহলে "{}" কোঁকড়া বন্ধনী বাদ দেওয়া যেতে পারে। এই বিবৃতিটি টেক্সটে অনুবাদ করা হয়েছে: যদি বর্তমান অবস্থান 0 হয়, এবং সমাপনী মূল্য উপরের ট্র্যাকের চেয়ে বেশি হয়, এবং K-লাইন সময় 14:45 না হয়, তাহলে "রিটার্ন 1"
সতর্ক ব্যক্তিরা হয়তো দেখতে পাবেন যে এই লাইনগুলিতে "রিটার্ন ১" এবং "রিটার্ন -১" আছে। এটি একটি নির্দিষ্ট বিন্যাস, যার অর্থ: যদি এটি একটি ক্রয় হয়, তাহলে "রিটার্ন ১" লিখুন; যদি এটি একটি বিক্রয় হয়, তাহলে "রিটার্ন -১" লিখুন। একটি লং পজিশন খোলা এবং একটি শর্ট পজিশন বন্ধ করা উভয়ই ক্রয়, তাই লিখুন "রিটার্ন 1"; একটি শর্ট পজিশন খোলা এবং একটি লং পজিশন বন্ধ করা উভয়ই বিক্রয়, তাই লিখুন "রিটার্ন -1"।
সম্পূর্ণ কৌশল কোড
এই মুহুর্তে, একটি সম্পূর্ণ কৌশল কোড লেখা হয়েছে। যদি ট্রেডিং ফ্রেমওয়ার্ক, ট্রেডিং ডেটা, ট্রেডিং লজিক, অর্ডার প্লেসমেন্ট ইত্যাদি আলাদাভাবে লেখা হয়, তাহলে কি এটা খুব সহজ হবে না? এই কৌশলের সম্পূর্ণ কোডটি নিচে দেওয়া হল:

চিত্র ৪-২৮
দুটি বিষয় লক্ষ্যণীয়: কৌশলগত যুক্তি লেখার চেষ্টা করুন (কিন্তু অগত্যা নয়) যাতে মূল K-লাইন শর্ত পূরণ হলে, পরবর্তী K-লাইন ক্রম স্থাপন করা হয়, অথবা পূর্ববর্তী K-লাইন শর্ত পূরণ হলে, মূল K-লাইন ক্রম স্থাপন করা হয়। এইভাবে, ব্যাকটেস্টের ফলাফল প্রকৃত ফলাফল থেকে খুব বেশি আলাদা হবে না। তোমাকে এভাবে লিখতে হবে না, কিন্তু কৌশলগত যুক্তি সঠিক কিনা সেদিকে তোমাকে মনোযোগ দিতে হবে। সাধারণভাবে বলতে গেলে, পজিশন খোলার লজিকের আগে পজিশন বন্ধ করার লজিক লেখা উচিত। এটি করার উদ্দেশ্য হল কৌশলগত লজিককে আপনার প্রত্যাশার সাথে যতটা সম্ভব সামঞ্জস্যপূর্ণ করা। উদাহরণস্বরূপ: যদি কৌশলগত যুক্তি বিপরীত অবস্থানের সাথে মিলিত হয়, তাহলে বিপরীত অবস্থানের নিয়ম হল প্রথমে অবস্থানটি বন্ধ করতে হবে এবং তারপরে একটি নতুন অবস্থান খুলতে হবে। প্রথমে একটি নতুন অবস্থান খোলার এবং তারপর বন্ধ করার পরিবর্তে। যদি আমরা খোলার যুক্তির আগে সরাসরি সমাপনী যুক্তি লিখি, তাহলে এই সমস্যাটি ঘটবে না।
সারসংক্ষেপ
উপরে, আমরা একটি সম্পূর্ণ ইন্ট্রাডে পরিমাণগত ট্রেডিং কৌশল তৈরির প্রতিটি ধাপ শিখেছি, যার মধ্যে রয়েছে: কৌশল ভূমিকা, বলিঙ্গার ব্যান্ড সূচক গণনা পদ্ধতি, কৌশল যুক্তি, ক্রয় এবং বিক্রয় শর্তাবলী, কৌশল কোড বাস্তবায়ন ইত্যাদি। এই কৌশলগত কেসের মাধ্যমে, আপনি কেবল উদ্ভাবকের পরিমাণগত সরঞ্জামের প্রোগ্রামিং পদ্ধতির সাথে পরিচিত হতে পারবেন না, বরং এই টেমপ্লেটের উপর ভিত্তি করে এটিকে বিভিন্ন কৌশলে রূপান্তর করতে পারবেন।
পরিমাণগত ট্রেডিং কৌশলগুলি ব্যক্তিগত ট্রেডিং অভিজ্ঞতা বা সিস্টেমের সারসংক্ষেপ ছাড়া আর কিছুই নয়। আমরা যদি কৌশল লেখার আগে ব্যক্তিগত ট্রেডিংয়ে ব্যবহৃত অভিজ্ঞতা বা সিস্টেমগুলি লিখে রাখি, এবং তারপর সেগুলিকে একের পর এক কোডে অনুবাদ করি, তাহলে আপনি দেখতে পাবেন যে কৌশল লেখা অনেক সহজ হয়ে যাবে। একবার চেষ্টা করে দেখো!
পরবর্তী বিভাগের পূর্বরূপ
পরিমাণগত ট্রেডিং কৌশল তৈরিতে, যদি আপনি কেবল একটি প্রোগ্রামিং ভাষা বেছে নিতে পারেন, তাহলে দ্বিধা ছাড়াই আপনাকে পাইথন বেছে নিতে হবে। ডেটা অর্জন থেকে শুরু করে কৌশল ব্যাকটেস্টিং এবং ট্রেডিং পর্যন্ত, পাইথন পুরো ব্যবসায়িক শৃঙ্খলকে কভার করেছে। আর্থিক পরিমাণগত বিনিয়োগের ক্ষেত্রে এটি একটি গুরুত্বপূর্ণ স্থান দখল করে আছে। পরবর্তী কোর্সে, আমরা পাইথন ভাষার মৌলিক জ্ঞান শিখব।
বাড়ির কাজ
১. এই বিভাগের জ্ঞান ব্যবহার করে একটি ডাবল মুভিং এভারেজ কৌশল বাস্তবায়নের চেষ্টা করুন।
২. ইনভেনটর কোয়ান্টিটেটিভ টুলে জাভাস্ক্রিপ্ট ভাষা ব্যবহার করে KDJ ইন্ডিকেটর অ্যালগরিদম বাস্তবায়নের চেষ্টা করুন।
৪.৩ পাইথন ভাষার দ্রুত ভূমিকা
সারাংশ
পরিমাণগত ট্রেডিং কৌশল তৈরিতে, যদি আপনি কেবল একটি প্রোগ্রামিং ভাষা বেছে নিতে পারেন, তাহলে দ্বিধা ছাড়াই আপনাকে পাইথন বেছে নিতে হবে। ডেটা অর্জন থেকে শুরু করে কৌশল ব্যাকটেস্টিং এবং ট্রেডিং পর্যন্ত, পাইথন পুরো ব্যবসায়িক শৃঙ্খলকে কভার করেছে। এটি আর্থিক পরিমাণগত বিনিয়োগের ক্ষেত্রে একটি গুরুত্বপূর্ণ স্থান দখল করে আছে। এই কোর্সে, আমরা পাইথন ভাষার মৌলিক জ্ঞান শিখব।
এত প্রোগ্রামিং ভাষা কেন শিখবেন?
পূর্ববর্তী কোর্সগুলির দিকে তাকালে, আমরা মোট শিখেছি: মাই ভাষা, ভিজ্যুয়াল ভাষা, জাভাস্ক্রিপ্ট ভাষা, এই বিভাগে শেখা পাইথন ভাষা সহ। কিছু বন্ধুর প্রশ্ন থাকতে পারে। আমি এখানে কোয়ান্টিটেটিভ ট্রেডিং শিখতে এসেছি, কেন আমাকে এত প্রোগ্রামিং ভাষা শিখতে হবে?
প্রকৃতপক্ষে, প্রতিটি প্রোগ্রামিং ভাষার নিজস্ব ভাষাগত বৈশিষ্ট্য রয়েছে এবং ভালো এবং খারাপ ভাষার মধ্যে কোনও পার্থক্য নেই। এটি আপনার কৌশল কোন প্রোগ্রামিং ভাষার জন্য বেশি উপযুক্ত এবং এই প্রোগ্রামিং ভাষাটি আপনার জন্য উপযুক্ত কিনা তার উপর নির্ভর করে। তাই একটা কথা আছে যে, তুমি যদি নিজে চেষ্টা করো তবেই জানতে পারবে। এই কারণেই আমরা প্রোগ্রামিং ভাষা নিয়ে আলোচনা করার জন্য এত জায়গা বরাদ্দ করেছি। আপনি যদি আপনার কাজটি ভালভাবে করতে চান, তাহলে আপনাকে প্রথমে আপনার সরঞ্জামগুলিকে তীক্ষ্ণ করতে হবে।
একই সাথে, আমরা সকলের জন্য পরিমাণগত গবেষণার দ্বার উন্মুক্ত করতে এবং বিভিন্ন প্রোগ্রামিং ভাষার জ্ঞান জনপ্রিয় করতে প্রতিশ্রুতিবদ্ধ। পরিমাণগত গবেষণা আমাদের কল্পনার মতো রহস্যময় এবং নাগালের বাইরে নয়। আমি বিশ্বাস করি যে পরিমাণগত গবেষণা ভবিষ্যতে সাধারণ মানুষের কাছে জনপ্রিয় এবং সহজলভ্য হয়ে উঠবে।
পরিমাণগত ট্রেডিংয়ের জন্য পাইথন কেন বেছে নেবেন?
পরিমাণগত ট্রেডিং প্রক্রিয়াটি তথ্য অর্জন, বিশ্লেষণ এবং গণনা, তথ্য প্রক্রিয়াকরণ ইত্যাদি ছাড়া আর কিছুই নয়। তথ্য বিশ্লেষণের ক্ষেত্রে, অন্য কোনও ভাষা পাইথনের মতো গণনায় এত ভালো এবং কর্মক্ষমতা বজায় রাখতে পারে না। বিশেষ করে টাইম সিরিজ বিশ্লেষণ ডেটা প্রক্রিয়াকরণের ক্ষেত্রে (কে-লাইন হল টাইম সিরিজ ডেটা), পাইথনের সুবিধা হল এটি সহজ এবং আরও সুবিধাজনক। এছাড়াও, অন্যান্য প্রোগ্রামিং ভাষার তুলনায়, পাইথন আরও সংক্ষিপ্ত এবং শেখা সহজ। একটি ভালো পাইথন প্রোগ্রাম পড়া ইংরেজি পড়ার মতোই মনে হয়।
পাইথন বেছে নেওয়ার পাঁচটি কারণ
১. পরিমাণ নির্ধারণ ব্যাপকভাবে ব্যবহৃত হয়:
মার্কিন যুক্তরাষ্ট্রের কোয়ান্টোপিয়ান এবং চীনের উদ্ভাবক কোয়ান্ট উভয়ই পাইথন ভাষা ব্যবহার করতে পারেন।
2. শেখা সহজ:
পাইথনের নকশা দর্শন ব্যবহারকারী-কেন্দ্রিক, এবং এটি একটি ব্যাখ্যাকৃত ভাষা যা ডিবাগ করা সহজ।
৩. বিনামূল্যে এবং ওপেন সোর্স:
ব্যবহারের খরচ নেই, ওপেন সোর্স কোড শেয়ারিং, এবং উন্নত শেখার এবং ব্যবহারের দক্ষতা।
৪. সমৃদ্ধ লাইব্রেরি:
ডেটা প্রসেসিং, ডেটা কম্পিউটিং, ভিজ্যুয়ালাইজেশন, পরিসংখ্যানগত বিশ্লেষণ, প্রযুক্তিগত বিশ্লেষণ, মেশিন লার্নিং...
৫. অ্যাপ্লিকেশন ইন্টারফেস:
প্রধান প্ল্যাটফর্মগুলি থেকে রিয়েল-টাইম বাজার তথ্যের উপর ভিত্তি করে অর্ডার অর্জন, সংরক্ষণ, কলিং এবং স্থাপনের জন্য ইন্টারফেস।
সম্পূর্ণ কৌশল
এই বিভাগের মূল জ্ঞান দ্রুত বুঝতে সাহায্য করার জন্য, উদ্ভাবকের কোয়ান্টাইজড জাভাস্ক্রিপ্ট ভাষার দ্রুত ভূমিকা উপস্থাপন করার আগে, আপনার প্রথমে এই বিভাগের ধারণাগুলি সম্পর্কে প্রাথমিক ধারণা থাকা উচিত। উদাহরণ হিসেবে সবচেয়ে সহজ ডাবল মুভিং এভারেজ কৌশলটি নেওয়া যাক:
লং পজিশন ওপেনিং: যদি কোন বর্তমান অবস্থান না থাকে এবং ৫-পিরিয়ড মুভিং এভারেজ ২০-পিরিয়ড মুভিং এভারেজের চেয়ে বেশি হয়।
একটি সংক্ষিপ্ত অবস্থান খুলুন: যদি কোন বর্তমান অবস্থান না থাকে এবং ৫-পিরিয়ড মুভিং এভারেজ ২০-পিরিয়ড মুভিং এভারেজের চেয়ে কম হয়।
দীর্ঘ পজিশন ক্লোজিং: যদি আপনি বর্তমানে একটি দীর্ঘ পজিশন ধরে থাকেন এবং ৫-পিরিয়ড মুভিং এভারেজ ২০-পিরিয়ড মুভিং এভারেজের চেয়ে কম হয়।
শর্ট পজিশন ক্লোজিং: যদি আপনি বর্তমানে একটি সংক্ষিপ্ত অবস্থান ধরে থাকেন এবং ৫-পিরিয়ড মুভিং এভারেজ ২০-পিরিয়ড মুভিং এভারেজের চেয়ে বেশি হয়।
পাইথনে লেখা হলে, এটি দেখতে এরকম হবে:

চিত্র ৪-২৯
উপরের চিত্রের কোডটি পাইথনে লেখা একটি সম্পূর্ণ পরিমাণগত ট্রেডিং কৌশল। এটি রিয়েল টাইমে চলতে পারে এবং স্বয়ংক্রিয়ভাবে অর্ডার দিতে পারে। কোডের পরিমাণের দিক থেকে, পাইথন জাভাস্ক্রিপ্টের চেয়ে বেশি, কারণ আমরা CTA ট্রেডিং ফ্রেমওয়ার্ক ব্যবহার করি না।
তবে, সম্পূর্ণ কৌশলের নকশা প্রক্রিয়া প্রায় একই রকম: বাজারের ধরণ নির্ধারণ, কে-লাইন ডেটা সংগ্রহ, অবস্থানের তথ্য সংগ্রহ, ট্রেডিং লজিক গণনা এবং ক্রয়-বিক্রয় অর্ডার প্রদান। অন্য কথায়, প্রোগ্রামিং সিনট্যাক্স ভিন্ন হলেও, লেখা কৌশলগত যুক্তি একই, তাই এবার, পাইথনের মৌলিক সিনট্যাক্স শিখি!
সংস্করণ নির্বাচন
পাইথনের দুটি সংস্করণ আছে, যথা: পাইথন২ এবং পাইথন৩। একসময় একটা রসিকতা ছিল যে পাইথন একটি দ্বি-ব্যারেল বন্দুকের মতো, কিন্তু আপনি একবারে কেবল একটি ব্যারেল দিয়ে গুলি চালাতে পারেন, তবে আপনি কখনই জানতে পারবেন না কোনটি বেশি নির্ভুল। তাই যদি আপনি পাইথনে নতুন হন, তাহলে সরাসরি পাইথন 3 শেখার পরামর্শ দেওয়া হচ্ছে কারণ এটি সর্বশেষ এবং পাইথন সম্প্রদায় দ্বারা রক্ষণাবেক্ষণ করা হয়েছে। আমাদের কোর্সগুলি পাইথন ৩-এও পড়ানো হয়।
আইডেন্টিফায়ার
শনাক্তকারী হল চলকের নাম, যেমন test, Test, test10,ডেমো, ইত্যাদি পাইথনের সবকিছু (ভেরিয়েবল, ফাংশনের নাম এবং অপারেটর) কেস-সংবেদনশীল, যার অর্থ হল ভেরিয়েবল নেম টেস্ট এবং ভেরিয়েবল নেম টেস্ট দুটি ভিন্ন ভেরিয়েবল। একটি শনাক্তকারীর প্রথম অক্ষর (একটি চলকের নাম, ফাংশন, সম্পত্তি, ফাংশন প্যারামিটার) অবশ্যই একটি অক্ষর, একটি আন্ডারস্কোর (), এর পরে থাকা অক্ষরগুলিও সংখ্যা হতে পারে, যেমনটি নিম্নলিখিত চিত্রে দেখানো হয়েছে:

চিত্র ৪-৩০
মন্তব্য
মন্তব্য হলো কোডের একটি লাইনের অনুবাদ বা ব্যাখ্যা। নিয়মগুলি খুবই সহজ এবং এতে একক-লাইন মন্তব্য এবং ব্লক-স্তরের মন্তব্য অন্তর্ভুক্ত রয়েছে। একটি একক-লাইন মন্তব্য পাউন্ড চিহ্ন (#) দিয়ে শুরু হয়, এবং একটি ব্লক মন্তব্য তিনটি একক উদ্ধৃতি ('') বা তিনটি দ্বিগুণ উদ্ধৃতি (""") দিয়ে শুরু হয় এবং তিনটি একক উদ্ধৃতি ('') বা তিনটি দ্বিগুণ উদ্ধৃতি (""") দিয়ে শেষ হয়, যেমনটি নিম্নলিখিত চিত্রে দেখানো হয়েছে:

চিত্র ৪-৩১
লাইন এবং ইন্ডেন্ট
পাইথনের সবচেয়ে স্বতন্ত্র বৈশিষ্ট্য হল কোড ব্লকগুলি নির্দেশ করার জন্য ইন্ডেন্টেশন ব্যবহার করা, কোঁকড়া বন্ধনী {} ব্যবহার না করেই। ইন্ডেন্টেশনের জন্য স্পেসের সংখ্যা পরিবর্তনশীল, তবে একই কোড ব্লকের স্টেটমেন্টে ইন্ডেন্টেশনের জন্য একই সংখ্যক স্পেস থাকতে হবে। নিচে দেখানো হয়েছে: এই ক্ষেত্রে, প্রোগ্রামটি একটি ত্রুটি রিপোর্ট করবে। if কন্ডিশনটি সত্য হলেও, "True" আউটপুট হবে না, কারণ পাইথন কোড রান করার আগে স্বয়ংক্রিয়ভাবে কোড সিনট্যাক্স সঠিক কিনা তা সনাক্ত করবে। যদি কোড ফর্ম্যাটটি ভুল হয়, তাহলে প্রোগ্রামটি চলবে না। কারণ হলো, ৫ম লাইনের কোডে একটি ইউনিফাইড কোড ইন্ডেন্টেশন ফর্ম্যাট নেই। পাইথনের জন্য ফোর-স্পেস ইন্ডেন্টেশন একটি নির্দিষ্ট ফর্ম্যাট, এবং প্রত্যেকেরই এটির সাথে পরিচিত হওয়া প্রয়োজন।

চিত্র ৪-৩২
পরিবর্তনশীল
ভেরিয়েবল যেকোনো ধরণের ডেটা সংরক্ষণ করতে পারে। কেবল ভেরিয়েবলের নাম লেখা মানেই ভেরিয়েবল তৈরি করা। তবে, ভেরিয়েবল তৈরি করার সময়, আপনাকে একই সাথে ভেরিয়েবলের মান সেট করতে হবে, অন্যথায় প্রোগ্রামটি একটি ত্রুটি রিপোর্ট করবে। সমান চিহ্ন (=) অপারেটরের বাম দিকটি একটি চলকের নাম, এবং সমান চিহ্ন (=) অপারেটরের ডান দিকটি হল চলকের মধ্যে সঞ্চিত মান। নিচের চিত্রে দেখানো হয়েছে: name2 হল চলকের নাম, এবং "উদ্ভাবক পরিমাণ নির্ধারণ" হল চলকের মান। যদি আপনি name2 এর জন্য একটি নতুন মান সেট না করেন, তাহলে name2 এর মান সর্বদা "উদ্ভাবক পরিমাণ নির্ধারণ" হবে।

চিত্র ৪-৩৩
তথ্য
পাইথনের ছয়টি ডেটা টাইপ রয়েছে, যার মধ্যে তিনটি অপরিবর্তনীয় এবং তিনটি পরিবর্তনযোগ্য। নাম থেকেই বোঝা যায়, একবার অপরিবর্তনীয় ডেটা তৈরি হয়ে গেলে, এর মান পরিবর্তন করা যাবে না এবং মেমোরিতে এর ঠিকানা অনন্য; পরিবর্তনযোগ্য ডেটা হল মেমোরিতে থাকা একটি ঠিকানার একটি রেফারেন্স, এবং যদি এর মান পরিবর্তিত হয়, তবে এর মেমোরি ঠিকানা অপরিবর্তিত থাকে।
অপরিবর্তনীয় তথ্য (3): সংখ্যা, স্ট্রিং, টুপল;
পরিবর্তনযোগ্য তথ্য (3): তালিকা, অভিধান, সেট।

চিত্র ৪-৩৪
সংখ্যা
পাইথনের সংখ্যাসূচক প্রকারগুলি int (পূর্ণসংখ্যা), float (ভাসমান বিন্দু), bool (বুলিয়ান) এবং জটিল (জটিল সংখ্যা) সমর্থন করে। বিল্ট-ইন type() ফাংশনটি একটি ভেরিয়েবলের উল্লেখ করা বস্তুর ধরণ অনুসন্ধান করতে ব্যবহার করা যেতে পারে। নিচে দেখানো হয়েছে:

চিত্র ৪-৩৫
অপারেটর
বেশিরভাগ ভাষার মতো, পাইথনে গণিত সহজবোধ্য। পাটিগণিত অপারেটর, তুলনামূলক অপারেটর বা লজিক্যাল অপারেটর যাই হোক না কেন, এগুলো সবই আমরা স্কুলে যা শিখেছি তার মতোই। এর মধ্যে, গাণিতিক অপারেটর হল যোগ, বিয়োগ, গুণ এবং ভাগের গাণিতিক ক্রিয়াকলাপ। তুলনামূলক অপারেটররা দুটি মান কম বা কম কিনা তা তুলনা করতে পারে। প্রধান লজিক্যাল অপারেটরগুলি হল: লজিক্যাল AND, লজিক্যাল OR, এবং লজিক্যাল NOT। [আপনি কি ট্রেডিং কৌশলগুলিতে সাধারণত ব্যবহৃত স্ট্রিংগুলি সম্পর্কে সংক্ষেপে বলতে পারেন?] উদাহরণস্বরূপ, আমাদের ট্রেডিং কৌশলগুলিতে, সর্বাধিক ব্যবহৃত স্ট্রিং হল পণ্য কোড, যেমন: "rb1910", "MA1910"।

চিত্র ৪-৩৬
এটা মনে রাখা উচিত যে "এবং" হল একটি যৌক্তিক AND, যার অর্থ "এবং"। "অথবা" হল একটি লজিক্যাল OR, যার অর্থ "উভয়"। "!" হল একটি যৌক্তিক অস্বীকার, যার অর্থ "না":
"এবং" এর অর্থ হল যখন সমস্ত শর্ত "সত্য" হয়, তখন চূড়ান্ত শর্তটি "সত্য" হয়;
"অথবা" বলতে বোঝায়, সকল শর্তের মধ্যে, যতক্ষণ পর্যন্ত তাদের যেকোনো একটি "সত্য" থাকে, ততক্ষণ পর্যন্ত চূড়ান্ত শর্তটি "সত্য" হবে।
অগ্রাধিকার
যদি ১০০ থাকে*(10-1)/(10+5) রাশির জন্য, প্রোগ্রামটি প্রথমে কোন ধাপ গণনা করে? মাধ্যমিক বিদ্যালয়ের গণিত আমাদের বলে: ① যদি এটি একই স্তরের একটি ক্রিয়াকলাপ হয়, তবে এটি সাধারণত বাম থেকে ডানে গণনা করা হয়। ② যদি যোগ এবং বিয়োগ উভয়ই থাকে, পাশাপাশি গুণ এবং ভাগও থাকে, তাহলে প্রথমে গুণ এবং ভাগ গণনা করুন, তারপর যোগ এবং বিয়োগ। ③যদি বন্ধনী থাকে, তাহলে প্রথমে বন্ধনীর বিষয়বস্তু গণনা করুন। ④ যদি এটি অপারেশন আইনের সাথে সঙ্গতিপূর্ণ হয়, তাহলে গণনা সহজ করার জন্য অপারেশন আইন ব্যবহার করা যেতে পারে। মাই ভাষার অগ্রাধিকার নীচে দেখানো হয়েছে এমনই:

চিত্র ৪-৩৭
বুলিয়ান
বুলিয়ান সত্য বা মিথ্যা প্রতিনিধিত্ব করে এবং সাধারণত শর্তসাপেক্ষ বিচার এবং লুপ বিবৃতিতে ব্যবহৃত হয়। পাইথন সত্য এবং মিথ্যা প্রতিনিধিত্ব করার জন্য দুটি ধ্রুবক "সত্য" এবং "মিথ্যা" সংজ্ঞায়িত করে। প্রকৃতপক্ষে, যেকোনো বস্তুকে বুলিয়ান টাইপে রূপান্তর করা যেতে পারে এবং সরাসরি শর্তাধীন বিচারের জন্যও ব্যবহার করা যেতে পারে, যেমনটি নিম্নলিখিত চিত্রে দেখানো হয়েছে:

চিত্র ৪-৩৮
স্ট্রিং
স্ট্রিং হলো টেক্সট। পণ্য কোড সেট করার সময় প্রায়শই "if1905" এর মতো স্ট্রিং ব্যবহার করা হয়। পাইথনে স্ট্রিংগুলি একক উদ্ধৃতি ' অথবা দ্বিগুণ উদ্ধৃতি ' তে আবদ্ধ থাকে। প্লাস চিহ্ন + হল স্ট্রিং কনক্যাটেনেশন অপারেটর। আপনি নীচে দেখানো সূচক মানের উপর ভিত্তি করে একটি স্ট্রিংয়ে একটি অক্ষর পেতে পারেন:

চিত্র ৪-৩৯
তালিকা
পাইথনে তালিকা হল সবচেয়ে বেশি ব্যবহৃত ডেটা টাইপ। আপনি একটি তালিকাকে একটি ধারক হিসাবে ভাবতে পারেন, তবে ধারকটির উপাদানগুলি বাম থেকে ডানে সাজানো থাকে। প্রথম উপাদানটি 0, দ্বিতীয় উপাদানটি 1, ইত্যাদি। এছাড়াও, পাইথন তালিকাগুলি যেকোনো ধরণের ডেটা সংরক্ষণ করতে পারে, যেমনটি নীচে দেখানো হয়েছে:

চিত্র ৪-৪০
ফাংশন
পাইথনের ফাংশনগুলি মূলত মাধ্যমিক বিদ্যালয়ে আমরা যে ফাংশনগুলি শিখেছিলাম তার মতোই। আপনি এটিকে ফাংশনের গণনার মাধ্যমে কী পাস করা হয় এবং কী আউটপুট হয় তা হিসাবে ভাবতে পারেন, যেমনটি নিম্নলিখিত চিত্রে দেখানো হয়েছে:

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

চিত্র ৪-৪২
যদি...অন্যথায় বিবৃতি
If...else বাক্যগুলিও সাধারণত ব্যবহৃত বাক্য, উদাহরণস্বরূপ: যদি আজ বৃষ্টি হয়, আমি ছাতা ধরব; অন্যথায়, আমি ছাতা ধরব না। else স্টেটমেন্টটি if স্টেটমেন্টের একটি এক্সটেনশন, অর্থাৎ, else এর পরে থাকা কোডটি কেবল তখনই কার্যকর হবে যখন নির্দিষ্ট শর্তটি False হবে। নিচের চিত্রে দেখানো হয়েছে:

চিত্র ৪-৪৩
এলিফ বিবৃতি
যেহেতু পাইথন সুইচ স্টেটমেন্ট সমর্থন করে না, তাই পাইথন শুধুমাত্র একাধিক শর্তাধীন রায় বাস্তবায়নের জন্য elif স্টেটমেন্ট ব্যবহার করতে পারে। উদাহরণস্বরূপ: যদি এটি একটি ইতিবাচক রেখা হয়, তাহলে আমি বুলিশ হব; অন্যথায়, যদি এটি একটি নেতিবাচক রেখা হয়, তাহলে আমি বিয়ারিশ হব; অন্যথায়, আমি অপেক্ষা করব এবং দেখব। নিচের চিত্রে দেখানো হয়েছে:

চিত্র ৪-৪৪
লুপের জন্য
কখনও কখনও আমাদের গত কয়েক দিনের K-লাইন ডেটা সংগ্রহ করতে হয়, এবং K-লাইন ডেটার অবস্থান অনুসারে ক্রমানুসারে K-লাইন অ্যারে থেকে এটি সংগ্রহ করতে হয়। তারপর নিচের চিত্রে দেখানো হিসাবে একটি for লুপ ব্যবহার করা খুবই সুবিধাজনক:

চিত্র ৪-৪৫
লুপ চলাকালীন
আমরা সকলেই জানি যে বাজার ক্রমাগত পরিবর্তনশীল। আপনি যদি সর্বশেষ K-লাইন অ্যারে পেতে চান, তাহলে আপনাকে একই কোড বারবার চালাতে হবে। তারপর whilex লুপ ব্যবহার করুন। যতক্ষণ পর্যন্ত নির্দিষ্ট শর্তটি সত্য থাকে, লুপটি সর্বদা সর্বশেষ K-লাইন অ্যারে পেতে পারে।

চিত্র ৪-৪৬
ব্রেক স্টেটমেন্ট এবং কন্টিনিউ স্টেটমেন্ট
লুপের একটি পূর্বশর্ত আছে। পূর্বশর্ত "সত্য" হলেই লুপটি বারবার কিছু করতে শুরু করবে এবং পূর্বশর্ত "মিথ্যা" না হওয়া পর্যন্ত লুপটি শেষ হবে না। তবে, লুপ কার্যকর করার সময় ব্রেক স্টেটমেন্টটি তাৎক্ষণিকভাবে লুপ থেকে বেরিয়ে আসতে পারে; continue স্টেটমেন্ট একটি নির্দিষ্ট লুপকে বাধাগ্রস্ত করতে পারে এবং তারপরে পরবর্তী লুপটি চালিয়ে যেতে পারে। নিচের চিত্রে দেখানো হয়েছে:

চিত্র ৪-৪৭
রিটার্ন স্টেটমেন্ট
রিটার্ন স্টেটমেন্ট একটি ফাংশনের এক্সিকিউশন বন্ধ করে এবং ফাংশনের মান প্রদান করে। রিটার্ন স্টেটমেন্ট শুধুমাত্র একটি ফাংশন বডিতে প্রদর্শিত হতে পারে। যদি এটি কোডের অন্য কোথাও প্রদর্শিত হয়, তাহলে এটি একটি সিনট্যাক্স ত্রুটির কারণ হবে!

চিত্র ৪-৪৮
কৌশল কাঠামো
কৌশলগত স্থাপত্যকে আপনি কৌশলের একটি নির্দিষ্ট বিন্যাস হিসেবে বুঝতে পারেন। উদ্ভাবকের পরিমাণগত হাতিয়ার একটি পোলিং মোড গ্রহণ করে। নিম্নলিখিতটি একটি ক্লাসিক পণ্য ফিউচার কৌশল স্থাপত্য।
৪ থেকে ৭ নম্বর লাইন হল সমগ্র প্রোগ্রামের প্রধান এন্ট্রি ফাংশন, অর্থাৎ, কম্পিউটার ৪ নম্বর লাইন থেকে কোড এক্সিকিউট করা শুরু করে; তারপর এটি সরাসরি ৫ নম্বর লাইন এক্সিকিউট করে এবং একটি ইনফিনিট লুপে প্রবেশ করে; তারপর স্ট্র্যাটেজি লজিক ফাংশন (onTick) এবং স্লিপ ফাংশন (Sleep) ইনফিনিট লুপে এক্সিকিউট করা হয়; onTick ফাংশন হল লাইন ১-এর কোড, এবং আপনি লাইন ২-এ স্ট্র্যাটেজি লজিক লিখতে পারেন; আমরা জানি যে একটি লুপে, প্রোগ্রামের এক্সিকিউটেশন গতি খুব দ্রুত, তাই স্লিপ ফাংশন (Sleep) ব্যবহার করে প্রোগ্রামটি কিছুক্ষণের জন্য থামানো যেতে পারে। নিম্নলিখিত কোড Sleep(500) এর অর্থ হল প্রতিবার লুপ সম্পূর্ণ হওয়ার সময় এটি ৫০০ মিলিসেকেন্ডের জন্য স্লিপ থাকে।

চিত্র ৪-৪৯
সারসংক্ষেপ
উপরে পাইথন ভাষার একটি সংক্ষিপ্ত ভূমিকা দেওয়া হল। যদিও এটি কেবল একটি সাধারণ মৌলিক জ্ঞান, তবুও এটি ব্যবহার করে একটি সহজ পরিমাণগত ট্রেডিং কৌশল লেখা কোনও সমস্যা নয়। যদি আপনার আরও জটিল কৌশল লেখার প্রয়োজন হয়, তাহলে আপনি Inventor Quantitative Tool-এর Python ল্যাঙ্গুয়েজ API ডকুমেন্টেশন দেখতে পারেন।
পরবর্তী বিভাগের পূর্বরূপ
টেকনিক্যাল বিশ্লেষণের ক্ষেত্রে ট্রেন্ড কৌশলগুলির মধ্যে, মুভিং এভারেজ এবং চ্যানেল ব্রেকথ্রু নিঃসন্দেহে দুটি প্রধান স্কুল। যদিও লক্ষ্য হল মূল্যের ওঠানামার প্রবণতা ধরা, এই দুটি কৌশলের ট্রেডিং দর্শন এবং ঝুঁকির বৈশিষ্ট্য সম্পূর্ণ ভিন্ন। এই বিভাগে পাইথন ভাষা পরিচিতি শেখার পর, পরবর্তী বিভাগে আমরা আপনাকে দেখাবো কিভাবে চ্যানেল ব্রেকথ্রুয়ের জন্য একটি পরিমাণগত ট্রেডিং কৌশল লিখতে হয়।
বাড়ির কাজ
১. ঐতিহাসিক কে-লাইন ডেটা পেতে ইনভেনটর কোয়ান্টিটেটিভ টুলে পাইথন ভাষা ব্যবহার করার চেষ্টা করুন।
2. এই বিভাগের শুরুতে কৌশল কোডটি লিখে মন্তব্য যোগ করার চেষ্টা করুন।
৪.৪ পাইথন ভাষা ব্যবহার করে কৌশলগত ট্রেডিং কীভাবে বাস্তবায়ন করবেন
সারাংশ
আগের প্রবন্ধে, আমরা পাইথন ভাষার ভূমিকা, মৌলিক বাক্য গঠন, কৌশল কাঠামো ইত্যাদি শিখেছি। যদিও বিষয়বস্তুটি বিরক্তিকর, তবুও আপনার ট্রেডিং কৌশল বাস্তবায়নের জন্য এটি একটি অপরিহার্য দক্ষতা এবং আপনাকে এটি শিখতে হবে। এই প্রবন্ধে, আমরা যখন লোহা গরম থাকবে তখনই আঘাত করব এবং আগের প্রবন্ধে পাইথনের মৌলিক জ্ঞান নিয়ে কাজ করব। আমরা একটি সহজ কৌশল দিয়ে শুরু করব, এটি ব্যবহার করার সময় শিখব এবং ধাপে ধাপে সকলকে একটি সম্ভাব্য পরিমাণগত ট্রেডিং কৌশল বাস্তবায়নে সহায়তা করব।
কৌশল ভূমিকা
অনেকগুলো ট্রেডিং কৌশলের মধ্যে, Tang Qian চ্যানেলের কৌশলটি 1970 সালের প্রথম দিকে বিখ্যাত হয়ে উঠেছে। সেই সময়ে, একটি বিদেশী কোম্পানি মূলধারার প্রোগ্রামেটিক ট্রেডিং কৌশলের উপর গবেষণা করে যে, সমস্ত কৌশল পরীক্ষার মধ্যে, ডনচিয়ান চ্যানেল কৌশলটি সবচেয়ে সফল ছিল।
পরবর্তীতে, মার্কিন যুক্তরাষ্ট্রে আরেকটি ঘটনা ঘটে, ট্রেডিং ইতিহাসে সবচেয়ে বিখ্যাত "টার্টল" ট্রেডার ট্রেনিং করেন, যার ফলে অনেক সাফল্য আসে। সেই সময়ে, "কচ্ছপদের" ব্যবসায়ের পদ্ধতিগুলি গোপন রাখা হয়েছিল, কিন্তু দশ বছরেরও বেশি সময় পরে, "টার্টল ট্রেডিং রুলস" সর্বজনীন করা হয়েছিল এবং লোকেরা আবিষ্কার করেছিল যে "কচ্ছপ" ডনচিয়ানের চ্যানেল কৌশলের একটি উন্নত সংস্করণ ব্যবহার করছে। .
তুলনামূলকভাবে মসৃণ প্রবণতা সহ পণ্য ট্রেডিংয়ের জন্য যুগান্তকারী ট্রেডিং কৌশলগুলি উপযুক্ত। সবচেয়ে সাধারণ যুগান্তকারী ট্রেডিং পদ্ধতি হল নির্দিষ্ট ট্রেডিং ক্রয় এবং বিক্রয় পয়েন্ট নির্ধারণের জন্য মূল্য এবং সমর্থন এবং প্রতিরোধের মধ্যে আপেক্ষিক অবস্থান সম্পর্ক ব্যবহার করা। এই বিভাগের ডনচিয়ান চ্যানেল কৌশল এই নীতির উপর ভিত্তি করে তৈরি।
ডনচিয়ান চ্যানেল কৌশল নিয়ম
ডনচিয়ান চ্যানেল হল একটি প্রবণতা সূচক, এবং এর চেহারা এবং সংকেতগুলি কিছুটা বলিঞ্জার ব্যান্ড সূচকের মতো। কিন্তু Tang Qian এর মূল্য চ্যানেল একটি নির্দিষ্ট সময়ের মধ্যে সর্বোচ্চ মূল্য এবং সর্বনিম্ন মূল্যের উপর ভিত্তি করে নির্মিত হয়। উদাহরণস্বরূপ: উপরের ট্র্যাক গঠনের জন্য শেষ 50 কে লাইনের সর্বোচ্চ মূল্যের সর্বোচ্চ মূল্য গণনা করুন;
এই সূচকটিতে বিভিন্ন রঙের তিনটি বক্ররেখা রয়েছে। বাজার মূল্যের অস্থিরতা দেখানোর জন্য ডিফল্ট হল ২০টি সময়ের মধ্যে সর্বোচ্চ এবং সর্বনিম্ন মূল্য। যখন চ্যানেলটি সংকীর্ণ হয়, তখন এর অর্থ হল বাজারের অস্থিরতা ছোট। বিপরীতে, একটি প্রশস্ত চ্যানেলের অর্থ হল বাজারের অস্থিরতা তুলনামূলকভাবে বড়।
যদি দাম উপরের ব্যান্ডের উপরে উঠে যায়, তবে এটি একটি ক্রয় সংকেত, বিপরীতভাবে, যদি দাম নীচের ব্যান্ডের নিচে পড়ে তবে এটি একটি বিক্রয় সংকেত। যেহেতু এর উপরের এবং নীচের রেলগুলি সর্বোচ্চ এবং সর্বনিম্ন দাম ব্যবহার করে গণনা করা হয়, সাধারণ পরিস্থিতিতে, দাম খুব কমই বাড়ে এবং একই সময়ে উপরের এবং নীচের চ্যানেলের নীচে পড়ে। বেশীরভাগ ক্ষেত্রে, দাম উপরের বা নীচের রেল বরাবর বা উপরের এবং নীচের রেলগুলির মধ্যে একতরফাভাবে চলে যায়।
ডনচিয়ান চ্যানেল গণনা পদ্ধতি
ইনভেনটর কোয়ান্টিটেটিভ টুলে, ডনচিয়ান চ্যানেলের গণনা পদ্ধতি খুবই সহজ। আপনি সরাসরি এটি ব্যবহার করে নির্দিষ্ট সময়ের মধ্যে সর্বোচ্চ মূল্য বা সর্বনিম্ন মূল্য পেতে পারেন, যেমনটি নীচের চিত্রে দেখানো হয়েছে: ৫ম লাইনটি ৫০টি পিরিয়ডের সর্বোচ্চ মূল্যের সর্বোচ্চ মান পেতে এবং ৬ষ্ঠ লাইনটি ৫০টি পিরিয়ডের সর্বনিম্ন মূল্যের সর্বনিম্ন মান পেতে।

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

চিত্র ৪-৫১
যদি কেনার পজিশন খোলার পরে, দাম টাং কিয়ান চ্যানেলের মাঝামাঝি ট্র্যাকে ফিরে আসে, আমরা বিশ্বাস করি যে লং সাইডের শক্তি দুর্বল হচ্ছে, বা সংক্ষিপ্ত দিকের শক্তি শক্তিশালী হচ্ছে, এবং একটি বিক্রি বন্ধ করার সংকেত তৈরি হয়েছে ; যদি একটি বিক্রয় অবস্থান খোলার পরে, Tang Qian চ্যানেলের মধ্যবর্তী ট্র্যাকে ফিরে আসার পরে, আমরা বিশ্বাস করি যে শর্ট সাইডের শক্তি দুর্বল হচ্ছে। দীর্ঘ দিক শক্তিশালী হচ্ছে, এবং একটি ক্রয় এবং বন্ধ সংকেত উত্পন্ন হয়।
ক্রয় এবং বিক্রয় শর্তাবলী
লং পজিশন ওপেনিং: যদি কোন পজিশন না থাকে এবং সমাপনী মূল্য উপরের ট্র্যাকের চেয়ে বেশি হয়
একটি সংক্ষিপ্ত অবস্থান খুলুন: যদি কোন পজিশন না থাকে এবং সমাপনী মূল্য নিম্ন ট্র্যাকের চেয়ে কম হয়
দীর্ঘ পজিশন ক্লোজিং: যদি আপনি দীর্ঘ অর্ডার ধরে রাখেন এবং সমাপনী মূল্য মধ্যম ট্র্যাকের চেয়ে কম হয়
শর্ট পজিশন ক্লোজিং: যদি আপনি একটি সংক্ষিপ্ত অর্ডার ধরে থাকেন এবং সমাপনী মূল্য মধ্যম ট্র্যাকের চেয়ে বেশি হয়
কৌশল কোড বাস্তবায়ন
একটি কৌশল বাস্তবায়নের প্রথম ধাপ হল তথ্য সংগ্রহ করা, কারণ তথ্য একটি ট্রেডিং কৌশলের পূর্বশর্ত। কল্পনা করুন আমাদের কোন তথ্যের প্রয়োজন? আর এই তথ্য কিভাবে পাবো? তারপর আমরা এই তথ্যের উপর ভিত্তি করে ট্রেডিং লজিক ডিজাইন করি; অবশেষে, আমরা ট্রেডিং লজিক অনুসারে ক্রয় এবং বিক্রয় অর্ডার দিই। নির্দিষ্ট পদক্ষেপগুলি নিম্নরূপ:
ধাপ ১: ট্রেডিং লাইব্রেরি ব্যবহার করুন
ট্রেডিং লাইব্রেরি একটি কার্যকরী মডিউল হিসেবে বিবেচনা করা যেতে পারে। ট্রেডিং লাইব্রেরি ব্যবহারের সুবিধা হলো এটি আপনাকে কৌশলগত যুক্তি লেখার উপর মনোযোগ দিতে সাহায্য করে। উদাহরণস্বরূপ: যখন আমরা ট্রেডিং লাইব্রেরি ব্যবহার করি, পজিশন খোলার এবং বন্ধ করার সময়, আমরা সরাসরি ট্রেডিং লাইব্রেরিতে অর্ডার API ব্যবহার করতে পারি; কিন্তু যদি আমরা ট্রেডিং লাইব্রেরি ব্যবহার না করি, পজিশন খোলার এবং বন্ধ করার সময়, আমাদের বাজার মূল্য পেতে হবে, অর্ডার দেওয়ার সমস্যা বিবেচনা করতে হবে কিন্তু কার্যকর না হওয়ার সমস্যা বিবেচনা করতে হবে, অর্ডার বাতিল করার সমস্যা বিবেচনা করতে হবে ইত্যাদি।

চিত্র ৪-৫২
উপরের ছবিটি উদ্ভাবকের পরিমাণগত সরঞ্জাম ব্যবহার করে CTA কৌশল কাঠামো। এটি একটি নির্দিষ্ট কোড ফর্ম্যাট, এবং সমস্ত লেনদেন লজিক কোড লাইন 4 থেকে শুরু করে লেখা হয়। অন্য কোথাও কোনও পরিবর্তনের প্রয়োজন নেই।
জাভাস্ক্রিপ্টের টেমপ্লেট লাইব্রেরিটি অন্তর্নির্মিত, পাইথনকে এই টেমপ্লেটটি কপি করে সংরক্ষণ করতে হবে: https://www.fmz.com/strategy/24288। তারপর নীতি সম্পাদনা পৃষ্ঠায় রেফারেন্সে ক্লিক করুন। অবশ্যই, আপনি টেমপ্লেট লাইব্রেরি ব্যবহার না করেও কৌশলটি সম্পূর্ণ করতে পারেন।
ধাপ ২: বিভিন্ন তথ্য পান
সাবধানে ভাবুন, আপনার কোন ডেটার প্রয়োজন? আমাদের কৌশলগত ট্রেডিং যুক্তি থেকে, আমরা দেখতে পেলাম যে: প্রথমে আমাদের বর্তমান অবস্থানের অবস্থা জানতে হবে, তারপর বন্ধের মূল্য এবং বলিঙ্গার ব্যান্ড সূচকের উপরের, মধ্যম এবং নিম্ন ট্র্যাকের মধ্যে সম্পর্ক তুলনা করতে হবে এবং অবশেষে নির্ধারণ করতে হবে যে বাজারটি বন্ধ হতে চলেছে কিনা। তাহলে আসুন এই তথ্যটি জেনে নিই।
কে-লাইন তথ্য সংগ্রহ করুন
প্রথম ধাপ হল K-লাইন অ্যারে এবং বর্তমান K-লাইন ক্লোজিং প্রাইস পাওয়া। শুধুমাত্র K-লাইন অ্যারের সাহায্যে আমরা N পিরিয়ডের সর্বোচ্চ বা সর্বনিম্ন প্রাইস পেতে API কল করতে পারি। কোডে এটি দেখতে এরকম দেখাচ্ছে:

চিত্র ৪-৫৩
উপরের ছবিতে দেখানো হয়েছে:
লাইন ৪: K-লাইন অ্যারেটি পান, যা একটি নির্দিষ্ট বিন্যাস।
লাইন ৫: K-লাইনের দৈর্ঘ্য ফিল্টার করুন। যেহেতু আমরা N পিরিয়ডের সর্বোচ্চ বা সর্বনিম্ন মূল্য গণনা করি, তাই ব্যবহৃত প্যারামিটার হল 50। যখন K-লাইনের সংখ্যা 50 এর কম হয়, তখন এটি গণনা করা যায় না। অতএব, আমাদের এখানে K-লাইনের দৈর্ঘ্য ফিল্টার করতে হবে। যদি 50 টিরও কম K-লাইন থাকে, তাহলে এই লুপটি এড়িয়ে যান এবং পরবর্তী K-লাইনের জন্য অপেক্ষা করতে থাকুন।
লাইন ৬: আমরা "রেকর্ড" কোডটি ব্যবহার করি[len(records) - 1]" প্রথমে K-লাইন অ্যারের শেষ ডেটা পায়, যা সর্বশেষ K-লাইন ডেটা। এই ডেটাটি একটি অবজেক্ট, যার মধ্যে রয়েছে: খোলার মূল্য, সর্বোচ্চ মূল্য, সর্বনিম্ন মূল্য, সমাপনী মূল্য, ট্রেডিং ভলিউম, সময় এবং অন্যান্য ডেটা। যেহেতু এটি একটি অবজেক্ট, তাই আমরা সরাসরি ".Close" ব্যবহার করে সর্বশেষ K-লাইন সমাপনী মূল্য পেতে পারি।
অবস্থানের তথ্য পান
পরিমাণগত ট্রেডিং কৌশলের ক্ষেত্রে অবস্থানের তথ্য একটি অত্যন্ত গুরুত্বপূর্ণ শর্ত। ট্রেডিং শর্ত পূরণ হলে, অবস্থানের অবস্থা এবং অবস্থানের সংখ্যার উপর ভিত্তি করে অর্ডার দেওয়া হবে কিনা তা নির্ধারণ করাও প্রয়োজন। উদাহরণস্বরূপ: যখন একটি ক্রয় অবস্থান খোলার শর্ত পূরণ হয়, যদি আপনার একটি অবস্থান থাকে, তাহলে আপনাকে আবার অর্ডার দেওয়ার প্রয়োজন নেই; যদি আপনার কোনও অবস্থান না থাকে, তাহলে আপনি একটি অর্ডার দিতে পারেন। এবার আমরা অবস্থানের তথ্য সরাসরি একটি ফাংশনে অন্তর্ভুক্ত করব, এবং আমরা কেবল এই ফাংশনটি কল করে এটি ব্যবহার করতে পারি:

চিত্র ৪-৫৪
উপরের ছবিতে দেখানো হয়েছে:
এটি এমন একটি ফাংশন যা অবস্থানের তথ্য সংগ্রহ করে। যদি এটি একটি ছোট অবস্থান হয়, তবে এটি 0 প্রদান করে; যদি এটি একটি দীর্ঘ অবস্থান হয়, তবে এটি 1 প্রদান করে; যদি এটি একটি ছোট অবস্থান হয়, তবে এটি -1 প্রদান করে। উপরের কোডটি লক্ষ্য করুন:
লাইন ২: mp নামের একটি ফাংশন তৈরি করুন, যার কোনও প্যারামিটার নেই।
লাইন ৩: পজিশন অ্যারেটি পান, যা একটি নির্দিষ্ট ফর্ম্যাট।
লাইন ৪: পজিশন অ্যারের দৈর্ঘ্য নির্ধারণ করুন। যদি এর দৈর্ঘ্য সমান হয়, তাহলে এটি অবশ্যই একটি খালি অবস্থান হতে হবে, তাই 0 ফেরত দিন।
লাইন ৬: অ্যারেটি অতিক্রম করতে একটি for লুপ ব্যবহার করুন। নিম্নলিখিত লজিকটি খুবই সহজ। যদি আপনি একটি দীর্ঘ অবস্থান ধরে রাখেন, তাহলে এটি 1 প্রদান করে; যদি আপনি একটি সংক্ষিপ্ত অবস্থান ধরে রাখেন, তাহলে এটি -1 প্রদান করে।
লাইন ১৮: অবস্থানের তথ্য পেতে আমরা যে ফাংশনটি লিখেছি সেটি mp-এ কল করুন।
শেষ ৫০ হাজার লাইনের সর্বোচ্চ এবং সর্বনিম্ন দাম পান
ইনভেনটর কোয়ান্টিটেটিভ টুলে, আপনি "TA.Highest" এবং "TA.Lowest" ফাংশন ব্যবহার করে সরাসরি এটি পেতে পারেন, নিজে লজিক্যাল গণনা না লিখেই। এবং "TA.Highest" এবং "TA.Lowest" ফাংশন দ্বারা প্রদত্ত ফলাফলগুলি অ্যারের পরিবর্তে নির্দিষ্ট মান। এটা খুবই সুবিধাজনক। শুধু তাই নয়, অফিসিয়ালটিতে শত শত ইন্ডিকেটর ফাংশন রয়েছে।

চিত্র ৪-৫৫
উপরের ছবিতে দেখানো হয়েছে:
লাইন ১৯: ৫০ পিরিয়ডে সর্বোচ্চ মূল্যের সর্বোচ্চ মান পেতে "TA.Highest" ফাংশনে কল করুন।
লাইন ২০: ৫০ পিরিয়ডের মধ্যে সর্বনিম্ন মূল্যের সর্বনিম্ন মান পেতে "TA.Lowest" ফাংশনে কল করুন।
লাইন ২১: ৫০টি পিরিয়ডে সর্বোচ্চ মূল্যের সর্বোচ্চ মান এবং ৫০টি পিরিয়ডে সর্বনিম্ন মূল্যের সর্বনিম্ন মূল্যের উপর ভিত্তি করে গড় মান গণনা করুন।
ধাপ ৩: অর্ডার দিন
উপরের তথ্য দিয়ে, আপনি ট্রেডিং লজিক এবং অর্ডার দেওয়ার কোড লিখতে পারেন। এর ফর্ম্যাটটিও খুবই সহজ। সবচেয়ে বেশি ব্যবহৃত হল "if statement", যাকে শব্দে বর্ণনা করা যেতে পারে: যদি শর্ত ১ এবং শর্ত ২ পূরণ হয়, তাহলে একটি অর্ডার দিন; যদি শর্ত ৩ বা শর্ত ৪ পূরণ হয়, তাহলে একটি অর্ডার দিন।

চিত্র ৪-৫৬
উপরের ছবিতে দেখানো হয়েছে:
লাইন ২২: লেনদেন লাইব্রেরি ব্যবহার করুন, যা একটি নির্দিষ্ট বিন্যাস।
লাইন ২৩ এবং ২৪: এটি একটি দীর্ঘ পজিশন বন্ধ করার জন্য একটি বিবৃতি, যা "তুলনা অপারেটর" এবং "লজিক্যাল অপারেটর" ব্যবহার করে যা আমরা আগে শিখেছি। এর মানে হল যে আপনি যদি বর্তমানে একটি দীর্ঘ পজিশন ধরে থাকেন এবং সমাপনী মূল্য মধ্যম ট্র্যাকের চেয়ে কম হয়, তাহলে সমস্ত পজিশন বন্ধ হয়ে যাবে।
লাইন ২৫ এবং ২৬: এটি একটি সংক্ষিপ্ত অর্ডার বন্ধ করার জন্য একটি বিবৃতি, যা "তুলনা অপারেটর" এবং "লজিক্যাল অপারেটর" ব্যবহার করে যা আমরা আগে শিখেছি। এর মানে হল যে যদি আপনি বর্তমানে একটি সংক্ষিপ্ত অর্ডার ধরে থাকেন এবং সমাপনী মূল্য মধ্যম ট্র্যাকের চেয়ে বেশি হয়, তাহলে সমস্ত পজিশন বন্ধ হয়ে যাবে।
লাইন ২৭: বর্তমান অবস্থানের অবস্থা নির্ধারণ করুন। যদি অবস্থানটি ছোট হয়, তাহলে পরবর্তী ধাপে যান।
লাইন ২৮ এবং ২৯: সমাপনী মূল্য উপরের ট্র্যাকের চেয়ে বেশি কিনা তা নির্ধারণ করুন। যদি সমাপনী মূল্য উপরের ট্র্যাকের উপরে উঠে যায়, তাহলে একটি পজিশন খোলার জন্য কিনুন।
লাইন ৩০ এবং ৩১: সমাপনী মূল্য নিম্ন ট্র্যাকের চেয়ে কম কিনা তা নির্ধারণ করুন। যদি সমাপনী মূল্য নিম্ন ট্র্যাকের নিচে নেমে যায়, তাহলে বিক্রি করুন এবং একটি পজিশন খুলুন।
সারসংক্ষেপ
উপরে, আমরা পাইথন ব্যবহার করে একটি সম্পূর্ণ পরিমাণগত ট্রেডিং কৌশল তৈরির প্রতিটি ধাপ শিখেছি, যার মধ্যে রয়েছে: কৌশল ভূমিকা, ডনচিয়ান চ্যানেলের গণনা পদ্ধতি, কৌশল যুক্তি, ক্রয় এবং বিক্রয়ের শর্তাবলী, কৌশল কোড বাস্তবায়ন ইত্যাদি। এই বিভাগটি কেবল একটি সহজ কৌশল, একটি সূচনা বিন্দু হিসেবে। একাধিক পদ্ধতি রয়েছে। আপনি আপনার নিজস্ব ট্রেডিং সিস্টেম অনুসারে বিভিন্ন ট্রেডিং পদ্ধতি ব্যবহার করে আপনার নিজস্ব পরিমাণগত ট্রেডিং কৌশল তৈরি করতে পারেন।
পরবর্তী বিভাগের পূর্বরূপ
পরিমাণগত ট্রেডিং কৌশলের উন্নয়নে, প্রোগ্রামিং ভাষা কার্যকর করার গতির দৃষ্টিকোণ থেকে, যদি আমরা জিজ্ঞাসা করি কোন ভাষাটি সবচেয়ে দ্রুত, তবে তা কেবল C++ হতে পারে। বিশেষ করে ডেরিভেটিভস এবং উচ্চ-ফ্রিকোয়েন্সি ট্রেডিংয়ের ক্ষেত্রে, C++ এর অনন্য ভাষাগত বৈশিষ্ট্য এবং সংখ্যাসূচক গণনার সুবিধা রয়েছে। জাভাস্ক্রিপ্ট এবং পাইথনের তুলনায় এর গতি কয়েকগুণ বৃদ্ধি করা যেতে পারে। আপনি যদি ভবিষ্যতে ডেরিভেটিভস এবং উচ্চ-ফ্রিকোয়েন্সি ট্রেডিংয়ের ক্ষেত্রে বিকাশ করতে চান, তাহলে এটি এমন একটি কোর্স হবে যা আপনি মিস করতে পারবেন না।
বাড়ির কাজ
১. এই বিভাগের কৌশলগুলি অনুলিপি করে বাস্তবায়ন করে শুরু করুন।
2. লেনদেনের ফ্রিকোয়েন্সি কমাতে এই বিভাগের কৌশলে একটি চলমান গড় সূচক যোগ করার চেষ্টা করুন।
অধ্যায় ৫ কৌশল ব্যাকটেস্টিং, ডিবাগিং এবং উন্নতি
৫.১ ব্যাকটেস্টিংয়ের তাৎপর্য এবং অসুবিধা
সারাংশ
পরিমাণগত ট্রেডিং এবং ঐতিহ্যবাহী ট্রেডিংয়ের মধ্যে সবচেয়ে বড় পার্থক্য হল ব্যাকটেস্টিং। ইতিহাসে ঘটে যাওয়া বাস্তব বাজার তথ্যের উপর ভিত্তি করে, এটি দ্রুত কৌশল সংকেত ট্রিগার এবং ম্যাচিং লেনদেনের অনুকরণ করে নির্দিষ্ট সময়ের মধ্যে পারফরম্যান্স রিপোর্ট এবং অন্যান্য ডেটা প্রাপ্ত করে। এটি দেশীয় এবং বিদেশী স্টক, পণ্য ফিউচার, বৈদেশিক মুদ্রা এবং অন্যান্য বাজারের জন্য কৌশল উন্নয়নের সবচেয়ে গুরুত্বপূর্ণ উপাদানগুলির মধ্যে একটি।
ব্যাকটেস্টিংয়ের তাৎপর্য
পূর্ববর্তী অধ্যায়গুলিতে, আমরা মূলধারার প্রোগ্রামিং ভাষার মূল বিষয়গুলি শিখেছি এবং আপনাকে শিখিয়েছি কিভাবে এই প্রোগ্রামিং বেসিকগুলি ব্যবহার করে কিছু সহজ ট্রেডিং কৌশল লিখতে হয়। বলা যেতে পারে যে আমরা ইতিমধ্যেই দীর্ঘ পদযাত্রার অর্ধেকেরও বেশি পথ অতিক্রম করেছি। তবে, একবার কৌশল লেখা হয়ে গেলে, তা সরাসরি বাস্তবায়িত করা যায় না। কৌশলটি মডেলের বিষয়বস্তু সম্পূর্ণরূপে বাস্তবায়ন না করা এবং সুচারুভাবে চালানো না হওয়া পর্যন্ত, এর জন্য এখনও ক্রমাগত ব্যাকটেস্টিং - ডিবাগিং - ব্যাকটেস্টিং - ডিবাগিং - ইত্যাদি প্রয়োজন।
পরিমাণগত ট্রেডিং যুক্তির দৃষ্টিকোণ থেকে, কৌশলগুলি আসলে বাজার সম্পর্কে জ্ঞান এবং অনুমানের একটি সিরিজের উপর ভিত্তি করে তৈরি। ব্যাকটেস্টিং দক্ষতার সাথে নির্ধারণ করতে পারে যে এই অনুমানগুলি বৈধ এবং স্থিতিশীল কিনা। ঐতিহাসিকভাবে অস্থির সময়কালে কী কী ক্ষতি হতে পারে এবং সেই ক্ষতি রোধে সিদ্ধান্ত নিতে কীভাবে সহায়তা করা যায়।
এছাড়াও, পরিমাণগত ট্রেডিং অপারেশনের দৃষ্টিকোণ থেকে, ব্যাকটেস্টিং কৌশলগত যুক্তিতে বাগ সনাক্ত করতে সাহায্য করতে পারে, যেমন ভবিষ্যতের ফাংশন, মূল্য চুরি, মাল্টি-ফিটিং ইত্যাদি। কৌশলটি বাস্তব ট্রেডিংয়ে ব্যবহার করা যেতে পারে তার নির্ভরযোগ্য প্রমাণ প্রদান করুন।
- ট্রেডিং সিগন্যালের নির্ভুলতা যাচাই করুন।
- লেনদেনের যুক্তি যাচাই করুন এবং আপনার ধারণাগুলি বাস্তবসম্মত কিনা তা যাচাই করুন।
- আপনার ট্রেডিং সিস্টেমের ত্রুটিগুলি আবিষ্কার করুন এবং আপনার মূল কৌশলটি উন্নত করুন।
অতএব, ব্যাকটেস্টিংয়ের তাৎপর্য হল ঐতিহাসিক তথ্যের মাধ্যমে প্রকৃত ট্রেডিং প্রক্রিয়া যতটা সম্ভব বাস্তবসম্মতভাবে পুনরুদ্ধার করা, কৌশলের কার্যকারিতা যাচাই করা, ভুল কৌশলের জন্য উচ্চ মূল্য পরিশোধ করা এড়ানো এবং ট্রেডিং কৌশলগুলি স্ক্রিন, উন্নত এবং অপ্টিমাইজ করতে আমাদের সহায়তা করা।
ব্যাকটেস্টিং এর অসুবিধাগুলি
ব্যাকটেস্টিং ট্র্যাপ সিগন্যাল ফ্ল্যাশিং:
ট্রেডিং কৌশলগুলি স্থির ঐতিহাসিক তথ্যের উপর ভিত্তি করে ব্যাকটেস্ট করা হয়। প্রকৃত লেনদেনের তথ্য গতিশীল। উদাহরণস্বরূপ: যদি সর্বোচ্চ মূল্য গতকালের সমাপনী মূল্যের চেয়ে বেশি হয়, তাহলে একটি অবস্থান খোলার জন্য কিনুন। রিয়েল ট্রেডিংয়ে, যদি কে-লাইন এখনও সম্পূর্ণ না হয়, তাহলে সর্বোচ্চ মূল্য গতিশীল হবে এবং ট্রেডিং সিগন্যাল এদিক-ওদিক ঝলকানি দিতে পারে। ব্যাকটেস্টিংয়ের সময়, ব্যাকটেস্টিং ইঞ্জিন স্ট্যাটিক ঐতিহাসিক তথ্যের উপর ভিত্তি করে ম্যাচিং লেনদেন সিমুলেট করতে পারে।
ভবিষ্যতের ফাংশনের ব্যাকটেস্টিং ট্র্যাপ:
ফিউচার ফাংশনটি ফিউচার প্রাইস ব্যবহার করে, যার অর্থ বর্তমান অবস্থা ভবিষ্যতে পরিবর্তিত হতে পারে। ফিউচার ফাংশনটি সিগন্যাল ফ্ল্যাশিংও ঘটাতে পারে। সুতরাং যেকোনো ফাংশনেরই ভবিষ্যতের ফাংশনের বৈশিষ্ট্য থাকে, যেমন "জিগজ্যাগ ফাংশন"।
নিচের চিত্রে যেমন দেখানো হয়েছে: জিগজ্যাগ ফাংশনটি শিখর এবং খাদের টার্নিং পয়েন্টগুলি নির্দেশ করে। এটি সর্বশেষ রিয়েল-টাইম মূল্য অনুসারে তার মান সামঞ্জস্য করতে পারে। তবে, বর্তমান মূল্য পরিবর্তন হলে, জিগজ্যাগ ফাংশন দ্বারা গণনা করা ফলাফলও পরিবর্তিত হবে। যদি ভবিষ্যতের ফাংশন সহ একটি ফাংশন ব্যবহার করা হয়, তাহলে বর্তমান অর্ডার সিগন্যাল স্থাপন করা যেতে পারে এবং অর্ডার স্থাপন করা যেতে পারে, কিন্তু কিছুক্ষণ পরে সিগন্যালটি প্রতিষ্ঠিত নাও হতে পারে।

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

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

চিত্র ৫-৩
পরিমাণগত ট্রেডিংয়ের জন্য, ব্যাকটেস্টিং ঐতিহাসিক তথ্যের উপর ভিত্তি করে করা হয়, তবে ঐতিহাসিক তথ্যের নমুনা সীমিত। যদি ট্রেডিং কৌশলে অনেক বেশি পরামিতি থাকে বা ট্রেডিং লজিক খুব জটিল হয়, তাহলে ট্রেডিং কৌশলটি ঐতিহাসিক তথ্যের সাথে অত্যধিকভাবে অভিযোজিত হবে।
পরিমাণগত কৌশলের মডেলিং প্রক্রিয়া মূলত প্রচুর পরিমাণে আপাতদৃষ্টিতে এলোমেলো তথ্য থেকে স্থানীয় অ-এলোমেলো তথ্য খুঁজে বের করার একটি প্রক্রিয়া। পরিসংখ্যানগত জ্ঞানের সাহায্য ছাড়া, অতিরিক্ত ফিটিংয়ের ফাঁদে পড়া সহজ।
তাই, নিজেকে বোকা বানাবেন না। যদি আপনি দেখেন যে নমুনার বাইরের ডেটা ভালোভাবে কাজ করছে না, এবং আপনি মনে করেন যে মডেলটি বাতিল করা দুঃখজনক, অথবা আপনি স্বীকার করতে রাজি নন যে আপনার মডেলটি ভালো নয়, এবং আপনি নমুনার বাইরের ডেটার উপর মডেলটিকে অপ্টিমাইজ করতে থাকেন যতক্ষণ না এটি নমুনার বাইরের ডেটার উপর ভালোভাবে কাজ করে, তাহলে শেষ পর্যন্ত আপনার কষ্টার্জিত অর্থই ক্ষতিগ্রস্ত হবে।
ব্যাকটেস্টিং ফাঁদ: বেঁচে থাকার পক্ষপাত
ওয়াল স্ট্রিটে একটি জনপ্রিয় রসিকতা আছে: ধরুন বাজারে বিনিয়োগে ১,০০০ বানর অংশগ্রহণ করছে। প্রথম বছরে, বাজারের কাছে হেরে যাওয়া ৫০০ বানরকে নির্মূল করা হবে। দ্বিতীয় বছরে, অর্ধেক বানর আবার নির্মূল করা হয়েছিল, বাকি ছিল ২৫০টি বানর। তৃতীয় বছরের শেষে, ১২৫টি বানর অবশিষ্ট ছিল।

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

চিত্র ৫-৫
এক মিনিট অপেক্ষা করুন, ডানদিকের ছবিতে যেমন দেখানো হয়েছে, আসল পরিস্থিতি ভেতরে। দেখা যাচ্ছে যে বাম দিকের ব্যাকটেস্ট কার্ভটি অনেক ব্যাকটেস্টের মধ্যে সবচেয়ে ভালো পারফর্মিং কার্ভ। অর্থাৎ, বাম দিকের ব্যাকটেস্টে, আরও খারাপ পারফরম্যান্স সহ অনেক পরিস্থিতি রয়েছে।
ব্যাকটেস্টিং ফাঁদ: প্রভাব খরচ
একটি বাস্তব ট্রেডিং পরিবেশে, দাম ক্রমাগত ওঠানামা করে। যখন আপনি একটি ট্রেডিং সুযোগ দেখেন এবং একটি অর্ডার দেন, তখন দাম পরিবর্তিত হতে পারে। অতএব, স্লিপেজের সমস্যা অনিবার্য, তা সে ব্যক্তিগত ট্রেডিংয়েই হোক বা পরিমাণগত ট্রেডিংয়েই হোক।
তবে, ব্যাকটেস্টিং স্ট্যাটিক ডেটার উপর ভিত্তি করে করা হয় এবং একটি বাস্তব ট্রেডিং পরিবেশ অনুকরণ করা কঠিন। উদাহরণস্বরূপ: অর্ডার মূল্য ১০৫০ টাকায় কিনতে হবে, কিন্তু প্রকৃত লেনদেন মূল্য ১০৫১ হতে পারে। এই ঘটনার অনেক কারণ রয়েছে, যেমন: চরম বাজার পরিস্থিতিতে তরলতা শূন্যতা, নেটওয়ার্ক বিলম্ব, সফ্টওয়্যার এবং হার্ডওয়্যার সিস্টেম, সার্ভার প্রতিক্রিয়া ইত্যাদি।
স্লিপেজ ছাড়াই ব্যাকটেস্টিং
উপরের চিত্রে যেমন দেখানো হয়েছে, এটি একটি ব্যাকটেস্ট যা স্লিপেজ ছাড়াই। মূলধন বক্ররেখাটি আরও ভালো দেখাচ্ছে, তবে বাস্তব ট্রেডিংয়ে প্রকৃত লেনদেন মূল্য এবং কৌশল ব্যাকটেস্টের আদর্শ লেনদেন মূল্যের মধ্যে পার্থক্য রয়েছে। অতএব, এই ত্রুটি কমাতে, কৌশলটির ব্যাকটেস্ট করার সময়, আপনি ক্রয়মূল্য বাড়াতে বা বিক্রয়মূল্য কমাতে 2টি স্লিপেজ পয়েন্ট সেট করতে পারেন।
স্লিপেজ সহ ব্যাকটেস্টিং
উপরের চিত্রে দেখানো হয়েছে, একই কৌশলের ক্ষেত্রে, যদি 2-জাম্প স্লিপেজ যোগ করার পরে ব্যাকটেস্টের ফলাফল স্লিপেজ ছাড়াই ব্যাকটেস্টের ফলাফল থেকে উল্লেখযোগ্যভাবে আলাদা হয়, তাহলে এর অর্থ হল এই কৌশলটি উন্নত করতে হবে অথবা একটি নতুন দিয়ে প্রতিস্থাপন করতে হবে। বিশেষ করে তুলনামূলকভাবে উচ্চ ট্রেডিং ফ্রিকোয়েন্সি সহ কৌশলগুলির জন্য, ব্যাকটেস্টিংয়ের সময় 1 থেকে 2 জাম্পের স্লিপেজ যোগ করলে ব্যাকটেস্টটি আসল ট্রেডিং পরিবেশের কাছাকাছি চলে যেতে পারে।
সারসংক্ষেপ
কিছু বন্ধু হয়তো জিজ্ঞাসা করতে পারেন, যেহেতু পরিমাণগত ট্রেডিংয়ে এত সমস্যা হতে পারে, আমি কীভাবে প্রমাণ করব যে আমার কৌশলটি ঠিক আছে? আসলে, উত্তরটি খুবই সহজ। বাস্তবে কৌশলটি বাস্তবায়নের আগে, আপনাকে প্রথমে একটি নির্দিষ্ট সময়ের জন্য লেনদেনটি সিমুলেট করতে হবে। যদি সিমুলেট করা লেনদেনের লেনদেনের মূল্য ব্যাকটেস্টের সময় লেনদেনের মূল্যের প্রায় সমান হয়, তাহলে এটি প্রমাণ করে যে কৌশলটিতে কোনও সমস্যা নেই, অন্তত কৌশলগত যুক্তিতে কোনও সমস্যা নেই।
যাই হোক না কেন, একজন অভিজ্ঞ ট্রেডিং সিস্টেম ডেভেলপারের জন্য ব্যাকটেস্টিং অপরিহার্য। কারণ এটি আপনাকে বলতে পারে যে কোনও কৌশলগত ধারণা ঐতিহাসিক লেনদেনে কার্যকর কিনা তা যাচাই করা যেতে পারে। কিন্তু অনেক সময় ব্যাকটেস্টিং ভবিষ্যতের লাভজনকতা বোঝায় না। যেহেতু ব্যাকটেস্টিংয়ে অনেক বেশি ত্রুটি রয়েছে, তাই আপনি কিছু শিক্ষা নেওয়ার জন্য অর্থ ব্যয় না করলে আপনি এটি বুঝতে পারবেন না। আর এই শিক্ষাগুলো আসল টাকা দিয়ে শেখা হয়। আমার মনে হয় এই প্রবন্ধটি পড়লে অন্তত অনেক পরিমাণগত বিচ্যুতি এবং ফাঁদ এড়াতে সাহায্য করতে পারবেন।
বাড়ির কাজ
১. অতিরিক্ত ফিটিং কী এবং কীভাবে এটি এড়ানো যায়?
2. বাস্তব জীবনে বেঁচে থাকা পক্ষপাতের কিছু উদাহরণ কী কী?
৫.২ কিভাবে পরিমাণগত ট্রেডিং ব্যাকটেস্টিং করবেন
সারাংশ
ব্যাকটেস্টিংয়ের তাৎপর্য এবং গুরুত্ব সন্দেহাতীত। পরিমাণগত ব্যাকটেস্টিং পরিচালনা করার সময়, কৌশলটিকে যতটা সম্ভব বাস্তব ঐতিহাসিক পরিবেশে রাখার চেষ্টা করা উচিত। যদি ঐতিহাসিক পরিবেশের বিশদ বিবরণ উপেক্ষা করা হয়, তাহলে সম্পূর্ণ পরিমাণগত ব্যাকটেস্টটি অবৈধ হতে পারে। এই প্রবন্ধটি আপনাকে ব্যাখ্যা করবে কিভাবে পরিমাণগত ট্রেডিং ব্যাকটেস্টিং করতে হয়।
ব্যাকটেস্টিং ডেটা প্লেব্যাকের সমতুল্য। এটি ঐতিহাসিক কে-লাইন ডেটা পুনরায় প্রদর্শন করে এবং ক্রয়-বিক্রয়ের জন্য বাস্তব ট্রেডিং নিয়মগুলি অনুকরণ করে এবং অবশেষে শার্প অনুপাত, সর্বোচ্চ ড্রডাউন রেট, বার্ষিক রিটার্নের হার, মূলধন বক্ররেখা এবং একটি নির্দিষ্ট সময়ের মধ্যে অন্যান্য ডেটার সারসংক্ষেপ করে। বর্তমানে, অনেক সফ্টওয়্যার রয়েছে যা ব্যাকটেস্টিং করতে পারে, যেমন ওয়েনহুয়া ফাইন্যান্স, যার পণ্যের একটি সম্পূর্ণ পরিসর রয়েছে, VNPY, যা নমনীয়ভাবে কাস্টমাইজ করা যায়, ইত্যাদি।
একটি বাণিজ্যিক পরিমাণগত ট্রেডিং সফটওয়্যার হিসেবে, ইনভেন্টর কোয়ান্ট একটি উচ্চ-কার্যক্ষমতাসম্পন্ন ব্যাকটেস্টিং ইঞ্জিনের সাথে আসে এবং ভেক্টরাইজড গণনার জন্য একটি ফর-লুপ (পোলিং) ব্যাকটেস্টিং ফ্রেমওয়ার্ক গ্রহণ করে, যা দ্রুততর। এটি ব্যাকটেস্টিং এবং প্রকৃত ট্রেডিংয়ের কোডগুলিকে একীভূত করে, "সহজ ব্যাকটেস্টিং, কঠিন প্রকৃত ট্রেডিং" এর দ্বিধা আংশিকভাবে সমাধান করে।
ব্যাকটেস্টিং ইন্টারফেসের ভূমিকা
আসুন Inventor Quantitative এর Mai Language Strategy কে উদাহরণ হিসেবে নিই এবং Inventor Quantitative Trading Tool এর অফিসিয়াল ওয়েবসাইট (www.fmz.com) খুলি। কন্ট্রোল সেন্টার, স্ট্র্যাটেজি লাইব্রেরি, সিলেক্ট এ স্ট্র্যাটেজি, সিমুলেট ব্যাকটেস্ট ক্লিক করুন এবং নিম্নলিখিত পৃষ্ঠাটি প্রবেশ করুন:

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

চিত্র ৫-৯
ডিফল্ট ওপেনিং লট সাইজ বলতে ব্যাকটেস্টিংয়ের সময় খোলা এবং বন্ধ হওয়া পজিশনের সংখ্যা বোঝায় এবং সর্বাধিক একক লেনদেন অর্ডার সাইজ হল একটি একক লেনদেনে ব্যাকটেস্টিং ইঞ্জিনের উপর অর্পিত সর্বোচ্চ খোলা এবং বন্ধ হওয়া পজিশনের সংখ্যা। প্রকৃত লেনদেন মূল্য এবং পূর্বনির্ধারিত লেনদেন মূল্যের মধ্যে একটি বিচ্যুতি রয়েছে। এই বিচ্যুতি সাধারণত এমন একটি দিকে চলে যা ব্যবসায়ীর পক্ষে প্রতিকূল, যার ফলে লেনদেনে অতিরিক্ত ক্ষতি হয়, তাই স্লিপেজ যোগ করা প্রয়োজন। একটি বাস্তব ট্রেডিং পরিবেশ অনুকরণ করার জন্য দেশীয় পণ্য ফিউচার সাধারণত 1 থেকে 2 লাফ, বা তারও বেশি যোগ করে।
ফিউচার অপশনে ব্যাকটেস্ট করার জন্য চুক্তির ধরণটি পূরণ করুন, যেমন rb000 বা rb888। রিয়েল অপশনটি মূলত রিয়েল ট্রেডিংয়ের জন্য ব্যবহৃত হয় এবং ব্যাকটেস্টিংয়ে ডিফল্ট সেটিংস রাখা যেতে পারে। যদি স্বয়ংক্রিয় পুনরুদ্ধারের অগ্রগতি সত্যে ক্লিক করা হয়, তাহলে যখন কৌশলটি রিয়েল-টাইম অপারেশনের সময় রোবটটিকে থামিয়ে দেয়, তখন রোবটটি পুনরায় চালু করলে সংকেত পুনরায় গণনা না করেই স্বয়ংক্রিয়ভাবে পূর্ববর্তী সংকেত অবস্থান পুনরুদ্ধার হবে। অর্ডার পুনঃচেষ্টার ডিফল্ট সংখ্যা হল ২০টি। যদি কোনও অর্ডার ব্যর্থ হয়, তাহলে সিস্টেম আবার অর্ডার দেওয়ার চেষ্টা করবে। নেটওয়ার্ক পোলিং ব্যবধান হল সেই সময়ের ব্যবধান যেখানে রোবট কৌশল কোড কার্যকর করে।

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

চিত্র ৫-১১
কৌশল ব্যাকটেস্ট
ব্যাকটেস্টিং করার আগে, প্রথমে আপনার ট্রেডিং কৌশল নির্ধারণ করুন। এখানে আমরা থার্মোস্ট্যাট কৌশলটিকে উদাহরণ হিসেবে নিই। এই কৌশলটি বাজারের অবস্থার উপর ভিত্তি করে একটি ট্রেন্ডিং বাজারে একটি ট্রেন্ড কৌশল এবং একটি অস্থির বাজারে একটি অস্থির কৌশল গ্রহণ করবে। সোর্স কোডটি নিম্নরূপ (আপনি এটি সরাসরি স্ট্র্যাটেজি স্কয়ার অফ দ্য ইনভেন্টর কোয়ান্টিটেটিভের অফিসিয়াল ওয়েবসাইট থেকেও ডাউনলোড করতে পারেন):

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

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

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

চিত্র ৫-১৫
ব্যাকটেস্টিংয়ের পরে
অনেক সময়, এমনকি বেশিরভাগ ক্ষেত্রেই, ব্যাকটেস্টিং ফলাফল আপনার প্রত্যাশার চেয়ে অনেক বেশি হয়। সর্বোপরি, দীর্ঘমেয়াদী, টেকসই এবং স্থিতিশীল মুনাফা অর্জনকারী একটি কৌশল অর্জন করা সহজ নয়। এর জন্য বাজার বোঝার দক্ষতা প্রয়োজন।
যদি আপনার কৌশলগত ব্যাকটেস্টের ফলে ক্ষতি হয়, তাহলে নিরুৎসাহিত হবেন না, এটি আসলে স্বাভাবিক। প্রথমে, কৌশলগত যুক্তিটি ভুলভাবে লেখা হয়েছে কিনা, চরম পরামিতি ব্যবহার করা হয়েছে কিনা, অনেক বেশি খোলা এবং বন্ধ করার শর্ত আছে কিনা ইত্যাদি পরীক্ষা করুন। প্রয়োজনে, আপনি অন্য কোণ থেকে আপনার ট্রেডিং কৌশল এবং ট্রেডিং দর্শন পুনরায় পরীক্ষা করতে পারেন।
যদি আপনার কৌশলগত ব্যাকটেস্টের ফলাফল খুব ভালো হয়, তাহলে মূলধন বক্ররেখা নিখুঁত হবে এবং শার্প অনুপাত ১ বা তারও বেশি ছাড়িয়ে যাবে। এখনই খুব বেশি খুশি হবেন না। যখন আপনি এই ধরণের পরিস্থিতির সম্মুখীন হন, তখন বেশিরভাগ সময় এটি ভবিষ্যতের ফাংশন ব্যবহার, মূল্য চুরি, অতিরিক্ত ফিটিং, বা স্লিপেজ সেট করতে ব্যর্থতা ইত্যাদির কারণে হয়। এই সমস্যাগুলি দূর করতে আপনি নমুনার বাইরের ডেটা এবং সিমুলেটেড রিয়েল ট্রেডিং ব্যবহার করতে পারেন।
সারসংক্ষেপ
উপরেরটি সম্পূর্ণ ট্রেডিং কৌশলের ব্যাকটেস্টিং প্রক্রিয়ার একটি ভূমিকা, যা প্রতিটি বিবরণের জন্য নির্দিষ্ট বলা যেতে পারে। এটা মনে রাখা উচিত যে ঐতিহাসিক তথ্যের ব্যাকটেস্টিং হল একটি আদর্শ পরিবেশ যেখানে সমস্ত ঝুঁকি জানা থাকে। অতএব, কৌশলটি ব্যাকটেস্ট করার সর্বোত্তম সময় হল বুল বা বিয়ার মার্কেটের মধ্য দিয়ে যাওয়া, এবং কার্যকর লেনদেনের সংখ্যা 100 গুণের কম হওয়া উচিত নয়, যাতে আংশিক বেঁচে থাকা পক্ষপাত এড়ানো যায়।
বাজার সর্বদা পরিবর্তিত এবং বিকশিত হচ্ছে। ঐতিহাসিক ব্যাকটেস্টিংয়ে ভালো পারফর্ম করে এমন একটি কৌশল ভবিষ্যতেও ভালো পারফর্ম করবে এমন কোন কথা নেই। কৌশলটি কেবল ব্যাকটেস্টিং পরিবেশে জ্ঞাত ঝুঁকি মোকাবেলা করতে পারে না, বরং ভবিষ্যতে অজানা ঝুঁকি মোকাবেলা করতেও বাধ্য। অতএব, কৌশলটির ঝুঁকি প্রতিরোধ ক্ষমতা এবং সর্বজনীনতা বৃদ্ধি করা খুবই প্রয়োজনীয়।
বাড়ির কাজ
১. এই বিভাগের কৌশলটি অনুলিপি করার চেষ্টা করুন এবং কর্মক্ষমতা প্রতিবেদনটি ব্যাকটেস্ট করুন।
2. আপনার নিজস্ব ট্রেডিং অভিজ্ঞতার উপর ভিত্তি করে, এই বিভাগে কৌশলগুলি উন্নত এবং অপ্টিমাইজ করার চেষ্টা করুন।
৫.৩ কৌশলগত ব্যাকটেস্টিং কর্মক্ষমতা প্রতিবেদন কীভাবে বোঝা যায়
সারাংশ
আমাদের স্ট্র্যাটেজি ব্যাকটেস্ট সম্পন্ন হলে, ইনভেনটর কোয়ান্টিটেটিভ ট্রেডিং টুল ওয়েব পৃষ্ঠায় বিভিন্ন কর্মক্ষমতা সূচক এবং লাভের বক্ররেখা চার্ট আউটপুট করবে। তবে, সম্ভবত আমরা এই সূচকগুলির ব্যাখ্যা এবং বিষয়বস্তুর সাথে পরিচিত না হওয়ার কারণে, কোনও কৌশল ভাল না খারাপ তা আমরা সঠিকভাবে বিচার করতে অক্ষম। এই নিবন্ধটি মূল সূচক ধারণাগুলি দিয়ে শুরু করা হবে যাতে সকলকে কৌশল ব্যাকটেস্টিং কর্মক্ষমতা প্রতিবেদনটি বুঝতে এবং কৌশলটির সুবিধা এবং অসুবিধাগুলি পার্থক্য করতে সহায়তা করা যায়। অবশ্যই, বেশিরভাগ পরিমাণগত ট্রেডিং টুলে এই ধরণের ব্যাকটেস্ট পারফরম্যান্স রিপোর্ট থাকে এবং বিষয়বস্তু একই রকম। একবার আপনি এই বিভাগের বিষয়বস্তু শিখে ফেললে, আপনি অন্য ট্রেডিং টুলে স্যুইচ করলেও এটি প্রযোজ্য হবে।
বস্তুনিষ্ঠ এবং সম্পূর্ণ মূল্যায়ন
বাস্তব ট্রেডিং ডেটার রেকর্ড হোক বা ঐতিহাসিক ডেটা ব্যবহার করে ব্যাক-টেস্টিং রিপোর্ট, মডেলের গুণমান ট্রেডিং অবস্থার পরিসংখ্যানের মাধ্যমে মূল্যায়ন করা হয়।
মূল প্রশ্ন হল, তুলনা করার জন্য কোন পরিসংখ্যানগত তথ্যের প্রয়োজন? আসুন একটি উদাহরণ দেখি: নিচের চিত্রে দেখানো হয়েছে, ধরে নিচ্ছি যে একই সময়কালে পরীক্ষায় নিম্নলিখিত দুটি সেট ডেটা পাওয়া গেছে, তাহলে আমরা কি নির্ধারণ করতে পারি কোন মডেলটি আরও ভালো পারফর্ম করে?

চিত্র ৫-১৬
উত্তর হল না। মূল্যায়ন ব্যবস্থার একতরফা মনোভাব পরিমাণগত বাণিজ্য ব্যবস্থাকে এক অচলাবস্থার দিকে নিয়ে যাবে।
ট্রেডিং সিস্টেমটি ব্যবহারে আনার আগে অবশ্যই ঐতিহাসিক ব্যাকটেস্টিং পাস করতে সক্ষম হতে হবে। যে ট্রেডিং সিস্টেম ঐতিহাসিক ব্যাকটেস্টিং পাস করতে পারে না, দীর্ঘমেয়াদে প্রকৃত ট্রেডিংয়ে লাভ করার সম্ভাবনা কম। একটি ট্রেডিং সিস্টেমকে বাস্তব ট্রেডিংয়ে স্থাপনের জন্য ঐতিহাসিক ব্যাকটেস্টিং একটি প্রয়োজনীয় পূর্বশর্ত।
একটি ট্রেডিং সিস্টেম যা ঐতিহাসিক ব্যাকটেস্টিং পাস করতে পারে তা অবশ্যই একটি ভালো ট্রেডিং সিস্টেম নয়, তবে যদি এটি ঐতিহাসিক ব্যাকটেস্টিং পাস করতে না পারে, তবে এটি অবশ্যই একটি ভালো ট্রেডিং সিস্টেম নয়। সাধারণভাবে বলতে গেলে, স্থিতিশীলতা, স্থায়িত্ব এবং তারা প্রত্যাশা পূরণ করে কিনা তার দৃষ্টিকোণ থেকে আমাদের কর্মক্ষমতা প্রতিবেদন বিশ্লেষণ করতে হবে।

চিত্র ৫-১৭
উপরের ছবিতে যেমন দেখানো হয়েছে, পরিমাণগত ট্রেডিংয়ের সংস্পর্শে আসা যে কেউ হয়তো এই দীর্ঘ এবং অস্পষ্ট ব্যাকটেস্ট পারফরম্যান্স ডেটা টার্মগুলি দেখেছেন। এই পারফরম্যান্স ডেটার মধ্যে, অনেকগুলি এমনকি পরস্পরবিরোধীও। অনেক পরিমাণগত নতুনরা কোন তথ্যের উপর মনোযোগ দেবেন তা নিয়ে বিভ্রান্ত।
উপরের ছবিতে কর্মক্ষমতা নির্দেশকের পদগুলিকে সাধারণত কয়েকটি বিভাগে ভাগ করা যেতে পারে: কর্মক্ষমতা অনুপাত, চক্র বিশ্লেষণ, বিভিন্ন বক্ররেখা, চরম ট্রেডিং বিশ্লেষণ ইত্যাদি। এমনকি তহবিল পণ্যের দৃষ্টিকোণ থেকেও, তাদের বেশিরভাগই কেবল ব্যাকটেস্ট গণনার ফলাফলের প্রদর্শন, যার ব্যবহারিক প্রয়োগের তাৎপর্য খুব কম, যেমন: অ্যাকাউন্ট মূলধনের প্রয়োজনীয়তা, ধারণ আয়, আস্থার সীমা ইত্যাদি। এমনকি আপনার কেবল গুরুত্বপূর্ণ বিষয়গুলিতে মনোনিবেশ করার প্রয়োজন হতে পারে। বিস্তারিত ব্যাখ্যার জন্য আমি নীচে ব্যাকটেস্ট পারফরম্যান্স সূচকগুলির মধ্যে সবচেয়ে গুরুত্বপূর্ণগুলি নির্বাচন করব।
গুরুত্বপূর্ণ কর্মক্ষমতা সূচক
সর্বোচ্চ ড্রডাউন
সর্বোচ্চ ড্রডাউন গণনার সূত্রটি উপরের মতো। মডেলটির জন্য, সর্বোচ্চ ড্রডাউন একটি অত্যন্ত গুরুত্বপূর্ণ ঝুঁকি নির্দেশক, যা অস্থিরতার চেয়েও বেশি গুরুত্বপূর্ণ। ব্যাকটেস্টে দেখা সর্বোচ্চ ড্রডাউনটি এক অর্থে, আপনার পজিশন খোলার পরে ঘটতে পারে এমন সবচেয়ে খারাপ পরিস্থিতির প্রতিনিধিত্ব করে।
গাণিতিক দৃষ্টিকোণ থেকে, যদি মূলধন ২০% হারায়, তাহলে মূলধন স্কেল পুনরুদ্ধারের জন্য অবশিষ্ট তহবিলগুলিকে ২৫% লাভ করতে হবে। যদি ক্ষতি ৫০% হয়, তাহলে ক্ষতির আগে মূলধন স্কেল পুনরুদ্ধারের জন্য অবশিষ্ট তহবিলগুলিকে ১০০% লাভ করতে হবে।
তাহলে কোন সন্দেহ নেই যে ক্ষতি যত বেশি হবে, প্রাথমিক মূলধন স্কেলে পুনরুদ্ধারের সম্ভাবনা তত কম হবে এবং অসুবিধা তত বেশি হবে। তহবিলের জন্য ঊর্ধ্বমুখী লাভের স্থান সীমাহীন, কিন্তু নিম্নমুখী ক্ষতির স্থান সীমিত, এবং তলানিতে নেমে যাওয়ার সম্ভাবনা বেশি।
এটি যেভাবেই সংজ্ঞায়িত করা হোক না কেন, অন্তত এই দুটি বিষয় বর্তমান মূলধারার ধারণা:
১. সর্বাধিক রিট্রেসমেন্ট যত কম হবে, তত ভালো;
২. ড্রডাউন ঝুঁকির সাথে সরাসরি সমানুপাতিক। ড্রডাউন যত বেশি হবে, ঝুঁকি তত বেশি হবে এবং ড্রডাউন যত কম হবে, ঝুঁকি তত কম হবে।
সামঞ্জস্যপূর্ণ রিটার্ন-টু-রিস্ক রেশিও (RAROC)
অনেকেই এই ধারণার সাথে অপরিচিত। আসলে, সামঞ্জস্যপূর্ণ রিটার্ন-রিস্ক অনুপাত হল পেশাদার খেলোয়াড় এবং অপেশাদার খেলোয়াড়দের মধ্যে জলবিভাজন। এটি বিনিয়োগ ব্যাংক, বৃহৎ তহবিল এবং পেশাদার ব্যবসায়ীদের জন্য একটি খুব ভালো মূল্যায়নের হাতিয়ার এবং বিশ্বব্যাপী আর্থিক ক্ষেত্রে এটি একটি সাধারণ মূল্যায়ন মান।
বিনিয়োগের ক্ষেত্রে, আমাদের কেবল লাভের দিকে নজর দেওয়া উচিত নয়, বরং এই লাভ অর্জনের জন্য কতটা ঝুঁকি নেওয়া হয়েছিল তাও বিবেচনা করা উচিত। সাধারণভাবে বলতে গেলে, একটি সম্পদের ঝুঁকি এবং রিটার্ন সমানুপাতিক। এর অর্থ হল, যখন মডেলটি উৎপাদনের দিক থেকে এগিয়ে থাকে এবং দ্রুত অগ্রগতি অর্জন করে, তখন এর গৌরবের পিছনে লুকিয়ে থাকা ঝুঁকি থাকতে পারে যা এখনও ফুটে ওঠেনি।
উদাহরণস্বরূপ, বাজার উত্থানের সময় মডেলটিতে খোলার এবং বন্ধের অবস্থা অথবা পজিশনের বৃদ্ধি এবং হ্রাসের ফলে উচ্চতর রিটার্ন হতে পারে, কিন্তু একবার পতন ঘটলে, ক্ষতি বহুগুণ বৃদ্ধি পাবে, যার ফলে বিশাল ক্ষতি হবে। অধিকন্তু, উত্থান-পতনের যথেষ্ট অসামঞ্জস্যপূর্ণ প্রভাব রয়েছে।
অনেক অভিজ্ঞ পরিমাণগত ব্যবসায়ী ঝুঁকি কমাতে কিছু রিটার্ন ত্যাগ করতে ইচ্ছুক। এই ক্ষেত্রে, ঝুঁকি-সমন্বিত রিটার্ন রেফারেন্সের জন্য আরও মূল্যবান। অতএব, ব্যাকটেস্টিংয়ে, উচ্চ ঝুঁকি এবং উচ্চ অস্থিরতা সহ একটি মডেল অগত্যা একটি ভাল মডেল নয়, এমনকি যদি এর উচ্চ রিটার্ন থাকে।
আমানত নিরাপদ, কিন্তু বার্ষিক লাভ মাত্র ২%। বাজার আপনাকে কয়েক দিনের মধ্যে ৫০% আয় করতে পারে, অথবা কয়েক দিনের মধ্যে ৫০% হারাতে পারে। এত বছর ধরে ব্যবসা করার পর, আমার মনে একটা গুরুত্বপূর্ণ ধারণা তৈরি হয়েছে: ঝুঁকির মুখোমুখি হতে হবে। ঝুঁকি এবং লাভ কখনোই বিচ্ছিন্নভাবে থাকে না। ব্যবসা হলো মাছ ধরার জন্য সমুদ্রে যাওয়ার মতো। মাছ ধরা অসম্ভব কিন্তু সমুদ্রের ঝুঁকি বহন করতে চান না। অতিরিক্ত রক্ষণশীল হওয়া এবং অতিরিক্ত উগ্রপন্থী হওয়া আসলে দুটি চরমপন্থা। কৌশলগত মডেল ডিজাইনের ক্ষেত্রেও একই কথা প্রযোজ্য।
লেনদেনের সংখ্যা
মডেলটি প্রমাণ করার জন্য আপনি কয়েক মাসের ব্যাকটেস্ট পারফরম্যান্স ব্যবহার করতে পারবেন না। যদি খুব কম ব্যাকটেস্ট ডেটা থাকে, তাহলে ব্যাকটেস্টের ফলাফল দুর্ঘটনাজনিত হতে পারে, হয় প্যারামিটারগুলি দুর্ঘটনাজনিত, অথবা বাজারের অবস্থা দুর্ঘটনাজনিত, ইত্যাদি। এছাড়াও, দীর্ঘ ঐতিহাসিক তথ্য কিছু বেঁচে থাকা পক্ষপাতকেও ফিল্টার করতে পারে।
সাধারণভাবে বলতে গেলে, দেশীয় স্টক এবং পণ্যের জন্য, তথ্য ৫ বছরেরও বেশি সময় ধরে ব্যাকটেস্ট করা উচিত এবং নতুন তালিকাভুক্ত পণ্যের জন্য, কমপক্ষে ৩ বছরের ব্যাকটেস্টিং প্রয়োজন। আন্তর্জাতিক বাজারে সোনা এবং মার্কিন ডলার সূচকের মতো পূর্ববর্তী তালিকাভুক্ত পণ্য বা পণ্যের জন্য, কমপক্ষে একটি বুল-বিয়ার চক্র ব্যাকটেস্ট করা উচিত, যা সাধারণত ১০ থেকে ১৫ বছরের বেশি হওয়া উচিত। ব্যাকটেস্টিং ফলাফল যথেষ্ট নির্ভরযোগ্য হওয়ার জন্য ব্যাকটেস্টিং সময়কাল যথেষ্ট দীর্ঘ হতে হবে। যেসব পণ্য এই প্রয়োজনীয়তা পূরণ করে না, তাদের জন্য ঝুঁকির ঝুঁকি কমাতে পজিশন খোলার সময় R মান যথাযথভাবে ওজন করা উচিত।
গড় লাভ
গড় লাভের সূচকটি সাধারণ মনে হলেও আসলে এটি খুবই গুরুত্বপূর্ণ। এর হিসাবও খুব সহজ: নিট লাভ / লেনদেনের সংখ্যা। এটা বললে অত্যুক্তি হবে না যে এটি এমন একটি আয়না যা পৃষ্ঠে উজ্জ্বল বলে মনে হওয়া ব্যাকটেস্ট পারফরম্যান্স সনাক্ত করতে পারে। নিচে দেখানো হয়েছে, যদি এই কৌশলটি অর্থ উপার্জন করতে পারে, তবে এটি অস্বাভাবিক:

চিত্র ৫-১৮

চিত্র ৫-১৯
যদি আপনি এই কৌশলটির ব্যাকটেস্ট পারফর্ম্যান্স দেখেন, তাহলে আপনার মনে প্রশ্ন জাগতে পারে: এত নিখুঁত কৌশল ব্যবহার না করা কি দুঃখের বিষয় হবে না? এক মিনিট অপেক্ষা করুন! দ্বিতীয় ছবিতে গড় লাভের পরিমাণটি মনোযোগ সহকারে দেখুন, যা মাত্র ১৭, যার অর্থ প্রতিটি লেনদেন থেকে গড় লাভ মাত্র ১৭ ইউয়ান।
উদাহরণ হিসেবে ১০ ইউয়ানের লাফ দিয়ে বেশিরভাগ ফিউচার মার্কেট পণ্যের কথাই ধরুন। যারা প্রকৃত ট্রেডিং করেছেন তারা এর অর্থ বুঝতে পারবেন। বাস্তব ট্রেডিংয়ে, এক লাফ তো দূরের কথা, এমনকি দশ বা আট লাফও সম্ভব। দুটি লাফ এবং তিনটি লাফ সাধারণ ব্যাপার।
জয়ের হার
জয়ের হার কখনো একা থাকে না, অথবা শুধুমাত্র জয়ের হারের উপর ভিত্তি করে সমস্যাটি নিয়ে কথা বলা অবাস্তব। যদি আপনি সঠিক বাজারে সঠিক মডেল ব্যবহার করেন, তাহলে ৮০% জয়ের হার অর্জন করা অবাক করার মতো কিছু নয়, তবে এটি অর্থহীন।
দাম হয় বাড়ে বা কমে, অন্যথায় এটি একই থাকে। যদি সময় যথেষ্ট দীর্ঘ হয়, তাহলে আপনি দেখতে পাবেন যে দাম বৃদ্ধি এবং পতনের সম্ভাবনা 50%। আপনি যে ধরণের কৌশল মডেলই ব্যবহার করুন না কেন, ব্যাকটেস্টিংয়ের সময় যদি জয়ের হার ৫০% ছাড়িয়ে যায়, তাহলে আপনার সতর্ক থাকা উচিত। গাণিতিক এবং শারীরিক দৃষ্টিকোণ থেকে, এটি অসম্ভব।
বিস্তারিত ইক্যুইটি কার্ভ
কথায় আছে, একটি ছবি হাজার শব্দের সমান। বিস্তারিত ইকুইটি কার্ভ প্রথম এন্ট্রির সময় থেকে শুরু হয়ে চার্টের শেষ বারের সময় পর্যন্ত চলে। এটি ট্রেডিংয়ের জন্য একটি রিয়েল-টাইম ইকুইটি কার্ভ। এটি রিয়েল-টাইম কারণ এটি প্রতিটি বারের ভাসমান লাভ এবং ক্ষতি বিবেচনা করে।

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

চিত্র ৫-২১
আপনি অসংখ্য ১০০% রিটার্ন পেতে পারেন, কিন্তু আপনি সর্বাধিক একবারই ১০০% রিটার্ন দিতে পারবেন। বার্ষিক হারে রিটার্ন এবং প্রকৃত রিটার্নের হারের (হোল্ডিং পিরিয়ড রেট অফ রিটার্ন) মধ্যে ব্যবধান অনেক বড় হতে পারে, কখনও কখনও আমরা কল্পনাও করতে পারি তার চেয়েও বেশি।
সারসংক্ষেপ
পরিশেষে, একটি বিষয় ব্যাখ্যা করা প্রয়োজন। নিখুঁত ব্যাকটেস্টিং কর্মক্ষমতা বিদ্যমান নেই। পরীক্ষার ডেটার সমস্যা ছাড়াও, মডেলের ব্যবহারকারীরা আরও সমস্যায় পড়তে পারেন। প্যারামিটার অপ্টিমাইজেশন থেকে শুরু করে লেনদেনের নকশা পর্যন্ত সবকিছুই প্রকৃত ক্রিয়াকলাপ থেকে আলাদা হতে পারে।
আরও গুরুত্বপূর্ণ বিষয় হল, মডেলটিকে উৎপাদনে আনার ক্ষেত্রে এক্স ফ্যাক্টর হলো এক্স এক্সিকিউশন লেভেলের আবেগগত সমস্যা। "আবেগগত শূন্যতা" পরিবেশে প্রকৃত ট্রেডিং চালানো যায় না। ফ্যাট-টেইল ঘটনাটি এমন একটি বিষয় যা প্রতিটি প্রোগ্রাম্যাটিক ট্রেডারকে সর্বদা সতর্ক থাকতে হবে।
বাড়ির কাজ
১. ব্যাকটেস্টিংয়ে আপনার মনে হয় যে পারফরম্যান্স সূচকগুলো সবচেয়ে গুরুত্বপূর্ণ, সেগুলো তালিকাভুক্ত করুন।
2. শার্প রেশিও সূচক গণনা করার চেষ্টা করুন
৫.৪ কেন নমুনার বাইরের পরীক্ষা প্রয়োজন?
সারাংশ
পূর্ববর্তী বিভাগে, আমরা কৌশলগত ব্যাকটেস্টিং কর্মক্ষমতা প্রতিবেদনটি কীভাবে বুঝতে হয় তা শেখানোর জন্য বেশ কয়েকটি গুরুত্বপূর্ণ কর্মক্ষমতা সূচকের উপর আলোকপাত করেছি। আসলে, ব্যাকটেস্টিংয়ের মাধ্যমে অর্থ উপার্জন করতে পারে এমন একটি কৌশল লেখা সবচেয়ে কঠিন কাজ নয়। আরও কঠিন কাজ হল বাস্তব ট্রেডিংয়ে এই কৌশলটি কার্যকর কিনা তা কীভাবে মূল্যায়ন করা যায়। তাই আজ আমি আপনাদের নমুনার বাইরের পরীক্ষা এবং এর গুরুত্ব ব্যাখ্যা করব।
ব্যাকটেস্টিং এবং আসল ট্রেডিং এক নয়।
অনেক পরিমাণগত নতুনরা আপাতদৃষ্টিতে ভালো পারফরম্যান্স রিপোর্ট বা ব্যাকটেস্ট থেকে মূলধন বক্ররেখার উপর ভিত্তি করে সহজেই তাদের ট্রেডিং কৌশল সম্পর্কে নিশ্চিত হয়ে ওঠেন এবং বাজারে তাদের প্রতিভা দেখানোর জন্য প্রস্তুত হন। অবশ্যই, এই ব্যাকটেস্টের ফলাফল তাদের পর্যবেক্ষণ করা একটি নির্দিষ্ট বাজার অবস্থার সাথে পুরোপুরি মিলে যেতে পারে, কিন্তু একবার এই ট্রেডিং কৌশলটিকে দীর্ঘ সময়ের জন্য প্রকৃত লড়াইয়ে ফেলা হলে, তারা দেখতে পাবে যে এই কৌশলটি আসলে কার্যকর নয়।
আমি এমন অনেক ট্রেডিং কৌশল দেখেছি যেগুলোর সাফল্যের হার ৫০% এরও বেশি, যখন ব্যাকটেস্ট করা হয়। এত উচ্চ জয়ের হারের সাথে, লাভ এবং ক্ষতির অনুপাত এখনও 1:1 এর উপরে থাকতে পারে। তবে, একবার এই কৌশলগুলি বাস্তবায়িত হলে, এগুলি মূলত ক্ষতির কারণ হয়। ক্ষতির অনেক কারণ রয়েছে, যার মধ্যে একটি হল ব্যাকটেস্টিংয়ের সময়, খুব কম ডেটা নমুনা থাকে, যা ডেটা পক্ষপাতের দিকে পরিচালিত করে।
তবে, ট্রেডিং খুবই জটিল একটি বিষয়। পিছনে ফিরে তাকালে, এটি অত্যন্ত স্পষ্ট, কিন্তু যদি আমরা শুরুতে ফিরে যাই, আমরা এখনও ক্ষতির মধ্যে রয়েছি। এর সাথে জড়িত পরিমাণ নির্ধারণের মূল সমস্যা - ঐতিহাসিক তথ্যের সীমাবদ্ধতা। অতএব, যদি আপনি আপনার ট্রেডিং কৌশল পরীক্ষা করার জন্য সীমিত ঐতিহাসিক তথ্য ব্যবহার করেন, তাহলে "রিয়ারভিউ মিররে তাকিয়ে গাড়ি চালানো" সমস্যা এড়ানো কঠিন হবে।
নমুনার বাইরের পরীক্ষা কী?
যখন তথ্য সীমিত, তখন আমরা কীভাবে সীমিত তথ্যের সর্বোত্তম ব্যবহার করে বৈজ্ঞানিকভাবে ট্রেডিং কৌশলগুলি পরীক্ষা করতে পারি? উত্তর হল নমুনার বাইরে পরীক্ষা। ব্যাকটেস্টিং করার সময়, ঐতিহাসিক তথ্যকে সময়ের ক্রম অনুসারে দুটি ভাগে ভাগ করা হয়। তথ্যের প্রথম অংশটি কৌশল অপ্টিমাইজেশনের জন্য ব্যবহৃত হয় এবং এটিকে প্রশিক্ষণ সেট বলা হয়, যখন তথ্যের দ্বিতীয় অংশটি নমুনার বাইরের পরীক্ষার জন্য ব্যবহৃত হয় এবং এটিকে পরীক্ষা সেট বলা হয়।
যদি আপনার কৌশল সর্বদা কার্যকর হয়, তাহলে প্রশিক্ষণ সেট ডেটাতে সেরা পরামিতিগুলি অপ্টিমাইজ করুন এবং ব্যাকটেস্টিংয়ের জন্য এই পরামিতিগুলি পরীক্ষা সেট ডেটাতে প্রয়োগ করুন। আদর্শভাবে, ব্যাকটেস্টের ফলাফল প্রশিক্ষণ সেটের ফলাফলের মতো হওয়া উচিত, অথবা একটি যুক্তিসঙ্গত পরিসরের মধ্যে হওয়া উচিত। এটি দেখায় যে এই কৌশলটি তুলনামূলকভাবে কার্যকর।
তবে, যদি কোনও কৌশল পরীক্ষা সেটে ভালো পারফর্ম করে কিন্তু পরীক্ষা সেটে খারাপ পারফর্ম করে, অথবা ব্যাপকভাবে পরিবর্তিত হয়, এবং অন্যান্য পরামিতিগুলির ক্ষেত্রেও একই কথা সত্য, তাহলে কৌশলটিতে ডেটা অ্যাকোমোডেশন পক্ষপাত থাকতে পারে।
উদাহরণস্বরূপ, ধরুন আপনি কমোডিটি ফিউচার রিবার ব্যাকটেস্ট করতে চান, এবং রিবারের উপর প্রায় ১০ বছরের তথ্য (২০০৯-২০১৯) আছে। তাহলে আপনি ২০০৯ থেকে ২০১৫ পর্যন্ত তথ্য প্রশিক্ষণ সেট হিসেবে এবং ২০১৫ থেকে ২০১৯ পর্যন্ত তথ্য পরীক্ষা সেট হিসেবে ব্যবহার করতে পারেন। উদাহরণস্বরূপ, একটি ডাবল মুভিং এভারেজ কৌশলের জন্য, প্রশিক্ষণ সেটের সেরা প্যারামিটার গ্রুপগুলি হল (১৫-পিরিয়ড মুভিং এভারেজ এবং ৯০-পিরিয়ড মুভিং এভারেজ), (৫-পিরিয়ড মুভিং এভারেজ এবং ৫০-পিরিয়ড মুভিং এভারেজ), (১০-পিরিয়ড মুভিং এভারেজ এবং ১০০-পিরিয়ড মুভিং এভারেজ)... তারপর, আমরা ব্যাকটেস্টিংয়ের জন্য এই প্যারামিটারগুলির গ্রুপগুলিকে টেস্ট সেটে রাখি এবং প্রশিক্ষণ সেট এবং টেস্ট সেটের ব্যাকটেস্ট পারফরম্যান্স রিপোর্ট এবং ক্যাপিটাল কার্ভগুলির তুলনা করি যাতে তাদের পার্থক্য যুক্তিসঙ্গত সীমার মধ্যে থাকে কিনা তা নির্ধারণ করা যায়।
যদি আপনি নমুনার বাইরের পরীক্ষা ব্যবহার না করে সরাসরি ২০০৯ থেকে ২০১৯ সালের ডেটা ব্যবহার করে কৌশলটি ব্যাকটেস্ট করেন, তাহলে ঐতিহাসিক তথ্যের কারণে ফলাফলগুলি একটি ভাল ব্যাকটেস্ট পারফরম্যান্স রিপোর্ট এবং মূলধন বক্ররেখা হতে পারে। যাইহোক, এই ধরনের ব্যাকটেস্ট ফলাফল প্রকৃত ট্রেডিংয়ের জন্য খুব কম তাৎপর্যপূর্ণ এবং বিশেষ করে আরও পরামিতি সহ কৌশলগুলির জন্য কোনও নির্দেশিকা ভূমিকা পালন করে না।
উন্নত নমুনা বহির্ভূত পরীক্ষা
ঐতিহাসিক তথ্য দুটি ভাগে ভাগ করা এবং নমুনা-মধ্যে এবং নমুনা-বহির্ভূত ব্যাকটেস্টিং সম্পাদন করার পাশাপাশি, আসলে একটি আরও ভাল বিকল্প রয়েছে, যা হল রিকার্সিভ ব্যাকটেস্টিং এবং ক্রস-ব্যাকটেস্টিং পদ্ধতি। বিশেষ করে যখন সাম্প্রতিক বছরগুলিতে তালিকাভুক্ত অপরিশোধিত তেলের ফিউচার এবং আপেল ফিউচারের মতো খুব কম ঐতিহাসিক তথ্য থাকে, তখন সীমিত তথ্য ব্যবহার করে মডেলটি ব্যাপকভাবে পরীক্ষা করার জন্য এই দুটি পদ্ধতি ব্যবহার করা যেতে পারে।
পুনরাবৃত্তিমূলক পরীক্ষার মূলনীতিঃ পূর্ববর্তী দীর্ঘ ইতিহাসের সাথে মডেলটি প্রশিক্ষণ দিন এবং পরবর্তী তুলনামূলকভাবে সংক্ষিপ্ত ডেটা দিয়ে মডেলটি পরীক্ষা করুন, তারপরে ক্রমাগত ডেটা উইন্ডোটি পিছনে সরান, প্রশিক্ষণ এবং পরীক্ষার পদক্ষেপগুলি পুনরাবৃত্তি করুন।
প্রশিক্ষণ তথ্য: ২০০০ থেকে ২০০১, পরীক্ষার তথ্য: ২০০২;
প্রশিক্ষণ তথ্য: ২০০১ থেকে ২০০২, পরীক্ষার তথ্য: ২০০৩;
প্রশিক্ষণ তথ্য: ২০০২ থেকে ২০০৩, পরীক্ষার তথ্য: ২০০৪;
প্রশিক্ষণ তথ্য: ২০০৩ থেকে ২০০৪, পরীক্ষার তথ্য: ২০০৫;
প্রশিক্ষণ তথ্য: ২০০৪ থেকে ২০০৫, পরীক্ষার তথ্য: ২০০৬;
. . . এবং আরও অনেক কিছু.
অবশেষে, [২০০২, ২০০৩, ২০০৪, ২০০৫, ২০০৬... ] পরীক্ষার ফলাফলের পরিসংখ্যান তৈরি করা হয়েছে যাতে কৌশলটির কার্যকারিতা সামগ্রিকভাবে মূল্যায়ন করা যায়।
নিম্নলিখিত চিত্রটি, যা একটি স্বজ্ঞাত ব্যাখ্যা প্রদান করে, হল পুনরাবৃত্তিমূলক পরীক্ষার নীতিঃ

চিত্র ৫-২২
উপরের চিত্রটি দুটি ভিন্ন পদ্ধতিতে প্রদর্শিত হয়েছে।
প্রথম পদ্ধতিঃ প্রতিবার পরীক্ষার সময়, পরীক্ষার তথ্য তুলনামূলকভাবে ছোট এবং পরীক্ষার সংখ্যা বেশি।
দ্বিতীয় প্রকারঃ প্রতিবার পরীক্ষার সময়, পরীক্ষার তথ্য তুলনামূলকভাবে দীর্ঘ এবং পরীক্ষার সংখ্যা কম।
ব্যবহারিক প্রয়োগে, পরীক্ষার তথ্যের দৈর্ঘ্য পরিবর্তন করা যেতে পারে এবং অ-স্থির তথ্য মোকাবেলায় মডেলের স্থায়িত্ব নির্ধারণের জন্য একাধিক পরীক্ষা করা যেতে পারে। ক্রস-ভ্যালিডেশনের মূল নীতি হল সমস্ত ডেটাকে N সমান অংশে ভাগ করা, প্রতিবার প্রশিক্ষণের জন্য N-1 অংশ ব্যবহার করা এবং বাকি অংশগুলি পরীক্ষার জন্য ব্যবহার করা।
২০০০ থেকে ২০০৩ সাল পর্যন্ত প্রত্যেক বছরকে ভাগ করে চারটি ভাগে ভাগ করা হয়েছে। ক্রস-চেক করার প্রক্রিয়াটি নিম্নরূপঃ
১। প্রশিক্ষণের তথ্যঃ ২০০১-২০০৩; পরীক্ষার তথ্যঃ ২০০০;
২. প্রশিক্ষণের তথ্যঃ ২০০০-২০০২, পরীক্ষার তথ্যঃ ২০০৩;
৩। প্রশিক্ষণের তথ্যঃ ২০০০, ২০০১, ২০০৩, পরীক্ষার তথ্যঃ ২০০২;
৪। প্রশিক্ষণের তথ্যঃ ২০০০, ২০০২, ২০০৩, পরীক্ষার তথ্যঃ ২০০১;

চিত্র ৫-২৩
যেমন উপরের চিত্রটি দেখায়ঃ ক্রস-টেস্টিংয়ের সবচেয়ে বড় সুবিধা হ'ল সীমিত ডেটা ব্যবহার করা, প্রতিটি প্রশিক্ষণ ডেটা একইভাবে পরীক্ষার ডেটা। তবে কৌশলগত মডেলের পরীক্ষার ক্ষেত্রে ক্রস-টেস্টিং প্রয়োগ করার ক্ষেত্রেও সুস্পষ্ট ত্রুটি রয়েছেঃ
১। যখন দামের তথ্য অস্থির থাকে, তখন মডেলের পরীক্ষার ফলাফলগুলি প্রায়শই নির্ভরযোগ্য হয় না। উদাহরণস্বরূপ, ২০০৮ সালের ডেটা দিয়ে প্রশিক্ষণ দেওয়া হয়, ২০০৫ সালের ডেটা দিয়ে পরীক্ষা করা হয়। ২০০৮ সালের বাজারের পরিবেশটি ২০০৫ সালের তুলনায় খুব বেশি পরিবর্তিত হওয়ার সম্ভাবনা রয়েছে, তাই মডেল পরীক্ষার ফলাফলগুলি নির্ভরযোগ্য নয়।
২। প্রথম ধারাটির মতই, ক্রস-টেস্টিংয়ে, যদি পুরোনো ডেটা টেস্টিং মডেল ব্যবহার করা হয় তবে যদি নতুন ডেটা ট্রেনিং মডেল ব্যবহার করা হয়, তবে এটি নিজে থেকেই যুক্তিযুক্ত নয়।
উপরন্তু, সমান্তরাল কৌশলগত মডেলের পরীক্ষার সময়, ডেটা ওভারল্যাপিংয়ের সমস্যা দেখা দেয়, উভয়ই পরোক্ষ পরীক্ষা এবং ক্রস-টেস্টিং।
ট্রেডিং কৌশল মডেলিংয়ের সময়, বেশিরভাগ প্রযুক্তিগত সূচকগুলি একটি নির্দিষ্ট দৈর্ঘ্যের ঐতিহাসিক তথ্যের উপর ভিত্তি করে তৈরি করা হয়। উদাহরণস্বরূপ, একটি ট্রেন্ডিং সূচক ব্যবহার করে, গত 50 দিনের ঐতিহাসিক তথ্য গণনা করা হয়, এবং পরবর্তী ট্রেডিং দিবসে, সূচকটি 50 দিনের ডেটা গণনা করা হয়, তবে এই দুটি সূচকের ডেটা গণনা করা হয় 49 দিন একই, যার ফলে প্রতি দুই দিন এই সূচকের পরিবর্তন খুব অস্পষ্ট।

চিত্র ৫-২৪
তথ্য ওভারল্যাপের ফলে নিম্নলিখিত বিষয়গুলো হতে পারেঃ
১। মডেলের পূর্বাভাসের ফলাফলের ধীরগতি ধীরগতিতে পরিবর্তিত হয়, যা আমরা প্রায়শই সূচকগুলির পশ্চাদপসরণ বলে থাকি।
২। কিছু পরিসংখ্যানগত মান মডেল ফলাফল পরীক্ষার জন্য ব্যবহারযোগ্য নয়, কারণ পুনরাবৃত্ত তথ্যের ফলে সিকোয়েন্স সম্পর্কিত, যা কিছু পরিসংখ্যানগত পরীক্ষার ফলাফলকে অবিশ্বস্ত করে তোলে।
একটি ভালো ট্রেডিং কৌশল ভবিষ্যতে লাভজনক হতে সক্ষম হবে। বস্তুনিষ্ঠভাবে ট্রেডিং কৌশল পরীক্ষা করার পাশাপাশি, নমুনার বাইরের পরীক্ষাও দক্ষতার সাথে পরিমাণগত ব্যবসায়ীদের সময় বাঁচাতে পারে। বেশিরভাগ ক্ষেত্রে, সমস্ত নমুনার সর্বোত্তম পরামিতিগুলি সরাসরি গ্রহণ করা এবং তাদের প্রকৃত যুদ্ধে নিযুক্ত করা খুবই বিপজ্জনক।
যদি প্যারামিটার অপ্টিমাইজেশনের সময়কালের আগে সমস্ত historicalতিহাসিক ডেটাকে পৃথক করা হয়, তাহলে এটিকে ইন-স্যাম্পল ডেটা এবং এক্সট্রা-স্যাম্পল ডেটা হিসাবে ভাগ করে নেওয়া হয়, প্রথমে ইন-স্যাম্পল ডেটা ব্যবহার করে প্যারামিটার অপ্টিমাইজেশন করা হয়, তারপরে এক্সট্রা-স্যাম্পল ডেটা ব্যবহার করে এক্সট্রা-স্যাম্পল টেস্টিং করা হয়, তবে এই ত্রুটিটি খুঁজে বের করা যেতে পারে এবং একই সাথে পরীক্ষা করা যেতে পারে যে অপ্টিমাইজড কৌশলটি ভবিষ্যতের বাজারে প্রযোজ্য কিনা।
সারসংক্ষেপ
ট্রেডিংয়ের মতোই, আমরা কখনই সময়কে অতিক্রম করতে পারি না, আমাদের নিজের জন্য সঠিক সিদ্ধান্ত নিতে পারি না, যাতে কোনও ভুল নেই। যদি ঈশ্বরের হাত বা ভবিষ্যতে ফিরে যাওয়ার ক্ষমতা থাকে, তবে পরীক্ষা ছাড়াই সরাসরি অনলাইনে সরাসরি ট্রেডিং করা যায়, তবে পাত্রটি ভরাট হয়ে যায়। এবং আমার মতো মানুষদের অবশ্যই আমাদের কৌশলগুলি historicalতিহাসিক তথ্যের মধ্যে পরীক্ষা করতে হবে।
যাইহোক, বিপুল পরিমাণ ইতিহাসের তথ্য থাকা সত্ত্বেও, বিশাল, অসীম এবং অপ্রত্যাশিত ভবিষ্যতের মুখোমুখি হলে এটি অত্যন্ত দুর্লভ বলে মনে হয়। অতএব, ইতিহাসের উপর ভিত্তি করে নিচ থেকে উপরে পর্যন্ত বিকশিত ট্রেডিং সিস্টেমটি সময়ের সাথে সাথে ডুবে যাবে। কারণ ইতিহাস ভবিষ্যৎকে নিঃশেষ করতে পারে না। অতএব, একটি সম্পূর্ণ ইতিবাচক প্রত্যাশা বাণিজ্য ব্যবস্থাকে তার অভ্যন্তরীণ নীতি এবং যুক্তি দ্বারা সমর্থিত হতে হবে।
"বিশ্বাস করো, কিন্তু যাচাই করো" - রাষ্ট্রপতি রিগ্যান
বাড়ির কাজ
১. বাস্তব জীবনের কোন ঘটনাগুলো হলো বেঁচে থাকা পক্ষপাত?
২. ইন-স্যাম্পল এবং আউট-স্যাম্পল উভয়ের ব্যাকটেস্ট করার জন্য এবং তাদের পার্থক্য তুলনা করার জন্য উদ্ভাবকের পরিমাণগত সরঞ্জামগুলি ব্যবহার করুন।
৫.৫ ট্রেডিং কৌশল অপ্টিমাইজেশন এবং অপ্টিমাইজেশন
সারাংশ
ট্রেডিং কৌশলের মূল কথা হলো বাজারের নিয়ম-কানুন সাধারণীকরণ এবং উপসংহার। বাজার সম্পর্কে আপনার ধারণা যত গভীর হবে এবং কোডের মাধ্যমে ধারণা প্রকাশের ক্ষমতা তত বেশি হবে, আপনার কৌশল বাজারের তত কাছাকাছি হবে। এই বিভাগটি আপনার ট্রেডিং কৌশলগুলি কীভাবে অপ্টিমাইজ করবেন এবং আপনার আসল ট্রেডিংয়ের জন্য চূড়ান্ত প্রস্তুতি কীভাবে নেবেন তা ব্যাখ্যা করবে।
প্রবেশ এবং প্রস্থান অপ্টিমাইজ করুন
বেশিরভাগ ট্রেন্ড ট্র্যাকিং কৌশল বাজারের প্রবণতা ধরার জন্য ব্রেকথ্রু বা প্রযুক্তিগত সূচক ব্যবহার করে। সাধারণত, এই সংকেতগুলির প্রবেশ এবং প্রস্থান পদ্ধতিগুলি কম সময়োপযোগী হয়। যদি কৌশলটি একটি সমাপনী মূল্য মডেল ব্যবহার করে, তাহলে প্রবেশ বিন্দুটি পরবর্তী K-লাইনের খোলার মূল্যে থাকবে। অতএব, এই K-লাইনটি ভেঙে ফেলার সেরা প্রবেশ সময়টি মিস হবে এবং প্রচুর পরিমাণে লাভ হাতছাড়া হবে।
অতএব, একটি কার্যকর উপায় হল কৌশল বাস্তবায়নে আরও সুবিধাজনক রিয়েল-টাইম মূল্য ব্যবহার করা এবং সংকেত উপস্থিত হওয়ার সাথে সাথে অর্ডার দেওয়া। এইভাবে, যখন সংকেত প্রতিষ্ঠিত হয়, আপনি অবিলম্বে বাজারে প্রবেশ করতে পারবেন এবং লাভ হাতছাড়া করবেন না। কিন্তু সব রিয়েল-টাইম দাম ক্লোজিং দামের চেয়ে ভালো নয়। এটি ট্রেডিং কৌশলের উপর নির্ভর করে। সহজ ট্রেডিং লজিক সহ কিছু কৌশলের ক্ষেত্রে, রিয়েল-টাইম মূল্য এবং সমাপনী মূল্যের মধ্যে পার্থক্য তুলনামূলকভাবে কম। তবে, সমাপনী মূল্য মডেলটি আরও বিস্তারিত ট্রেডিং যুক্তি পরিচালনা করতে পারে না, তাই রিয়েল-টাইম মূল্য ব্যবহার করা প্রয়োজন।
প্যারামিটার অপ্টিমাইজেশান
প্যারামিটার অপ্টিমাইজেশন পরিমাণগত ট্রেডিং কৌশলগুলিকে ঐতিহাসিক তথ্যের কাছাকাছি করে তুলতে পারে এবং আরও ভালো ব্যাকটেস্টিং কর্মক্ষমতা অর্জন করতে পারে। উদাহরণস্বরূপ: আমরা রিবার চুক্তিতে একটি দ্বিগুণ চলমান গড় কৌশল ব্যবহার করি, কিন্তু কোন দুটি চলমান গড় সেরা? তারপর আপনি উদ্ভাবকের পরিমাণগত টুলে প্যারামিটার টিউনিং ফাংশন ব্যবহার করে স্বয়ংক্রিয়ভাবে সেরা দুটি চলমান গড় প্যারামিটার খুঁজে পেতে পারেন।
নিচের চিত্রে যেমন দেখানো হয়েছে, ডাবল মুভিং এভারেজ কৌশলটিকে উদাহরণ হিসেবে নিলে, এটি নিজেই একটি বহুমাত্রিক উদাহরণ। যদি আমরা প্রতিটি প্যারামিটারের ব্যাকটেস্ট ফলাফলগুলিকে একটি বিন্দু হিসেবে আঁকি (নীচের চিত্রটি লক্ষ্য করুন), তাহলে প্রতিটি প্যারামিটার এই কৌশলের একটি মাত্রা, এবং পরিণামে সমস্ত প্যারামিটার সমন্বয় এই জটিল বহুমাত্রিক পৃষ্ঠের আকৃতি (পাহাড়ের মতো) তৈরি করে।

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

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

চিত্র ৫-২৭
প্যারামিটার দ্বীপপুঞ্জ
উপরের চিত্রটি উদাহরণ হিসেবে নিলে, যদি ব্যাকটেস্ট পারফরম্যান্স প্যারামিটার আইল্যান্ড দেখায়, যখন প্যারামিটারগুলি সামান্য পরিবর্তিত হয়, তখন কৌশলটির লাভজনকতা ব্যাপকভাবে হ্রাস পাবে। এই ধরনের প্যারামিটারগুলির দুর্বল সার্বজনীনতার কারণে প্রকৃত লেনদেনে ক্রমবর্ধমান বাজার অবস্থার সাথে মানিয়ে নেওয়া প্রায়শই কঠিন।
অতএব, যদি কাছাকাছি প্যারামিটারগুলির কর্মক্ষমতা সর্বোত্তম প্যারামিটারের তুলনায় অনেক খারাপ হয়, তাহলে এই সর্বোত্তম প্যারামিটারটি অতিরিক্ত ফিটিংয়ের ফলাফল হতে পারে, যা গাণিতিকভাবে সর্বাধিক সমাধানের পরিবর্তে একক সমাধান হিসাবে বিবেচনা করা যেতে পারে। গাণিতিক দৃষ্টিকোণ থেকে, এককতা অস্থির। ভবিষ্যতের অনিশ্চিত বাজার পরিস্থিতিতে, বাজারের বৈশিষ্ট্যগুলি একবার পরিবর্তিত হলে, সর্বোত্তম পরামিতিগুলি সবচেয়ে খারাপ পরামিতিতে পরিণত হতে পারে।
ফিল্টার যোগ করুন
অনেক ট্রেন্ড কৌশলই ট্রেন্ডটি ভালোভাবে বুঝতে পারে এবং বাজারের ট্রেন্ডের সময় প্রচুর রিটার্ন অর্জন করতে পারে। তবে, দীর্ঘমেয়াদে, চূড়ান্ত ফলাফল হয় সামান্য লাভ অথবা ক্ষতি। সমস্যাটি কী?
কারণ হলো, কৌশলটি বারবার একটি অস্থির বাজারে ট্রেডিং করে, এবং বেশিরভাগ অস্থির ট্রেডই ক্ষতি বা ছোট লাভের কারণ। বাজারটি প্রায় ৭০% সময় একটি অস্থির বাজারে থাকে। দীর্ঘমেয়াদী ক্রমাগত ছোট ক্ষতি পূর্ববর্তী সমস্ত লাভের ক্ষতির দিকে পরিচালিত করে।

চিত্র ৫-২৮
সমাধান হল ফিল্টার যোগ করা। বাজারে অনেক ধরণের ফিল্টার রয়েছে, যার মধ্যে রয়েছে লাভ-ক্ষতি ফিল্টার, ঝুঁকি মূল্য ফিল্টার, ট্রেন্ড প্যাটার্ন ফিল্টার, প্রযুক্তিগত নির্দেশক ফিল্টার ইত্যাদি। উদাহরণস্বরূপ, একটি বৃহৎ-সময়ের চলমান গড় ফিল্টার যোগ করলে একটি অস্থির বাজারে লেনদেনের সংখ্যা হ্রাস পেতে পারে এবং ভুল লেনদেনের অর্ধেক ফিল্টার করা যেতে পারে।
তহবিল বক্ররেখা মসৃণ করা
কোয়ান্টিফিকেশন একটি স্থিতিশীল এবং টেকসই মুনাফা অর্জনের পদ্ধতি অনুসরণ করে, যা বেশিরভাগ ব্যবসায়ী দেখতে চান। কেউ এই বছর ৫০% আয় করতে, পরের বছর ৩০% লোকসান করতে এবং পরের বছর ৪০% আয় করতে চায় না। তারা বরং ২০% বার্ষিক রিটার্ন গ্রহণ করবে, তবে এটি দশ বছরেরও বেশি সময় ধরে স্থায়ী হতে পারে। পরিমাণগত বিনিয়োগ এটাই করতে পারে। কারণ পরিমাণগত বিনিয়োগ হল টেকসই কর্মক্ষমতা সহ একটি ট্রেডিং মডেল।
একটি মসৃণ মূলধন বক্ররেখা অর্জনের জন্য, একাধিক কৌশল, একাধিক বৈচিত্র্য, একাধিক চক্র এবং একাধিক পরামিতি সহ একটি বিনিয়োগ পোর্টফোলিও তৈরি করা প্রয়োজন। কিন্তু যত বেশি হবে, তা অবশ্যই ভালো হবে না। এখানে একটি হ্রাসকারী প্রান্তিক প্রভাব রয়েছে। শুরুতে আপনি পোর্টফোলিওতে যত বেশি যোগ করবেন, বৈচিত্র্য তত ভালো হবে। যাইহোক, যখন কৌশলটি একটি নির্দিষ্ট মাত্রায় পৌঁছায়, তখন বৈচিত্র্যের হ্রাসকারী রিটার্নের প্রভাব দেখা দিতে শুরু করে। একটি সংমিশ্রণের সুবিধা হল বৈচিত্র্য। যদিও সামগ্রিক রিটার্নের হার সর্বোচ্চ নয়, তবে এটি সবচেয়ে স্থিতিশীল।
পবিত্র গ্রেইলের সন্ধান ত্যাগ করো।
পরিমাণগত ট্রেডিং হলি গ্রেইল খুঁজে পেতে পারে কিনা তা অনেক ব্যবসায়ী বিবেচনা করে। কিছু ব্যবসায়ী এমনকি একটি সাধারণ ব্যাকটেস্টের পরে তাদের তথাকথিত নিখুঁত কৌশলগুলি নিয়ে বাজারে ছুটে আসেন। আমি আশা করি প্রতিটি যুদ্ধে জয়ী হব এবং একজন পেশাদার কোয়ান্ট হব যে সমস্ত বাধা অতিক্রম করতে পারবে।
কিন্তু কি কোন হলি গ্রেইল আছে? এটা আসলে খুবই সহজ, উত্তর হল না। আসলে, এটা বোঝা কঠিন নয়। যদি এই বাজারে সত্যিই নিয়ম থাকে, তাহলে উচ্চতর আইকিউ, উচ্চশিক্ষা এবং কঠোর পরিশ্রমী ব্যক্তিরা নিয়মগুলি আবিষ্কার করতে সক্ষম হবেন। তারা গাণিতিক বিশ্লেষণ, তথ্য একচেটিয়াকরণ বা অন্যান্য বিশ্লেষণ পদ্ধতি ব্যবহার করুক না কেন, তারা অবশেষে বাজারে বেশিরভাগ অর্থ উপার্জন করবে। দীর্ঘমেয়াদে, এই লোকেরা ট্রেডিং বাজারকে একচেটিয়া করবে যতক্ষণ না বাজারটি আর স্বাভাবিকভাবে চলতে পারে।
সারসংক্ষেপ
যদি ট্রেডিং সময় যথেষ্ট দীর্ঘ হয়, তাহলে ট্রেডিং প্রক্রিয়ার সময় যে কেউ বিভিন্ন বাজার প্রবণতার মুখোমুখি হতে পারে এবং এই প্রবণতাগুলি ঠিক পুনরাবৃত্তি হওয়ার সম্ভাবনা কম। একজন পরিমাণগত ব্যবসায়ী হিসেবে, আপনার নিজস্ব ট্রেডিং কৌশলগুলি সঠিকভাবে পরীক্ষা এবং অপ্টিমাইজ করার পাশাপাশি, আপনাকে বাজারের পরিস্থিতি ক্রমাগত পর্যবেক্ষণ করতে হবে এবং বাজারের পরিবর্তনের প্রতিক্রিয়ায় আপনার কৌশলগুলি ক্রমাগত উন্নত করতে হবে।
একই সাথে, আপনার এটাও বুঝতে হবে যে লাভ এবং ক্ষতি একই উৎস থেকে আসে। লোকসান সম্পূর্ণ ট্রেডিং কৌশলের অংশ। এমনকি সেরা ট্রেডিং কৌশলেও ধারাবাহিকভাবে পতন হতে পারে। যখন প্রতিটি ট্রেডে লোকসান হয়, তখন আপনার ট্রেডিং নিয়ম এবং কৌশল নিয়ে প্রশ্ন তোলা উচিত নয়। অন্তত আপনার কৌশলগত লজিক্যাল ফ্রেমওয়ার্ক সহজে পরিবর্তন করবেন না যদি না আপনার লজিক্যাল ফ্রেমওয়ার্ক শুরু থেকেই ভুল হয়।
বাড়ির কাজ
১. আপনার নিজস্ব কৌশলের বৈশিষ্ট্যের উপর ভিত্তি করে একটি বিনিয়োগ পোর্টফোলিও তৈরি করুন এবং উদ্ভাবকের পরিমাণগত সরঞ্জাম ব্যবহার করে ব্যাকটেস্ট করুন।
2. এই বিভাগের বিষয়বস্তুর উপর ভিত্তি করে আপনার পরিমাণগত ট্রেডিং কৌশলটি অপ্টিমাইজ করার চেষ্টা করুন।
৫.৬ সম্ভাব্য চিন্তাভাবনা তৈরি করুন এবং আপনার ট্রেডিং প্যাটার্ন উন্নত করুন
সারাংশ
ব্যবসা-বাণিজ্য একটি বিজ্ঞান এবং একটি শিল্প উভয়ই। ট্রেডিংয়ে অনেক পদ্ধতি আছে, তা সে মূল্য বিনিয়োগ, প্রযুক্তিগত বিশ্লেষণ, ইভেন্ট হটস্পট, আরবিট্রেজ হেজিং ইত্যাদি হোক না কেন, আপাতদৃষ্টিতে এগুলো যৌক্তিকভাবে কঠোর বলে মনে হয় এবং তত্ত্বগতভাবে তা যুক্তিসঙ্গত। কিন্তু বাস্তবে, এগুলি প্রায়শই পরস্পরবিরোধী। কখনও কখনও, বিজ্ঞানের কঠোরতা শিল্পের বন্য কল্পনাকে ব্যাখ্যা করতে পারে না।
যদিও বিভিন্ন ট্রেডিং পদ্ধতির বিভিন্ন সূচনা বিন্দু রয়েছে, তবুও সমস্ত রাস্তা রোমে নিয়ে যায়। মূল্য বিনিয়োগের সুবিধা হলো মূল্যের উপর ভিত্তি করে মূল্যের ওঠানামার জন্য একটি নিরাপত্তা মার্জিন নির্ধারণ করা যেতে পারে; প্রযুক্তিগত বিশ্লেষণের সুবিধা হলো তিনটি প্রধান অনুমান লেনদেনকে বৈজ্ঞানিক করে তোলে।
তবে, তাদের সকলের একটি সাধারণ বৈশিষ্ট্য রয়েছে, তা হল: তারা ভবিষ্যতের মূল্য বিশ্লেষণ সম্পর্কে কেবল মোটামুটি ভবিষ্যদ্বাণী করতে পারে, কিন্তু সঠিক ভবিষ্যদ্বাণী করতে পারে না। এমনকি যদি মৌলিক বিশ্লেষণকে কারিগরি বিশ্লেষণের সাথে একত্রিত করা হয়, তবুও এটি "নির্ভুলতা" উন্নত করার সমস্যা সমাধান করতে পারে না, তাই ট্রেডিং শুরু থেকে শেষ পর্যন্ত একটি সম্ভাব্যতার খেলা।
গেমস অফ চান্স
আসলে, ট্রেডিং কেবল সম্ভাবনার খেলা নয়। জীবনে, রাস্তা পার হওয়ার মতো ছোট ছোট বিষয় (আলো সবুজ, এখন রাস্তা পার হওয়া কি নিরাপদ?) এবং কী ধরণের বন্ধু তৈরি করা উচিত (এই বন্ধু কি নির্ভরযোগ্য?); কী ধরণের ক্যারিয়ার গড়ে তোলা উচিত (পেশাদার ট্রেডিং কি আসলেই ভালো ক্যারিয়ার?) এবং কাকে বিয়ে করা উচিত (আমরা কি একসাথে সুখী থাকব?) - সবকিছুই ঝুঁকি এবং লাভ মূল্যায়নের সম্ভাব্যতার খেলা। যেহেতু আমাদের ভবিষ্যৎ ভবিষ্যদ্বাণী করার ক্ষমতা নেই, তাই আমরা যখনই কিছু করি, আমরা যতই আত্মবিশ্বাসী থাকি না কেন, সবসময় ঝুঁকি থাকে এবং আমরা ১০০% নিশ্চিত হতে পারি না।
ট্রেডিংয়ে অনেক লোকের ভুলের একটি গুরুত্বপূর্ণ কারণ হল সম্ভাব্য চিন্তাভাবনার অভাব এবং ট্রেডিং করার সময় যুক্তিবাদী হওয়ার চেয়ে অতিরিক্ত আবেগপ্রবণ হওয়া। আবেগপ্রবণতা আসলে আমাদের আদিম প্রবৃত্তি। বাজারে, এই আদিম প্রবৃত্তিগুলি অনেক মানবিক দুর্বলতাকে উদ্দীপিত করতে পারে এবং সেগুলিকে দ্রুত বৃদ্ধি করতে পারে। এই কারণেই বেশিরভাগ মানুষ বাজারে আসে এবং শেষ পর্যন্ত ব্যর্থ হয়।
লেনদেন ব্যর্থতার কারণ
কারণ ১: মানুষের স্বভাবের কারণে
বেশিরভাগ মানুষেরই একটা দুর্বলতা থাকে: তারা ছোট ছোট সুবিধার সুযোগ নিতে পছন্দ করে এবং ছোট ছোট ক্ষতির ভয় পায়। বাজারে সামান্য লাভ হলে, তারা তাৎক্ষণিকভাবে তা নগদ করে এবং লাভ নিয়ে বাজার থেকে বেরিয়ে যায়; একবার ক্ষতি হলে, তারা দুর্ঘটনাক্রমে তাদের অর্থ ফিরে পাওয়ার চেষ্টায় ক্ষতিগ্রস্থ অবস্থানটি ধরে রাখে। ফলস্বরূপ, ছোট ক্ষতি ধীরে ধীরে বড় ক্ষতিতে পরিণত হয়।
দাম হয় বাড়ে বা কমে, অথবা একই থাকে। দীর্ঘমেয়াদে, লেনদেন ফি এবং স্লিপেজ বিবেচনা না করে, অর্থ উপার্জন বা অর্থ হারানোর সম্ভাবনা প্রায় 50%। অতএব, বেশিরভাগ মানুষের ট্রেডিং পদ্ধতি সীমিত লাভ এবং সীমাহীন ঝুঁকি সহ একটি নেতিবাচক প্রত্যাশা কৌশল হয়ে ওঠে। তাদের লেনদেন নিষ্পত্তির বিবৃতিটি এইরকম হওয়া উচিত: ছোট লাভ>>......>>ছোট লাভ>>বড় ক্ষতি।
বাস্তব জীবনে, এটি দরিদ্র মানুষের চিন্তাভাবনা এবং ধনীদের চিন্তাভাবনার সাথে অনেকটা মিল। দরিদ্র মানুষ ঝুঁকি নিতে অনীহা প্রকাশ করে এবং টাকা হারানোর ভয় পায়। আমি এমন চাকরি পছন্দ করি যা স্থিতিশীল আয় প্রদান করে এবং স্থিতিশীলতা চায়। এমনকি যদি আপনি কোনও কিছু করার ব্যাপারে পুরোপুরি নিশ্চিত না হন, তবুও আপনার তা কখনই করা উচিত নয়। আপাতদৃষ্টিতে, এটি করার মধ্যে কোনও ভুল নেই বলে মনে হচ্ছে, তবে এর পিছনে বিশাল সুযোগ এবং ঝুঁকি রয়েছে।
ধনীরা ঝুঁকি নিতে বেশি আগ্রহী, কারণ তারা জানে যে ঝুঁকি এবং লাভ সর্বদা সমানুপাতিক। কেবল ঝুঁকিই সুযোগ তৈরি করে। তারা যুক্তিসঙ্গতভাবে ঝুঁকি মূল্যায়ন করে এবং যখন ঝুঁকি নিয়ন্ত্রণযোগ্য হয় তখন সাহসী বাজি ধরে।
কারণ ২: আমি দ্রুত অর্থ উপার্জন করতে পছন্দ করি।
একটি বিদেশী প্রতিষ্ঠান একবার একটি পরিসংখ্যান করেছিল, যা দেখিয়েছিল যে দীর্ঘমেয়াদে, বেশিরভাগ শিল্পের নিট সম্পদের উপর বার্ষিক রিটার্ন 15% এর বেশি হওয়ার সম্ভাবনা কম। বিপরীতে, অনেক খুচরা বিনিয়োগকারী বাজারে ১৫% মুনাফা করলে অন্যদের স্বাগত জানাতে বিব্রত বোধ করেন। মানুষ দ্রুত অর্থ উপার্জন করতে পছন্দ করে, তাই তারা ভারী ট্রেডিং এবং স্বল্পমেয়াদী ট্রেডিংয়ে জড়িত থাকে।
ভারী অবস্থান
ভারী পজিশন, উচ্চ লিভারেজ এবং মূলধন বরাদ্দ - এই সবকিছুই খুবই লোভনীয়, কিন্তু একই সাথে খুবই বিপজ্জনক। যদি তুমি সফল হও, তাহলে তুমি সফল হবে; যদি তুমি ব্যর্থ হও, তাহলে তোমার ধ্বংস হবে। যদি আপনার ৫০% জয়ের হার সহ একটি ট্রেডিং কৌশল থাকে এবং আপনি পূর্ণ পজিশন এবং মার্জিন ট্রেডিং নিয়ে কাজ করেন, যদি আপনি ভাগ্যবান হন, তাহলে আপনি টানা দশবারের বেশি জয়লাভ করতে পারেন, এবং আপনার সম্পদের পরিমাণগত পরিবর্তন থেকে গুণগত পরিবর্তনে পরিবর্তন হওয়াও সম্ভব।
কিন্তু যদি আপনি একবার ভুল করেন, তাহলে সবকিছু শূন্যে রিসেট করা হবে। এমনকি যদি আপনি কোনও মূলধন বরাদ্দ ছাড়াই কেবল একটি ভারী অবস্থান নিয়ে কাজ করেন, তবুও আপনার অ্যাকাউন্ট শূন্যে চলে যাওয়ার ঝুঁকি রয়েছে, কারণ আপনি গ্যারান্টি দিতে পারবেন না যে পরবর্তী বাজার পরিস্থিতিতে আপনি পরপর এক ডজনের বেশি ক্ষতির সম্মুখীন হবেন না। এমনকি ভারী ট্রেডিংও এমন একটি ট্রেডিং কৌশলকে পরিণত করতে পারে যা মূলত প্রত্যাশিত ছিল অসম লাভ-ক্ষতির কৌশলে।
স্বল্পমেয়াদী
পৃথিবীর একমাত্র মার্শাল আর্ট যাকে পরাজিত করা যায় না তা হল গতি। ট্রেডিং সার্কেলে, ম্যানুয়াল ডে ট্রেডিং, ইন্ট্রাডে স্বল্পমেয়াদী ট্রেডিং এবং পরিমাণগত উচ্চ ফ্রিকোয়েন্সি ট্রেডিং সবসময়ই খুবই রহস্যময়। আমি স্টপওয়াচ দেখে ট্রেড করা এই লোকদের সন্দেহ করছি না, তবে আমি অন্য দৃষ্টিকোণ থেকে আপনাকে স্বল্পমেয়াদী ট্রেডিং ছেড়ে দিতে রাজি করানোর চেষ্টা করছি।
যখন আমরা বিচার করি যে কোন পদ্ধতি সম্ভব কিনা, তখন আমাদের কেবল সেইসব পদ্ধতি ব্যবহার করে সফল হওয়া ব্যক্তিদের দিকেই নজর দেওয়া উচিত নয়, বরং সেইসব পদ্ধতি ব্যবহার করে ব্যর্থ হওয়া ব্যক্তিদের দিকেও নজর দেওয়া উচিত। অন্য কথায়, আপনি ধরে নিতে পারবেন না যে লটারির টিকিট কেনা ইতিবাচক প্রত্যাশার একটি কৌশল, কারণ কিছু লোক জ্যাকপট জিতেছে।
অধিকন্তু, গত তিন বছরে প্রাইভেট ইকুইটি পণ্যের র্যাঙ্কিং দেখে বোঝা যায়, শীর্ষ ১০০ জনের মধ্যে কতজন দৈনন্দিন জল্পনা-কল্পনা বা স্বল্পমেয়াদী লেনদেনে নিযুক্ত? স্বল্পমেয়াদী বিনিয়োগের সাফল্যের হার খুবই কম, এতে কোন সন্দেহ নেই। সফল হলেও, দ্রুত অর্থ উপার্জনের এই পদ্ধতি দীর্ঘমেয়াদে বজায় রাখা কঠিন। যদি তুমি প্রতিভাবান না হও, তাহলে এই ধরণের কৌশল ব্যবহার করার সময় সাবধান থেকো, কারণ সিমন্স তো একটাই।
কারণ ৩: পক্ষপাত
যদি সম্ভব হয়, আমি আপনাকে ১০০ মিনিট "১২ অ্যাংরি মেন" সিনেমাটি দেখার পরামর্শ দিচ্ছি। চারটি দেশের পুনর্নির্মাণে নির্মিত একটি চলচ্চিত্র: ১৯৫৭ সালে প্রথম আমেরিকান সংস্করণ, ১৯৯১ সালে জাপানি সংস্করণ, ১৯৯৭ সালে রাশিয়ান সংস্করণ এবং ২০১৪ সালে চীনা সংস্করণ। যদিও এই সিনেমাটি আপনাকে ট্রেডিং শেখাতে পারে না, এটি আপনাকে শেখায় কিভাবে জিনিসগুলিকে দেখতে হয় এবং নিজেকে জানতে হয়, যা খুবই গুরুত্বপূর্ণ।
যেহেতু মানুষের অভিজ্ঞতা সীমিত, তাই মানুষের জ্ঞানও সীমিত। প্রত্যেকেরই নিজস্ব অভিজ্ঞতার উপর ভিত্তি করে কম-বেশি পক্ষপাত থাকে। অনেক সময়, কুসংস্কার বেশিরভাগ মানুষের অভ্যাসে পরিণত হয়েছে, এবং তারা তাদের নিজস্ব আবেগের ভিত্তিতে অনেক কিছু বিচার করাকে হালকাভাবে নেয়।
বাজারে ফিরে আসি, বাজার সম্পর্কে আপনার রায় মৌলিক বিশ্লেষণের উপর ভিত্তি করে হোক বা প্রযুক্তিগত বিশ্লেষণের উপর ভিত্তি করে হোক, আসলে তাতে কিছু আসে যায় না। যদি আপনার মতামত বাজারের সংখ্যাগরিষ্ঠদের থেকে ভিন্ন হয়, তাহলে দাম বাজারের বেশিরভাগের পক্ষে থাকবে এবং বাজার আপনার মতামত অনুসারে পরিচালিত হবে না।
অতএব, লেনদেনের ক্ষেত্রে, আমাদের মনে রাখতে হবে "বিচার করো, কিন্তু বিচারের উপর নির্ভর করো না"। পরিশেষে, এটি তথ্য এবং মূল্যের উপর ভিত্তি করে হওয়া উচিত। দামের ঊর্ধ্বমুখী ও নিম্নমুখী প্রভাবের একমাত্র কারণ হলো অধিকাংশ মানুষ ভবিষ্যৎ কেমন হবে বলে আশা করে। বাজারে তোমার বিচারবুদ্ধির কোন মূল্য নেই, তাই কখনোই তোমার বিচারবুদ্ধিকে তোমার নিজস্ব পক্ষপাতের উপর প্রতিষ্ঠিত হতে দিও না।
কারণ ৪: পরিপূর্ণতার সাধনা।
বাজারের অংশগ্রহণকারীদের মধ্যে পদার্থবিদ্যা, পরিসংখ্যান, গণিত, জ্যোতির্বিদ্যা ইত্যাদি সহ জীবনের সকল স্তরের বিশেষজ্ঞরা রয়েছেন। অনেকেই এই বাজার ব্যাখ্যা করার জন্য তাদের পেশাদার জ্ঞান ব্যবহার করার চেষ্টা করেন।
কিন্তু বাজারে প্রধান অংশগ্রহণকারীরা হল মানুষ, এবং মানুষের নিজেরই জ্ঞানীয় সীমাবদ্ধতা রয়েছে, যার অর্থ বাজার নিজেই ভুল এবং অসম্পূর্ণ। তাহলে বাজার ব্যাখ্যা করার জন্য আমরা কীভাবে এই "নিখুঁত" পদ্ধতিগুলি ব্যবহার করতে পারি? এটা কি বাজারের প্রকৃতির বিরুদ্ধে যায় না?
উপরে বাজারে আসা বেশিরভাগ লোকেরই কেন শেষ পর্যন্ত ব্যর্থ হওয়ার কারণগুলি তালিকাভুক্ত করা হয়েছে। উপরে উল্লিখিত প্রধান কারণগুলি ছাড়াও, আরও অনেক কারণ রয়েছে, যেগুলি এখানে একে একে তালিকাভুক্ত করা হয়নি। সংক্ষেপে, জয়ের প্রতি তোমার আত্মবিশ্বাস ছাড়া, বাকি সবকিছুই তোমাকে সাফল্যের পথে বাধা দেয়।
যারা ভাগ্য ভালো থাকার কারণে বাজারে অর্থ উপার্জন করে, তারা সময়ের সাথে সাথে তা বাজারে ফিরিয়ে আনবে। অতএব, ফিউচার বাজার একটি ঋণাত্মক-সমষ্টির খেলা। শুধুমাত্র আপনার চিন্তাভাবনা পরিবর্তন করে এবং আপনার নিজস্ব ট্রেডিং কৌশল প্রতিষ্ঠা করেই আপনি সাফল্যের সম্ভাবনা অর্জন করতে পারেন।
সম্ভাব্য চিন্তাভাবনা কী?
সম্ভাব্যতাবাদী চিন্তাভাবনা একটি অভিনব নাম, সহজভাবে বলতে গেলে এটি জুয়ার চিন্তাভাবনা। তুমি ঠিকই শুনেছো, ব্যবসা করা জুয়া। জুয়ার কথা শুনলে আপনার মনে হতে পারে "যে কেউ জুয়ায় সবকিছু হারিয়েছে, ঋণের কারণে পালিয়ে গেছে, অথবা তার কোনও পরিবার অবশিষ্ট নেই", এবং আপনি এ থেকে দূরে থাকবেন।
সমাজে সত্যিই কিছু জুয়াড়ি আছে যারা জুয়া খেলার প্রতি আসক্ত। কিন্তু জুয়া ≠ জুয়াড়ি। "জুয়া" সম্ভবত সবচেয়ে ভুল বোঝাবুঝি করা শব্দগুলির মধ্যে একটি। যদি তোমার কৌশল নেতিবাচক প্রত্যাশা হয়, তাহলে তুমি একজন জুয়াড়ি; যদি তোমার কৌশল ইতিবাচক প্রত্যাশা হয়, তাহলে তুমি জুয়া খেলছো।
যদি আমরা "জুয়া" এর নেতিবাচক অর্থটি সরিয়ে ফেলি এবং এটিকে এমন একটি কার্যকলাপ হিসাবে বুঝতে পারি যার মধ্যে নির্দিষ্ট লাভের বিনিময়ে নির্দিষ্ট ঝুঁকি নেওয়া জড়িত, তাহলে জীবন আসলে সর্বত্র "জুয়া"। স্কুলে কোন মেজর বেছে নেবেন, বাড়ি কিনবেন কিনা, কোনও প্রকল্প শুরু করবেন কিনা, কাজ করবেন নাকি ব্যবসা শুরু করবেন ইত্যাদি।
এমনকি ব্যাংকে টাকা রাখাও একটা জুয়া কারণ আপনি নিশ্চিত নন যে ভবিষ্যতে মুদ্রাস্ফীতি হবে কিনা অথবা ব্যাংকটি দেউলিয়া হয়ে যাবে কিনা (গ্রীক ঋণ সংকট দেখুন)। সংক্ষেপে, দোলনা থেকে কবর পর্যন্ত, জীবনের প্রতিটি প্রক্রিয়াই এক একটি জুয়া।
দীর্ঘমেয়াদে কীভাবে জিতবেন
জুয়ার ধারণাটি আরও সমাধান করা দরকার: দীর্ঘমেয়াদে কীভাবে জিততে পারে? দীর্ঘমেয়াদী জয়ের কৌশলগুলি অধ্যয়ন করার আগে, আসুন প্রথমে সেই দীর্ঘমেয়াদী জয়ের কৌশলগুলির নীতিগুলি অধ্যয়ন করি। টাকা ছাপানোর যন্ত্র ছাড়া, দীর্ঘমেয়াদী জয়ের নিশ্চয়তা আর কী দিতে পারে?
ক্যাসিনোতে এটাই ঘটে: ব্যাকারেট, রুলেট, স্লট মেশিন, ব্ল্যাকজ্যাক ইত্যাদি। খেলার পদ্ধতি যেভাবেই পরিবর্তন হোক না কেন, শেষ পর্যন্ত ক্যাসিনো জিতবে। আসলে এখানে একটি গোপন রহস্য লুকিয়ে আছে যা ক্যাসিনোরা কখনও বলে না: বিশাল সংখ্যার আইন।
সিস বো কীভাবে কাজ করে
তিনটি পাশা, আকারের উপর বাজি ধরুন, ৪-১০ ছোট, ১১-১৭ বড়, যদি আপনি সঠিকভাবে বাজি ধরেন, তাহলে আপনি টাকা জিতবেন। সিক বো-তে এক ধরণের পার্শ্ববর্তী পাশা আছে, অর্থাৎ, যখন তিনটি পাশার পয়েন্ট একই থাকে, তখন ক্যাসিনো ডিলার জিতবে। পার্শ্ববর্তী পাশা প্রদর্শিত হওয়ার সম্ভাবনা ২.৮%। তাহলে একটি বড় সংখ্যা এবং একটি ছোট সংখ্যার আবির্ভাবের সম্ভাবনা 48.6%। ক্যাসিনো এই ২.৮% সম্ভাবনার উপর নির্ভর করে। যদি প্রতিটি জুয়াড়ি প্রতিটি খেলায় ১০০ ইউয়ান বাজি ধরে, তাহলে ক্যাসিনো ১০০টি খেলা খেলার পর ২৮০ ইউয়ান জিতবে।
(0.486+0.028)100100-0.486100100=280
তবে, এই ক্যাসিনো কৌশলের কিছু ফাঁকফোকর আছে। যদি কোনও বড় খেলোয়াড় ইচ্ছামত কোটি কোটি টাকা বাজি ধরে জিতে যায়, তাহলে ক্যাসিনোটি হঠাৎ করেই দেউলিয়া হয়ে যাবে। অতএব, ক্যাসিনো একটি বাজির সীমা নির্ধারণ করবে, এবং সীমা অতিক্রম করলে এই রাউন্ডে আর কোনও বাজি ধরা যাবে না। এইভাবে, জুয়াড়ি যদি কিছুক্ষণের জন্য টাকা জেতার জন্য যথেষ্ট ভাগ্যবান হয়, তবুও দীর্ঘমেয়াদে, সে সম্ভাব্যতার কাছে হেরে যাবে। অসীম সংখ্যক সিক বো গেমে, জুয়াড়ি তার অর্থের ২.৮% হারাবে।
বৃহৎ সংখ্যার সূত্র
ক্যাসিনো মালিকের সুবিধা জুয়াড়ির তুলনায় মাত্র ২% বেশি। একটি জুয়ায়, মালিক ক্ষতির সম্মুখীন হতে পারেন অথবা ক্রমাগত ক্ষতির সম্মুখীন হতে পারেন। তবে, ক্যাসিনো মালিক লোকসান দেখে ভীত হবেন না, কারণ তিনি জানেন যে তিনি কেন অর্থ উপার্জন করতে পারেন তা হল "বড় সংখ্যার আইন" কাজ করছে। যতক্ষণ মানুষ জুয়া খেলতে থাকে, ততক্ষণ দীর্ঘমেয়াদে স্থিতিশীল লাভ বজায় রাখার জন্য তার কেবল 2% এর সামান্য সুবিধা প্রয়োজন।
তাই ক্যাসিনো আপনার টাকা জিততে ভয় পায় না, বরং ভয় পায় যে আপনি আসবেন না। বছরের পর বছর ধরে ব্যাংক দেউলিয়া হওয়ার কথা শুনেছেন, কিন্তু কখন কোন ক্যাসিনো দেউলিয়া হওয়ার কথা শুনেছেন? দীর্ঘমেয়াদে, ক্যাসিনো সর্বদা জয়ী হয়। এই কারণেই দীর্ঘমেয়াদে জুয়া জয়ী হবে।
দীর্ঘমেয়াদে জয়ের অনুরূপ উদাহরণগুলির মধ্যে রয়েছে: বিভিন্ন লটারি। লটারি চালু হওয়ার পর থেকে লটারির পুরষ্কার পুলের তহবিল ক্রমশ জমা হচ্ছে, এবং এই অর্থ অবশ্যই বেশিরভাগ লটারি খেলোয়াড়ের কাছ থেকে আসে। ডাবল কালার বলে ৫০ লক্ষ জেতার সম্ভাবনা কত জানেন? উত্তর হলো ১ কোটি ৭৭ লক্ষের মধ্যে একজন।
সম্ভাব্যতার পরিবর্তন
ধরুন, উভয় পাশেই একই ওজনের একটি মুদ্রা আছে, তাহলে একটি শব্দ (পিছনে) অথবা একটি ফুল (সামনে) উল্টানোর সম্ভাবনা ৫০%, এবং প্রতিটি মুদ্রা উল্টানো পূর্ববর্তী ফলাফল থেকে স্বাধীন। যদি আপনি টানা ১০,০০০ বার মুদ্রাটি ছুঁড়ে মারেন, তাহলে মাথা পাওয়ার সম্ভাবনা প্রায় ৫০%।
কিন্তু যদি আপনি এটি মাত্র ১০ বার টস করেন, তাহলে ইতিবাচক ফলাফল পাওয়ার সম্ভাবনা পরিবর্তিত হবে, এবং সম্ভাবনা ৫০% নাও হতে পারে। অতএব, ক্যাসিনো ডিলারকে নিশ্চিত করতে হবে যে এই ইতিবাচক প্রত্যাশা কৌশলটি কার্যকর হওয়ার জন্য পর্যাপ্ত সময় সক্রিয় করা হয়েছে। এই কারণেই প্রাইভেট ইকুইটি প্রতিষ্ঠানগুলি যখন একটি পরিমাণগত ট্রেডিং কৌশল শুরু করে তখন কৌশলটি বন্ধ করতে পারে না যদি না বিশেষ শর্ত থাকে।
আর্থিক বাজারে দীর্ঘমেয়াদী বিজয়ী কৌশল তৈরি করতে "বৃহৎ সংখ্যার আইন" কীভাবে ব্যবহার করবেন তা আমাদের পরবর্তী কোর্স সিরিজের বিষয়বস্তু হবে, তাই আমাদের সাথেই থাকুন!
সারসংক্ষেপ
উপরে, আমরা আপনাকে ব্যাখ্যা করেছি যে কীভাবে বৈজ্ঞানিক উপায়ে ট্রেডিংকে সম্ভাব্যতা, ট্রেডিং ব্যর্থতার কারণ, সঠিক ট্রেডিং মানসিকতা, জুয়াতে দীর্ঘমেয়াদে জয়ের নীতি ইত্যাদি দিক থেকে দেখতে হয়। আমি বিশ্বাস করি যে যদি তুমি ভালোভাবে শিখো, তাহলে চিন্তাভাবনার পরিবর্তন তোমার আচরণের পরিবর্তন হবে, এবং আচরণের পরিবর্তন তোমার সাফল্যের পরিবর্তন হবে।
বাড়ির কাজ
১. কেন ট্রেডিং একটি সম্ভাবনার খেলা?
২. লেনদেন ব্যর্থতার অন্যান্য কারণগুলি কী কী?
- 1












