Skip to content

OHLC Range

FreeValueStandardPro

Fetch intraday OHLC bars across a date range (start_date..end_date). This is a dedicated upstream route, distinct from the single-date stock_history_ohlc; the _range suffix mirrors the vendor's separate ohlc_range route.

rust
pub fn stock_history_ohlc_range(
    &self,
    symbol: &str,
    start_date: &str,
    end_date: &str,
) -> StockHistoryOhlcRangeBuilder<'_>

Optional parameters chain on the builder: .interval(&str), .start_time(&str), .end_time(&str), .venue(&str). Execute with .awaitResult<Vec<OhlcTick>, Error>, or decode chunk-by-chunk with .stream(handler).

Example

rust
let rows = tdx
    .stock_history_ohlc_range("AAPL", "20250303", "20250306")
    .interval("1m")
    .await?;
for t in &rows {
    println!("date={} open={} high={} low={} close={}", t.date, t.open, t.high, t.low, t.close);
}

Parameters

NameTypeRequiredDefaultDescription
symbolstringyesTicker symbol (e.g. AAPL)
start_datedateyesStart date YYYYMMDD
end_datedateyesEnd date YYYYMMDD
intervalstringno1sInterval preset or millisecond string. 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_timestringno09:30:00Start time filter
end_timestringno16:00:00End time filter
venuestringnonqbVenue/exchange filter. Accepted values: nqb, utp_cta.
timeout_msintnoPer-request deadline in milliseconds. 0 means no deadline.

Response

Rows of OhlcTick:

FieldTypeDescription
ms_of_dayi32Opening time of the bar, milliseconds since midnight ET.
openf64Opening trade price.
highf64Highest traded price.
lowf64Lowest traded price.
closef64Closing traded price.
volumei64Number of contracts or shares traded.
counti64Number of trades.
vwapf64Volume-weighted average price of the session.
datei32Trading date as a YYYYMMDD integer.

Released under the Apache-2.0 License.