Type/to search
2
Follow
490
Followers
বড় মডেল ব্যবহার করে একটি AI স্টক গ্রাফ স্ট্রাটেজি তৈরি করুন: সেক্টর রোটেশন থেকে প্রাইস কজ ইনভেস্টিগেশন পর্যন্ত
Discussions
Created 2026-06-26 15:14:58  Updated 2026-07-02 22:58:59
 0
 130

img

AI has been incredibly hot recently.

The strongest theme in the market over the past two years has consistently revolved around AI. NVIDIA, AMD, Broadcom, TSMC, Micron, Microsoft, Google, Meta, CoreWeave, Supermicro... Every so often, a company surges suddenly due to keywords like earnings, orders, capital expenditure, HBM, GPU, cloud computing, and data centers.

What's more interesting is that these surges rarely happen in isolation.

img

Sometimes it's NVIDIA that moves first, and then the market starts digging into ASICs, optical modules, servers, liquid cooling, and power. Other times, it's Micron reporting earnings above expectations, and then capital flows into HBM, memory, semiconductor equipment, and advanced packaging. Occasionally, a cloud provider raises its capital expenditure guidance, and the entire AI infrastructure chain gets revalued.

This looks more like an asset rotation within the AI theme itself. The market isn't simply buying one stock; it's constantly searching for new sub-sectors, new narratives, and new catch-up plays under one overarching story.

This brings up a problem: organizing these relationships manually is far too labor-intensive.

One person can be familiar with NVIDIA, AMD, Micron, Microsoft, and Google, but it's incredibly difficult to continuously track the business changes, news flow, sector classifications, and price linkages of dozens or even hundreds of TradFi stock contracts. What's more troublesome is that many companies aren't single-theme. Google is both AI Cloud and Gemini and an ad platform; Microsoft is Cloud and Copilot and enterprise software; Broadcom has both ASICs and networking chips and is tied to AI data centers.

So I started experimenting: can we use a large language model to help us build an AI stock map?

Not asking the model to tell us what to buy, but to do what it does well: understand company businesses, classify them into AI sub-sectors, organize news, explain events, and determine which same-theme stocks a company's price movement might affect. Real trading decisions are still left to price action, statistics, and risk management.

img

First, put the stocks into the right baskets

The first step of the strategy is not trading, but building the map.

The exchange currently lists many TradFi stock contracts. We can directly get a batch of stocks like NVDA, AMD, MU, MSFT, GOOGL, SMCI. The system first filters for stock-type contracts, keeping only real EQUITY instruments.

An important detail here: ETFs, indices, and leveraged ETFs must not be mixed in. Things like QQQ, SOXL, and EWT might appear on the contract list, but they aren't company stocks. Putting them into the AI stock basket would contaminate the subsequent statistical relationships.

The core filtering logic looks something like this:

python
def refresh_equity_universe(store, force_reanalyze): ms = exchange.GetMarkets() symbols = [] for key, market in ms.items(): info = market.get("Info", {}) or {} sub_type = info.get("underlyingSubType", []) or [] underlying_type = info.get("underlyingType", "") if ".swap" not in key: continue if "TradFi" not in sub_type: continue if underlying_type != "EQUITY": continue symbol = normalize_symbol(key) store["markets"][symbol] = { "symbol": symbol, "contract": key, "underlyingType": underlying_type, "amountPrecision": market.get("AmountPrecision", 0), "pricePrecision": market.get("PricePrecision", 2), "ctVal": market.get("CtVal", 1) or 1, "minQty": market.get("MinQty", 0) or 0, } symbols.append(symbol)

Once we have the stock pool, the system asks the large model to create a profile for each stock.

img

The profile is not simply saying "this is a tech stock." It needs to determine which AI sub-sectors the stock belongs to. A stock can belong to multiple baskets simultaneously. Google can belong to AI Cloud, AI Model Applications, and AI Ad Platforms. Microsoft can belong to AI Cloud and Enterprise AI Applications. NVIDIA can belong to AI Compute and AI Servers. Micron can belong to AI Memory.

