Looking for free historical EOD prices of stocks from S&P 500
Looking for free historical EOD prices of stocks from S&P 500
Loading saved threads...
Alex F · External communityPost link
External question — Quantitative Finance Stack Exchange
Author: Alex F
Original post: https://quant.stackexchange.com/questions/34605
License: CC BY-SA 3.0 — https://creativecommons.org/licenses/by-sa/3.0/
Adaptation: HTML converted to plain text; contact email addresses removed.
I'm trying to build a database of historical stock EOD price data with no survivorship bias, primarily from the S&P 500.
I have looked through numerous data sources from this website to create a database
https://quantpedia.com/Links/HistoricalData
including
quandl
CRSP
Wharton
The issue is all of these services are premium, meaning you have to pay for them. I would have used yahoo finance's API but they recently discontinued it. Does someone know of a free alternative where I can get individual stock EOD historical price data to build my database?
Quote
Report
Eldioo · External communityPost link
External answer — Quantitative Finance Stack Exchange
Author: Eldioo
Original post: https://quant.stackexchange.com/a/34610
License: CC BY-SA 3.0 — https://creativecommons.org/licenses/by-sa/3.0/
Adaptation: HTML converted to plain text; contact email addresses removed.
The Yahoo API still works, they just slightly altered it. I'd suggest you try the
quantmod
package (if you're using
R
) - the authors already adjusted it to the changes in the API.
Here's a small example for the "Danone" stock from 2010 to 2017.
# install.packages("quantmod")
library(quantmod)
getSymbols("BN.PA",auto.assign=F,from="2010-01-01",to="2017-01-01")
# An ‘xts’ object on 2010-01-04/2016-12-30 containing:
# Data: num [1:1790, 1:6] 42.7 43.1 42.8 42.7 42.9 ...
# - attr(*, "dimnames")=List of 2
# ..$ : NULL
# ..$ : chr [1:6] "BN.PA.Open" "BN.PA.High" "BN.PA.Low" "BN.PA.Close" ...
# Indexed by objects of class: [Date] TZ: UTC
# xts Attributes:
# List of 2
# $ src : chr "yahoo"
# $ updated: POSIXct[1:1], format: "2017-06-08 21:45:57"
Quote
Report
HLus · External communityPost link
External answer — Quantitative Finance Stack Exchange
Author: HLus
Original post: https://quant.stackexchange.com/a/35527
License: CC BY-SA 3.0 — https://creativecommons.org/licenses/by-sa/3.0/
Adaptation: HTML converted to plain text; contact email addresses removed.
In our startup SimFin, we are working on exactly such a solution, which is offered for free, since we couldn't afford the pricey premium solutions neither back when we were students.
To this date, we have financial ratios, Financial statements (directly sourced from the SEC's XBRL data and up to 10y back) and stock prices for over 1000+ US companies, including the entire S&P 500.
The fundamental financial data is freely available and you can instantly download it via excel.
Feel free to check it out under
www.simfin.com
and hopefully find what you are looking for.
If you need any specific data set, just write us there and we can compile it for you in exchange for some valuable feedback.
Quote
Report
Varun · External communityPost link
External answer — Quantitative Finance Stack Exchange
Author: Varun
Original post: https://quant.stackexchange.com/a/44511
License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/
Adaptation: HTML converted to plain text; contact email addresses removed.
You can try alphavantage. They provide daily and intraday data up to 5-minute frequency.
If your algorithm uses lesser frequency data then you can try Quantra's Blueshift to test your algorithm for free.
Quote
Report
s teve · External communityPost link
External answer — Quantitative Finance Stack Exchange
Author: s teve
Original post: https://quant.stackexchange.com/a/85856
License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/
Adaptation: HTML converted to plain text; contact email addresses removed.
Updating this for 2026 since the Yahoo situation and the free options have moved on a bit since the older answers.
On the "no survivorship bias" ask specifically: grabbing today's S&P names from Yahoo or yfinance will not give you a clean historical S&P reconstitution. Constituents change, and delisted or acquired former members usually disappear from Yahoo. SimFin and Alpha Vantage are fine for active names. They are not a stand-in for point-in-time index membership plus prices for names that left.
What you can still get free today, with honest scope:
Wikipedia S&P changes is still a rough way to rebuild membership history (as noted in related threads). Ugly but free.
Vendor free tiers and samples are useful to prototype pipelines. Check whether delisted bars are actually present before you trust a backtest.
If you mainly want typed EOD you can load in DuckDB or Polars without rate limits, some archives publish a rolling free window of daily bars for every US ticker (delisted included inside that window). I publish about a year that way. Details and a one-line download example:
Free historical stock data
. Disclosure: I am the founder. That free window is not full S&P history back to the 1990s. For multi-decade bias-free S&P work you still want CRSP or a paid survivorship-free package.
Quick sanity check before trusting any free source:
Pick a known dead name (e.g. a bankrupt large-cap).
Ask: does the source return bars up to the last trade date?
If not, your "S&P history" is survivors-only.
For academic-quality work, WRDS/CRSP is still the reference. Free tools are better for learning and pipeline validation.
Quote
Report
Post Reply
Quoted from Forex.com.bd-Editorial External answer — Quantitative Finance Stack Exchange Author: s teve Source score (net votes, not local likes): 0 Original post: https://quant.stackexchange.com/a/85856 License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/ Adaptation: HTML converted to plain text; contact email addresses removed. Updating this for 2026 since the Yahoo situation and the free options have moved on a bit since the older answers. On the "no survivorship bias" ask specifically: grabbing today's S&P names from Yahoo or yfinance will not give you a clean historical S&P reconstitution. Constituents change, and delisted or acquired former members usually disappear from Yahoo. SimFin and Alpha Vantage are fine for active names. They are not a stand-in for point-in-time index membership plus prices for names that left. What you can still get free today, with honest scope: Wikipedia S&P changes is still a rough way to rebuild membership history (as noted in related threads). Ugly but free. Vendor free tiers and samples are useful to prototype pipelines. Check whether delisted bars are actually present before you trust a backtest. If you mainly want typed EOD you can load in DuckDB or Polars without rate limits, some archives publish a rolling free window of daily bars for every US ticker (delisted included inside that window). I publish about a year that way. Details and a one-line download example: Free historical stock data . Disclosure: I am the founder. That free window is not full S&P history back to the 1990s. For multi-decade bias-free S&P work you still want CRSP or a paid survivorship-free package. Quick sanity check before trusting any free source: Pick a known dead name (e.g. a bankrupt large-cap). Ask: does the source return bars up to the last trade date? If not, your "S&P history" is survivors-only. For academic-quality work, WRDS/CRSP is still the reference. Free tools are better for learning and pipeline validation.
Checking account access…