আপনার নিজের ব্যাকটেস্টার তৈরি করা উচিত?

লেখক:ভাল, তৈরিঃ 2019-03-19 14:03:46, আপডেটঃ 2019-03-19 14:08:48

এই পোস্ট সম্পর্কে

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

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

অবশেষে, আমরা একটি ইভেন্ট-চালিত ব্যাকটেস্টিং সিস্টেমের ইনস এবং আউটগুলি নিয়ে আলোচনা করি, একটি বিষয় যা আমি প্রায়শই পূর্ববর্তী পোস্টগুলিতে কোয়ান্টস্টার্টে কভার করেছি।

ব্যাকটেস্ট কি?

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

এটা একবার বলা হয়েছিল যে সব মডেল ভুল, কিন্তু কিছু দরকারী। ব্যাকটেস্টের ক্ষেত্রেও একই কথা সত্য। তাহলে তারা কোন উদ্দেশ্যে কাজ করে?

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

ব্যাকটেস্ট তৈরি করা সহজ। দুর্ভাগ্যক্রমে ব্যাকটেস্টের ফলাফলগুলি লাইভ ট্রেডিংয়ের ফলাফল নয়। তারা পরিবর্তে বাস্তবতার একটি মডেল। একটি মডেল যা সাধারণত অনেক অনুমান ধারণ করে।

সফটওয়্যার ব্যাকটেস্টের দুটি প্রধান প্রকার রয়েছে - ফর-লুপ এবং ইভেন্ট-ড্রাইভড সিস্টেম।

ব্যাকটেস্টিং সফটওয়্যার ডিজাইন করার সময় সর্বদা নির্ভুলতা এবং বাস্তবায়নের জটিলতার মধ্যে একটি বাণিজ্য বন্ধ থাকে। উপরের দুটি ব্যাকটেস্টিং প্রকার এই বাণিজ্য বন্ধের জন্য বর্ণালীটির উভয় প্রান্তকে উপস্থাপন করে।

ব্যাকটেস্টিং ফাঁদ

ব্যাকটেস্টিংয়ের সাথে যুক্ত অনেকগুলি ফাঁদ রয়েছে। এগুলি সমস্তই এই সত্যকে নিয়ে উদ্বেগ প্রকাশ করে যে ব্যাকটেস্টিং কেবল বাস্তবতার একটি মডেল। আরও সাধারণ ফাঁদগুলির মধ্যে রয়েছেঃ

  • ইন-স্যাম্পল টেস্টিং - এটি ঘটে যখন আপনি একই ডেটা ব্যবহার করেন আপনার ট্রেডিং মডেলগুলিকে প্রশিক্ষণ দেওয়ার পাশাপাশি এটি পরীক্ষা করার জন্য। এটি প্রায়শই লাইভ ট্রেডিংয়ে যা দেখা যায় তার বাইরে একটি কৌশলটির পারফরম্যান্সকে বাড়ে। এর কারণ এটি অদৃশ্য ডেটাতে বৈধ করা হয়নি, যা সম্ভবত প্রশিক্ষণের ডেটা থেকে উল্লেখযোগ্যভাবে আলাদা হবে। মূলত, এটি ওভারফিটিংয়ের একটি রূপ।
  • বেঁচে থাকার পক্ষপাত - এসএন্ডপি 500 এর মতো স্টক মার্কেট সূচকের জন্য, তালিকাভুক্তকরণ এবং তালিকাভুক্তকরণের একটি পর্যায়ক্রমিক প্রক্রিয়া ঘটে, সময়ের সাথে সাথে রচনাটি পরিবর্তন করে। ব্যাকটেস্টের উপর এই পরিবর্তিত রচনাটি বিবেচনায় নিতে ব্যর্থ হয়ে, ট্রেডিং কৌশলগুলি স্বয়ংক্রিয়ভাবে বিজয়ীদের বেছে নিচ্ছে কম বাজার মূলধনের কারণে সূচক থেকে পড়ে যাওয়া সমস্ত সংস্থাকে উপেক্ষা করে। অতএব দীর্ঘমেয়াদী ব্যাকটেস্টগুলি সম্পাদন করার সময় সর্বদা বেঁচে থাকার পক্ষপাত মুক্ত ডেটা ব্যবহার করা প্রয়োজন।
  • Look-Ahead Bias - ভবিষ্যতের ডেটা খুব সূক্ষ্ম উপায়ে ব্যাকটেস্টে স্নিগ্ধ হতে পারে। একটি নির্দিষ্ট সময়সীমার উপর একটি রৈখিক রিগ্রেশন অনুপাত গণনা করার বিষয়টি বিবেচনা করুন। যদি এই অনুপাতটি একই নমুনায় ব্যবহার করা হয় তবে আমরা অবিকল্পিতভাবে ভবিষ্যতের ডেটা নিয়ে এসেছি এবং তাই সম্ভবত পারফরম্যান্সটি বাড়ে। ইভেন্ট-চালিত ব্যাকটেস্টগুলি মূলত এই সমস্যাটি সমাধান করে, যেমনটি আমরা নীচে আলোচনা করব।
  • বাজার ব্যবস্থার পরিবর্তন - এটি এই সত্যের সাথে সম্পর্কিত যে স্টক মার্কেটের প্যারামিটার স্থিতিশীল নয়। অর্থাৎ, স্টক আন্দোলনের উত্পাদনকারী অন্তর্নিহিত প্রক্রিয়াটির এমন প্যারামিটার থাকতে হবে না যা সময়ের সাথে সাথে ধ্রুবক থাকে। এটি প্যারামিটারযুক্ত মডেলগুলি সাধারণীকরণ করা কঠিন করে তোলে (যার অনেকগুলি ট্রেডিং কৌশল উদাহরণ) এবং সুতরাং লাইভ ট্রেডিংয়ের তুলনায় ব্যাকটেস্টে পারফরম্যান্স উচ্চতর হওয়ার সম্ভাবনা রয়েছে।
  • লেনদেনের ব্যয় - অনেক ফর-লুপ ব্যাকটেস্ট এমনকি মৌলিক লেনদেনের ব্যয় যেমন ফি বা কমিশন বিবেচনা করে না। এটি বিশেষত একাডেমিক কাগজপত্রগুলিতে সত্য যেখানে ব্যাকটেস্টগুলি মূলত লেনদেনের ব্যয় ছাড়াই পরিচালিত হয়। দুর্ভাগ্যক্রমে লেনদেনের ব্যয় ছাড়াই অত্যন্ত লাভজনক কৌশলগুলি খুঁজে পাওয়া খুব সহজ, তবে বাস্তব বাজারের সাপেক্ষে যথেষ্ট ক্ষতি করে। সাধারণ ব্যয়গুলির মধ্যে স্প্রেড, বাজারের প্রভাব এবং স্লিপ অন্তর্ভুক্ত রয়েছে। এগুলি বাস্তবসম্মত ব্যাকটেস্টে অ্যাকাউন্ট করা উচিত।

