প্রকল্প সম্পর্কে
এটি চীন A-শেয়ার ট্রেডিং নিয়মের জন্য একটি লোকাল-ফার্স্ট সিমুলেশন এবং কোয়ান্ট গবেষণা অবকাঠামো। এই প্রজেক্টটি কোনো ব্রোকারের সাথে সংযুক্ত নয় এবং প্রকৃত অর্থের সাথে যুক্ত নয়; পাবলিক রিপোজিটরিতে শুধুমাত্র সোর্স কোড, কন্টেইনার কনফিগারেশন এবং সেনসিটাইজড ডকুমেন্টেশন অন্তর্ভুক্ত রয়েছে।
এর মূল ধারণা হলো A-শেয়ারের নিয়মগুলোকে সরাসরি ম্যাচিং এবং অর্ডার ভ্যালিডেশন পাথে অন্তর্ভুক্ত করা, ব্যাকটেস্টের পরে আনুমানিক সংশোধন করার পরিবর্তে। স্টক T+1, ১০০ শেয়ারের পূর্ণ লট, প্রাইস লিমিট (আপার/লোয়ার), সাসপেনশন, কমিশন, স্ট্যাম্প ডিউটি এবং স্লিপেজ—সবই অর্ডার দেওয়ার আগে যাচাই করা হয়। মার্কেট ডেটা ডিফল্টভাবে 'fail-closed' মোডে থাকে, অর্থাৎ পুরনো, অনুপস্থিত বা অপর্যাপ্ত ডেটাকে নিঃশব্দে 'রিয়েল-টাইম প্রাইস' হিসেবে গণ্য করা হয় না; প্রমাণের অভাব থাকলে সিমুলেটেড ট্রেড প্রত্যাখ্যান করা হয়।
মার্কেট ডেটার ক্ষেত্রে মাল্টি-সোর্স স্ক্র্যাপিং এবং স্বতন্ত্র ভেরিফিকেশন ব্যবহার করা হয়েছে। রিয়েল-টাইম প্রাইসের সাথে স্পষ্ট টাইমস্ট্যাম্প এবং উৎস থাকে। পুরো মার্কেটের স্ন্যাপশটের জন্য কভারেজ গেটওয়ে设有, যাতে ডেটা সোর্সে ত্রুটি থাকলে সিগন্যালের সমৃদ্ধতা কমানো হয় অথবা সংশ্লিষ্ট পাথটি ব্লক করা হয়।
রিস্ক কন্ট্রোল একটি লেয়ারড স্টেট মেশিনের মাধ্যমে বাস্তবায়িত। প্রতিটি কেনা-বেচার অর্ডার প্রথমে একটি স্বতন্ত্র রিস্ক কন্ট্রোল লেয়ারের মধ্য দিয়ে যায় এবং approved, rejected, deferred_capacity, downside_warning এর মতো স্ট্রাকচার্ড ফলাফল তৈরি করে। এটি হার্ড স্টপ-লস, ট্রেইলিং স্টপ-লস, স্টেপড টেক-প্রফিট, কোয়ালিটি রোটেশন, ক্যাপাসিটি কম্প্রেশন এবং কনসেন্ট্রেশন গার্ড সমর্থন করে। ডাউনসাইড প্রটেকশনের জন্য পর্যায়ক্রমে পজিশন কমানো থেকে সম্পূর্ণ ক্লিয়ার করার স্টেট মেশিন ব্যবহৃত হয় এবং রিস্ক কন্ট্রোলের কারণগুলো স্থিতিশীল ট্যাগ এবং অডিট লেজারে সংরক্ষিত থাকে।
ফান্ডিং সাইডে একটি শেয়ারড ফান্ড পুলের মাধ্যমে স্ট্র্যাটেজি অনুযায়ী বাজেট অ্যাট্রিবিউশন করা হয়, যার মধ্যে সিট লিমিট, সিঙ্গেল স্টক বাজেট, ফেয়ারনেস প্রটেকশন এবং ফান্ডের হার্ড লিমিট অন্তর্ভুক্ত। ফান্ডের রিজার্ভেশন এবং প্রকৃত ডিডাকশন আলাদা রাখা হয়েছে এবং কনকারেন্ট স্ক্যানিংয়ের সময় ডুপ্লিকেট অকুপেন্সি এড়াতে SQLite savepoint ব্যবহার করা হয়েছে।
শিডিউলিং ইউনিফাইডভাবে auction, open, risk, intraday, close, weekly-review এই ছয়টি স্লট সমর্থন করে। এক ক্লিকে স্টার্ট করলে ডিফল্টভাবে বিল্ট-ইন ৩ মিনিটের ইন্ট্রা-ডে শিডিউলার চালু হয়, যা এক্সটার্নাল শিডিউলার থাকলে বন্ধ করা সম্ভব। রানটাইম লিজ, heartbeat এবং fencing token ব্যবহার করা হয়েছে যাতে ডুপ্লিকেট অর্ডার, জম্বি রাইটার এবং কনকারেন্ট ওভাররাইট রোধ করা যায়।
স্ট্র্যাটেজি লেভেলে পাঁচটি সংজ্ঞা সম্পূর্ণভাবে সংরক্ষিত এবং স্ট্র্যাটেজি রেজিস্ট্রি, হিস্টোরিক্যাল রিপ্লে এবং অডিট ডিসপ্লেতে অন্তর্ভুক্ত করা হয়েছে: tq_breakout (স্ট্রং ব্রেকআউট), trend_pullback (ট্রেন্ড পুলব্যাক), sector_rotation (সেক্টর রোটেশন), reported_profit_breakout (কোয়ালিটি ব্রেকআউট), এবং main_force_top10 (মেইন ফোর্স ফান্ড)। এগুলো একই ম্যাচিং, ফান্ড পুল, রিস্ক কন্ট্রোল এবং অডিট অবকাঠামো শেয়ার করে, তবে প্রত্যেকের নিজস্ব ক্যান্ডিডেট লেন, পজিশন সিট এবং এক্সিট রুল রয়েছে। প্রজেক্টটি স্পষ্টভাবে রিয়েল-ট্রেডিং রাউটিং, লেভারেজ, শর্টিং এবং সাধারণ স্টকের T+0 ডে-ট্রেডিং সমর্থন করে না।
সিগন্যাল, ক্যান্ডিডেট, রিস্ক ডিসিশন, অর্ডার, এক্সিকিউশন, পজিশন, NAV এবং প্রতি রাউন্ড স্ক্যানিং রেজাল্ট ট্র্যাকযোগ্য প্রমাণ হিসেবে তৈরি হয়। adaptive_*, news_learning, neural_shadow, dual_ai_tuner এর মতো গবেষণা মডিউলগুলো স্বতন্ত্র শ্যাডো অবজারভেশন সংরক্ষণ করে, তবে সেগুলো আনুষ্ঠানিক ম্যাচিং পাথ বাইপাস করে না। LLM সংক্রান্ত ক্ষমতাগুলো অপশনাল, বেস সিমুলেশন প্যানেল LLM-এর ওপর নির্ভরশীল নয়।
ডেপ্লয়মেন্টের জন্য Python 3.11+ প্রয়োজন। উইন্ডোজের জন্য start.ps1/start.bat এবং লিনাক্স/ম্যাকওএস-এর জন্য start.sh প্রদান করা হয়েছে, যা স্বয়ংক্রিয়ভাবে Docker বা লোকাল মোড নির্বাচন করতে পারে। পোর্ট, ব্রাউজার ওপেন এবং বিল্ট-ইন শিডিউলারের সেটিংস নির্দিষ্ট করা সম্ভব। Docker Compose অ্যাপ্লিকেশন ইমেজ এবং নেমড ভলিউম প্রদান করে, ডিফল্টভাবে ৮৬০০ পোর্ট ম্যাপ করা থাকে। রিপোজিটরিতে সতর্ক করা হয়েছে যে বর্তমান Compose ম্যাপিং সব নেটওয়ার্ক ইন্টারফেস লিসেন করবে, তাই ব্যক্তিগত ব্যবহারের জন্য এটিকে 127.0.0.1-এ পরিবর্তন করার পরামর্শ দেওয়া হয়েছে এবং জানানো হয়েছে যে অ্যাপ্লিকেশনে এখনও পূর্ণাঙ্গ বিল্ট-ইন অথেন্টিকেশন নেই।
যারা শুরুতে রিয়েল মার্কেট ডেটা যুক্ত করতে চান না, তারা ASTOCK_DEMO=1 সেট করে প্রথমবার স্টার্ট করার সময় সম্পূর্ণ সিন্থেটিক ডেমো ডেটা ইনজেক্ট করতে পারেন। এর জন্য নেটওয়ার্ক বা API key প্রয়োজন নেই। এতে ১০টি সিন্থেটিক স্টক এবং একটি পূর্ণাঙ্গ ন্যারেটিভ লেজার রয়েছে যা সাধারণ কেনা-বেচা, T+1 সেলিং রিজেকশন, পুরনো কোটেশনের কারণে অর্ডার রিজেকশন, হার্ড স্টপ-লস সেল এবং লিমিট প্রাইস বাই-এর মতো দৃশ্যপট কভার করে। এই ইনজেকশনটি আইডেমপোটেন্ট এবং এর স্ট্রাকচার্ড কন্টেন্ট CI-তে 'golden replay' হিসেবে বাইট-বাই-বাইট তুলনা করা হয় যাতে ন্যারেটিভ পরিবর্তন না হয়।
রিপোজিটরিতে ব্যাকএন্ড ম্যাচিং/রিস্ক কন্ট্রোল/অডিট মেইন ইঞ্জিন, ড্যাশবোর্ড রিড মডেল, মার্কেট ডেটা স্ক্র্যাপার, ডিসিশন ইঞ্জিন, স্ট্র্যাটেজি ডেফিনিশন, HTTP API এবং FastAPI/Web ড্যাশবোর্ড এন্ট্রি পয়েন্ট এবং অফলাইন রিগ্রেশন টেস্ট অন্তর্ভুক্ত রয়েছে। CI-তে Python 3.11/3.12-এ রিগ্রেশন, Ruff স্ট্যাটিক চেক, লক ফাইল কনসিস্টেন্সি চেক, pip-audit এবং Docker স্মোক টেস্ট চালানো হয়। প্রজেক্টটি MIT লাইসেন্সের অধীনে। README-তে রিস্ক ডিসক্লেইমার রয়েছে, যেখানে জোর দেওয়া হয়েছে যে সিমুলেশন প্যানেল, ব্যাকটেস্ট এবং ঐতিহাসিক ফলাফল ভবিষ্যতের লাভের নিশ্চয়তা বা বিনিয়োগ পরামর্শ নয়।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.