সফল ব্যাকটেস্টিং সম্পর্কে প্রথম নিবন্ধে আমরা পরিসংখ্যানগত এবং আচরণগত পক্ষপাতগুলি নিয়ে আলোচনা করেছি যা আমাদের ব্যাকটেস্টিং কর্মক্ষমতাকে প্রভাবিত করে। আমরা এক্সেল, ম্যাটল্যাব, পাইথন, আর এবং সি ++ সহ ব্যাকটেস্টিংয়ের জন্য সফ্টওয়্যার প্যাকেজগুলি নিয়েও আলোচনা করেছি। এই নিবন্ধে আমরা কীভাবে লেনদেনের ব্যয় অন্তর্ভুক্ত করব তা বিবেচনা করব, পাশাপাশি অর্ডার প্রকার এবং ডেটা ফ্রিকোয়েন্সির মতো ব্যাকটেস্ট ইঞ্জিন তৈরি করার সময় কিছু সিদ্ধান্ত নেওয়া দরকার।
ট্রেডিং মডেল বাস্তবায়নের সময় সর্বাধিক প্রচলিত শিক্ষানবিশদের ভুলগুলির মধ্যে একটি হ'ল কৌশলটিতে লেনদেনের ব্যয়ের প্রভাবকে উপেক্ষা করা (বা মোটামুটি কম মূল্যায়ন করা) । যদিও প্রায়শই অনুমান করা হয় যে লেনদেনের ব্যয় কেবল ব্রোকার কমিশনকে প্রতিফলিত করে, আসলে আরও অনেকগুলি উপায় রয়েছে যা একটি ট্রেডিং মডেলের উপর ব্যয় বাড়িয়ে তুলতে পারে। তিনটি প্রধান ধরণের ব্যয় যা বিবেচনা করা উচিত সেগুলির মধ্যে রয়েছেঃ
একটি অ্যালগরিদমিক ট্রেডিং কৌশল দ্বারা সঞ্চিত লেনদেনের ব্যয়গুলির সবচেয়ে সরাসরি রূপ হ'ল কমিশন এবং ফি। সমস্ত কৌশলগুলির জন্য সরাসরি বা ব্রোকারেজ মধ্যস্থতাকারী (
ব্রোকাররা সাধারণত অনেক পরিষেবা সরবরাহ করে, যদিও পরিমাণগত অ্যালগরিদমগুলি কেবলমাত্র এক্সচেঞ্জ অবকাঠামো ব্যবহার করে। অতএব, ব্রোকারেজ কমিশনগুলি প্রায়শই প্রতি ব্যবসায়ের ভিত্তিতে ছোট হয়। ব্রোকাররা ফিও চার্জ করে, যা ব্যবসায়ের ক্লিয়ারিং এবং নিষ্পত্তি করার জন্য ব্যয় হয়। এর পাশাপাশি আঞ্চলিক বা জাতীয় সরকার কর্তৃক আরোপিত কর রয়েছে। উদাহরণস্বরূপ, যুক্তরাজ্যে শেয়ার লেনদেনের জন্য স্ট্যাম্প শুল্ক রয়েছে। যেহেতু কমিশন, ফি এবং কর সাধারণত স্থির থাকে, তাই এগুলি ব্যাকটেস্ট ইঞ্জিনে বাস্তবায়ন করা তুলনামূলকভাবে সহজ (নীচে দেখুন) ।
স্লিপজে হ'ল একটি ট্রেডিং সিস্টেম যখন লেনদেন করার সিদ্ধান্ত নেয় এবং যখন কোনও লেনদেন প্রকৃতপক্ষে এক্সচেঞ্জে সম্পাদিত হয় তার মধ্যে প্রাপ্ত মূল্যের পার্থক্য। স্লিপজে লেনদেনের ব্যয়ের একটি উল্লেখযোগ্য উপাদান এবং একটি খুব লাভজনক কৌশল এবং একটি খারাপ পারফরম্যান্সের মধ্যে পার্থক্য করতে পারে। স্লিপজে হ'ল অন্তর্নিহিত সম্পদের অস্থিরতা, ট্রেডিং সিস্টেম এবং এক্সচেঞ্জের মধ্যে বিলম্ব এবং পরিচালিত কৌশলটির ধরণ।
একটি উচ্চতর অস্থিরতা সঙ্গে একটি যন্ত্র আরো চলমান হতে পারে এবং তাই সংকেত এবং মৃত্যুদণ্ডের মধ্যে দাম উল্লেখযোগ্যভাবে ভিন্ন হতে পারে। বিলম্ব সংকেত উত্পাদন এবং মৃত্যুদণ্ডের বিন্দু মধ্যে সময় পার্থক্য হিসাবে সংজ্ঞায়িত করা হয়। উচ্চতর ফ্রিকোয়েন্সি কৌশল বিলম্ব সমস্যা আরো সংবেদনশীল এবং এই বিলম্ব উপর মিলিসেকেন্ডের উন্নতি লাভজনকতা দিকে সব পার্থক্য করতে পারেন। কৌশল টাইপ এছাড়াও গুরুত্বপূর্ণ। গতি সিস্টেম গড় স্লিপিং থেকে আরো ভোগ কারণ তারা ইতিমধ্যে পূর্বাভাস দিক চলমান হয় যে যন্ত্র ক্রয় করার চেষ্টা করছেন। বিপরীত মানে-রিভার্টিং কৌশল জন্য সত্য কারণ এই কৌশল ট্রেড বিপরীত দিকে চলমান হয়।
মার্কেট ইমপ্যাক্ট হ'ল এক্সচেঞ্জের সরবরাহ / চাহিদা গতিশীলতার কারণে ব্যবসায়ীদের ব্যয় (এবং সম্পদ) যার মাধ্যমে তারা বাণিজ্য করার চেষ্টা করছে। তুলনামূলকভাবে অনির্ধারিত সম্পদের উপর একটি বড় অর্ডার বাজারে উল্লেখযোগ্যভাবে স্থানান্তরিত হওয়ার সম্ভাবনা রয়েছে কারণ ব্যবসায়ের বর্তমান সরবরাহের একটি বড় উপাদান অ্যাক্সেস করতে হবে। এর বিরুদ্ধে লড়াই করার জন্য, বড় ব্লক ট্রেডগুলি ছোট
আরও অনির্ধারিত সম্পদ একটি বৃহত্তর স্প্রেড দ্বারা চিহ্নিত করা হয়, যা সীমাবদ্ধ অর্ডার বইয়ের বর্তমান বিড এবং জিজ্ঞাসা মূল্যের মধ্যে পার্থক্য। এই স্প্রেড হ'ল যে কোনও ব্যবসায়ের সাথে যুক্ত একটি অতিরিক্ত লেনদেনের ব্যয়। স্প্রেড মোট লেনদেনের ব্যয়ের একটি খুব গুরুত্বপূর্ণ উপাদান - যেমনটি যুক্তরাজ্যের বিস্তৃত পণ সংস্থাগুলির অসংখ্য দ্বারা প্রমাণিত হয় যার বিজ্ঞাপন প্রচারগুলি তাদের প্রচারের
ব্যাকটেস্টিং সিস্টেমে উপরের ব্যয়গুলি সফলভাবে মডেল করার জন্য, বিভিন্ন স্তরের জটিল লেনদেনের মডেলগুলি চালু করা হয়েছে। তারা সহজ ফ্ল্যাট মডেলিং থেকে শুরু করে একটি অ-রৈখিক বর্গাকার আনুমানিক পর্যন্ত বিস্তৃত। এখানে আমরা প্রতিটি মডেলের সুবিধা এবং অসুবিধাগুলি বর্ণনা করবঃ
ফ্ল্যাট লেনদেনের ব্যয় লেনদেনের ব্যয় মডেলিংয়ের সবচেয়ে সহজ রূপ। তারা প্রতিটি ব্যবসায়ের সাথে যুক্ত একটি নির্দিষ্ট ব্যয় অনুমান করে। সুতরাং তারা ব্রোকারেজ কমিশন এবং ফিগুলির ধারণাটি সর্বোত্তমভাবে উপস্থাপন করে। তারা স্লিপিং বা বাজারের প্রভাবের মতো আরও জটিল আচরণ মডেলিংয়ের জন্য খুব সঠিক নয়। আসলে, তারা সম্পদের অস্থিরতা বা তরলতা বিবেচনা করে না। তাদের প্রধান সুবিধা হ'ল তারা বাস্তবায়নের জন্য কম্পিউটারে সহজ। তবে তারা ব্যবহৃত কৌশলটির উপর নির্ভর করে লেনদেনের ব্যয়কে উল্লেখযোগ্যভাবে কম বা বেশি অনুমান করতে পারে। সুতরাং তারা খুব কমই ব্যবহার করা হয়।
আরও উন্নত লেনদেনের ব্যয় মডেলগুলি রৈখিক মডেলগুলির সাথে শুরু হয়, টুকরো-বুদ্ধিমান রৈখিক মডেলগুলির সাথে অবিরত থাকে এবং বর্গাকার মডেলগুলির সাথে সমাপ্ত হয়। এগুলি সর্বনিম্ন থেকে সর্বাধিক নির্ভুলতার বর্ণালীতে অবস্থিত, যদিও সর্বনিম্ন থেকে সর্বাধিক বাস্তবায়নের প্রচেষ্টার সাথে। যেহেতু স্লিপ এবং বাজারের প্রভাবগুলি স্বতন্ত্রভাবে অ-রৈখিক ঘটনা, তাই এই গতিশীলতা মডেলিংয়ে বর্গাকার ফাংশনগুলি সবচেয়ে নির্ভুল। বর্গাকার লেনদেনের ব্যয় মডেলগুলি বাস্তবায়ন করা অনেক কঠিন এবং আরও সহজ সমতল বা রৈখিক মডেলগুলির তুলনায় গণনা করতে অনেক বেশি সময় নিতে পারে, তবে এগুলি প্রায়শই অনুশীলনে ব্যবহৃত হয়।
অ্যালগরিদমিক ব্যবসায়ীরা তাদের কৌশলগুলির জন্য প্রকৃত historicalতিহাসিক লেনদেনের ব্যয়গুলিকে তাদের বর্তমান লেনদেনের মডেলগুলিতে আরও নির্ভুল করার জন্য ইনপুট হিসাবে ব্যবহার করার চেষ্টা করে। এটি একটি জটিল ব্যবসা এবং প্রায়শই অস্থিরতা, স্লিপ এবং বাজারের প্রভাবের মডেলিংয়ের জটিল ক্ষেত্রগুলির সাথে সীমানা করে। তবে, যদি ট্রেডিং কৌশলটি স্বল্প সময়ের মধ্যে বড় পরিমাণে লেনদেন করে থাকে তবে সঞ্চিত লেনদেনের ব্যয়ের সঠিক অনুমান কৌশলটির নীচের লাইনে উল্লেখযোগ্য প্রভাব ফেলতে পারে এবং তাই এই মডেলগুলি গবেষণা করার জন্য বিনিয়োগ করার প্রচেষ্টা মূল্যবান।
যদিও লেনদেনের খরচ সফল ব্যাকটেস্টিং বাস্তবায়নের একটি অত্যন্ত গুরুত্বপূর্ণ দিক, তবে কৌশল কর্মক্ষমতা প্রভাবিত করতে পারে এমন অনেক অন্যান্য বিষয় রয়েছে।
একটি অ্যালগরিদমিক ট্রেডারকে অবশ্যই একটি পছন্দ করতে হবে যে কীভাবে এবং কখন বিভিন্ন এক্সচেঞ্জ অর্ডারগুলি ব্যবহার করতে হবে। এই পছন্দটি সাধারণত এক্সিকিউশন সিস্টেমের ক্ষেত্রের মধ্যে পড়ে, তবে আমরা এখানে এটি বিবেচনা করব কারণ এটি কৌশল ব্যাকটেস্ট পারফরম্যান্সকে ব্যাপকভাবে প্রভাবিত করতে পারে। দুটি ধরণের অর্ডার রয়েছে যা সম্পাদন করা যেতে পারেঃ বাজার অর্ডার এবং সীমা অর্ডার।
একটি মার্কেট অর্ডার অবিলম্বে উপলব্ধ মূল্য নির্বিশেষে, একটি বাণিজ্য সম্পাদন করে। সুতরাং, মার্কেট অর্ডার হিসাবে সম্পাদিত বড় বাণিজ্যগুলি প্রায়শই প্রতিপক্ষের প্রতিটি পরবর্তী সীমা অর্ডার পূরণ হওয়ার সাথে সাথে দামের মিশ্রণ পাবে। মার্কেট অর্ডারগুলি আক্রমণাত্মক অর্ডার হিসাবে বিবেচিত হয় কারণ তারা প্রায় অবশ্যই পূরণ হবে, যদিও সম্ভাব্য অজানা ব্যয়ের সাথে।
লিমিট অর্ডারগুলি কৌশলটির জন্য সবচেয়ে খারাপ মূল্য নির্ধারণের জন্য একটি প্রক্রিয়া সরবরাহ করে, যার বিনিময়ে বাণিজ্যটি কার্যকর হবে, এই সতর্কতা সহ যে বাণিজ্যটি আংশিক বা সম্পূর্ণরূপে পূরণ নাও হতে পারে। সীমাবদ্ধ আদেশগুলি প্যাসিভ অর্ডার হিসাবে বিবেচিত হয় কারণ তারা প্রায়শই পূরণ হয় না, তবে যখন তারা হয় তখন দাম নিশ্চিত হয়। একটি পৃথক এক্সচেঞ্জের সীমাবদ্ধ আদেশগুলির সংগ্রহকে লিমিট অর্ডার বই হিসাবে পরিচিত, যা মূলত নির্দিষ্ট আকার এবং দামগুলিতে কেনা এবং বিক্রয় আদেশের একটি সারি।
ব্যাকটেস্টিং করার সময়, বাজার বা সীমা অর্ডার ব্যবহারের প্রভাবগুলি সঠিকভাবে মডেল করা অপরিহার্য। বিশেষত উচ্চ-ফ্রিকোয়েন্সি কৌশলগুলির জন্য, বাজারের প্রভাব এবং সীমা অর্ডার বইয়ের প্রভাবগুলি সঠিকভাবে মডেল না করা হলে ব্যাকটেস্টগুলি লাইভ ট্রেডিংয়ের তুলনায় উল্লেখযোগ্যভাবে ভাল করতে পারে।
ওপেন-হাই-নিম্ন-ক্লোজ (ওএইচএলসি) পরিসংখ্যানের আকারে প্রতিদিনের ডেটা ব্যবহার করার সময় ব্যাকটেস্টিং কৌশলগুলির সাথে সম্পর্কিত বিশেষ সমস্যা রয়েছে, বিশেষত শেয়ারের জন্য। নোট করুন যে এটি ঠিক ইয়াহু ফিনান্স দ্বারা প্রদত্ত ডেটা ফর্ম, যা খুচরা অ্যালগরিদমিক ব্যবসায়ীদের জন্য ডেটা একটি খুব সাধারণ উত্স!
সস্তা বা বিনামূল্যে ডেটা সেটগুলি, বেঁচে থাকার পক্ষপাতের সাথে ভুগছে (যা আমরা ইতিমধ্যে প্রথম অংশে আলোচনা করেছি), প্রায়শই একাধিক এক্সচেঞ্জ থেকে যৌগিক মূল্য ফিড হয়। এর অর্থ হ'ল ডেটাগুলির চরম পয়েন্টগুলি (যেমন খোলা, বন্ধ, উচ্চ এবং নিম্ন) আঞ্চলিক এক্সচেঞ্জগুলিতে ছোট অর্ডারগুলির কারণে
এর মানে হল যে যদি আপনার ট্রেডিং কৌশলটি বিশেষভাবে OHLC পয়েন্টগুলির কোনওটির ব্যাপক ব্যবহার করে তবে ব্যাকটেস্ট পারফরম্যান্স লাইভ পারফরম্যান্সের থেকে পৃথক হতে পারে কারণ আপনার ব্রোকারের উপর নির্ভর করে এবং আপনার তরলতার অ্যাক্সেসের উপর নির্ভর করে অর্ডারগুলি বিভিন্ন এক্সচেঞ্জে রুট করা যেতে পারে। এই সমস্যাগুলি সমাধানের একমাত্র উপায় হ'ল উচ্চতর ফ্রিকোয়েন্সি ডেটা ব্যবহার করা বা স্বতন্ত্র এক্সচেঞ্জ থেকে সরাসরি ডেটা অর্জন করা, সস্তা যৌগিক ফিডের পরিবর্তে।
পরবর্তী কয়েকটি নিবন্ধে আমরা ব্যাকটেস্টের পারফরম্যান্স পরিমাপ, পাশাপাশি ব্যাকটেস্টিং অ্যালগরিদমের একটি বাস্তব উদাহরণ বিবেচনা করব, যার মধ্যে উপরের অনেকগুলি প্রভাব অন্তর্ভুক্ত রয়েছে।