ব্যাকটেস্টিং এর সাথে আরও কিছু সূক্ষ্ম সমস্যা রয়েছে যা প্রায়শই আলোচনা করা হয় না, তবে এখনও বিবেচনা করা অবিশ্বাস্যভাবে গুরুত্বপূর্ণ। এর মধ্যে রয়েছেঃ

  • ওএইচএলসি ডেটা - ওএইচএলসি ডেটা, যা ইয়াহু ফাইন্যান্সের মতো ফ্রি সাইট থেকে নেওয়া দৈনিক ডেটার ধরণ, প্রায়শই একাধিক এক্সচেঞ্জ ফিডের সংমিশ্রণ। অতএব এটি অসম্ভব যে দেখা কিছু চরম মান (দিনের উচ্চ এবং নিম্ন মূল্য সহ) সম্ভবত একটি লাইভ ট্রেডিং সিস্টেম দ্বারা প্রাপ্ত হবে। যেমন অর্ডার রাউটিং একটি মডেলের অংশ হিসাবে বিবেচনা করা প্রয়োজন।
  • সক্ষমতা সীমাবদ্ধতা - ব্যাকটেস্টিংয়ের সময় অর্থের একটি অসীম পাত্র ব্যবহার করা সহজ। তবে বাস্তবে মূলধন, পাশাপাশি মার্জিন, কঠোরভাবে সীমাবদ্ধ। গড় দৈনিক পরিমাণ (এডিভি) সীমা সম্পর্কেও চিন্তা করা দরকার, বিশেষত ছোট মূলধনের স্টকগুলির জন্য যেখানে আমাদের ব্যবসায়গুলি প্রকৃতপক্ষে বাজারকে স্থানান্তরিত করতে পারে। এই জাতীয় বাজার প্রভাব প্রভাবগুলি ঝুঁকি পরিচালনার উদ্দেশ্যে বিবেচনা করা দরকার।
  • বেঞ্চমার্ক পছন্দ - ব্যাকটেস্ট করা কৌশলটি পরিমাপ করা হচ্ছে এমন বেঞ্চমার্কের পছন্দটি কি ভাল? উদাহরণস্বরূপ, আপনি যদি পণ্যের ফিউচার ট্রেড করছেন এবং এসএন্ডপি 500 মার্কিন শেয়ার সূচকের ক্ষেত্রে নিরপেক্ষ হন তবে এসএন্ডপি 500 কে আপনার বেঞ্চমার্ক হিসাবে ব্যবহার করা কি সত্যিই যুক্তিযুক্ত? অন্যান্য পণ্য ট্রেডিং তহবিলের একটি ঝুড়ি আরও যুক্তিযুক্ত হবে?
  • স্থিতিশীলতা - আপনার ব্যাকটেস্টের মধ্যে আপনার কৌশল শুরু করার সময় পরিবর্তন করে ফলাফলগুলি নাটকীয়ভাবে পরিবর্তিত হয়? দীর্ঘমেয়াদী কৌশলটির জন্য ব্যাকটেস্টটি সোমবার বা বৃহস্পতিবার শুরু হয় কিনা তা গুরুত্বপূর্ণ হওয়া উচিত নয়। তবে এটি যদি প্রারম্ভিক অবস্থার প্রতি সংবেদনশীল হয় তবে আপনি কীভাবে লাইভ ট্রেডিংয়ের সময় ভবিষ্যতের কর্মক্ষমতা নির্ভরযোগ্যভাবে পূর্বাভাস দিতে পারেন?
  • Overfitting/Bias-Variance Tradeoff - আমরা In-Sample Testing পয়েন্টে এটি একটু উপরে আলোচনা করেছি। যাইহোক, overfitting সমস্ত (নিরীক্ষিত) মেশিন লার্নিং পদ্ধতির জন্য একটি বিস্তৃত সমস্যা। এই সমস্যাটি সমাধানের একমাত্র বাস্তব উপায় ক্রস-ভ্যালিডেশন কৌশলগুলির সাবধানে ব্যবহারের মাধ্যমে। এমনকি তখনও, আমাদের অত্যন্ত সাবধান হওয়া উচিত যে আমরা কেবল আমাদের ট্রেডিং কৌশলগুলিকে প্রশিক্ষণ সেটে গোলমালের সাথে ফিট করি নি।
  • মনোবৈজ্ঞানিক সহনশীলতা - মনোবিজ্ঞান প্রায়শই কোয়ান্টাম ফিনান্সে উপেক্ষা করা হয় কারণ এটি একটি অ্যালগরিদমিক সিস্টেম তৈরি করে সরানো হয়। তবে, এটি সর্বদা সরে যায় কারণ কোয়ান্টামগুলি একবার লাইভ স্থাপন করার পরে সিস্টেমটি টিঙ্কার বা ওভাররাইড করার প্রবণতা রাখে। তদতিরিক্ত, ব্যাকটেস্টে যা সহনীয় বলে মনে হতে পারে তা লাইভ ট্রেডিংয়ে পেট ঘুরিয়ে দিতে পারে। যদি আপনার ব্যাকটেস্টেড ইক্যুইটি কার্ভটি এর ট্রেডিং ইতিহাসের কোনও সময়ে 50% ড্রডাউন দেখায় তবে আপনি কি লাইভ ট্রেডিংয়ের পরিস্থিতিতেও এটি চালাতে পারবেন?

