Data and portfolio construction

Where the prices and factors come from, how portfolios are built, and what that leaves out.

What it does

Every analysis starts from a snapshot of adjusted daily closing prices for current S&P 500 members and about 45 widely held ETFs, from January 2000 onward, plus the daily Fama-French research factors. A job rebuilds the snapshot every weeknight after the US close. Page requests never call a market data service.

Why it is used

A fixed nightly snapshot makes every result reproducible for a given date, keeps the site fast, and means the numbers on the page can be traced to one dataset.

Inputs

  • Adjusted closes from Yahoo Finance: dividends and splits are reinvested, so price changes are total returns.
  • S&P 500 membership from the open datasets/s-and-p-500-companies list.
  • Fama-French five factors, momentum and the one-month T-bill rate (the risk-free rate) from Kenneth French's data library.
  • A portfolio of up to 25 tickers with relative weights, carried in the page address and never stored.

Formulas

r_p,t = Σ_i w_i · r_i,t (weights reset to target every day)

Assumptions

  • The portfolio is rebalanced to its target weights every day. Real portfolios drift between rebalances and pay costs to rebalance.
  • Returns are simple daily returns of adjusted closes. Taxes, fees and trading costs are ignored.
  • The analysis window starts when every holding has prices. If one holding listed recently, the whole window shortens and the page says which one.
  • Gaps of up to five trading days (halts, exchange holidays) are filled with the last price and counted in the data notes.

How to read the results

Each section shows its date range and, if a holding cut the history short, names it. A shorter window means fewer market conditions in the sample, so every estimate built on it is less reliable.

Limitations

  • Survivorship bias. The stock universe is today's S&P 500. Companies that failed or were removed since 2000 are missing, so the historical returns of the universe as a whole look better than they were. It matters less for a hand-picked portfolio of current names, but the history of those names is still the history of winners.
  • Stocks outside the S&P 500 and most funds are not available.
  • The French factors are published with a lag of a month or two, so factor results end earlier than prices.

Where it can fail

  • A corporate action that the price source handles incorrectly shows up as a false one-day jump.
  • If the nightly job fails, the site keeps serving the previous day's snapshot; the 'as of' date on each page shows which data is in use.

References

  • Kenneth R. French, Data Library, mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html
  • Brown, S., Goetzmann, W., Ibbotson, R. and Ross, S. (1992). Survivorship bias in performance studies. Review of Financial Studies 5(4).

See it on a portfolio