The key point here is: stocks in the AI era are multi-label, not single-label.

Each stock carries several attributes: which baskets it belongs to, how high its exposure is, whether it behaves more like a leader or follower in that basket, which companies might affect it, and which companies it might affect.

I enforced a strict output structure for the large model:

python
schema = { "symbol": symbol, "asset_type": "stock|adr|etf|leveraged_etf|index|fund|other", "company_name": "", "sector": "", "business_summary": "", "tradable": False, "model_confidence": 0, "baskets": [ { "id": "ai_cloud", "exposure": 0.0, "role": "leader|follower|both|observer", "sub_theme": "", "reason": "" } ], "search_names": [], "event_keywords": [], "negative_keywords": [], "possible_leaders": [], "possible_followers": [], "brave_queries": [], "reason": "" }

The most critical part here is asset_type. Only stock and adr can enter the basket. ETFs, leveraged ETFs, indices, funds, commodities, or regional ETFs are all filtered out directly.

Additionally, the reason field must be in English, field names must be consistent, and confidence scores must be standardized to a range of 0 to 100. Otherwise, the live trading interface would look messy.

Sector intelligence can't rely on guesswork

Having stock classifications alone isn't enough.

The AI sector evolves too rapidly. The market might be hot on GPUs today, switch to HBM tomorrow, optical modules the day after, and then move on to liquid cooling, power, or cloud capital expenditure in a few days.

Relying solely on the large model's internal knowledge would quickly become outdated. The system needs a real-time information source.

I've integrated BraveSearch here. The system periodically searches for sector intelligence on each AI basket and also searches for news on key stocks within those baskets.

For example, for the AI Memory basket, it searches keywords like Micron, Western Digital, SanDisk, HBM, DRAM, and NAND. For the AI Optical Communication basket, it looks at information related to Ciena, Credo, Lumentum, AAOI, and 800G/1.6T optical modules.

The core process for sector intelligence is:

python
def refresh_basket_intelligence(store): if not BRAVE_KEY: return if not LLM_API_KEY: return intel = {} for bid, basket in store["baskets"].items(): members = sorted( basket["members"], key=lambda x: x.get("exposure", 0), reverse=True ) top_symbols = [m["symbol"] for m in members[:8]] basket_news = fetch_basket_news(basket, top_symbols) stock_news = {} for symbol in top_symbols[:6]: profile = store["profiles"].get(symbol, {}) stock_news[symbol] = fetch_stock_news(profile, bid) Sleep(800) analysis = analyze_basket_intel_with_llm( store, basket, top_symbols, basket_news, stock_news ) if analysis: analysis["basket"] = bid analysis["basket_name"] = basket["name"] analysis["symbols"] = top_symbols analysis["updatedAt"] = int(time.time()) intel[bid] = analysis store["basket_intel"] = intel

এই ধাপটির উদ্দেশ্য হলো প্রতিটি AI উপ-সেক্টরের জন্য একটি গতিশীল ব্যাকগ্রাউন্ড তৈরি করা।

বড় মডেল BraveSearch থেকে টানা খবরের ভিত্তিতে আউটপুট দেবে – সেক্টরের ট্রেন্ড, মূল অনুঘটক, মূল ঝুঁকি, সম্ভাব্য leader, সম্ভাব্য follower, এবং ভবিষ্যতে নিবিড়ভাবে যাচাই করতে হবে এমন সম্পর্ক।

এটা সরাসরি বড় মডেলকে “AI স্টোরেজ কেমন দেখছেন?” জিজ্ঞাসা করার মতো নয়। আমরা আগে রিয়েল-টাইম খবর তাকে খাওয়াই, তারপর তাকে সারসংক্ষেপ করতে বলি।

নিউজ-চালিত ট্রেডিং নয়, বরং আগে দামের অস্বাভাবিকতা

img