ব্যাকটেস্টিংয়ের সমস্যা সম্পর্কে অনেক লেখা হয়েছে। টাকার বালচ এবং এরনি চ্যান উভয়ই এই সমস্যাগুলি দীর্ঘস্থায়ীভাবে বিবেচনা করে।

ফর-লুপ ব্যাকটেস্ট সিস্টেম

ফর-লুপ ব্যাকটেস্টার হল ব্যাকটেস্টিং সিস্টেমের সবচেয়ে সরল প্রকার এবং কোয়ান্টাম ব্লগের পোস্টে সবচেয়ে বেশি দেখা যায়, কেবল তার সরলতা এবং স্বচ্ছতার জন্য।

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

এখানে এমন একটি অ্যালগরিদমের জন্য ছদ্ম কোড রয়েছেঃ

for each trading bar:
    do_something_with_prices();
    buy_sell_or_hold_something();
    next_bar();PythonCopy

আপনি যেমন দেখতে পাচ্ছেন, এই ধরনের সিস্টেমের নকশা অবিশ্বাস্যভাবে সহজ। এটি একটি নির্দিষ্ট কৌশল নিয়ম সেট কর্মক্ষমতা একটি প্রথম চেহারা পেতে আকর্ষণীয় করে তোলে।

সুবিধা

