6.2.2 · HinglishBacktesting Frameworks

Learn about clean historical data sourcing

3,168 words14 min readRead in English

6.2.2 · Stock-Market › Backtesting Frameworks


Historical data "dirty" kya banata hai?

Historical stock data char main channels se corrupt hoti hai:

1. Survivorship Bias

Aisa kyun hota hai:

  • Free data providers aksar sirf currently-listed tickers maintain karte hain
  • Har saal ~5-8% stocks delist hoti hain (bankruptcy, acquisitions, compliance failures)
  • 2000-2020 ka ek backtest jo dotcom busts ya 2008 failures miss karta hai woh kabhi un losses ko nahi dekhega

Mathematical impact:

Chalte hain bias magnitude derive karte hain. Maano:

  • True population: stocks at time
  • Survival rate: per year
  • Tumhare dataset mein sirf survivors hain: after years

Agar average return hai survivors ke liye aur (80% loss) delistings ke liye:

(6% annual delisting), , ke saath:

Tumhara backtest 5.5 percentage points annually inflate hua hai.

2. Look-Ahead Bias

Yeh kaise chupke se aa jaata hai:

Price data usually splits/dividends ke liye adjusted provide ki jaati hai. 2020-01-15 par, tum dekhte ho:

  • Adjusted price: $100
  • Yeh 2020-06-01 par ek 2-for-1 split reflect karta hai

Trap: Agar tumhari strategy 2020-01-15 par "200 tha.

Sahi usage: Returns ke liye hamesha adjusted prices use karo, absolute price levels ke liye unadjusted (jaise "buy stocks under $10").

3. Corporate Action Errors

Types aur adjustments:

| Action | Effect | Adjustment | |-----|------------| | Split | Shares se multiply hote hain | Saare prior prices se divide karo | | Dividend | Cash pay out hoti hai | Prior prices se subtract karo | | Merger | Ticker change hota hai | Histories ko correct ratio ke saath link karo | | Spinoff | Nayi entity create hoti hai | Parent value proportionally split karo |

Dividend adjustment ki derivation:

Dividend se pehle ka din: stock ki worth , isme cash value shamil hai.

Baad ka din (ex-dividend): cash chali gayi, business raha:

Price se "drop" hoti hai, lekin shareholder value preserve rehti hai (stock + cash = constant). Adjusted series mein koi drop nahi dikhna chahiye:

4. Point-in-Time Data

Financial data retroactively kyun change hoti hai:

  • Restatements: Company accounting error discover karti hai, 3 saal ki earnings revise karta hai
  • Reclassifications: Sector assignments change hote hain (kya Tesla automotive hai ya tech?)
  • Filing delays: 10-K fiscal year-end ke 90 din baad due hoti hai, lekin bahut log late file karte hain

Tumhe kya chahiye:

2015-03-15 par backtesting ke liye:

  • Financials use karo jo 2015-03-15 tak file ho chuki thi, 2018 ki "final restated" version nahi
  • Sector classifications use karo jo 2015-03-15 tak ki thi
  • Agar 10-K abhi file nahi hui thi, tumhare paas woh data nahi hai

Iske bina: Tum future knowledge (restatement) se trade kar rahe ho, performance inflate ho rahi hai.


Clean data requirements checklist


Data source tiers

Tier 1: Professional (Mehanga lekin Clean)

  • Bloomberg Terminal: $24,000/year, point-in-time fundamentals, delisting returns
  • Refinitiv (Reuters): Similar pricing, global coverage
  • FactSet: Institutional-grade, strong corporate actions

Pros: Survivorship-free, accurate splits/dividends, point-in-time toggle Cons: Individuals ke liye cost prohibitive

Tier 2: Specialized Backtest Vendors

  • Norgate Data: $300-800/year, US equities with delisted stocks, accurate adjustments
  • CSI Data: Similar, futures include karta hai
  • Sharadar (Quandl/Nasdaq Data Link): $50-200/month, achhe fundamentals, delisting coverage

Pros: Backtesting ke liye bana hua, documented methodology, affordable Cons: Limited asset classes, mostly US-focused

Tier 3: Free/API (Heavy Cleaning Chahiye)

  • Yahoo Finance: Free, survivorship bias, spotty delisting data, occasional errors
  • Alpha Vantage: Free tier limited, Yahoo se better
  • IEX Cloud: Cheap API, current data focus

Pros: Accessible, seekhne ke liye achha Cons: Manual survivorship correction chahiye, har corporate action verify karo, koi point-in-time fundamentals nahi


Data validation techniques


Recall Ek 12-saal ke bachche ko explain karo