আমিও প্রথমে নিউজ-চালিত পদ্ধতি ভেবেছিলাম।

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

তাই আমি যুক্তিটি উল্টে দিয়েছি।

প্রথমে দাম দেখি, তারপর খবর দেখি।

যদি কোনো basket-এর সব স্টক তুলনামূলকভাবে স্থিতিশীল থাকে, তবে সিস্টেম শুধু পর্যবেক্ষণ করে। শুধুমাত্র যখন কোনো স্টক সেক্টরের গড় পারফরম্যান্স থেকে স্পষ্টভাবে বিচ্যুত হয়ে বর্তমান leader হয়ে ওঠে, তখন সিস্টেম প্রশ্ন করে: এটি কেন সরে গেছে?

এই ধাপে basket-এর অভ্যন্তরীণ ZScore ব্যবহার করা হয়।

সহজ ভাষায়, দেখা হয় কোনো স্টক বনাম একই সেক্টরের অন্যদের তুলনায় অস্বাভাবিকভাবে শক্তিশালী না দুর্বল কিনা। যদি একটি স্টক হঠাৎ করে এগিয়ে আসে অথচ একই basket-এর অন্য স্টকগুলো এখনও সিঙ্ক্রোনাইজড প্রতিক্রিয়া দেখায়নি, তাহলে সেখানে বিস্তারের (diffusion) সুযোগ থাকতে পারে।

basket ZScore গণনার মূল যুক্তি নিম্নরূপ:

python
def calc_basket_zscores(store, symbols): returns = {} min_len = 999999 for symbol in symbols: bars = get_records( store["markets"][symbol]["contract"], KLINE_PERIOD, SYNC_WINDOW + 10 ) if len(bars) < SYNC_WINDOW + 2: return None r = calc_returns(bars)[-SYNC_WINDOW:] returns[symbol] = r min_len = min(min_len, len(r)) latest = {s: returns[s][-1] for s in symbols} avg_latest = mean(list(latest.values())) dev_series = {s: [] for s in symbols} for i in range(min_len): row = [returns[s][-min_len + i] for s in symbols] row_avg = mean(row) for s in symbols: dev_series[s].append(returns[s][-min_len + i] - row_avg) zscores = {} max_abs = 0 for s in symbols: sigma = std(dev_series[s]) z = (latest[s] - avg_latest) / sigma if sigma > 0 else 0 zscores[s] = round(z, 3) max_abs = max(max_abs, abs(z)) return {"zscores": zscores, "maxAbs": max_abs}

যদি কোনো basket-এর সর্বোচ্চ বিচ্যুতি ব্রেকআউট থ্রেশহোল্ড ছাড়িয়ে যায়, তাহলে সিস্টেম BREAKOUT_DETECTED অবস্থায় চলে যায়।

সেই মুহূর্তে সিস্টেম তাৎক্ষণিকভাবে ট্রেড করে না, বরং কারণ অনুসন্ধান শুরু করে।

নিউজ শুধু ব্যাখ্যা দেয়, পরিসংখ্যানগত সম্পর্ক যাচাই করে

যখন leader-এর দাম ব্রেকআউট ঘটে, সিস্টেম তার সাম্প্রতিক খবর সংগ্রহ করে, তারপর বড় মডেলকে বিচার করতে দেয় যে এই খবর দামের অস্বাভাবিক গতিবিধি ব্যাখ্যা করতে পারে কিনা।

তবে এখানে শুধু “এই খবর কি লাভজনক?” জিজ্ঞাসা করা হয় না।

সিস্টেম বর্তমান basket, সেক্টর গোয়েন্দা তথ্য, রিয়েল-টাইম দামের অবস্থা, leader-এর ZScore, সম্ভাব্য follower-দের, ইতিমধ্যে যাচাই করা পরিসংখ্যানগত সম্পর্ক এবং BraveSearch থেকে টানা খবর – সবকিছু একসাথে বড় মডেলকে দেয়।

বড় মডেলকে উত্তর দিতে হবে:

