TradingView
TradingView data for research, backtesting and gamma levels
Keep charting on TradingView. Use FinzData for the TradingView data your research needs beyond the chart: point-in-time dealer gamma exposure, decades of intraday history including delisted stocks, and a Python client that turns a Pine Script idea into a full backtest.
Built for traders who chart on TradingView
TradingView is where many traders draw levels, read price action and share ideas. FinzData is the research desk behind that chart: one API and Python client that serves clean, survivorship-free market history and point-in-time options positioning for US stocks, ETFs and futures.
The workflow is simple. Spot a pattern on TradingView, then measure it across years of data with FinzData, and bring the levels that matter back to your chart. TradingView historical data on a chart is built for viewing; FinzData is built for testing, so the two work side by side.
Point-in-time dealer gamma (GEX)
FinzData computes dealer gamma exposure every trading day for 11,209 US stocks and ETFs, from January 2010 to the latest close: about 17.8 million daily rows. Every row is stamped with when it became known, before the next session opens, so a backtest only sees what traders could see that morning. There is no look-ahead.
| Field | What it tells you on the chart |
|---|---|
| Net, call and put GEX | How much hedging dealers must do for each 1% move, and which side of the book drives it |
| Dealer positioning (long or short gamma) | Long gamma: dealers sell rallies and buy dips, so moves are damped and prices pin. Short gamma: dealers chase the move, so trends and volatility accelerate |
| Gamma flip | The price where dealers switch from long to short gamma, and the distance to it in percent |
| Call wall and put wall | The strikes with the largest call and put gamma, often acting as resistance and support into expiry |
| Call and put open interest, put/call open interest ratio | Where positioning sits and how it is skewed between calls and puts |
| At-the-money implied volatility | The price of protection on the same date |
| Per-strike gamma | The full gamma profile behind every level, strike by strike |
This is the TradingView gamma exposure workflow many options traders want: each morning, mark the call wall and put wall, the gamma flip and the current dealer positioning on your TradingView chart. In long gamma, expect pinning and mean reversion toward the big strikes; in short gamma, expect moves to run through them. Because the history is point-in-time, you can test those rules across 11,209 tickers instead of trusting anecdotes. See the point-in-time GEX dataset and the dealer gamma exposure guide.
Deep history your chart doesn't load
How much intraday history a TradingView chart loads depends on your TradingView plan, so statistics computed on the chart often cover a short window. FinzData gives you the long sample:
- US stocks: 16,000+ NYSE and Nasdaq names since January 2000, delisted, bankrupt and acquired companies included.
- ETFs: 231 ETFs with the same bar sizes.
- Futures: 139 markets and 17,605 individual contracts since 2007, with back-adjusted and raw continuous series and the roll calendar.
- Bar sizes: daily, hourly, 30-, 15-, 5- and 1-minute bars, stamped at the start of each interval in US Eastern time; minutes without trades are omitted, never forward-filled.
Read more in TradingView intraday history, TradingView export to Python and CSV and delisted stocks for TradingView users.
From Pine Script to Python
import finzdata as yf
# SPY 1-minute bars since 2015 (full history needs a paid key)
bars = yf.Ticker("SPY").history(start="2015-01-02", interval="1m")
# one row per session: open, high, low, close
daily = bars.resample("1D").agg({"Open": "first", "High": "max", "Low": "min", "Close": "last"}).dropna()
prev_close = daily["Close"].shift(1)
gap = (daily["Open"] - prev_close) / prev_close * 100
# a gap up fills if price trades back to the prior close the same day
up = gap > 0.25
filled = daily["Low"] <= prev_close
print(f"Gaps up > 0.25%: {up.sum()}, filled the same day: {filled[up].mean():.0%}")Check your TradingView export, free
Pine Script cannot request data from external websites or APIs, so serious TradingView backtesting usually moves to Python or another platform, and the first question is whether the data is clean. Our free chart-export check answers it: upload a TradingView export or any OHLC CSV and FinzData compares it with its own bars. You get missing bars, extra bars, price mismatches, broken bars and how much further back FinzData history goes. The file is checked in memory and not stored, and the result is a summary only.
Moving from Pine Script to Python is straightforward with FinzData: the client mirrors yfinance, returns pandas DataFrames and saves to CSV or Parquet, so the logic you sketched on the chart becomes a backtest over decades in a few lines.
Free open-source indicator
FinzData publishes open-source indicators on TradingView. The first, Gap Fill Statistics, shows how often opening gaps trade back to the prior close on the same day, split by gap direction and size, and tells you how many bars on your chart sit behind each number. Follow FinzData on TradingView for new indicators and ideas.
Great for backtesting, autonomous trading and AI
- Backtesting without survivorship bias: the point-in-time universe is the stocks that actually traded on each date, so failed companies stay in your results.
- Autonomous trading: deterministic, reproducible data and server-side backtests for systems that run on rules, not screenshots.
- AI agents: connect Claude, ChatGPT or Cursor to the FinzData MCP server at
api.finzdata.com/mcpfor bars, gamma levels and backtests. - Strategies and research: every subscriber gets the FinzData strategies and research, including the AI Trading Tournament.
Start free
The free tier gives you the last 12 months of every dataset and 1,000 API calls a day, no card required. Full history is a one-time purchase that is yours to keep, with no lock-in to any platform. Download free sample files to see the exact format, then see pricing for full history.
Frequently asked questions
Can I import FinzData into TradingView?
TradingView does not load external data feeds into Pine Script. Traders use FinzData in Python, Excel or NinjaTrader for research and backtesting, and mark FinzData levels such as the call wall, put wall and gamma flip on their TradingView chart.
Does FinzData have TradingView gamma exposure levels?
FinzData computes daily dealer gamma for 11,209 US stocks and ETFs since January 2010, including the call wall and put wall, gamma flip, dealer positioning and open interest, ready to mark on any TradingView chart.
Is the GEX data point-in-time?
Yes. Every row is stamped with when it became known, before the next session opens, so backtests only use levels traders could have seen at the time.
How far back does FinzData intraday history go?
1-minute bars for US stocks and ETFs go back to January 2000, delisted names included, and futures 1-minute bars go back to 2007.
Is FinzData independent of TradingView?
Yes. FinzData is an independent market-data provider. It complements TradingView charts with history, gamma levels and backtesting tools.
Is there a free tier?
Yes. A free key returns the last 12 months of every dataset with 1,000 API calls a day and no card.