মূল কনটেন্টে যান
এআই টিউটোরিয়াল

ফিউচার্স ফ্যাক্টর আবিষ্কার পরীক্ষা: Docker ডিপ্লয়মেন্ট থেকে ফ্যাক্টর ব্যাকটেস্ট ও সিমুলেটেড ট্রেডিং

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

ফিউচার্স ফ্যাক্টর আবিষ্কার ও সিমুলেটেড ট্রেডিং

প্রকল্প পরিচিতি

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

প্ল্যাটফর্মের হোমপেজ

প্রকল্পটি ডিফল্টভাবে Sina Finance-এর বিনামূল্যের মার্কেট ডেটা সরবরাহ করে, যা প্রায় প্রতি 5 সেকেন্ডে রিফ্রেশ হয় এবং এর জন্য মার্কেট ডেটা অ্যাকাউন্ট নিবন্ধনের প্রয়োজন নেই। ডেটাবেস, ক্যাশ ও ব্যবসায়িক ডেটা ডিপ্লয়কারী নিজেই হোস্ট করেন। নিজস্ব CTP-সামঞ্জস্যপূর্ণ মার্কেট ডেটা ফ্রন্টএন্ড থাকলে, ব্যবস্থাপনা প্যানেলে সংশ্লিষ্ট tcp:// ঠিকানা কনফিগার করা যায়।

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

মূল ফিচার

  • মার্কেট ডেটা টার্মিনাল: Sina-এর বিনামূল্যের রিয়েল-টাইম কোট ও ঐতিহাসিক K-লাইন, পছন্দের তালিকা এবং ইন্সট্রুমেন্ট ট্রি সরবরাহ করে। পাঁচ-স্তরের অর্ডার-বুকসহ অন্যান্য সুবিধা সংযুক্ত মার্কেট ডেটা উৎসের ওপর নির্ভরশীল।
  • ফ্যাক্টর ল্যাব: 60টিরও বেশি বিল্ট-ইন বৈশিষ্ট্য রয়েছে। এক্সপ্রেশন ব্যবহার করে ফ্যাক্টর আবিষ্কার এবং token কোডের মাধ্যমে পরীক্ষা পুনরুৎপাদন করা যায়।
  • ঐতিহাসিক ব্যাকটেস্ট: মাল্টি-টাইমফ্রেম K-লাইন ব্যাকটেস্ট, AI-উৎপাদিত K-লাইন ব্যাকটেস্ট এবং সিদ্ধান্ত মডেল ব্যাকটেস্ট সমর্থন করে।
  • সিমুলেটেড ট্রেডিং: পেপার অ্যাকাউন্ট, অর্ডার ম্যাচিং, পজিশন ব্যবস্থাপনা, ইকুইটি কার্ভ এবং একাধিক পজিশন বন্ধের মানদণ্ড সরবরাহ করে।
  • কোয়ান্টিটেটিভ টাস্ক: কৌশলের সিগন্যাল রিয়েল টাইমে গণনা করে এবং মাল্টি-টাইমফ্রেম রেজোন্যান্স ও সিগন্যাল K-লাইন স্টপ-লস সমর্থন করে।
  • AI মার্কেট বিশ্লেষণ: ব্যবহারকারী-কনফিগার করা LLM চ্যানেলের মাধ্যমে উপস্থাপক-শৈলীর মার্কেট ব্রিফিং ও ট্রেডিং সহায়ক তথ্য তৈরি করে।
  • ব্যবস্থাপনা প্যানেল: মার্কেট ডেটা চ্যানেল পর্যবেক্ষণ ও প্রাইমারি-ব্যাকআপ সুইচিং, K-লাইন উৎস, ব্যবহারকারী এবং কোটা পরিচালনা করে।

প্রযুক্তিগত কাঠামো

ব্যাকএন্ড Python 3.12, FastAPI, অ্যাসিনক্রোনাস SQLAlchemy, PostgreSQL ও Redis-এর ওপর ভিত্তি করে তৈরি। ফ্রন্টএন্ডে Next.js 15, React 19 ও Tailwind CSS ব্যবহৃত হয়েছে। সম্পূর্ণ পরিষেবা Docker Compose-এর মাধ্যমে অর্কেস্ট্রেট করা হয়।

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

কোয়ান্টিটেটিভ ওয়ার্কবেঞ্চ

ইনস্টলেশন ও চালু করা

প্রথম ধাপ: ডিপ্লয়মেন্ট পরিবেশ প্রস্তুত করুন

শুরু করার আগে নিশ্চিত করুন যে পরিবেশে Docker ইনস্টল করা আছে এবং Docker Compose ব্যবহার করা যায়। এরপর প্রকল্পের সোর্স কোড সংগ্রহ করে রিপোজিটরির রুট ডিরেক্টরিতে প্রবেশ করুন।