(১) এই খবর কি leader-এর দামের অস্বাভাবিকতা ব্যাখ্যা করতে পারে।
(২) খবরের দিক কি দামের দিকের সাথে সামঞ্জস্যপূর্ণ।
(৩) ট্রেড করার অনুমতি আছে কিনা।
(৪) কোন follower-দের উপর প্রভাব পড়ে।
(৫) প্রতিটি follower-এর উপর প্রভাবের মাত্রা কত।
(৬) কেন এই follower-রা প্রভাবিত হতে পারে।

মূল কারণ অনুসন্ধানের যুক্তি নিম্নরূপ:

python
def explain_breakout_with_news(store, bid, leader, direction, leader_z, followers, edges): if not BRAVE_KEY: return None if not LLM_API_KEY: return None profile = store["profiles"].get(leader, {}) news = fetch_stock_news(profile, bid) if not news: return None event = analyze_breakout_news_with_llm( store, bid, leader, direction, leader_z, followers, edges, news ) if not event: return None if not event.get("explains_price_move"): return None expected_direction = "bullish" if direction == "long" else "bearish" if event.get("direction") != expected_direction: return None event["confidence"] = normalize_confidence(event.get("confidence", 0)) if event["confidence"] < MIN_NEWS_CONFIDENCE: return None if not event.get("trade_allowed"): return None return event

কিন্তু এমনকি যদি বড় মডেল বলে যে কোনো নির্দিষ্ট ফলোয়ার প্রভাবিত হতে পারে, তবুও তাৎক্ষণিক ট্রেড করা সম্ভব নয়।

আগে ক্যান্ডেলস্টিক পরিসংখ্যানগত সম্পর্ক দেখতে হবে।

সিস্টেম প্রতিটি বাস্কেটের মধ্যে শেয়ারগুলোর মধ্যে ঐতিহাসিক আন্তঃসম্পর্ক গণনা করবে, যেমন, সোর্স ব্রেকআউট করার পর টার্গেট প্রায়ই ফলো করে কি না, পারস্পরিক সম্পর্ক কেমন, সর্বোত্তম ল্যাগ পিরিয়ড কত, গড় অনুসরণে রিটার্ন কেমন।

শুধুমাত্র যেসব সোর্স → টার্গেট পরিসংখ্যানগত সম্পর্ক পাস করবে, সেগুলিই অ্যাকটিভ এজ হয়ে উঠবে।

python
def rebuild_basket_stats(store): edges = [] for bid, basket in store["baskets"].items(): symbols = [ m["symbol"] for m in basket["members"] if m["symbol"] in store["markets"] ] for source in symbols: for target in symbols: if source == target: continue metric = validate_pair(store, source, target) if not metric: continue source_exp = basket_member_info(basket, source).get("exposure", 0) target_exp = basket_member_info(basket, target).get("exposure", 0) score = clamp( metric["corr"] * 0.3 + metric["follow"] * 0.4 + min(source_exp, target_exp) * 0.3, 0, 1 ) edge = { "basket": bid, "source": source, "target": target, "corr": round(metric["corr"], 3), "follow": round(metric["follow"], 3), "lag": metric["lag"], "avgReturn": round(metric["avgReturn"], 6), "sample": metric["sample"], "score": round(score, 3), "active": ( score >= MIN_EDGE_SCORE and metric["corr"] >= MIN_CORR and metric["follow"] >= MIN_FOLLOW_SUCCESS ), "updatedAt": int(time.time()), } edges.append(edge) store["edges"] = edges

এই ধাপটি অত্যন্ত গুরুত্বপূর্ণ।

বড় মডেল যুক্তি বুঝতে পারদর্শী, কিন্তু বাজার সবসময় যুক্তি অনুযায়ী চলে না। পরিসংখ্যানগত সম্পর্ক এখানে যাচাই করে: অতীতে কি এই যুক্তিটি বাজারে ট্রেড করা হয়েছে কিনা।

