CoolFace
Datasetpublic

paperswithbacktest/Stocks-Daily-Price

Stocks Daily Price This dataset includes daily price data for various stocks. 25,986,919 rows over 7,764 symbols, 8 columns, covering 1962-01-02 to 2026-08-05. Refreshed monthly. Strategies Built on This Data 2,401 papers in the Papers With Backtest catalogue declare this dataset as an input. 2,238 of them have been coded and run over their own full history. The median replicated Sharpe ratio is +0.35, and 45% clear a t-statistic of 1.96 on their own sample… See the full description on the dataset page: https://huggingface.co/datasets/paperswithbacktest/Stocks-Daily-Price.

sourceHugging Faceotherupdated 20d agoView on Hugging Face
65likes11kdownloads
Dataset Card

Stocks Daily Price

This dataset includes daily price data for various stocks.

25,986,919 rows over 7,764 symbols, 8 columns, covering 1962-01-02 to 2026-08-05. Refreshed monthly.

Strategies Built on This Data

2,401 papers in the Papers With Backtest catalogue declare this dataset as an input. 2,238 of them have been coded and run over their own full history. The median replicated Sharpe ratio is +0.35, and 45% clear a t-statistic of 1.96 on their own sample, against 48% across all 4,837 replications in the library.

Some of the strongest results that lean on it:

A Sharpe ratio quoted without its t-statistic hides how much of the library cannot be distinguished from zero, which is why both are shown. The figures are in-sample over each strategy's own window and carry no transaction costs.

Why It Matters

This dataset supports equity signal research and portfolio construction by:

  • Signal research: Long history of OHLCV data powers momentum, mean-reversion, and breakout studies across equities.
  • Corporate actions adjusted: Adjusted closes support total-return analyses and bias-free backtests.
  • Liquidity screens: Volume trends help design tradability filters and slippage assumptions.

Load It

Installation/Upgrade:

bash
pip install --upgrade pwb-toolbox

Load the Dataset:

python
from pwb_toolbox import datasets as pwb_ds

df = pwb_ds.load_dataset("Stocks-Daily-Price", symbols=["AAPL"])
print(df.iloc[0, :])

Example Output:

symbol          AAPL
date      1980-12-12
volume     469033600
close       0.098389
open        0.098389
high        0.098817
low         0.098389

Columns

Column NameDescription
symbolStock ticker.
dateTrading date (YYYY-MM-DD).
volumeTrading volume.
closeClosing price for the session.
openOpening price for the session.
highHighest traded price during the day.
lowLowest traded price during the day.
adj_closeClosing price adjusted for splits and dividends. load_dataset rescales the other three prices by adj_close / close and returns it as close, so the snippet above prints adjusted prices and no separate column. Pass adjust=False for the raw ones.

What This Data Does Not Cover

Survivorship. Cross-checked against AlphaVantage-Stocks-Daily-ListingStatus, which lists 16,675 US symbols of which 7,276 are delisted, only 3.5% of the symbols in this file are companies that have since been delisted. On the listing record, 44% of the US common stocks that ever traded are. The gap comes from the vendor feeds, which serve currently listed symbols, and it is not a pipeline error, but the consequence for a backtest is the same: a cross-sectional sort run on this file is a sort over the survivors, and its Sharpe ratio is flattered by that.

The listing-status dataset is what a point-in-time universe would be rebuilt from.

Access

Browsing the card and the schema is open to anyone. Downloading the files needs an approved request, tied to a subscription: what each plan includes. The same subscription covers the other datasets in this organisation.

Elsewhere

Papers With Backtest publishes 32 datasets on the Hub and codes the papers that use them. Every strategy in the catalogue is run over its own full history before it is published, which is where the numbers above come from.