ফর-লুপ ব্যাকটেস্টারগুলি প্রায় কোনও প্রোগ্রামিং ভাষায় বাস্তবায়ন করা সহজ এবং কার্যকর করা খুব দ্রুত। শেষেরটির সুবিধাটি হ'ল ট্রেডিং সেটআপটি অনুকূল করার জন্য অনেকগুলি পরামিতি সংমিশ্রণ পরীক্ষা করা যেতে পারে।

অসুবিধা

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

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

ফর-লুপ ব্যাকটেস্টাররা ইনডেক্সিংয়ের সাথে বাগগুলির কারণে Look-Ahead Bias-এর প্রবণ। উদাহরণস্বরূপ, আপনার প্যানেল ইনডেক্সিংয়ে i, i+1 বা i-1 ব্যবহার করা উচিত ছিল?

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

ইভেন্ট-চালিত ব্যাকটেস্ট সিস্টেম

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

এই ধরনের সিস্টেমগুলি একটি বড় while লুপে চালিত হয় যা event queue এ বিভিন্ন ধরণের events এর জন্য ক্রমাগত অনুসন্ধান করে। সম্ভাব্য ইভেন্টগুলির মধ্যে রয়েছেঃ

  • টিক ইভেন্ট - নতুন বাজার তথ্য আগমনের মানে
  • সিগন্যাল ইভেন্ট - নতুন ট্রেডিং সিগন্যাল তৈরি
  • অর্ডার ইভেন্ট - মার্কেট ব্রোকারে পাঠানোর জন্য প্রস্তুত অর্ডার
  • ইভেন্ট পূরণ করুন - মার্কেট ব্রোকারের তথ্য পূরণ করুন

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

ইভেন্ট-ড্রাইভড ব্যাকটেস্টিং সিস্টেমের ছদ্ম কোড নিম্নরূপঃ

while event_queue_isnt_empty():
    event = get_latest_event_from_queue();
    if event.type == "tick":
        strategy.calculate_trading_signals(event);
    else if event.type == "signal":
        portfolio.handle_signal(event);
    else if event.type == "order":
        portfolio.handle_order(event);
    else if event.type == "fill":
        portfolio.handle_fill(event)
    sleep(600);  # Sleep for, say, 10 minsPythonCopy

আপনি দেখতে পাচ্ছেন যে পোর্টফোলিও হ্যান্ডলার মডিউলের উপর প্রচুর নির্ভরতা রয়েছে। এই ধরনের একটি মডিউল একটি ইভেন্ট-চালিত ব্যাকটেস্টিং সিস্টেমের হার্ট যেমনটি আমরা নীচে দেখব।

সুবিধা

ইভেন্ট চালিত ব্যাকটেস্টার ব্যবহারের অনেক সুবিধা রয়েছেঃ

  • Look-Ahead Bias এর নির্মূল - এর বার্তা-পাসিং ডিজাইনের কারণে, ইভেন্ট-চালিত সিস্টেমগুলি সাধারণত Look-Ahead Bias থেকে মুক্ত, অন্তত ট্রেডিং স্তরে। তবে একটি প্রাক-গবেষণা করা মডেলের মাধ্যমে পরোক্ষভাবে পক্ষপাতের প্রবর্তনের সম্ভাবনা রয়েছে।
  • কোড পুনরায় ব্যবহার - লাইভ ট্রেডিংয়ের জন্য কেবল ডেটা হ্যান্ডলার এবং এক্সিকিউশন হ্যান্ডলার মডিউলগুলি প্রতিস্থাপন করা প্রয়োজন। সমস্ত কৌশল, ঝুঁকি / অবস্থান পরিচালনা এবং কর্মক্ষমতা পরিমাপ কোডটি একই। এর অর্থ সাধারণত অনেক কম বাগ সংশোধন করা হয়।
  • পোর্টফোলিও স্তর - ইভেন্ট-ড্রাইভড সিস্টেমের সাথে পোর্টফোলিও স্তরে চিন্তা করা অনেক সহজ। যন্ত্র এবং কৌশলগুলির গ্রুপগুলি প্রবর্তন করা সহজ, যেমন হেজিং যন্ত্রগুলি।
  • সঠিক ঝুঁকি/পজিশন ম্যানেজমেন্ট - সহজেই ঝুঁকি ও পজিশন ম্যানেজমেন্টকে মডুলারাইজ করতে পারে। কেলি'র মানদণ্ডের মতো লিভারেজ এবং পদ্ধতিগুলি সহজেই প্রবর্তন করতে পারে। এছাড়াও সহজেই সেক্টর এক্সপোজার সতর্কতা, এডিভি সীমা, অস্থিরতা সীমা এবং অনির্ধারিততার সতর্কতা অন্তর্ভুক্ত করতে পারে।
  • রিমোট ডিপ্লয়িং/মনিটরিং - কোডের মডুলার প্রকৃতি ক্লাউডে প্রয়োগ করা বা একটি ভার্চুয়ালাইজড সিস্টেমে একটি এক্সচেঞ্জের কাছাকাছি সফ্টওয়্যারটি একসাথে স্থাপন করা সহজ করে তোলে।

