Price
FreeValueStandardPro
Fetch intraday price history for an index.
- Retrieves historical indices price reports. Exchanges typically generate a price report every second for popular indices like SPX.
- When the
intervalparameter is specified, the returned data represents the price at the exact time of each timestamp. If the timestamp in the response is 10:30:00, the price field represents the price at that exact time of the day. - A price update from the exchange is omitted if the price remained the same from the previous update.
- Multi-day requests are limited to 1 month of data.
SPX
from thetadatadx import Client
client = Client.from_env()
rows = client.market_data.index_history_price(
"SPX",
interval="1m",
)
for t in rows:
print(t.date, t.ms_of_day, t.price) Sample response ·
JSON[
{
"price": 0,
"timestamp": "2024-11-04T09:30:00"
},
{
"price": 5728.56,
"timestamp": "2024-11-04T09:31:00"
},
{
"price": 5725.48,
"timestamp": "2024-11-04T09:32:00"
}
]Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | yes | — | Ticker symbol (e.g. AAPL) |
date | date | no | — | Single date YYYYMMDD. Supply this for a single-day pull, or supply start_date/end_date for a range. When present, date takes precedence over the range. |
interval | string | no | 1s | Interval preset. Defaults to 1s when omitted — matching the upstream ThetaData Python library. Accepted values: tick, 10ms, 100ms, 500ms, 1s, 5s, 10s, 15s, 30s, 1m, 5m, 10m, 15m, 30m, 1h. |
start_time | string | no | 09:30:00 | Start time filter |
end_time | string | no | 16:00:00 | End time filter |
start_date | date | no | — | Start date YYYYMMDD |
end_date | date | no | — | End date YYYYMMDD |
timeout_ms | int | no | — | Per-request deadline in milliseconds. 0 means no deadline. |
Response
Rows of PriceTick:
| Field | Type | Description |
|---|---|---|
ms_of_day | i32 | Milliseconds since midnight Eastern Time. |
price | f64 | Index value. |
date | i32 | Trading date as a YYYYMMDD integer. |