The Scenario
You're building a backtesting model and your input data lives in an Excel workbook — 10 stock tickers in column A, one per row. The model expects daily OHLCV bars for the past year for each ticker, written below the ticker header in a consistent format. Right now, that data doesn't exist in the workbook.
The bad version:
- Write a one-off Python script to call the Finage historical bars endpoint for each ticker, handle pagination, flatten the response, and export to CSV.
- Import each CSV into the workbook separately via Data > Get External Data, fix the date formatting, and make sure the column order matches your model's expected schema.
- Discover that ticker 7 returned bars in a different timezone offset and your model's alignment is off by one day. Spend an hour tracking down why.
Your model cannot run until the data is in the right shape. Every hour spent on input wrangling is an hour not spent on the model itself.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your Excel workbook that reads the tickers and talks to Finage for you. It calls the historical OHLCV endpoint for each symbol, handles pagination, and writes the bars into the workbook in the structure you describe — no script, no CSV import, no format cleanup.
Read 5 stock symbols from my Excel sheet and pull 1-year daily candlestick data from Finage for each, writing the OHLCV rows below the ticker header
What You Get
- Date column: trading dates in YYYY-MM-DD format
- Adjacent columns: open, high, low, close, volume — one row per trading day per ticker
- Each ticker's data written in a contiguous block below the ticker header in the workbook
- Gaps (weekends, holidays) excluded automatically rather than written as empty rows
What If the Data Is Not Quite Ready
You need a shorter lookback — only the last 90 days instead of a full year
For each ticker in column A of my Excel sheet, fetch daily OHLCV bars from Finage for the past 90 calendar days and write them below the ticker header in the adjacent columns
One of your tickers is a crypto pair and you need 24/7 bars instead of market-hours bars
For each symbol in column A of my Excel workbook, determine whether it is an equity or a crypto asset and call the appropriate Finage endpoint — stock daily bars for equities, crypto daily bars for pairs like ETHUSD — then write date, open, high, low, close, and volume below each header
You want the bars written into separate worksheets, one worksheet per ticker
For each ticker in column A of my Index sheet, create a new worksheet named after the ticker, then fetch 12 months of daily OHLCV data from Finage and write it there with date in column A and open, high, low, close, volume in columns B through F
You want to drop any bars where volume was zero, add a daily return column, and load the result in one pass
For each ticker in column A of my Excel workbook, fetch 12 months of daily OHLCV bars from Finage, exclude any rows where volume is 0, add a column that calculates the daily return as (close minus prior close) divided by prior close, and write everything below the ticker header
One prompt handles the data fetch, the filter, and the derived column together.
Try It
Open an Excel workbook with your backtest ticker list in column A. Get the 7-day free trial of SheetXAI and ask it to load the full historical OHLCV series from Finage. You can also ask it to enrich those same tickers with real-time quotes, or head back to the Finage hub for the complete list of what the integration supports.