অসুবিধা

যদিও এর সুবিধাগুলো স্পষ্ট, তবে এমন জটিল পদ্ধতি ব্যবহারের কিছু গুরুতর অসুবিধা রয়েছেঃ

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

সফটওয়্যার ল্যান্ডস্কেপ

এই বিভাগে আমরা ফর-লুপ এবং ইভেন্ট-চালিত উভয় সিস্টেমের জন্য বিদ্যমান সফ্টওয়্যার (উভয় ওপেন সোর্স এবং বাণিজ্যিক) বিবেচনা করব।

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

ইভেন্ট-ড্রাইভেন সিস্টেমের বাজার অনেক বড়, যেহেতু ক্লায়েন্ট/ব্যবহারকারীরা প্রায়শই চান যে সফ্টওয়্যারটি এক প্যাকেজে ব্যাকটেস্টিং এবং লাইভ ট্রেডিং উভয়ই সক্ষম হোক।

ব্যয়বহুল বাণিজ্যিক অফারগুলির মধ্যে রয়েছে ডেলটিক্স এবং কোয়ান্টহাউস। এগুলি প্রায়শই কোয়ান্ট হেজ ফান্ড, ফ্যামিলি অফিস এবং প্রোপ ট্রেডিং ফার্মে পাওয়া যায়।

ক্লাউড-ভিত্তিক ব্যাকটেস্টিং এবং লাইভ ট্রেডিং সিস্টেমগুলি তুলনামূলকভাবে নতুন। কোয়ান্টোপিয়ান ব্যাকটেস্টিং এবং লাইভ ট্রেডিং উভয়ের জন্য একটি পরিপক্ক ওয়েব-ভিত্তিক সেটআপের একটি উদাহরণ।

প্রাতিষ্ঠানিক কোয়ান্টগুলি প্রায়শই তাদের নিজস্ব ইন-হাউস সফ্টওয়্যার তৈরি করে। এটি নিয়ন্ত্রক সীমাবদ্ধতা, বিনিয়োগকারী সম্পর্ক / প্রতিবেদন এবং নিরীক্ষণযোগ্যতার মিশ্রণের কারণে।

খুচরা কোয়ান্টগুলির কাছে কোয়ান্টপিয়ান এর cloud+data পদ্ধতির ব্যবহার বা Amazon Web Services, Rackspace Cloud বা Microsoft Azure এর মতো একটি ক্লাউড বিক্রেতা ব্যবহার করে একটি উপযুক্ত ডেটা বিক্রেতার সাথে DTN IQFeed বা QuantQuote এর মধ্যে একটি পছন্দ রয়েছে।

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

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

প্রোগ্রামিং ভাষা

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

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

আমাদের কেবলমাত্র যা কাজ করে তা নিয়েই আগ্রহী হওয়া উচিত। এখানে কিছু প্রধান প্রতিযোগী রয়েছেঃ

পাইথন

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

এটিতে কিছু ব্যতিক্রমী কোয়ান্টাম / ডেটা সায়েন্স / মেশিন লার্নিং (এমএল) লাইব্রেরি রয়েছে NumPy, SciPy, পান্ডা, Scikit-Learn, Matplotlib, PyMC3 এবং Statsmodels। যদিও এটি এমএল এবং সাধারণ ডেটা সায়েন্সের জন্য দুর্দান্ত, তবে এটি আরও বিস্তৃত ক্লাসিকাল পরিসংখ্যানগত পদ্ধতি এবং সময় সিরিজ বিশ্লেষণের জন্য কিছুটা ক্ষতিগ্রস্থ হয়।

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

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

R

