EOD
FreeValueStandardPro
Fetch end-of-day index data for a date range.
- Since the indices feeds do not provide a national EOD report, Theta Data generates a national EOD report at 17:15 each day.
rust
pub fn index_history_eod(
&self,
symbol: &str,
start_date: &str,
end_date: &str,
) -> IndexHistoryEodBuilder<'_>Execute with .await → Result<Vec<EodTick>, Error>, or decode chunk-by-chunk with .stream(handler).
Example
rust
let rows = tdx.index_history_eod("SPX", "20250303", "20250306").await?;
for t in &rows {
println!("date={} open={} close={} volume={}", t.date, t.open, t.close, t.volume);
}Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | yes | — | Ticker symbol (e.g. AAPL) |
start_date | date | yes | — | Start date YYYYMMDD |
end_date | date | yes | — | End date YYYYMMDD |
timeout_ms | int | no | — | Per-request deadline in milliseconds. 0 means no deadline. |
Response
Rows of EodTick:
| Field | Type | Description |
|---|---|---|
created_ms_of_day | i32 | EOD report creation time (NOT a trade time), milliseconds since midnight ET. |
last_trade_ms_of_day | i32 | Time of the day's last trade, milliseconds since midnight ET. 0 when no trades printed that day. |
open | f64 | Opening trade price. 0.0 when no trades printed that day. |
high | f64 | Highest traded price. 0.0 when no trades printed that day. |
low | f64 | Lowest traded price. 0.0 when no trades printed that day. |
close | f64 | Closing traded price. 0.0 when no trades printed that day. |
volume | i64 | Number of contracts or shares traded. |
count | i64 | Number of trades. |
bid_size | i32 | Last NBBO bid size. |
bid_exchange | i32 | Exchange code of the NBBO bid. |
bid | f64 | Last NBBO bid price. |
bid_condition | i32 | Quote condition code on the bid side. |
ask_size | i32 | Last NBBO ask size. |
ask_exchange | i32 | Exchange code of the NBBO ask. |
ask | f64 | Last NBBO ask price. |
ask_condition | i32 | Quote condition code on the ask side. |
date | i32 | Trading date as a YYYYMMDD integer. |