ট্রেড করা হয় ডিফিউশন, পেছনে ছুঁটে যাওয়া নয়

এই কৌশল লিডারকে পেছনে তাড়া করার জন্য নয়।

লিডার ইতিমধ্যে ব্রেকআউট করেছে, সরাসরি তাতে ঢুকলে উচ্চতায় কেনার সম্ভাবনা থাকে। কৌশলটি আসলে একই AI বাস্কেটের মধ্যে ডিফিউশনের সুযোগ খোঁজে।

অর্থাৎ: লিডার ইতিমধ্যে নড়াচড়া করেছে, খবরেও ব্যাখ্যা মেলে, কিন্তু কিছু ফলোয়ার এখনো পুরোপুরি প্রতিক্রিয়া জানায়নি। যদি এই ফলোয়ার এবং লিডারের মধ্যে ঐতিহাসিকভাবে আন্তঃসম্পর্ক থাকে, তাহলে স্বল্পমেয়াদী ফলের সুযোগ থাকতে পারে।

ব্রেকআউট স্ক্যানে প্রথমে অ্যাকটিভ এজ খোঁজা হয়, তারপর পিছিয়ে পড়া ফলোয়ার:

python
def scan_price_breakouts(store): for bid, rt in store["realtime"].items(): if rt["state"] != "BREAKOUT_DETECTED": continue leader = rt["leader"] z = 0 for m in rt["members"]: if m["symbol"] == leader: z = m["z"] direction = "long" if z > 0 else "short" edges = [ e for e in store["edges"] if e["active"] and e["basket"] == bid and e["source"] == leader ] followers = [] for e in edges: target_rt = find_realtime_member(rt, e["target"]) if target_rt and abs(target_rt["z"]) < BREAKOUT_THRESHOLD * 0.75: followers.append(e["target"]) if not followers: continue

শুধুমাত্র যখন নিউজ কজালিটি ট্রেসিংয়ের মাধ্যমেও পাস করবে, তখনই কনফার্মড সিগন্যাল তৈরি হবে।

ট্রেডের প্রধান লক্ষ্য হলো ফলোয়ার।

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

python
def execute_symbol_trade(store, signal, symbol, detail): direction = signal["direction"] if TRADE_MODE != "trade": return open_or_add_position(store, signal, symbol, detail, add_mode=False) pos = get_position_by_symbol(symbol) if pos: pos_dir = position_direction(pos) if pos_dir == direction: return open_or_add_position(store, signal, symbol, detail, add_mode=True) close_existing_position(store, symbol, pos, "reverse_signal") Sleep(1000) return open_or_add_position(store, signal, symbol, detail, add_mode=False)

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

ঝুঁকি নিয়ন্ত্রণ প্রথমে সহজ, কিন্তু অবশ্যই থাকতে হবে

ঝুঁকি নিয়ন্ত্রণের ক্ষেত্রে বর্তমানে হার্ড স্টপ লস এবং ট্রেইলিং স্টপ লস ব্যবহার করা হচ্ছে।

লোকসান থ্রেশহোল্ডে পৌঁছালে প্রস্থান; লাভ একটি নির্দিষ্ট পরিমাণে পৌঁছানোর পর ট্রেইলিং স্টপ লস সক্রিয় করা হয়, এবং যদি সর্বোচ্চ ভাসমান লাভ থেকে অতিরিক্ত পতন ঘটে, তাহলে লাভ লক করে প্রস্থান করা হয়।