R একটি পরিসংখ্যানগত প্রোগ্রামিং পরিবেশ, বরং একটি পূর্ণ-প্রাপ্ত প্রথম শ্রেণীর প্রোগ্রামিং ভাষা (যদিও কেউ কেউ অন্যথায় তর্ক করতে পারে) । এটি প্রাথমিকভাবে সময় সিরিজের জন্য উন্নত পরিসংখ্যানগত বিশ্লেষণ, ক্লাসিকাল / ফ্রিকোয়েন্টিস্ট পরিসংখ্যান, বেয়েসিয়ান পরিসংখ্যান, মেশিন লার্নিং এবং অন্বেষণাত্মক ডেটা বিশ্লেষণ সম্পাদনের জন্য ডিজাইন করা হয়েছিল।

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

সি++

সি++ অত্যন্ত দ্রুত হওয়ার জন্য খ্যাতি অর্জন করেছে। প্রায় সমস্ত বৈজ্ঞানিক উচ্চ-কার্যকারিতা কম্পিউটিং হয় ফরট্রান বা সি++ তে পরিচালিত হয়। এটি এর প্রাথমিক সুবিধা। সুতরাং আপনি যদি উচ্চ ফ্রিকোয়েন্সি ট্রেডিং বিবেচনা করছেন, বা বড় সংস্থায় উত্তরাধিকারসূত্রে সিস্টেমে কাজ করছেন, তাহলে সি++ সম্ভবত একটি প্রয়োজনীয়তা।

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

এর আপেক্ষিক বয়স সত্ত্বেও, এটি সম্প্রতি সি ++ 11 / সি ++ 14 এবং আরও মানের পরিমার্জন প্রবর্তনের সাথে উল্লেখযোগ্যভাবে আধুনিকীকরণ করা হয়েছে।

অন্যরা?

আপনি জাভা, স্কালা, সি #, জুলিয়া এবং অনেকগুলি কার্যকরী ভাষায়ও নজর রাখতে পারেন। তবে, আমার প্রস্তাবটি পাইথন, আর এবং / অথবা সি ++ এর সাথে লেগে থাকা, কারণ কোয়ান্টাম ট্রেডিং সম্প্রদায়গুলি অনেক বড়।

আপনার নিজের (ইভেন্ট-ড্রাইভড) ব্যাকটেস্টার লিখতে হবে?

উত্তর: হ্যাঁ!

এটি আপনার নিজের ইভেন্ট-চালিত ব্যাকটেস্টিং সিস্টেম লিখতে একটি দুর্দান্ত শেখার অভিজ্ঞতা। প্রথমত, এটি আপনাকে আপনার ট্রেডিং অবকাঠামোর সমস্ত দিক বিবেচনা করতে বাধ্য করে, কেবল নির্দিষ্ট কৌশলটিতে ঘন্টা ব্যয় করে না।

এমনকি যদি আপনি লাইভ ট্রেডিংয়ের জন্য সিস্টেমটি ব্যবহার না করেন, তবে এটি আপনাকে প্রচুর সংখ্যক প্রশ্ন সরবরাহ করবে যা আপনার বাণিজ্যিক বা FOSS ব্যাকটেস্টিং বিক্রেতাদের জিজ্ঞাসা করা উচিত।

উদাহরণস্বরূপঃ আপনার বর্তমান লাইভ সিস্টেমটি আপনার ব্যাকটেস্ট সিমুলেশন থেকে কীভাবে আলাদাঃ

  • অ্যালগরিদমিক এক্সিকিউশন এবং অর্ডার রুটিং?
  • স্প্রেড, ফি, স্লিপ এবং বাজারের প্রভাব?
  • ঝুঁকি ব্যবস্থাপনা এবং পজিশনের আকার?

যদিও ইভেন্ট-ড্রাইভেন সিস্টেমগুলি দ্রুত বা সহজভাবে লেখা হয় না, তবে অভিজ্ঞতা আপনার কোয়ান্ট ট্রেডিং ক্যারিয়ারে পরে বিশাল শিক্ষামূলক লভ্যাংশ প্রদান করবে।

ইভেন্ট-ড্রাইভড ব্যাকটেস্ট ডিজাইন ১০১

আপনি কিভাবে এমন একটি সিস্টেম লিখবেন?

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

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

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

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

সিকিউরিটিজ মাস্টার ডাটাবেজ

এখানে সব ঐতিহাসিক মূল্যের তথ্য সংরক্ষণ করা হয়, আপনার ট্রেডিং ইতিহাস সহ, একবার লাইভ। একটি পেশাদারী সিস্টেম শুধু ইয়াহু ফাইন্যান্স থেকে কয়েক CSV ফাইল নয়!

