திறந்த மூல Quant Trading புத்தகத்தைக் கற்பது எப்படி
திறந்த மூல quant trading புத்தகம் முழுப் பாடத்திட்டத்தையும் விளக்குகிறது. ஒவ்வொரு கட்டத்திலும் கற்பவை, தொடக்கநிலையினர் நிற்கும் இடம், US stocks-க்கு பொருந்தும் பகுதிகளை அறியுங்கள்.
திறந்த மூல quant trading புத்தகம் என்பது இலவசமான பொது பாடத்திட்டமாகும். மூலத் தரவிலிருந்து live order வரை உள்ள முழுப் பாதையும், ஒரு தொடக்கநிலைப் பயிலாளர் அதை எதிர்கொள்ளும் வரிசையில் எழுதப்பட்டுள்ளது. xingwudao GitHub-இல் வெளியிட்ட XQuant: Everyone Can Be a Quantitative Trader கையெழுத்துப் பிரதிக்கு, ஆகஸ்ட் 2026 நிலவரப்படி, 686 stars உள்ளன. அதன் ஒன்பது அத்தியாயங்கள், கிட்டத்தட்ட ஒவ்வொரு quant பாடத்திட்டமும் கடந்து செல்லும் பாதையை எடுத்துரைக்கின்றன. இந்தப் பக்கம் அந்தப் பாதையை ஒவ்வொரு கட்டமாகப் பின்தொடர்கிறது. ஒவ்வொரு கட்டத்திலும் உள்ள குறிப்பிட்ட தோல்வி எது என்பதையும் குறிப்பிடுகிறது. Chinese A shares முதல் US equities வரை பயன்படுத்தும்போது எந்தப் பகுதிகள் நிலைத்திருக்கின்றன என்பதையும் குறிக்கிறது.
திறந்த மூல quant trading புத்தகத்தில் என்ன அடங்கியுள்ளது?
தொடக்கநிலை பாடத்திட்டத்திலிருந்து எந்தப் பிராண்டிங் கூறுகளையும் நீக்கினால், ஐந்து நிலைகள் மட்டுமே மீதமாகும். அவை இந்த வரிசையில் அமையும்: தரவைப் பெறுதல் மற்றும் சுத்திகரித்தல், அதிலிருந்து ஒரு signal உருவாக்குதல், அந்த signal-ஐ வரலாற்றுத் தரவுக்கு எதிராகச் சோதித்தல், எவ்வளவு முதலீடு செய்ய வேண்டும் என்பதைத் தீர்மானித்தல், பின்னர் order-ஐ அனுப்பி செலவுகளைச் செலுத்துதல். ஜூலை 14, 2026 அன்று 016b66e commit-இல் இருந்த XQuant உள்ளடக்கம், இதே அம்சங்களை ஒன்பது அத்தியாயங்களில் உள்ளடக்குகிறது.
- தயாரிப்பு, பின்னர் முதல் அத்தியாயம்: ஒரு முழுமையான strategy-யை தொடக்கம் முதல் முடிவு வரை இயக்குதல்.
- இரண்டாம் அத்தியாயம், எதை வாங்குவது: மூன்று ETFs-இல் தொடங்குதல்.
- மூன்றாம் அத்தியாயம், எவ்வளவு வாங்குவது: மூன்று allocation முறைகளை ஒன்றுடன் ஒன்று ஒப்பிட்டு அளவிடுதல்.
- நான்காம் அத்தியாயம், எப்போது trade செய்வது: rebalancing, stop loss, take profit.
- ஐந்தாம் அத்தியாயம், ஒரு strategy உண்மையில் சிறப்பானதா என்பதை மதிப்பிடுதல்: நான்கு கோணங்கள்.
- ஆறாம் அத்தியாயம், முன்கூட்டியே கொண்டாட வேண்டாம்: overfitting-ஐத் தடுப்பது.
- ஏழாம் அத்தியாயம், ideal நிலையில் இருந்து நிஜ நிலைக்கு: trades-ஐ நிறைவேற்றுதல்.
- எட்டாம் அத்தியாயம், launch-க்குப் பிந்தைய காலம்: monitoring, diagnosis, iteration.
- ஒன்பதாம் அத்தியாயம், புதிய வாய்ப்புகளைக் கண்டறிதல்: factor research-க்கான அறிமுகம்.
இந்த வரிசை கவனிக்கத்தக்கது. Sizing மூன்றாம் அத்தியாயத்திலேயே வருகிறது; அதற்கு முன் இரண்டு backtest அத்தியாயங்களும் இல்லை. Factor research இறுதியில் வருகிறது. சுயமாகக் கற்றுக்கொள்ளும் வழிமுறைகள் பொதுவாக இதற்கு நேர்மாறாக அமையும்: முதலில் ஒரு factor யோசனை, அடுத்து backtest, ஆனால் sizing rule ஒருபோதும் இல்லை. இதனுடன் இணைந்த exercise repository-யில், அதே தேதியில் 333 stars இருந்தன. அது முடிக்கப்பட்ட code-ஐ விட எழுதப்பட்ட task specifications-ஐ மையமாகக் கொண்டு ஒழுங்கமைக்கப்பட்டுள்ளது. அவற்றைச் செயல்படுத்த AI assistant-க்கு வாசகர் வழிகாட்டுகிறார். நீங்கள் எழுதாத code-ஐ வாசிப்பதே கீழே குறிப்பிடப்படும் அனைத்தையும் தீர்மானிக்கும் திறனாகும். ஏனெனில் அடுத்தடுத்து ஏற்படும் ஒவ்வொரு தோல்வியும், ஒரு implementation detail-க்குள் மறைந்திருக்கும்.
முதல் கட்டம்: தரவைப் பெற்று, பின்னர் ஆய்வுப் பிரபஞ்சத்தை வரையறுத்தல்
தரவைச் சுத்திகரிப்பது என்பது தரவுப் பணியின் வெளிப்படையான பாதியாகும்: தவறான prints, விடுபட்ட trading sessions, split மற்றும் dividend adjustments. எந்த names-ஐ ஆய்வு செய்வது என்பதைத் தேர்ந்தெடுப்பது கண்ணுக்குப் புலப்படாத பாதியாகும். Strategy code எழுதுவதற்கு முன்பே survivorship bias இங்குதான் நுழைகிறது. ஜூன் மாதத்தின் ஒரு வாரத்தில் trade அச்சிட்ட ஒவ்வொரு US ticker-ஐயும், ஒவ்வொரு ஆண்டாக எடுத்துக்கொள்ளுங்கள். பின்னர் 2026ஆம் ஆண்டின் அதே வாரத்தில் அவற்றில் எத்தனை இன்னும் trading-ல் இருந்தன என்பதை கணக்கிடுங்கள்.
ஒவ்வொரு எண்ணின் பின்னணியில் உள்ள துல்லியமான SQL
WITH june_week AS (
SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS year,
ticker
FROM global_markets.delayed_stocks_minute_aggs
WHERE toMonth(toTimeZone(window_start, 'America/New_York')) = 6
AND toDayOfMonth(toTimeZone(window_start, 'America/New_York')) BETWEEN 10 AND 16
AND toYear(toTimeZone(window_start, 'America/New_York')) BETWEEN 2016 AND 2026
AND volume > 0
GROUP BY year, ticker
),
survivors AS (
SELECT ticker FROM june_week WHERE year = 2026
)
SELECT year,
uniqExact(ticker) AS tickers_traded,
uniqExactIf(ticker, ticker IN (SELECT ticker FROM survivors)) AS still_trading_2026,
round(100 * uniqExactIf(ticker, ticker IN (SELECT ticker FROM survivors))
/ uniqExact(ticker), 1) AS still_trading_pct
FROM june_week
GROUP BY year
ORDER BY year2016 ஆண்டின் அந்த வாரத்தில் trade செய்த 8224 ticker-களில், 2026 ஆண்டின் அதே வாரத்தில் 50% ticker-கள் இன்னும் trading-ல் இருந்தன. மற்றவை கையகப்படுத்தப்பட்டன, merger-களில் இணைந்தன, பெயர் மாற்றப்பட்டன அல்லது delist செய்யப்பட்டன. இன்றைய roster-ஐ அடிப்படையாகக் கொண்ட backtest, தொடர்ந்து நிலைத்திருந்த names-ஐ மட்டுமே ஆய்வு செய்கிறது. மேலும், பின்னர் தேர்ந்தெடுக்கப்பட்ட நிறுவனங்களை வைத்திருப்பதற்காக strategy-க்கு பலன் வழங்குகிறது. தொடக்கநிலை feed, எந்த எச்சரிக்கையும் இன்றி அந்த survivor list-ஐ உங்களுக்கு வழங்கும்: இலவச stock market data API வழிகாட்டி, அந்த feed-கள் எவற்றை வழங்குகின்றன, எவற்றை வழங்குவதில்லை என்பதை விளக்குகிறது.
கட்டம் இரண்டு: தரவை ஒரு signal ஆக மாற்றுதல்
ஒரு signal என்பது, குறிப்பிட்ட நேரத்தில் ஒரு பங்கிற்கு மதிப்பெண் வழங்கும் விதியாகும். பல பங்குகளில் ஒரே நேரத்தில் நிலைத்திருக்கிறது என்று நீங்கள் நம்பும் signal தான் factor. Momentum, value, low volatility ஆகியவை இதற்கான பாடநூல் எடுத்துக்காட்டுகள். இந்தக் கட்டத்தில் ஏற்படும் தோல்வி, ஒரு விதி செயல்படும் வரை பல விதிகளைச் சோதிப்பதாகும். ஒரே index-ன் ஒரே தசாப்தத் தரவில் moving-average crossover-ன் இருபது மாறுபாடுகளைச் சோதித்தால், எப்போதும் ஒன்று வெற்றியாளராகத் தோன்றும். ஆனால், அந்த வெற்றியாளர் noise-க்கு மிகச் சிறப்பாகப் பொருந்திய விதியாக இருக்கும். இதைத் தவிர்க்கும் முறைகள் கவர்ச்சியற்றவையாக இருக்கலாம்: அளவிடுவதற்கு முன்பே விதியை நிர்ணயிக்கவும்; நீங்கள் ஒருபோதும் பார்க்காத வரலாற்றுத் தரவின் ஒரு பகுதியை ஒதுக்கி வைக்கவும்; சோதித்த ஒவ்வொரு மாறுபாட்டையும் பதிவு செய்யவும்; மாற்றக்கூடிய அளவுருக்கள் குறைவாக உள்ள விதிகளுக்கு முன்னுரிமை அளிக்கவும். XQuant, factor research-க்கு முன்பாக இதற்காக ஒரு முழு அத்தியாயத்தை ஒதுக்குகிறது. அதுவே சரியான வரிசையாகும்.
மூன்றாம் கட்டம்: பெரும்பாலான தொடக்கநிலையினர் நிறுத்தும் backtest
பெரும்பாலான சுயமாகக் கற்றுக்கொள்ளும் திட்டங்கள் முடிவடையும் கட்டம் இதுவாகும். அவை பெரும்பாலும் சிறப்பாகத் தோன்றும் equity curve உடன் அமைதியாக முடிவடைகின்றன. மேலே குறிப்பிடப்பட்ட survivorship bias, இரண்டு பிழைகளில் முதலாவது. Look-ahead bias இரண்டாவது. ஆர்டர் இட வேண்டிய நேரத்தில் கடிகாரம் இன்னும் வழங்காத எண்ணை strategy பயன்படுத்துகிறது. இப்பிழையின் பொதுவான வடிவம், இன்றைய closing price-இல் கணக்கிடப்படும் விதியை அதே closing price-இல் நிறைவேற்றுவதாகும். அந்த அனுமானம் தவிர்க்கும் தூரத்தை அளவிடுங்கள்.
ஒவ்வொரு எண்ணின் பின்னணியில் உள்ள துல்லியமான SQL
WITH sessions AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS session,
argMin(open, window_start) AS session_open,
argMax(close, window_start) AS session_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'NVDA')
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2024-08-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, session
),
gaps AS (
SELECT ticker,
session,
toFloat64(session_open) AS open_px,
toFloat64(lagInFrame(session_close) OVER (PARTITION BY ticker ORDER BY session)) AS prev_close
FROM sessions
)
SELECT formatDateTime(toStartOfMonth(session), '%Y-%m') AS month,
formatDateTimeInJodaSyntax(toStartOfMonth(session), 'MMMM yyyy') AS month_label,
round(avgIf(abs(open_px / prev_close - 1) * 10000, ticker = 'SPY'), 1) AS spy_gap_bps,
round(avgIf(abs(open_px / prev_close - 1) * 10000, ticker = 'NVDA'), 1) AS nvda_gap_bps
FROM gaps
WHERE prev_close > 0
GROUP BY month, month_label
HAVING countIf(ticker = 'SPY') > 0 AND countIf(ticker = 'NVDA') > 0
ORDER BY monthJuly 2026-இல், ஒரு closing price-க்கும் அடுத்த opening print-க்கும் இடையிலான சராசரி தூரம் SPY-க்கு 40.8 basis points ஆகவும், NVDA-க்கு 107.4 basis points ஆகவும் இருந்தது. ஒரு basis point என்பது percentage point-இன் நூறில் ஒரு பங்கு. August 2024-இல் தொடங்கும் panel-இன் அனைத்து 24 மாதங்களும் பூஜ்ஜியத்திற்கு மேல் உள்ளன. Closing price-இல் முடிவு செய்து அதே closing price-இல் நிறைவேற்றும் backtest, ஒவ்வொரு trade-லும் அந்தத் தூரத்தை இலவசமாகப் பெறுகிறது. ஆனால் எந்த live order-மும் அவ்வாறு பெறுவதில்லை. backtesting-இல் Look-ahead bias இந்த செயல்முறையைப் பிரித்து விளக்குகிறது. stocks ஏன் overnight gap ஆகின்றன gap ஏற்படுவதற்கான காரணத்தை விளக்குகிறது.
நான்காம் கட்டம்: எவ்வளவு வாங்குவது என்பதைத் தீர்மானிக்கவும்
இங்கு உள்ள குறைபாடு இல்லாமையே. சுயமாகக் கற்றுக்கொண்ட பெரும்பாலான traders, position sizing விதியை ஒருபோதும் எழுதுவதில்லை. எனவே, அவர்களிடம் தற்செயலாக ஒரு விதி உருவாகிவிடுகிறது. பொதுவாக, ஒவ்வொரு பெயருக்கும் சம அளவு dollars ஒதுக்குவது அல்லது கிடைக்கும் cash அனைத்தையும் பயன்படுத்துவது போன்றதாக அது இருக்கும். சம அளவு dollars என்பது சம அளவு risk அல்ல.
ஒவ்வொரு எண்ணின் பின்னணியில் உள்ள துல்லியமான SQL
WITH daily AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS session,
argMax(close, window_start) AS session_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'KO', 'JNJ', 'MSFT', 'AAPL', 'NVDA', 'TSLA', 'COIN')
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2025-08-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, session
),
rets AS (
SELECT ticker,
toFloat64(session_close) AS close_px,
toFloat64(lagInFrame(session_close) OVER (PARTITION BY ticker ORDER BY session)) AS prev_close
FROM daily
)
SELECT ticker,
round(stddevSamp(close_px / prev_close - 1) * sqrt(252) * 100, 1) AS annualized_vol_pct,
round(abs(min(close_px / prev_close - 1)) * 100, 2) AS worst_day_pct
FROM rets
WHERE prev_close > 0
GROUP BY ticker
ORDER BY annualized_vol_pct DESCஜூலை 31, 2026-இல் முடிவடைந்த பன்னிரண்டு மாதங்களில், COIN-இன் annualized volatility 68% ஆக இருந்தது. Panel-இல் அமைதியான முனையில் இருந்த SPY-க்கு இது 12.7% ஆக இருந்தது. COIN-இன் மிக மோசமான ஒற்றை trading session, முந்தைய close-ஐ விட 13.34% கீழே முடிந்தது. அதே நேரத்தில், SPY-இன் மிக மோசமான நாள் 2.69% ஆக இருந்தது. ஒவ்வொரு பெயரிலும் சம அளவு dollars வைத்தால், தினசரி swings மிகவும் வேறுபடும். ஆரம்பநிலை trader உண்மையில் அனுபவிப்பது signal அல்ல; அந்த swing தான். Kelly criterion position sizing ஒரு முறையான பதிலை வழங்குகிறது. concentration risk முறைசாரா பதிலின் வடிவத்தை விளக்குகிறது.
ஐந்தாம் கட்டம்: செயலாக்கமும் backtest மறந்துவிடும் செலவுகளும்
இரண்டு செலவுகள் உள்ளன; அவற்றில் ஒன்று மட்டுமே வெளிப்படையாகத் தெரியும். Commission மற்றும் regulatory fees கணக்கு அறிக்கையில் தோன்றும். Slippage தோன்றாது. அது திரையில் காணப்படும் விலைக்கும், நீங்கள் உண்மையில் பெறும் விலைக்கும் இடையிலான வேறுபாடு. அதன் குறைந்தபட்ச அளவு bid-ask spread ஆகும். அதாவது, அந்தக் கணத்தில் கிடைக்கும் சிறந்த வாங்கு quote-க்கும் சிறந்த விற்பனை quote-க்கும் இடையிலான இடைவெளி. வாங்குபவர்கள் ask விலையைச் செலுத்துகின்றனர்; விற்பவர்கள் bid விலையில் trade செய்கின்றனர். ஆகவே, ஒரு round trip-இல் spread இருமுறை கடக்கப்படுகிறது. Spread நிலையானது அல்ல.
ஒவ்வொரு எண்ணின் பின்னணியில் உள்ள துல்லியமான SQL
WITH quotes AS (
SELECT ticker,
toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE) AS bucket,
toFloat64(ask_price - bid_price) / toFloat64((ask_price + bid_price) / 2) * 10000 AS spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'KO')
AND sip_timestamp >= toDateTime('2026-07-17 13:00:00')
AND sip_timestamp < toDateTime('2026-07-17 21:00:00')
AND bid_price > 0
AND ask_price > bid_price
)
SELECT formatDateTime(bucket, '%H:%i') AS et_time,
round(avgIf(spread_bps, ticker = 'AAPL'), 2) AS aapl_spread_bps,
round(avgIf(spread_bps, ticker = 'KO'), 2) AS ko_spread_bps
FROM quotes
WHERE spread_bps > 0 AND spread_bps < 500
GROUP BY et_time
HAVING countIf(ticker = 'AAPL') > 0 AND countIf(ticker = 'KO') > 0
ORDER BY et_timeஇந்தப் பலகை, ஒரு வெள்ளிக்கிழமையின் 16 அரைமணி நேர time buckets-ஐக் காட்டுகிறது. அவை opening bell-க்கு முன் உள்ள 09:00 bucket-இலிருந்து market close-க்கு பின் உள்ள 16:30 bucket வரை நீள்கின்றன. முதல் bucket-இல் AAPL-ன் quote spread 10.53 basis points ஆகவும், கடைசி bucket-இல் 3.27 ஆகவும் இருந்தது. KO-க்கு அவை முறையே 28.87 மற்றும் 8.04 ஆக இருந்தன. அன்றைய tightest quotes chart-ன் நடுப்பகுதியில், இந்த இரு முனைகளுக்கு இடையில் காணப்படுகின்றன. சந்தையின் அதிக liquidity கொண்ட இரண்டு பெயர்களில் open நேரத்தில் trade செய்யும் strategy-க்கு, அதே strategy-யின் midday பதிப்பைவிட வேறுபட்ட செலவு ஏற்படும். zero-cost assumption கொண்ட backtest எந்தச் செலவையும் சரியாகக் கணக்கிடாது. Bid-ask spread இந்த எண்ணை நிர்ணயிக்கிறது. Open நேரத்தில் spreads ஏன் விரிவடைகின்றன என்ற பகுதி இந்த curve-ஐ விளக்குகிறது. ஒரு stock-ஐ trade செய்ய எவ்வளவு செலவாகும் என்பது முழு round trip செலவைத் தொகுக்கிறது. சுத்தமான backtest-க்கும் உண்மையான பணத்துக்கும் இடையில் இன்னும் ஒரு படி உள்ளது: உண்மையான பணத்தைப் பயன்படுத்துவதற்கு முன் paper trading.
A share பாடத்திட்டத்தின் எந்தப் பகுதிகள் US stocks-க்கு மாற்றிப் பயன்படுத்தப்படலாம்?
XQuant மற்றும் அதனுடன் ஒத்த முறைகள் Chinese A shares மற்றும் ETFs-க்காக உருவாக்கப்பட்டவை. இருப்பினும், இந்த முறையை பெரும்பாலும் அப்படியே மாற்றிப் பயன்படுத்தலாம்: நிலைகளின் வரிசை, வரையறைகள், overfitting கட்டுப்பாடு, செலவுகளைப் பின்னர் சேர்ப்பதற்குப் பதிலாக தனி வரியாகப் பதிவு செய்யும் நடைமுறை, position sizing கணக்கீட்டின் ஒவ்வொரு பகுதியும் மாற்றமின்றி பொருந்தும். Price bars, price bars-ஆகவே இருக்கும். ஆனால் அவற்றைச் சுற்றியுள்ள விதிமுறைகள் அப்படியே பொருந்தாது.
- A shares-ல் உண்மையான T+1 கட்டுப்பாடு உள்ளது: இன்று வாங்கிய stock-ஐ அடுத்த trading session வரையிலும் விற்க முடியாது. US T+1 என்பது settlement நடைமுறை மட்டுமே; intraday trading-க்கு எந்தத் தடையும் இல்லை. இருப்பினும், pattern day trader rule காரணமாக, $25,000-க்கும் குறைவான margin accounts-ல் ஐந்து business days-க்குள் மூன்று day trades மட்டுமே செய்ய முடியும்.
- Main-board A shares-ல் தினசரி விலை மாற்றம் 10%-ஆகவும், growth boards-ல் 20%-ஆகவும் கட்டுப்படுத்தப்படுகிறது. US stocks-க்கு தினசரி வரம்பு இல்லை; அதற்குப் பதிலாக volatility bands மற்றும் news halts காரணமாக trading pauses ஏற்படும்.
- A share orders, 100 shares கொண்ட lots-ல் வர்த்தகம் செய்யப்படுகின்றன. பல US brokers fractional shares-ஐ நிரப்புகின்றனர். இதனால் sizing rule வெளிப்படுத்தக்கூடிய அளவுகளும் மாறுகின்றன.
- China, sell side-க்கு stamp duty வசூலிக்கிறது. US sellers வேறுபட்ட அளவும் தன்மையும் கொண்ட சிறிய regulatory fees-ஐ செலுத்துகின்றனர்.
- Shanghai மற்றும் Shenzhen-ல் உள்ள midday break உட்பட, session structure மாறுபடுகிறது. US stock market hours தொடர்ச்சியாக இயங்கி, closing auction-ல் முடிவடைகின்றன.
ஒரு course-லிருந்து உங்கள் சொந்த code-க்கு நகலெடுக்கப்படும் எந்த cost அல்லது timing constant-உம், முதல் live order வந்தவுடன் வெளிப்படும் bug-ஆக மாறக் காத்திருக்கிறது.
README-ஐ அல்ல, reference-ஐ நிலைநிறுத்துங்கள்
August 2026 நிலவரப்படி repository-யில் tag செய்யப்பட்ட releases எதுவும் இல்லை. ஆகவே நீடித்துக் காணக்கூடிய citation ஒரு commit ஆகும்: 016b66e, இதன் தேதி July 14, 2026. இன்னும் எழுதப்பட்டுக்கொண்டிருக்கும் ஒரு புத்தகத்திற்கு இது முக்கியமானது. Chapter எண்கள் மாறலாம்; README files மீண்டும் எழுதப்படலாம்; headings இடம் மாறலாம்; chapter seven-ஐச் சுட்டிய link, அமைதியாக வேறொன்றைச் சுட்டத் தொடங்கலாம். Commit மற்றும் தேதியை citation-ஆகப் பதிவு செய்யுங்கள். நீங்கள் வாசித்த chapter-ன் title-ஐ அதன் எண்ணுக்குப் பதிலாகக் குறிப்பிடுங்கள். அப்போது ஒரு ஆண்டுக்குப் பிறகும் உங்கள் குறிப்புகளைச் சரிபார்க்க முடியும். Manuscript CC BY-NC-SA 4.0 உரிமத்தின் கீழ் வெளியிடப்பட்டுள்ளது; build scripts MIT உரிமத்தின் கீழ் உள்ளன. இதே ஒழுக்கமே syllabus-ன் இறுதிப் பாடமாகவும் உள்ளது: pinned data snapshot-இலிருந்து மீண்டும் இயக்க முடியாத strategy, result அல்ல; அது வெறும் கதை.
அடிக்கடி கேட்கப்படும் கேள்விகள்
இலவச திறந்த மூலப் புத்தகத்தின் மூலம் quant trading கற்றுக்கொள்ள முடியுமா?
வழிகாட்டும் வரைபடத்தைப் பெறுவதற்கு முடியும். திறந்த கையெழுத்துப் பிரதியின் மூலம் ஒவ்வொரு கூற்றையும் அதன் மூல ஆதாரத்துடன் சரிபார்க்கலாம். ஆனால் ஒரு புத்தகம் உங்கள் சொந்த சந்தையின் தரவு, செலவுகள், விதிமுறைகள் ஆகியவற்றை வழங்க முடியாது. இதுவே ஒரு குறிப்பிட்ட exchange-க்காக எழுதப்பட்ட பாடத்திட்டம் உங்கள் broker-க்கு பொருந்தாமல் போகும் முக்கிய காரணமாகும்.
quant பாடத்திட்டத்தின் எந்தக் கட்டத்தில் பெரும்பாலான தொடக்கநிலைப் பயிலுநர்கள் நின்றுவிடுகின்றனர்?
Backtest கட்டத்தில். அங்கு இரண்டு பிழைகள் முடிவைச் சாதகமாகக் காட்டுகின்றன. ஒன்று survivorship bias: பின்னர் அமைக்கப்பட்ட universe-இலிருந்து உருவாகிறது. மற்றொன்று look-ahead bias: அந்த நேரக் கடிகாரம் இன்னும் பதிவு செய்யாத விலையில் order நிறைவேற்றப்பட்டதாகக் கருதுவதால் உருவாகிறது. 2016 இன் அந்த ஜூன் வாரத்தில் வர்த்தகம் செய்யப்பட்ட tickers-களில் 50% மட்டுமே பத்து ஆண்டுகளுக்குப் பின்னரும் வர்த்தகத்தில் இருந்தன.
survivorship bias மற்றும் look-ahead bias ஆகியவற்றுக்கு இடையிலான வேறுபாடு என்ன?
Survivorship bias என்பது universe தொடர்பான பிரச்சினை. சோதிக்கப்படும் பெயர்கள் தொடர்ந்து நிலைத்திருந்ததன் அடிப்படையில் தேர்ந்தெடுக்கப்பட்டவை. Look-ahead bias என்பது நேரக்கட்டுப்பாடு தொடர்பான பிரச்சினை. Order இடப்பட வேண்டிய நேரத்தில் இன்னும் கிடைக்காத எண்ணைப் strategy பயன்படுத்துகிறது. முதலாவது roster-ஐ பெரிதாக்குகிறது; இரண்டாவது fill-ஐ அதிகமாகக் காட்டுகிறது.
சீன A-share quant பாடநெறி US stocks-க்கு பொருந்துமா?
முறை பொருந்தும். சந்தை விதிமுறைகள் பொருந்தாது. கட்டங்களின் வரிசை, overfitting கட்டுப்பாடு, cost accounting ஆகியவற்றைத் தொடருங்கள். பின்னர் பணத்தை நகர்த்துவதற்கு முன் data plumbing, T+1 விற்பனைத் தடை, தினசரி price limits, lot sizes ஆகியவற்றை US-க்கு இணையானவற்றால் மாற்றுங்கள்.
மேலுள்ள ஒவ்வொரு panel-உம் அதன் கீழுள்ள SQL-உடன் சேமிக்கப்பட்ட query ஆகும். ஒன்றைத் திறந்து, tickers அல்லது dates-ஐ மாற்றி, Strasmore terminal-ல் நீங்களே இயக்குங்கள்.