দ্বিতীয় ধাপ: পরিবেশ ভেরিয়েবল ফাইল তৈরি করুন

রিপোজিটরিতে দেওয়া নমুনা কনফিগারেশন কপি করুন:

cp .env.example .env

.env খুলে ডিপ্লয়মেন্ট পরিবেশ অনুযায়ী ডেটাবেস, Redis ও JWT কীসহ অন্যান্য কনফিগারেশন পরীক্ষা বা পরিবর্তন করুন। পাবলিক ডিপ্লয়মেন্টে সহজে অনুমানযোগ্য বা নমুনার সঙ্গে একই কী ব্যবহার করা উচিত নয়।

তৃতীয় ধাপ: কনটেইনার চালু করুন

রিপোজিটরির রুট ডিরেক্টরিতে চালান:

docker compose up -d

এই কমান্ডটি Compose-এ সংজ্ঞায়িত পরিষেবাগুলো ব্যাকগ্রাউন্ডে চালু করবে। চালুর পর কনটেইনারের অবস্থা দেখতে ব্যবহার করুন:

docker compose ps

ডেটাবেস টেবিল তৈরি, ডেটা কনফিগারেশন এবং সম্পূর্ণ পরিবেশ ভেরিয়েবলের বিবরণের জন্য প্রকল্পের SELF-HOSTING.md অনুসরণ করুন। README কোনো নির্দিষ্ট অ্যাক্সেস পোর্টের নিশ্চয়তা দেয় না, তাই Compose ফাইল ও স্থানীয় পরিবেশ ভেরিয়েবল দেখে প্রকৃত অ্যাক্সেস ঠিকানা নির্ধারণ করুন।

মার্কেট ডেটা উৎস কনফিগার করুন

ডিফল্ট Sina মার্কেট ডেটা সরাসরি ব্যবহার

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

মার্কেট ডেটা টার্মিনাল

নিজস্ব CTP-সামঞ্জস্যপূর্ণ ফ্রন্টএন্ড সংযুক্ত করুন

ব্যবহারযোগ্য CTP-সামঞ্জস্যপূর্ণ মার্কেট ডেটা পরিষেবা থাকলে ctp_sim নির্বাচন করুন এবং ব্যবস্থাপনা প্যানেলের “মার্কেট ডেটা চ্যানেল পর্যবেক্ষণ” পেজে নিজের ঠিকানা লিখুন, যেমন:

tcp://host:port

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

openctp 7×24 সিমুলেশন পরিবেশ ব্যবহার

openctp_724 openctp-এর 7×24 সিমুলেশন পরিবেশের সঙ্গে সম্পর্কিত এবং ভার্চুয়াল ট্রেডিং পরীক্ষার জন্য উপযোগী। বিভিন্ন ডেটা উৎসে সরবরাহযোগ্য ফিল্ড ও গভীরতা আলাদা হতে পারে। যেমন, পাঁচ-স্তরের অর্ডার-বুকের জন্য সংশ্লিষ্ট মার্কেট ডেটা উৎসে সেই সক্ষমতা থাকতে হবে।

মৌলিক ব্যবহারপ্রক্রিয়া

1. মার্কেট ডেটা টার্মিনাল থেকে গবেষণার বিষয় নির্বাচন

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

2. ফ্যাক্টর ল্যাবে পরীক্ষা চালান

ফ্যাক্টর ল্যাবে 60টিরও বেশি বিল্ট-ইন বৈশিষ্ট্য রয়েছে এবং এক্সপ্রেশন দিয়ে ফ্যাক্টর组合 করা যায়। তুলনামূলক সহজ এক্সপ্রেশন দিয়ে শুরু করুন, গবেষণার ইন্সট্রুমেন্ট, সময়কাল ও প্যারামিটার নথিবদ্ধ করুন, তারপর ধীরে ধীরে জটিলতা বাড়ান।

ফ্যাক্টর ল্যাব

প্ল্যাটফর্মের token কোড পরীক্ষা পুনরুৎপাদনে ব্যবহার করা যায়। মূল্যবান কোনো ফ্যাক্টর গবেষণা সম্পন্ন হলে সংশ্লিষ্ট token সংরক্ষণ করুন এবং ব্যবহৃত ডেটা উৎস ও সময়সীমাও লিখে রাখুন। এতে পুনরায় চালানো বা ফলাফল তুলনা করার সময় পরীক্ষার শর্ত এক রাখা সহজ হয়।

3. ঐতিহাসিক ব্যাকটেস্ট চালান