পরিবর্তে, আমরা একটি প্রথম শ্রেণীর ডাটাবেস বা ফাইল সিস্টেম ব্যবহার করি, যেমন PostgreSQL, MySQL, SQL Server বা HDF5।

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

আমাদের সর্বদা কর্পোরেট ক্রিয়াকলাপ (যেমন স্টক বিভক্তি এবং লভ্যাংশ), বেঁচে থাকার পক্ষপাত (স্টক ডিলিটিং) পাশাপাশি বিভিন্ন এক্সচেঞ্জের মধ্যে সময় অঞ্চল পার্থক্যগুলি ট্র্যাক করার বিষয়ে সচেতন হওয়া উচিত।

ব্যক্তিগত/খুচরা কোয়ান্টগুলি এখানে প্রতিদ্বন্দ্বিতা করতে পারে কারণ অনেক উত্পাদন মানের ডাটাবেস প্রযুক্তি পরিপক্ক, বিনামূল্যে এবং ওপেন সোর্স। ডেটা নিজেই সস্তা হয়ে উঠছে এবং কানালের মতো সাইটের মাধ্যমে গণতান্ত্রিকীকরণ

এখনও অনেক বাজার এবং কৌশল রয়েছে যা বড় তহবিলের আগ্রহের জন্য খুব ছোট। এটি খুচরা পরিমাণ ব্যবসায়ীদের জন্য একটি উর্বর মাটি।

ট্রেডিং কৌশল

ইভেন্ট-ড্রাইভেন সিস্টেমের ট্রেডিং কৌশল মডিউল সাধারণত নতুন বাজার তথ্যের উপর কিছু ধরণের ভবিষ্যদ্বাণীমূলক বা ফিল্টারিং প্রক্রিয়া চালায়।

এটি বার বা টিক ডেটা গ্রহণ করে এবং তারপরে একটি সম্পদ দীর্ঘ বা সংক্ষিপ্ত করার জন্য একটি ট্রেডিং সংকেত উত্পাদন করার জন্য এই প্রক্রিয়াগুলি ব্যবহার করে। এই মডিউলটি একটি পরিমাণ উত্পাদন করার জন্য ডিজাইন করা হয়নি, যা অবস্থান-আকারের মডিউলের মাধ্যমে পরিচালিত হয়।

কোয়ান্ট ব্লগ আলোচনার 95% সাধারণত ট্রেডিং কৌশলগুলির চারপাশে ঘোরে। আমি ব্যক্তিগতভাবে বিশ্বাস করি এটি 20% এর মতো হওয়া উচিত। এটি কারণ আমি মনে করি যে আরো আলফা সহ কৌশলগুলি অনুসরণ করার চেয়ে সঠিক ঝুঁকি ব্যবস্থাপনা এবং অবস্থান আকারের মাধ্যমে ব্যয় হ্রাস করে প্রত্যাশিত রিটার্নগুলি বাড়ানো অনেক সহজ।

পোর্টফোলিও ও অর্ডার ব্যবস্থাপনা

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

এই ব্যবস্থার লক্ষ্য হ'ল বর্তমান পোর্টফোলিও থেকে পছন্দসই পোর্টফোলিওতে যাওয়া, ঝুঁকি হ্রাস এবং লেনদেনের ব্যয় হ্রাস করা।

মডিউলটি সিস্টেমের কৌশল, ঝুঁকি, অবস্থান আকার এবং অর্ডার কার্যকরকরণের ক্ষমতাকে একত্রিত করে। এটি ব্রোকারেজের নিজস্ব গণনার অনুকরণ করার জন্য ব্যাকটেস্টিংয়ের সময় অবস্থান গণনাগুলিও পরিচালনা করে।

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

ঝুঁকি ও পজিশন ব্যবস্থাপনা

ঝুঁকি ব্যবস্থাপনাকে তার নিজস্ব মডিউলে আলাদা করা অত্যন্ত সুবিধাজনক হতে পারে। মডিউলটি পোর্টফোলিও থেকে প্রেরিত আদেশগুলি পরিবর্তন, যোগ বা ভেটো করতে পারে।

বিশেষত, ঝুঁকি মডিউলটি বাজারের নিরপেক্ষতা বজায় রাখতে হেজ যুক্ত করতে পারে। এটি সেক্টর এক্সপোজার বা এডিভি সীমাগুলির কারণে অর্ডার আকার হ্রাস করতে পারে। এটি যদি স্প্রেডটি খুব বড় হয় বা বাণিজ্যের আকারের তুলনায় ফিগুলি খুব বড় হয় তবে এটি সম্পূর্ণরূপে কোনও বাণিজ্যকে ভেটো করতে পারে।

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

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

