এই নিবন্ধটি পরিমাণগত ট্রেডিং সম্পর্কিত সিরিজের ধারাবাহিকতা, যা শুরু হয়েছিল Beginner's Guide এবং Strategy Identification। এই উভয় দীর্ঘ, আরো জড়িত নিবন্ধ খুব জনপ্রিয় হয়েছে তাই আমি এই ধারা অব্যাহত রাখব এবং কৌশল ব্যাকটেস্টিং বিষয় সম্পর্কে বিস্তারিত প্রদান করব।
অ্যালগরিদমিক ব্যাকটেস্টিং এর জন্য মনোবিজ্ঞান, গণিত, পরিসংখ্যান, সফটওয়্যার ডেভেলপমেন্ট এবং মার্কেট/এক্সচেঞ্জ মাইক্রোস্ট্রাকচার সহ অনেক ক্ষেত্রের জ্ঞান প্রয়োজন। আমি এই বিষয়গুলিকে এক নিবন্ধে কভার করার আশা করতে পারিনি, তাই আমি এগুলিকে দুই বা তিনটি ছোট টুকরোতে বিভক্ত করতে যাচ্ছি। আমরা এই বিভাগে কী নিয়ে আলোচনা করব? আমি ব্যাকটেস্টিং সংজ্ঞায়িত করে শুরু করব এবং তারপরে এটি কীভাবে পরিচালিত হয় তার মূল বিষয়গুলি বর্ণনা করব। তারপরে আমি প্রাথমিক গাইড টু কোয়ান্টিটিভ ট্রেডিং-এ আমরা যে পক্ষপাতিত্বগুলি স্পর্শ করেছি তা ব্যাখ্যা করব। পরবর্তী আমি বিভিন্ন উপলব্ধ ব্যাকটেস্টিং সফ্টওয়্যার বিকল্পগুলির তুলনা উপস্থাপন করব।
পরবর্তী নিবন্ধগুলিতে আমরা কৌশল বাস্তবায়নের বিশদগুলি দেখব যা প্রায়শই কমই উল্লেখ করা হয় বা উপেক্ষা করা হয়। আমরা একটি ট্রেডিং এক্সচেঞ্জের স্বতন্ত্রতা অন্তর্ভুক্ত করে ব্যাকটেস্টিং প্রক্রিয়াটিকে কীভাবে আরও বাস্তবসম্মত করা যায় তাও বিবেচনা করব। তারপরে আমরা লেনদেনের ব্যয় এবং ব্যাকটেস্টিং সেটিংয়ে কীভাবে সঠিকভাবে মডেল করতে পারি তা নিয়ে আলোচনা করব। আমরা আমাদের ব্যাকটেস্টের পারফরম্যান্সের একটি আলোচনার সাথে শেষ করব এবং অবশেষে একটি সাধারণ পরিমাণ কৌশলটির একটি উদাহরণ সরবরাহ করব, যা একটি গড়-রিভার্টিং জোড়া বাণিজ্য হিসাবে পরিচিত।
আসুন ব্যাকটেস্টিং কী এবং কেন আমাদের অ্যালগরিদমিক ট্রেডিংয়ে এটি করা উচিত তা নিয়ে আলোচনা করে শুরু করি।
অ্যালগরিদমিক ট্রেডিং অন্যান্য ধরণের বিনিয়োগের শ্রেণীর থেকে আলাদা কারণ আমরা প্রচুর পরিমাণে ডেটা প্রাপ্যতার ফলস্বরূপ অতীতের পারফরম্যান্স থেকে ভবিষ্যতের পারফরম্যান্স সম্পর্কে আরও নির্ভরযোগ্যভাবে প্রত্যাশা সরবরাহ করতে পারি। প্রক্রিয়াটি যা এটি সম্পন্ন হয় তা ব্যাকটেস্টিং নামে পরিচিত।
সহজ কথায় বলতে গেলে, ব্যাকটেস্টিং আপনার নির্দিষ্ট কৌশল অ্যালগরিদমকে historicalতিহাসিক আর্থিক তথ্যের প্রবাহের কাছে প্রকাশ করে পরিচালিত হয়, যা ট্রেডিং সংকেতগুলির একটি সেটকে নিয়ে যায়। প্রতিটি বাণিজ্য (যা আমরা এখানে দুটি সংকেতের একটি
একটি অ্যালগরিদমিক কৌশল ব্যাকটেস্টিং করার মূল কারণগুলি কী কী?
ব্যাকটেস্টিং অ্যালগরিদমিক ট্রেডিংয়ের জন্য বেশ কয়েকটি সুবিধা প্রদান করে। তবে, কৌশলটিকে সরাসরি ব্যাকটেস্ট করা সর্বদা সম্ভব নয়। সাধারণভাবে, কৌশলটির ফ্রিকোয়েন্সি বাড়ার সাথে সাথে বাজার এবং এক্সচেঞ্জের মাইক্রোস্ট্রাকচার প্রভাবগুলি সঠিকভাবে মডেল করা আরও কঠিন হয়ে ওঠে। এর ফলে কম নির্ভরযোগ্য ব্যাকটেস্ট এবং তাই একটি নির্বাচিত কৌশলটির আরও জটিল মূল্যায়ন ঘটে। এটি একটি বিশেষ সমস্যা যেখানে এক্সিকিউশন সিস্টেম কৌশল কর্মক্ষমতার মূল চাবিকাঠি, যেমন অতি উচ্চ ফ্রিকোয়েন্সি অ্যালগরিদমগুলির সাথে।
দুর্ভাগ্যবশত, ব্যাকটেস্টিং সব ধরনের পক্ষপাতিত্বের সাথে ভরা। আমরা পূর্ববর্তী নিবন্ধগুলিতে এই বিষয়গুলির কিছুতে স্পর্শ করেছি, কিন্তু এখন আমরা সেগুলি গভীরভাবে আলোচনা করব।
ব্যাকটেস্ট করা কৌশলটির কার্যকারিতা প্রভাবিত করতে পারে এমন অনেকগুলি পক্ষপাত রয়েছে। দুর্ভাগ্যক্রমে, এই পক্ষপাতগুলির কার্যকারিতা হ্রাস করার পরিবর্তে কার্যকারিতা বাড়ানোর প্রবণতা রয়েছে। সুতরাং আপনার সর্বদা ব্যাকটেস্টকে কৌশলটির প্রকৃত কার্যকারিতার একটি আদর্শ উপরের সীমা হিসাবে বিবেচনা করা উচিত। অ্যালগরিদমিক ট্রেডিং থেকে পক্ষপাতগুলি নির্মূল করা প্রায় অসম্ভব তাই আমাদের অ্যালগরিদমিক কৌশলগুলি সম্পর্কে অবগত সিদ্ধান্ত নেওয়ার জন্য যতটা সম্ভব তাদের হ্রাস করা আমাদের কাজ।
চারটি প্রধান পক্ষপাত আছে যা আমি আলোচনা করতে চাইঃ অপ্টিমাইজেশান পক্ষপাত, ভবিষ্যতের দিকে তাকানো পক্ষপাত, বেঁচে থাকার পক্ষপাত এবং মানসিক সহনশীলতার পক্ষপাত।
এটি সম্ভবত সমস্ত ব্যাকটেস্ট পক্ষপাতের মধ্যে সবচেয়ে ছলনাপূর্ণ। এটি ব্যাকটেস্ট ডেটা সেটে কৌশল কর্মক্ষমতা খুব আকর্ষণীয় না হওয়া পর্যন্ত অতিরিক্ত ট্রেডিং পরামিতিগুলি সামঞ্জস্য বা প্রবর্তন জড়িত। তবে, একবার লাইভ হয়ে গেলে কৌশলটির কর্মক্ষমতা উল্লেখযোগ্যভাবে আলাদা হতে পারে। এই পক্ষপাতের আরেকটি নাম
অপ্টিমাইজেশান পক্ষপাত নির্মূল করা কঠিন কারণ অ্যালগরিদমিক কৌশলগুলি প্রায়শই অনেক পরামিতি জড়িত।
এই পক্ষপাত কমাতে সাহায্য করার জন্য একটি পদ্ধতি হল সংবেদনশীলতা বিশ্লেষণ সম্পাদন করা। এর অর্থ হল পরামিতিগুলি ধীরে ধীরে পরিবর্তিত করা এবং পারফরম্যান্সের একটি
ভবিষ্যতের ডেটা যখন সিমুলেশনের এমন একটি পয়েন্টে দুর্ঘটনাক্রমে অন্তর্ভুক্ত করা হয় যেখানে সেই ডেটা আসলে উপলভ্য হত না, তখন ব্যাকটেস্টিং সিস্টেমে অগ্রগতির পক্ষপাত প্রবর্তিত হয়। যদি আমরা ব্যাকটেস্টটি ক্রোনোলজিক্যালি চালাচ্ছি এবং আমরা সময় পয়েন্ট এন এ পৌঁছে যাই, তবে যদি কোনও পয়েন্ট এন + কে এর জন্য ডেটা অন্তর্ভুক্ত করা হয় তবে অগ্রগতির পক্ষপাত ঘটে, যেখানে কে> 0। অগ্রগতির পক্ষপাতের ত্রুটিগুলি অবিশ্বাস্যভাবে সূক্ষ্ম হতে পারে। এখানে কীভাবে অগ্রগতির পক্ষপাত প্রবর্তিত হতে পারে তার তিনটি উদাহরণ রয়েছেঃ
অপ্টিমাইজেশান পক্ষপাতের মতো, এটি প্রবর্তন এড়াতে অত্যন্ত সতর্ক হওয়া উচিত। এটি প্রায়শই প্রধান কারণ যে কেন ট্রেডিং কৌশলগুলি তাদের ব্যাকটেস্টগুলিতে উল্লেখযোগ্যভাবে কম পারফর্ম করে
বেঁচে থাকার পক্ষপাত একটি বিশেষত বিপজ্জনক ঘটনা এবং নির্দিষ্ট কৌশল ধরণের জন্য উল্লেখযোগ্যভাবে ফুটো পারফরম্যান্সের দিকে পরিচালিত করতে পারে। এটি ঘটে যখন কৌশলগুলি এমন ডেটাসেটগুলিতে পরীক্ষা করা হয় যা নির্দিষ্ট সময়ে নির্বাচিত হতে পারে এমন পূর্ববর্তী সম্পদগুলির পুরো মহাবিশ্বকে অন্তর্ভুক্ত করে না, তবে কেবলমাত্র বর্তমান সময়ে
উদাহরণস্বরূপ, ২০০১ সালের বাজার ক্র্যাশের আগে এবং পরে স্টকগুলির এলোমেলো নির্বাচনের উপর একটি কৌশল পরীক্ষা করার কথা বিবেচনা করুন। কিছু প্রযুক্তি স্টক দেউলিয়া হয়ে যায়, অন্যরা তলিয়ে যেতে সক্ষম হয় এবং এমনকি সমৃদ্ধ হয়। যদি আমরা এই কৌশলটি কেবলমাত্র স্টকগুলিতে সীমাবদ্ধ করে থাকি যা বাজারের ড্রাউনডাউন সময়ের মধ্য দিয়ে যায়, আমরা একটি বেঁচে থাকার পক্ষপাত প্রবর্তন করব কারণ তারা ইতিমধ্যে আমাদের কাছে তাদের সাফল্য প্রদর্শন করেছে। আসলে, এটি কেবলমাত্র ভবিষ্যতের দিকে তাকানোর পক্ষপাতের আরও একটি নির্দিষ্ট ঘটনা, কারণ ভবিষ্যতের তথ্য অতীত বিশ্লেষণে অন্তর্ভুক্ত করা হচ্ছে।
আপনার কৌশল ব্যাকটেস্টে বেঁচে থাকার পক্ষপাত কমাতে দুটি প্রধান উপায় রয়েছেঃ
এখন আমরা কিছু মানসিক ঘটনা বিবেচনা করব যা আপনার ট্রেডিং কর্মক্ষমতাকে প্রভাবিত করতে পারে।
এই বিশেষ ঘটনাটি প্রায়শই পরিমাণগত ট্রেডিংয়ের প্রেক্ষাপটে আলোচনা করা হয় না। যাইহোক, এটি আরো বিবেচনার ট্রেডিং পদ্ধতির ক্ষেত্রে ব্যাপকভাবে আলোচনা করা হয়। এটির বিভিন্ন নাম রয়েছে, তবে আমি এটিকে "মানসিক সহনশীলতা পক্ষপাত" বলার সিদ্ধান্ত নিয়েছি কারণ এটি সমস্যার সারমর্মকে ক্যাপচার করে। 5 বছর বা তারও বেশি সময় ধরে ব্যাকটেস্ট তৈরি করার সময়, একটি ঊর্ধ্বমুখী প্রবণতা ইক্যুইটি বক্ররেখা দেখতে, যৌগিক বার্ষিক রিটার্ন, শার্প অনুপাত এবং এমনকি ড্রডাউন বৈশিষ্ট্যগুলি গণনা করা সহজ এবং ফলাফলের সাথে সন্তুষ্ট হতে পারে। উদাহরণস্বরূপ, কৌশলটির সর্বাধিক আপেক্ষিক ড্রডাউন 25% এবং সর্বাধিক ড্রডাউন সময়কাল 4 মাস থাকতে পারে। এটি গতির কৌশলটির জন্য অস্বাভাবিক হবে না। তবে সামগ্রিক চিত্রটি গোলাপী হওয়ায় এই ধরনের ক্ষতির সময়গুলি সহ্য করা সহজ বলে নিজেকে বিশ্বাস করা সহজ। অনুশীলনে, এটি অনেক কঠিন!
যদি ব্যাকটেস্টে 25% বা তারও বেশি historicalতিহাসিক ড্রডাউন ঘটে থাকে তবে সমস্ত সম্ভাবনা অনুসারে আপনি লাইভ ট্রেডিংয়ে অনুরূপ ড্রডাউনের সময়গুলি দেখতে পাবেন। এই ড্রডাউনের সময়গুলি মানসিকভাবে সহ্য করা কঠিন। আমি প্রাতিষ্ঠানিক পরিবেশে একটি বর্ধিত ড্রডাউন কেমন হতে পারে তা প্রথম হাত থেকে পর্যবেক্ষণ করেছি, এবং এটি মনোরম নয় - এমনকি যদি ব্যাকটেস্টগুলি এমন সময়গুলি ঘটবে বলে মনে করে। আমি এটিকে একটি
কৌশল ব্যাকটেস্টিংয়ের জন্য সফ্টওয়্যার ল্যান্ডস্কেপটি বিশাল। সমাধানগুলি সম্পূর্ণরূপে সংহত প্রাতিষ্ঠানিক গ্রেডের পরিশীলিত সফ্টওয়্যার থেকে শুরু করে সি ++, পাইথন এবং আর এর মতো প্রোগ্রামিং ভাষাগুলির মাধ্যমে যেখানে প্রায় সবকিছুই স্ক্র্যাচ থেকে লিখতে হবে (বা উপযুক্ত
এখন যেহেতু আমরা আমাদের সফটওয়্যার অবকাঠামো বেছে নেওয়ার জন্য প্রয়োজনীয় মানদণ্ড তালিকাভুক্ত করেছি, আমি কিছু জনপ্রিয় প্যাকেজ এবং তাদের তুলনা কিভাবে চালাতে চাইঃ
দ্রষ্টব্যঃ আমি কেবলমাত্র বেশিরভাগ খুচরা ব্যবসায়ী এবং সফ্টওয়্যার বিকাশকারীদের জন্য উপলব্ধ সফ্টওয়্যার অন্তর্ভুক্ত করতে যাচ্ছি, কারণ এটি সাইটের পাঠকবৃন্দ। যদিও অন্যান্য সফ্টওয়্যার যেমন আরও প্রাতিষ্ঠানিক গ্রেড সরঞ্জামগুলি উপলব্ধ রয়েছে, আমি মনে করি এগুলি খুচরা সেটিংয়ে কার্যকরভাবে ব্যবহার করার জন্য খুব ব্যয়বহুল এবং আমার ব্যক্তিগতভাবে তাদের সাথে কোনও অভিজ্ঞতা নেই।
ব্যাকটেস্টিং সফটওয়্যার তুলনা
বর্ণনাঃ WYSIWYG (কি-আপনি-দেখেন-আপনি-আপনি-আপনি-পুনরায়) স্প্রেডশীট সফ্টওয়্যার। আর্থিক শিল্পে অত্যন্ত ব্যাপক। তথ্য এবং অ্যালগরিদম ঘনিষ্ঠভাবে যুক্ত।
কার্যকরকরণঃ হ্যাঁ, এক্সেলকে বেশিরভাগ ব্রোকারেজের সাথে সংযুক্ত করা যায়।
কাস্টমাইজেশনঃ ভিবিএ ম্যাক্রো বাস্তবায়ন লুকানোর ব্যয়ে আরও উন্নত কার্যকারিতা দেয়।
কৌশল জটিলতাঃ আরও উন্নত পরিসংখ্যানগত সরঞ্জামগুলি বাস্তবায়ন করা কঠিন, যেমন শত শত সম্পদ সহ কৌশলগুলি।
পক্ষপাতের হ্রাসঃ সেল-হাইলাইটিং কার্যকারিতা (ভিবিএ নেই বলে ধরে নেওয়া) এর মাধ্যমে সামনের দিকে দৃষ্টিভঙ্গি সনাক্ত করা সহজ।
বিকাশের গতিঃ মৌলিক কৌশলগুলি দ্রুত বাস্তবায়ন করা।
এক্সিকিউশন স্পিডঃ ধীর এক্সিকিউশন স্পিড - শুধুমাত্র নিম্ন-ফ্রিকোয়েন্সি কৌশলগুলির জন্য উপযুক্ত।
খরচঃ সস্তা বা বিনামূল্যে (লাইসেন্সের উপর নির্ভর করে) ।
বিকল্পঃ ওপেন অফিস
বর্ণনাঃ প্রোগ্রামিং পরিবেশ মূলত কম্পিউটেশনাল গণিত, পদার্থবিজ্ঞান এবং প্রকৌশল জন্য ডিজাইন করা হয়েছে। ভেক্টরাইজড অপারেশন এবং সংখ্যাসূচক রৈখিক বীজগণিত জড়িত যারা খুব ভাল উপযুক্ত। কোয়ান্টাম ট্রেডিং জন্য প্লাগইন বিস্তৃত উপলব্ধ। পরিমাণগত হেজ ফান্ডে ব্যাপকভাবে ব্যবহৃত।
এক্সিকিউশনঃ কোনও নেটিভ এক্সিকিউশন ক্ষমতা নেই, ম্যাটলাবের জন্য পৃথক এক্সিকিউশন সিস্টেমের প্রয়োজন।
কাস্টমাইজেশনঃ কমিউনিটি প্লাগইনগুলির বিশাল অ্যারে কম্পিউটেশনাল গণিতের প্রায় সব ক্ষেত্রের জন্য।
কৌশল জটিলতাঃ অনেক উন্নত পরিসংখ্যান পদ্ধতি ইতিমধ্যে উপলব্ধ এবং ভাল পরীক্ষিত।
পক্ষপাতিত্ব হ্রাসঃ ভবিষ্যতের পক্ষপাতিত্ব সনাক্ত করা আরও কঠিন, ব্যাপক পরীক্ষার প্রয়োজন।
বিকাশের গতিঃ সংক্ষিপ্ত স্ক্রিপ্টগুলি সহজেই জটিল ব্যাকটেস্ট তৈরি করতে পারে।
এক্সিকিউশন স্পিডঃ ভেক্টরাইজড/প্যারালেলাইজড অ্যালগরিদম অনুমান করে, ম্যাটলাব অত্যন্ত অনুকূলিত। ঐতিহ্যগত পুনরাবৃত্তি লুপের জন্য দরিদ্র।
খরচঃ লাইসেন্সের জন্য ~ ১,০০০ মার্কিন ডলার।
বিকল্পঃ ওক্টাভ, সিয়েল্যাব
বর্ণনাঃ উন্নয়নের গতির জন্য ডিজাইন করা একটি উচ্চ স্তরের ভাষা। প্রায় কোনও প্রোগ্রাম্যাটিক কাজের জন্য বিস্তৃত লাইব্রেরি। হেজ ফান্ড এবং বিনিয়োগ ব্যাংক সম্প্রদায়ের মধ্যে বৃহত্তর গ্রহণযোগ্যতা অর্জন করছে। বাস্তবায়নের গতির জন্য সি / সি ++ এর মতো দ্রুত নয়।
এক্সিকিউশনঃ পাইথন প্লাগইনগুলি ইন্টারেক্টিভ ব্রোকারগুলির মতো বৃহত্তর ব্রোকারদের জন্য বিদ্যমান। সুতরাং ব্যাকটেস্ট এবং এক্সিকিউশন সিস্টেমগুলি একই
কাস্টমাইজেশনঃ পাইথনের একটি খুব সুস্থ ডেভেলপমেন্ট কমিউনিটি রয়েছে এবং এটি একটি পরিপক্ক ভাষা। NumPy/SciPy দ্রুত বৈজ্ঞানিক কম্পিউটিং এবং পরিসংখ্যান বিশ্লেষণ সরঞ্জাম সরবরাহ করে যা কোয়ান্ট ট্রেডিংয়ের জন্য প্রাসঙ্গিক।
কৌশল জটিলতাঃ প্রধান অ্যালগরিদমগুলির জন্য অনেকগুলি প্লাগইন রয়েছে, তবে ম্যাটলাবের মতো বড় পরিমাণের সম্প্রদায় নেই।
পক্ষপাতের সংক্ষিপ্তকরণঃ যে কোনও উচ্চ স্তরের ভাষার জন্য একই পক্ষপাতের সংক্ষিপ্তকরণের সমস্যা রয়েছে। পরীক্ষার বিষয়ে অত্যন্ত সতর্ক হওয়া দরকার।
বিকাশের গতিঃ পাইথনের প্রধান সুবিধা হ'ল বিকাশের গতি, পরীক্ষার সক্ষমতার মধ্যে শক্তিশালী।
এক্সিকিউশন স্পিডঃ সি++ এর মত দ্রুত নয়, কিন্তু বৈজ্ঞানিক কম্পিউটিং উপাদানগুলি অপ্টিমাইজ করা হয়েছে এবং পাইথন নির্দিষ্ট প্লাগইনগুলির সাথে নেটিভ সি কোডের সাথে কথা বলতে পারে।
খরচঃ ফ্রি/ওপেন সোর্স
বিকল্পঃ রুবি, এরল্যাং, হাসকেল
বর্ণনাঃ উন্নত পরিসংখ্যানগত পদ্ধতি এবং সময় সিরিজ বিশ্লেষণের জন্য ডিজাইন করা পরিবেশ। নির্দিষ্ট পরিসংখ্যানগত, ইকনোমট্রিক এবং নেটিভ গ্রাফিং সরঞ্জামগুলির বিস্তৃত পরিসর। বড় ডেভেলপার সম্প্রদায়।
এক্সিকিউশনঃ কিছু ব্রোকারের প্লাগইন রয়েছে, বিশেষত ইন্টারেক্টিভ ব্রোকার। সুতরাং একটি শেষ থেকে শেষ সিস্টেম সম্পূর্ণরূপে R এ লেখা যেতে পারে।
কাস্টমাইজেশনঃ R যেকোনো প্যাকেজের সাথে কাস্টমাইজ করা যায়, কিন্তু এর শক্তিগুলি পরিসংখ্যানগত/অর্থনীতিবিদ্যা ডোমেইনে রয়েছে।
কৌশল জটিলতাঃ উপলব্ধ প্লাগইনগুলির কারণে ইকোনোম্যাট্রিক, পরিসংখ্যান বা মেশিন লার্নিং কৌশল সম্পাদন করার ক্ষেত্রে বেশিরভাগই দরকারী।
পক্ষপাতের হ্রাসঃ পাইথন বা সি ++ এর মতো কোনও উচ্চ-স্তরের ভাষার জন্য একই স্তরের পক্ষপাতের সম্ভাবনা। সুতরাং পরীক্ষা করা উচিত।
ডেভেলপমেন্ট স্পিড: R হল পরিসংখ্যানগত পদ্ধতির উপর ভিত্তি করে কৌশল লেখার জন্য দ্রুত।
এক্সিকিউশন স্পিডঃ R C++ এর চেয়ে ধীর, কিন্তু ভেক্টরাইজড অপারেশনের জন্য তুলনামূলকভাবে অপ্টিমাইজড (ম্যাটলাবের মতো) ।
খরচঃ ফ্রি/ওপেন সোর্স
বিকল্পঃ এসপিএসএস, স্টাটা
বর্ণনাঃ এক্সিকিউশন গতির জন্য ডিজাইন করা পরিপক্ক, উচ্চ-স্তরের ভাষা। পরিমাণগত অর্থ এবং সংখ্যাসূচক লাইব্রেরি বিস্তৃত। ডিবাগ করা কঠিন এবং প্রায়শই পাইথন বা ম্যাটলাবের চেয়ে বাস্তবায়নে বেশি সময় নেয়। ক্রয় এবং বিক্রয় উভয় পক্ষেই অত্যন্ত প্রচলিত।
এক্সিকিউশনঃ বেশিরভাগ ব্রোকারেজ এপিআই সি ++ এবং জাভাতে লেখা হয়। সুতরাং অনেক প্লাগইন বিদ্যমান।
কাস্টমাইজেশনঃ সি/সি++ অন্তর্নিহিত মেমরিতে সরাসরি অ্যাক্সেসের অনুমতি দেয়, তাই অতি উচ্চ ফ্রিকোয়েন্সি কৌশলগুলি বাস্তবায়ন করা যেতে পারে।
কৌশল জটিলতা: সি++ এসটিএল ব্যাপক পরিসরে অনুকূলিত অ্যালগরিদম প্রদান করে। প্রায় যেকোনো বিশেষায়িত গাণিতিক অ্যালগরিদমের একটি মুক্ত, ওপেন সোর্স সি/সি++ বাস্তবায়ন রয়েছে ওয়েবে।
পক্ষপাতের সংক্ষিপ্তকরণ: ভবিষ্যতের দিকে তাকানো পক্ষপাত দূর করা কঠিন হতে পারে, তবে অন্যান্য উচ্চ-স্তরের ভাষার চেয়ে কঠিন নয়। ভাল ডিবাগিং সরঞ্জাম, তবে অন্তর্নিহিত মেমরির সাথে মোকাবিলা করার সময় সতর্ক থাকতে হবে।
বিকাশের গতিঃ একই অ্যালগরিদমের জন্য পাইথন বা ম্যাটল্যাবের তুলনায় সি ++ বেশ শব্দবহুল। আরও লাইন-অফ-কোড (এলওসি) প্রায়শই বাগগুলির বৃহত্তর সম্ভাবনার দিকে পরিচালিত করে।
এক্সিকিউশন স্পিড: সি/সি++ এর এক্সিকিউশন স্পিড অত্যন্ত দ্রুত এবং এটি নির্দিষ্ট কম্পিউটিং আর্কিটেকচারের জন্য ভালভাবে অপ্টিমাইজ করা যায়। এটি ব্যবহারের মূল কারণ এটি।
খরচঃ বিভিন্ন কম্পাইলারঃ লিনাক্স/জিসিসি বিনামূল্যে, এমএস ভিজ্যুয়াল স্টুডিওতে বিভিন্ন লাইসেন্স রয়েছে।
বিকল্পঃ সি#, জাভা, স্কালা
বিভিন্ন কৌশলগুলির জন্য বিভিন্ন সফ্টওয়্যার প্যাকেজ প্রয়োজন হবে। এইচএফটি এবং ইউএইচএফটি কৌশলগুলি সি / সি ++ এ লেখা হবে (এই দিনগুলিতে এগুলি প্রায়শই জিপিইউ এবং এফপিজিএতে সম্পাদিত হয়), যখন সফ্টওয়্যার / ব্রোকারেজের
আমার ব্যক্তিগত পছন্দ পাইথন কারণ এটি আমার প্রয়োজন এবং কৌশলগুলির জন্য কাস্টমাইজেশন, বিকাশের গতি, পরীক্ষার ক্ষমতা এবং সম্পাদনের গতির সঠিক ডিগ্রি সরবরাহ করে। যদি আমার দ্রুত কিছু প্রয়োজন হয় তবে আমি সরাসরি আমার পাইথন প্রোগ্রামগুলি থেকে সি ++ তে
ব্যাকটেস্টিং সম্পর্কিত পরবর্তী কয়েকটি নিবন্ধে আমরা একটি অ্যালগরিদমিক ট্রেডিং ব্যাকটেস্টিং সিস্টেম বাস্তবায়নের আশেপাশের কিছু নির্দিষ্ট বিষয়গুলি এবং পাশাপাশি ট্রেডিং এক্সচেঞ্জের প্রভাবগুলি কীভাবে অন্তর্ভুক্ত করব তা নিয়ে আলোচনা করব। আমরা কৌশল কর্মক্ষমতা পরিমাপ নিয়ে আলোচনা করব এবং অবশেষে একটি উদাহরণ কৌশল দিয়ে শেষ করব।