ব্যাকটেস্ট মডিউলে গিয়ে গবেষণার লক্ষ্য অনুযায়ী মাল্টি-টাইমফ্রেম K-লাইন ব্যাকটেস্ট, AI-উৎপাদিত K-লাইন ব্যাকটেস্ট বা সিদ্ধান্ত মডেল ব্যাকটেস্ট নির্বাচন করুন। ব্যাকটেস্টের সময় নির্বাচিত সময়কাল, সিগন্যালের যুক্তি ও পজিশন বন্ধের শর্ত মূল অনুমানের সঙ্গে সামঞ্জস্যপূর্ণ কি না পরীক্ষা করুন।

ঐতিহাসিক ব্যাকটেস্ট

শুধু একটি আয়ের ফলাফল দেখবেন না। README-তে নির্দিষ্ট মূল্যায়ন সূচক বা ডিফল্ট প্যারামিটার নির্ধারিত নেই, তাই বাস্তব বিশ্লেষণে সিস্টেমে প্রদর্শিত ব্যাকটেস্ট ফলাফলের ভিত্তি নিন এবং বিভিন্ন সময়কাল ও শর্তে তুলনা করুন।

4. সিমুলেটেড ট্রেডিংয়ে যাচাই করুন

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

সিমুলেটেড ট্রেডিং টার্মিনাল

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

5. রিয়েল-টাইম কোয়ান্টিটেটিভ টাস্ক তৈরি করুন

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

6. AI মার্কেট বিশ্লেষণ কনফিগার করুন

AI মার্কেট বিশ্লেষণ ডিপ্লয়কারী-কনফিগার করা মডেল চ্যানেলের ওপর নির্ভর করে। LLM চ্যানেল সেটআপ সম্পন্ন হলে সিস্টেম উপস্থাপক-শৈলীর মার্কেট ব্রিফিং ও ট্রেডিং সহায়ক তথ্য সরবরাহ করতে পারে।

AI মার্কেট বিশ্লেষণ ইন্টারফেস

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

উন্নত ব্যবহারের পরামর্শ

পরীক্ষা পুনরুৎপাদনযোগ্য রাখুন

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

পর্যায়ক্রমে কৌশল যাচাই করুন

  1. ফ্যাক্টর ল্যাবে ফ্যাক্টর তৈরি ও পরীক্ষা করুন।
  2. ঐতিহাসিক ব্যাকটেস্টের মাধ্যমে বিভিন্ন সময়কালের পারফরম্যান্স যাচাই করুন।
  3. অর্ডার, পজিশন ও পজিশন বন্ধের প্রক্রিয়া পেপার অ্যাকাউন্টে পরীক্ষা করুন।
  4. কোয়ান্টিটেটিভ টাস্ক তৈরি করে রিয়েল-টাইম সিগন্যাল ও মাল্টি-টাইমফ্রেম রেজোন্যান্স পর্যবেক্ষণ করুন।
  5. AI মার্কেট বিশ্লেষণকে কৌশলের নিয়মের বিকল্প নয়, অতিরিক্ত তথ্য হিসেবে ব্যবহার করুন।

মার্কেট ডেটা চ্যানেল ব্যবস্থাপনার মাধ্যমে ব্যবহারযোগ্যতা বাড়ান

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

স্ব-হোস্টেড পরিবেশ সুরক্ষিত রাখুন

ডিপ্লয়মেন্টের আগে JWT কী পরিবর্তন করুন এবং PostgreSQL, Redis, মার্কেট ডেটা ফ্রন্টএন্ড ও মডেল চ্যানেলের সংযোগের তথ্য নিরাপদে রাখুন। ব্যবহারকারী ও কোটা ব্যবস্থাপনা প্যানেল থেকে পরিচালনা করা যায়, যাতে অপ্রয়োজনীয় সম্পদ ব্যবহার বা অননুমোদিত অ্যাক্সেস এড়ানো যায়।

প্রচলিত অপারেশন ও রক্ষণাবেক্ষণ কমান্ড

বর্তমান কনটেইনারের অবস্থা দেখুন:

docker compose ps

পরিষেবার লগ দেখুন:

docker compose logs

লগ ধারাবাহিকভাবে অনুসরণ করুন:

docker compose logs -f

Compose পরিষেবা বন্ধ করুন:

docker compose down

ডেটাবেস, Redis, JWT বা অন্যান্য কনফিগারেশন পরিবর্তন করতে হলে আগে প্রকল্পের স্ব-ডিপ্লয়মেন্ট ডকুমেন্টেশন দেখুন এবং বর্তমান Docker Compose কনফিগারেশন অনুযায়ী কাজ করুন।

উপসংহার

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