AI Trading Track Record कसा पडताळावा
सार्वजनिक AI trading track record पडताळण्यासाठी वाचक मागू शकतील अशा सहा पुराव्यांची checklist जाणून घ्या; एका live quarterचे परिणाम का अपुरे आहेत ते समजा.
परिणाम घडण्यापूर्वी अस्तित्वात असलेल्या नोंदींवरून एखादा अनोळखी व्यक्ती तो पुन्हा तयार करू शकत असेल, तर AI trading track record पडताळता येतो. ऑनलाइन प्रकाशित झालेल्या फारच कमी नोंदी हा निकष पूर्ण करतात. खालील checklist वाचक सुमारे दोन मिनिटांत वापरू शकतो. त्यातील चार बाबींमागे market data आहे: benchmark, timestamps, trading costs आणि sample length.
AI trading track record पडताळता येण्यासाठी काय आवश्यक आहे?
सहा गुणधर्म. प्रत्येक गोष्ट मताधारित निर्णय नसून शोधून पडताळता येणारी आहे.
- परिणाम माहीत होण्यापूर्वी प्रकाशित केलेल्या entries. Timestamp अशा ठिकाणी असला पाहिजे, जेथे लेखक तो बदलू शकत नाही. उदाहरणार्थ, त्या वेळी push केलेला commit किंवा broker statement. मागील tradesची यादी असलेली file ही भूतकाळाबद्दलचा दावा असतो; ती भूतकाळाची नोंद नसते.
- एकच benchmark, सुरुवातीला निश्चित केलेला आणि नंतर न बदललेला. ठरावीक कालावधीतील ठरावीक fundशी तुलना निश्चित होईपर्यंत “बाजारावर मात केली” याला अर्थ नसतो.
- Reported numbersमध्ये costsचा समावेश. Commissions, regulatory fees, short positionsवरील borrow cost आणि entry तसेच exitवेळी भरलेला spread.
- Edited करण्याऐवजी versioned असलेला runbook. Public repository नोंदीला आधार देत असेल, तर उपयुक्त link tagged release किंवा commit hashकडे निर्देश करणारा असतो. Default branchकडे जाणारा link आजची strategy दाखवतो. Marchमध्ये trade झालेली strategy तीच असेलच असे नाही.
- प्रत्येक position आणि प्रत्येक account, तोट्यातील positionsसह. चालू असलेल्या पाच accountsपैकी एकच account प्रकाशित करणे म्हणजे selection.
- Fills व्यवहार्य ठरतील इतके starting capital. काहीशे dollarsचे notional अशा positions “धारण” करू शकते, ज्या कोणताही वास्तविक order छापलेल्या किंमतीवर भरू शकणार नाही.
यापैकी एखादी बाब नसल्याने record आपोआप अप्रामाणिक ठरत नाही. तो पडताळता येत नाही. हे अधिक सामान्य आहे आणि वाचकासाठी तितकेच निरुपयोगी आहे.
Benchmark आधीच निश्चित करणे का आवश्यक आहे
परिणाम मिळाल्यानंतर निवडलेला benchmark हा financeमधील सर्वात स्वस्त फायदा आहे. USमधील सहा व्यापक index funds, 2026चे तेच सहा महिने आणि केवळ price change:
प्रत्येक आकड्यामागील अचूक SQL
WITH rets AS (
SELECT ticker,
round(100 * (toFloat64(argMax(close, window_start))
/ toFloat64(argMin(close, window_start)) - 1), 2) AS return_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'IWM', 'DIA', 'RSP', 'MDY')
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-02')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker
)
SELECT ticker,
return_pct,
round(return_pct - min(return_pct) OVER (), 2) AS points_above_worst
FROM rets
ORDER BY return_pct DESCIWM ने 21.12% परतावा दिला आणि DIA ने 8.42% परतावा दिला. त्यामुळे समान कालावधीत 6 मधील सर्वोच्च आणि सर्वात खालच्या कामगिरीमध्ये 12.7 pointsचे अंतर राहिले. कालावधी संपल्यानंतर कोणत्या fundशी तुलना करायची हे निवडणे म्हणजे संपूर्ण अंतराचा फायदा घेणे. तो मिळवण्यासाठी strategyला काहीही करावे लागत नाही. हे dividendsपूर्वीचे price returns आहेत. दुसरा measurement rule सुरुवातीला सांगणे आवश्यक आहे (monthly returns कशा मोजल्या जातात येथे total-return arithmetic दिले आहे).
Entry timestamp हा संपूर्ण दाव्याचा आधार का आहे
Move झाल्यानंतर दिसणारी entry ही chartचे वर्णन असते. एका sessionमध्ये बाजाराने केलेली हालचाल इतकी मोठी असते की “09:35 वाजता post केले” आणि “15:55 वाजता post केले” यातील फरक बहुतेक claimed edgesपेक्षा मोठा ठरतो. 2026च्या पहिल्या सहामाहीत प्रत्येक sessionच्या पहिल्या printपासून मोजलेले हे अंतर खाली दिले आहे:
प्रत्येक आकड्यामागील अचूक SQL
WITH minute_px AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
toTimeZone(window_start, 'America/New_York') AS et,
toFloat64(close) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-02')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
),
opens AS (
SELECT session_date, argMin(px, et) AS open_px
FROM minute_px
GROUP BY session_date
),
buckets AS (
SELECT session_date,
toStartOfInterval(et, INTERVAL 30 MINUTE) AS bucket,
argMax(px, et) AS bucket_px
FROM minute_px
GROUP BY session_date, bucket
)
SELECT formatDateTime(b.bucket, '%H:%i') AS et_time,
count() AS session_count,
round(quantileDeterministic(0.5)(abs(100 * (b.bucket_px / o.open_px - 1)),
cityHash64(b.session_date)), 3) AS median_abs_move_pct
FROM buckets AS b
INNER JOIN opens AS o ON b.session_date = o.session_date
GROUP BY et_time
ORDER BY et_time09:30 ET bucketमध्ये median session आपल्या opening printपासून 0.216% अंतरावर संपले. 15:30 bucketमध्ये median अंतर 0.415% होते. Openवेळी agentला माहीत असलेल्या माहितीने या हालचालीतील जवळजवळ संपूर्ण भाग वगळला जातो. Commit history किंवा दिनांकित public feedमुळे घटनाक्रमाचा पुरावा मिळतो (AI daily market research reports याच गुणधर्मावर टिकतात किंवा अपयशी ठरतात). Equity curveचा screenshot यापैकी काहीही सिद्ध करत नाही.
Numbersमध्ये काय समाविष्ट असले पाहिजे
Gross returns अशा portfolioचे वर्णन करतात जे कोणीही प्रत्यक्षात धारण करू शकले नसते. प्रत्येक entry आणि exitवेळी bid-ask spread पार करावा लागतो. म्हणजे खरेदीसाठी सर्वोत्तम किंमत आणि विक्रीसाठी सर्वोत्तम किंमत यांतील फरक. हा फरक प्रत्येक nameमध्ये समान नसतो:
प्रत्येक आकड्यामागील अचूक SQL
SELECT ticker,
round(quantileDeterministic(0.5)(20000 * (toFloat64(ask_price) - toFloat64(bid_price))
/ (toFloat64(ask_price) + toFloat64(bid_price)),
cityHash64(sip_timestamp)), 2) AS median_spread_bps,
round(25000 * quantileDeterministic(0.5)(2 * (toFloat64(ask_price) - toFloat64(bid_price))
/ (toFloat64(ask_price) + toFloat64(bid_price)),
cityHash64(sip_timestamp)), 2) AS round_trip_cost_per_25k_usd
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'MSTR')
AND sip_timestamp >= toDateTime('2026-07-15 15:00:00')
AND sip_timestamp < toDateTime('2026-07-15 16:00:00')
AND bid_price > 1
AND ask_price > bid_price
GROUP BY ticker
ORDER BY median_spread_bps DESCत्या एक तासाच्या midday कालावधीत median quoted spread MSTRवर 10.08 basis points आणि SPYवर 0.27 होता. Basis point म्हणजे percentage pointचा शंभरावा भाग. $25,000च्या positionवर हा spread एकदा खरेदीवेळी आणि एकदा विक्रीवेळी पार केल्यास, commissionsपूर्वी, या यादीतील wide endवर $25.2 आणि tight endवर $0.66 खर्च येतो. आठवड्यातून एकदा पूर्ण turnover करणाऱ्या bookला हा खर्च वर्षातून सुमारे fifty वेळा द्यावा लागतो. तो वगळणारा record हे dollars शांतपणे स्वतःच्या खात्यात जमा करतो (stock trade करण्यासाठी किती खर्च येतो उर्वरित खर्च स्पष्ट करते).
Live results अर्थपूर्ण ठरण्यापूर्वी किती काळ आवश्यक आहे?
Live tradingचा एक quarter हा मोठ्या distributionमधील एक नमुना असतो. त्याची रुंदी मोजता येते. January 2015पासून SPYसाठी, म्हणजे सर्वात मोठ्या S&P 500 tracking fundसाठी, दिलेल्या कालावधीतील प्रत्येक overlapping window percentilesमध्ये क्रमबद्ध केली आहे:
प्रत्येक आकड्यामागील अचूक SQL
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
toFloat64(argMax(close, window_start)) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2015-01-02')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY session_date
),
series AS (
SELECT groupArray(close_px) AS px
FROM (SELECT close_px FROM daily ORDER BY session_date)
),
horizons AS (
SELECT arrayJoin([21, 63, 126, 252]) AS sessions, px
FROM series
),
windows AS (
SELECT sessions,
arrayJoin(arrayMap(i -> (i, 100 * (px[i + sessions] / px[i] - 1)),
range(1, length(px) - sessions + 1))) AS w
FROM horizons
),
measured AS (
SELECT sessions,
w.1 AS window_index,
w.2 AS window_return_pct
FROM windows
)
SELECT multiIf(sessions = 21, '1 month',
sessions = 63, '3 months',
sessions = 126, '6 months',
'12 months') AS holding_period,
count() AS window_count,
round(quantileDeterministic(0.05)(window_return_pct,
cityHash64(window_index * 1000 + sessions)), 1) AS p05_return_pct,
round(quantileDeterministic(0.50)(window_return_pct,
cityHash64(window_index * 1000 + sessions)), 1) AS median_return_pct,
round(quantileDeterministic(0.95)(window_return_pct,
cityHash64(window_index * 1000 + sessions)), 1) AS p95_return_pct,
round(quantileDeterministic(0.95)(window_return_pct,
cityHash64(window_index * 1000 + sessions))
- quantileDeterministic(0.05)(window_return_pct,
cityHash64(window_index * 1000 + sessions)), 1) AS spread_pct,
round(stddevSamp(window_return_pct), 1) AS stdev_pct
FROM measured
GROUP BY sessions
ORDER BY sessions2826 overlapping three-month windowsमध्ये, काहीही न करता fund धारण केल्याचा median outcome 3.9% होता. 5th percentile -8.8% आणि 95th percentile 12.2% होते. त्यामुळे bandची रुंदी 21.1 points होती. त्या bandमधील कोणताही एक quarterly result index धारण करून सुट्टीला गेल्याशी सुसंगत आहे. Twenty agents सुरू करा, त्यांना एक quarter चालवा आणि सर्वोत्तम agent प्रकाशित करा. अशा प्रकारे displayed number त्या bandच्या वरच्या भागातून येतो.
Sample lengthचे arithmetic कठोर आहे. त्याच seriesमधील twelve-month outcomesची standard deviation 13.6 points आहे. वास्तविक edge आणि noise यांतील फरक ओळखण्यासाठी साधारणतः (2 × variation ÷ edge)² yearsचे live results आवश्यक असतात. या variationमध्ये hypothetical 3-point-a-year edgeसाठी अनेक दशके लागतात. 10-point edgeसाठीसुद्धा monthsऐवजी years लागतात. वरील windows overlap होतात. त्यामुळे 2826 ही windowsची संख्या आहे; independent samplesची नाही.
$25,000चे वास्तविक पैसे हा प्रश्न सोडवतात का?
Real money एका विशिष्ट प्रकारे पुराव्याची गुणवत्ता वाढवते. Paper tradingमध्ये कोणत्याही counterpartyने मान्य न केलेल्या किंमतींवर fills होतात आणि order reject होत नाही. Funded $25,000 account live quotesविरुद्ध fill होतो आणि वास्तविक commissions भरतो. Statementsचा third party audit करू शकतो. Position sizes इतके मोठे असतात की fills काल्पनिक न वाटता सामान्य व्यवहारांसारखे असतात.
मात्र sampleची समस्या तशीच राहते. Four monthsसाठी $25,000 trade करणे म्हणजे वरील distributionमधून अजूनही एकच नमुना. Drawdownनंतर live account बंद करून record नव्याने सुरू करता येतो. Sizeमुळे fills प्रामाणिक ठरतात. Results अर्थपूर्ण करण्यासाठी केवळ time आवश्यक असतो.
ओळखण्यासारखे चार failure modes
- Track recordचा पोशाख घातलेला backtest. Past dataवरील simulated results हे भूतकाळाबद्दलचे hypotheses असतात. Look-ahead bias simulationमध्ये strategyला त्या वेळी उपलब्ध नसलेली माहिती कशी शिरते हे दाखवते. सर्वात स्पष्ट संकेत म्हणजे code तयार होण्याच्या अनेक वर्षे आधी सुरू होणारी equity curve.
- मंचावर केवळ survivor. Ten agents सुरू केले, एक प्रकाशित केला. Multi-agent AI trading systemsमुळे हे चुकून करणे सोपे होते. Ten variants चालवणारे framework त्यापैकी लिहिण्यास योग्य एक variantही निवडते.
- Restart. Drawdown, pause, fresh account आणि restart dateपासून सुरू होणारी curve. निर्णायक प्रश्न असा आहे: पहिल्या accountमधील पहिल्या dollarपासूनची equity curve दाखवा.
- पुन्हा लिहिलेला runbook. Trade आणि writeupदरम्यान prompts आणि position limits edit केलेले असणे. LLM-generated alpha factors हजारोंनी तयार करता येतात. त्यामुळे selection rule निवड करण्यापूर्वी प्रकाशित केलेला असला पाहिजे. अन्यथा record हा योगायोगाने काम केलेल्या factorsची कथा बनतो.
वारंवार विचारले जाणारे प्रश्न
AI trading track record पडताळता येतो का?
होय. Entriesचे outcomes माहीत होण्यापूर्वी त्या प्रकाशित झाल्या असतील, benchmark आधीच निश्चित केला असेल, numbersमध्ये costsचा समावेश असेल आणि प्रत्येक account दाखवला असेल, तर record पडताळता येतो. ही तपासणी mechanical असून काही मिनिटांत पूर्ण होते. बहुतेक प्रकाशित records पहिल्याच निकषावर अपयशी ठरतात.
Live AI trading record किती काळ चालला पाहिजे?
बहुतेक प्रकाशित recordsपेक्षा अधिक काळ. येथे मोजलेल्या windowsमध्ये indexच्या twelve-month outcomesची standard deviation 13.6 points होती. त्यामुळे conventional confidenceवर modest edge आणि luck यांतील फरक करण्यासाठी किमान years, तर छोट्या edgeसाठी decades लागतात.
AI portfolioचे results अर्थपूर्ण ठरवण्यासाठी $25,000 पुरेसे आहेत का?
Fills वास्तविक ठरवण्यासाठी ते पुरेसे आहे: live quotes, real commissions आणि audit करता येणारी statements. मात्र काही महिन्यांचे results statistically meaningful करण्यासाठी ते पुरेसे नाही. हा प्रश्न account sizeचा नसून elapsed timeचा आहे.
Backtest आणि track recordमध्ये काय फरक आहे?
Backtest अस्तित्वात असलेल्या dataवर rules लागू करतो. Track record म्हणजे outcomes येण्यापूर्वी प्रकाशित केलेल्या decisionsची मालिका. पुढे काय घडते यामुळे केवळ दुसऱ्या प्रकारची नोंद खोटी ठरू शकते. त्यामुळे ती evidence ठरते.
Benchmarkची निवड इतकी महत्त्वाची का असते?
2026च्या पहिल्या सहामाहीत वरील सहा index fundsमध्ये केवळ priceच्या आधारावर 12.7 pointsचे अंतर होते. कालावधी संपल्यानंतर निवडलेला benchmark कोणत्याही strategyशिवाय हे संपूर्ण अंतर उपलब्ध करून देऊ शकतो.
या पृष्ठावरील प्रत्येक number हा market dataवरील stored queryचा परिणाम आहे आणि प्रत्येक panelखाली SQL दिलेले आहे. Strasmore terminalवर त्याच windowsचा वापर करून तुमच्या स्वतःच्या dates तपासा.