Socho tum test kar rahe ho ki tumhara naya skateboard trick kaam karta hai ya nahi, sirf un bacchon ke videos dekh kar jo succeed kiye aur X Games tak pahunche. Un bacchon ke saare videos jo try kiya aur fail kiya tumhare collection mein nahi hain kyunki unhone skating chhod di. Agar tum sirf success videos dekh kar trick seekhte ho, tumhe lagega yeh bahut easy hai—tumne kabhi toote haath aur quit karne ki koshishein nahi dekhi.

Clean historical data waise hai jaise sabhi logon ke videos milein jo trick try kiya, failures including. Stock backtesting mein:

  • Dirty data = sirf wahi companies jo survive ki (X Games winners)
  • Clean data = saari companies including bankruptcies (jinlogo ne try kiya sabhi)

Kuch videos baad mein edit ki gayi hain bhi—shayad unhone woh part cut kar diya jahan bachcha pehle gira tha. Yahi look-ahead bias hai: video aisi info dikhati hai jo film hone par obvious nahi thi. Clean data ka matlab hai sab kuch exactly waise dekhna jaise hua tha, koi edited-in future knowledge nahi.



Connections

  • 6.2.01-Define-backtesting-vs-paper-trading – Backtesting mein clean data kyun zyada matter karta hai
  • 6.2.03-Understand-transaction-cost-modeling – Clean data mein realistic fills shamil hone chahiye
  • 6.1.02-Understand-compounding-vs-averagereturns – Survivorship bias compound returns inflate karta hai
  • 5.3.01-Learn-about-the-efficient-market-hypothesis – Point-in-time data true EMH test karta hai
  • 6.4.01-Identify-overfitting-in-strategy-parameters – Dirty data false parameter optima create karta hai

#flashcards/stock-market

Historical data mein survivorship bias kya hai? :: Jab tumhare dataset mein sirf wahi securities hain jo present tak survive karti rahin, delisted/bankrupt companies ko exclude karke, ek upward-biased performance record create hota hai kyunki failures invisible ho jaati hain.

Survivorship bias backtest returns kyun inflate karta hai?
Kyunki yeh bankruptcies/delistings se saare losing trades remove kar deta hai (typically -80% to -100% losses), sirf winners bacha kar. ~6% annual delistings aur -80% par losers ke saath, yeh ~5.5% fake annual return add karta hai.
Look-ahead bias kya hai?
Backtesting mein aisi information use karna jo historical decision time par available nahi thi—jaise restated financials, future index memberships, ya adjusted prices jo price-level rules ke liye incorrectly use ki gayi hain.
Adjusted vs. unadjusted prices kaise use karne chahiye?
Return calculations ke liye adjusted prices use karo (woh splits/dividends account karte hain), lekin absolute price rules ke liye unadjusted prices (jaise "buy stocks under $10") future corporate actions se look-ahead bias avoid karne ke liye.
Point-in-time data kya hai?
Historical data jo information ko exactly waise reflect karta hai jaisa ek specific date par jaana jaata tha, baad mein restate ki gayi jaankari nahi—fundamentals ke liye critical jo aksar initial filing ke saalon baad revise hoti hain.
Missing data forward-fill karna bias kyun create karta hai?
Ek missing price ka matlab ho sakta hai stock halted ya illiquid thi—tum wahan trade nahi kar sakte the. Forward-filling assume karta hai tum ek aisi price par exit kiye jo exist nahi karti thi, crises ke dauran khaaskar khatarnak jab quotes din bhar ke liye gayab ho jaate hain.
OHLC data integrity validate karne ke liye char checks kaun se hain?
1) Low ≤ Open aur Close ≤ High, 2) High ≥ Low, 3) Price changes mein volume > 0 hona chahiye, 4) Koi duplicate timestamps nahi. Violations corrupted data indicate karte hain.
Dividend ke liye prices backward kaise adjust karte hain?
Saare prior prices ko (P - D)/P se multiply karo jahan P dividend se pehle ki price hai aur D dividend amount hai, proportional return preserve karte hue cash drop remove karke.
Tier 1 aur Tier 2 data sources mein kya fark hai?
Tier 1 (Bloomberg, Refinitiv) 300-800/year backtest-focused vendors hain survivorship-free data ke saath lekin kam asset class coverage ke saath.
Corporate action adjustments reverse chronological order mein kyun apply karni chahiye?
Kyunki har adjustment factor post-action price par depend karta hai. Aaj se shuru karke aur backward kaam karte hue, tum har factor se multiply karte ho (splits, dividends) yeh reconstruct karne ke liye ki historical prices aaj ke share structure mein "kya honi chahiye thi."

Concept Map

caused by

caused by

caused by

excludes

produces

uses future info

miscalculates splits/dividends

misleads

fixes

fixes

enables

enables

prevents

Clean Historical Data

Dirty Data

Survivorship Bias

Look-Ahead Bias

Corporate Action Errors

Point-in-Time Membership

Delisting Returns

Inflated Backtest Returns

Real-World Losses