কার্যকরকরণ পরিচালনা

বাস্তব জীবনে আমরা কখনোই গ্যারান্টি দিই না যে আমরা মাঝখানে বাজারে পৌঁছে যাবো!

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

ইভেন্ট চালিত সিস্টেমের মডুলার পদ্ধতির ফলে আমরা সহজেই ব্যাকটেস্ট এক্সিকিউশন হ্যান্ডলারকে লাইভ এক্সিকিউশন হ্যান্ডলারের সাথে স্যুইচ করতে পারি এবং রিমোট সার্ভারে স্থাপন করতে পারি।

আমরা সহজেই উত্তরাধিকার এর OOP ধারণা ব্যবহার করে একাধিক ব্রোকারেজ যোগ করতে পারি। এটি অবশ্যই অনুমান করে যে এই ব্রোকারেজগুলির একটি সরল অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস (API) রয়েছে এবং আমাদের তাদের সিস্টেমের সাথে ইন্টারঅ্যাক্ট করার জন্য গ্রাফিকাল ইউজার ইন্টারফেস (GUI) ব্যবহার করতে বাধ্য করে না।

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

পারফরম্যান্স ও রিপোর্টিং

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

এই অবকাঠামোর ধারাবাহিক ধাপে ধাপে উন্নতি করা উচিত। এটি কেবল বাগগুলি নির্মূল করে এবং বাণিজ্য বিলম্বের মতো সমস্যাগুলি উন্নত করে দীর্ঘমেয়াদে রিটার্নগুলিকে সত্যই বাড়িয়ে তুলতে পারে। বিশ্বের সর্বশ্রেষ্ঠ কৌশল (ডাব্লুজিএস) উন্নত করতে কেবল ফিক্সড হবেন না।

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

পরিকাঠামো অপ্টিমাইজেশান কৌশল উন্নয়ন তুলনায় আরো boring হতে পারে কিন্তু এটি উল্লেখযোগ্যভাবে কম বিরক্তিকর হয়ে যখন আপনার আয় উন্নত হয়!

মোতায়েন ও পর্যবেক্ষণ

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

একটি শক্তিশালী সিস্টেম দূরবর্তীভাবে cloud বা একটি এক্সচেঞ্জ কাছাকাছি co-located স্থাপন করা আবশ্যক। হোম ব্রডব্যান্ড, পাওয়ার সরবরাহ এবং অন্যান্য কারণগুলির অর্থ হ'ল একটি হোম ডেস্কটপ / ল্যাপটপ ব্যবহার করা খুব অবিশ্বস্ত। প্রায়শই জিনিসগুলি সবচেয়ে খারাপ সময়ে ঠিক ব্যর্থ হয় এবং উল্লেখযোগ্য ক্ষতির দিকে পরিচালিত করে।

রিমোট ডিপ্লয়িং বিবেচনা করার সময় প্রধান সমস্যাগুলির মধ্যে রয়েছে; সিপিইউ, র্যাম / সুইপ, ডিস্ক এবং নেটওয়ার্ক আই / ও, সিস্টেমের উচ্চ-প্রাপ্যতা এবং অতিরিক্ততা, ব্যাকআপ এবং পুনরুদ্ধার পরিকল্পনার মাধ্যমে ভালভাবে চিন্তা করা, সিস্টেমের সমস্ত দিকের বিস্তৃত লগিং পাশাপাশি ক্রমাগত সংহতকরণ, ইউনিট টেস্টিং এবং সংস্করণ নিয়ন্ত্রণ।

মারফির আইন মনে রেখো - যদি এটা ব্যর্থ হতে পারে তাহলে এটা ব্যর্থ হবে।

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

চূড়ান্ত চিন্তা

দুর্ভাগ্যবশত কোয়ান্টাম ট্রেডিং-এ কোন 'দ্রুত সমাধান' নেই। সফল হওয়ার জন্য অনেক পরিশ্রম এবং শেখার প্রয়োজন।

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

এটি আপনার ট্রেডিং অবকাঠামোতে প্রচুর সময় বিনিয়োগ করারও মূল্যবান। স্থাপন এবং পর্যবেক্ষণের মতো বিষয়গুলিতে সময় ব্যয় করুন। সর্বদা লেনদেনের ব্যয় হ্রাস করার চেষ্টা করুন, কারণ লাভজনকতা হ'ল ব্যয় হ্রাস করার মতোই এটি ট্রেডিংয়ের আয় অর্জনের বিষয়ে।

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

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


আরো