Every 13F since 2014, free and account-free, from a Rails app you can run yourself.
Open-source stock market tools
What each licence actually allows — MIT, Apache, AGPL, GPL — and why open-source code almost never comes with open data.
Last updated
Open source solves the software, not the data
Every tool on this page ships source you can read, fork and run. None of them ships the market data, and that is the constraint that shapes the whole list.
Exactly one market-data API in the catalogue is open source — yfinance — and it is a client, not a source: it reads endpoints Yahoo publishes for its own website. The code is Apache-2.0; the numbers that come back carry no licence to redistribute at all, which its own maintainer says plainly. Everywhere else the pattern holds: the engine is open, the feed is bought.
The licence is the field to read first
MIT, Apache-2.0 — do what you like, keep the notice. Most of the agent and MCP layer sits here, along with Lightweight Charts and Plotly.js.
AGPL-3.0 — the condition triggers on network use. Run a modified copy as a service other people reach and you owe them the source. Ghostfolio, OpenBB and Backtesting.py are on these terms. Running one for yourself or your household never trips it; building a product on top of one is the case to check.
GPL-3.0, LGPL-3.0 — Backtrader is GPL, which reaches into anything you link it with. NautilusTrader is LGPL, which does not, provided you link rather than modify.
Split licences wear the label without covering the whole product. TimescaleDB is Apache-2.0 at the core, but compression, continuous aggregates, retention policies and gapfill are under the source-available Timescale License — which is to say the features you would install it for. Its card names the line.
Where the open tools cluster
Two categories are almost entirely open source: backtesting frameworks and algo trading libraries and financial MCP servers and AI agents. Both are categories where the product is the code.
Two are almost entirely closed: charting platforms and screeners and market data APIs. Both are categories where the product is a licence to show you somebody else's prices, and a licence cannot be forked.
The interesting middle is portfolio trackers, where Ghostfolio and Wealthfolio exist because the job — what you hold and what it is worth — is one you may not want on a vendor's server at all.
All 46 of them
Showing 46 of 46
LLM investor personas score a ticker, deterministic code sizes the book, nothing trades.
Real-time OLAP cluster built for high-concurrency dashboards, not for research joins.
Apache-2.0 general-purpose charting with a candlestick series and nothing else financial.
GARCH and the rest of the volatility-model family, plus the tests you need around them.
A single-instrument Python backtester — one OHLC series, one strategy, no live trading.
An event-driven Python backtester with 122 indicators, frozen since April 2023.
Python backtesting for allocation and rebalancing rules, not entries and exits.
Columnar OLAP database that keeps years of ticks on disk cheaply and scans them fast.
Macro series from 93 statistics offices and central banks behind one open API.
In-process analytical SQL over Parquet tick files, with no server to run.
The maintained fork of Quantopian's empyrical — risk statistics, no plots.
Scrapes SEC, FINRA, FRED and CFTC data into your own Postgres and serves it over MCP.
Sessions, minutes and holidays for 69 exchanges, keyed by ISO-10383 code.
A one-call wrapper over Backtrader, dormant since 2023 and broken on PyPI.
Performance stats, drawdowns and portfolio weights from a DataFrame of prices.
Financial LLM adapters, instruction datasets and training notebooks, all MIT.
Open-source agents that turn a ticker and your own API keys into an analyst report.
Self-hosted open source portfolio tracking, or a hosted account for USD 48 a year.
The community continuation of ib_insync — same API, new maintainers, TWS still required.
Line-protocol time-series database rewritten on Arrow, DataFusion and Parquet.
Apache-2.0 canvas candlesticks with 27 indicators built in and zero dependencies.
The chart and nothing else — six series types on canvas, attribution required.
One strategy class for backtest and live, plus a built-in LLM agent runtime.
Thirty-seven stock-analysis tools for any MCP client, on Yahoo data and no key.
Rust core, Python API, one strategy that backtests and trades live unchanged.
One Python API, REST app and MCP server over thirty other people's data feeds.
The DataFrame indicator library whose repo is gone and whose last release is a year old.
Candlestick and OHLC traces in an MIT library the notebook already has installed.
Prices in, weights out — efficient frontier, Black-Litterman and HRP.
An institutional-shaped Python backtester whose last commit to master was June 2024.
The open-source LEAN engine, plus a hosted cloud that runs it against real brokers.
The open-source derivatives pricing library banks actually use, reachable from Python.
HTML tearsheets and about eighty risk metrics from one pandas series of returns.
Open-source time-series SQL built for tick data — ASOF JOIN, SAMPLE BY, LATEST ON.
Twenty-six convex risk measures, four objectives, one cvxpy-backed optimiser.
SEC filings and XBRL financials as MCP tools, under AGPL or a paid commercial licence.
Portfolio optimisation as scikit-learn estimators — fit, predict, cross-validate.
The C indicator library everything else wraps — and pip now ships the C part with it.
Hypertables, columnar compression and continuous aggregates bolted onto plain Postgres.
Analyst, bull, bear, risk and portfolio-manager agents argue over one ticker.
Screeners, technical analysis and backtests for any MCP client. No TradingView account.
A local finance research agent with 74 MCP tools, nine backtest engines and 14 brokers.
Local-first portfolio and net-worth tracker for desktop, iOS and your own Docker host.
The Python library everyone starts with — free, unofficial, and not something to build on.
The maintained fork of Quantopian's Zipline. Bring your own data — it ships almost none.
FAQ
Does open source mean free?
The software, yes. The data, almost never. QuantConnect publishes its LEAN engine under Apache-2.0 and charges a subscription for the hosted platform and the data that runs on it; Ghostfolio is AGPL and still needs a market-data provider behind it, most of which are paid. Read the licence for what you may do with the code and the provider's terms for what you may do with the numbers — they are two different questions with two different answers.
Can I use AGPL code inside a commercial product?
You can sell it, and you can modify it. What the AGPL adds over the GPL is that running a modified copy as a network service counts as distribution, so the people using that service can ask you for the source. For a desktop app, a personal server or internal use that condition never fires. For a SaaS product built on someone else's AGPL code it is the clause to take to a lawyer before you write the first line.
What is the difference between open source and self-hosted?
Open source is about the licence on the code; self-hosted is about where the process runs. They overlap heavily but they are not the same list. Every open-source tool in the catalogue can also be self-hosted, while six self-hosted ones are not open source at all — kdb+, Highcharts Stock, QuantRocket, ArcticDB, vectorbt and vectorbt PRO ship binaries or source-available licences you run on your own machine under commercial terms.
Which parts of the market are actually open source?
The parts where the value is in the code rather than in a licence to redistribute somebody else's prices. Backtesting frameworks and the MCP-and-agent layer are almost entirely open source; charting platforms, screeners and data vendors are almost entirely not. That split is not about culture — a screener's product is the feed it is licensed to show you, and a feed cannot be forked.