python
def monitor_positions(store): for pos in exchange.GetPosition() or []: symbol = position_symbol(pos) if symbol not in store["markets"]: continue state = _G(position_state_key(symbol)) or {} market = store["markets"][symbol] ticker = exchange.GetTicker(market["contract"]) direction = position_direction(pos) pnl_pct = ( (ticker["Last"] - pos["Price"]) / pos["Price"] * 100 * (1 if direction == "long" else -1) ) if pnl_pct > state.get("peakPnlPct", 0): state["peakPnlPct"] = pnl_pct if not state.get("trailActive") and state.get("peakPnlPct", 0) >= TRAIL_ACTIVATE_PCT: state["trailActive"] = True hard_stop = False if state.get("stop"): hard_stop = ( ticker["Last"] <= state["stop"] if direction == "long" else ticker["Last"] >= state["stop"] ) trail_hit = False if state.get("trailActive"): giveback = state.get("peakPnlPct", 0) - pnl_pct allowed = max( 1.5, state.get("peakPnlPct", 0) * TRAIL_GIVEBACK_PCT / 100.0 ) trail_hit = giveback >= allowed if hard_stop or trail_hit: close_existing_position( store, symbol, pos, "hard_stop" if hard_stop else "trailing_stop" )

এটি চূড়ান্ত রিস্ক ম্যানেজমেন্ট নয়, তবে প্রথম সংস্করণ হিসেবে লাইভ ট্রেডিং পর্যবেক্ষণের জন্য যথেষ্ট।

পরে আরও যোগ করতে হবে: অ্যাকাউন্ট-স্তরের মোট পজিশন, একক সেক্টর এক্সপোজার, একদিনের লস লিমিট, এক্সিকিউশন কনফার্মেশন এবং পজিশন যুক্ত করার সংখ্যার সীমা।

এখন এই সিস্টেম কতদূর এগিয়েছে

বর্তমানে এই সিস্টেমটি একটি অপেক্ষাকৃত পূর্ণাঙ্গ গবেষণা চক্র সম্পন্ন করতে সক্ষম।

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

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

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

img

এখনও অপূর্ণ দিকগুলো

সত্যি বলতে, এই সিস্টেমটিকে এখনও একটি পরিণত স্বয়ংক্রিয় ট্রেডিং স্ট্র্যাটেজি বলা যায় না।

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

যে অংশগুলো সবচেয়ে বেশি উন্নত করতে হবে:

(১) স্টক প্রোফাইলের গুণমান। বড় মডেল কখনও কখনও প্রান্তিক স্টকও বাস্কেটে অন্তর্ভুক্ত করে, তাই asset_type বাধ্যতামূলক করা প্রয়োজন, যাতে ETF, ইনডেক্স, রিজিওনাল ফান্ড মিশে না যায়।

(২) নিউজের গুণমান। BraveSearch থেকে পাওয়া নিউজ সবসময় মূল নিউজ নাও হতে পারে; মডেলকে বিচার করতে হবে কোনটি সত্যিই প্রাইস ব্যাখ্যা করতে পারে।

(৩) পরিসংখ্যানগত সম্পর্ক। ঐতিহাসিক ফলো-থ্রু সম্পর্ক ভবিষ্যতেও কার্যকর হবে এমন নয়; নিয়মিত রিভিউ প্রয়োজন।

(৪) ট্রেডিং রিস্ক ম্যানেজমেন্ট। স্বয়ংক্রিয় ট্রেডের আগে অবশ্যই অ্যাকাউন্ট-স্তরের পজিশন, সেক্টর এক্সপোজার, দৈনিক লস এবং এক্সিকিউশন কনফার্মেশন যোগ করতে হবে।

তাই বর্তমানে notify মোডে চালানো বেশি উপযুক্ত, কনফার্মড সিগন্যালের গুণমান পর্যবেক্ষণের জন্য।

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

শেষ কথা

এই স্ট্র্যাটেজি AI-কে সরাসরি অর্ডার দিতে দেয় না।

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

আসল ট্রেডিং এখনও প্রাইস, পরিসংখ্যান এবং রিস্ক ম্যানেজমেন্টের উপর ছেড়ে দেওয়া উচিত।

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

এই AI স্টক গ্রাফ স্ট্র্যাটেজি এই দিকে নেওয়া একটি প্রচেষ্টা।

স্ট্র্যাটেজি সোর্স কোড: AI产业链TradFi合约图谱交易系统

Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)