Skip to content

OHLC

StandardPro

REQUIRED

The Theta Terminal must be running to access data.

Aggregated OHLC bars that use SIP rules
for each bar. Time timestamp of the bar represents the opening time of the bar. For a
trade to be part of the bar: bar time <= trade time < bar timestamp + ivl, where ivl is the
specified interval size in milliseconds.
Exchanges typically generate a price report every second for popular indices like SPX.

Sample URL

Paste the URL below into your browser while the Theta Terminal is running.

http://127.0.0.1:25510/v2/hist/index/ohlc?root=SPX&start_date=20240102&end_date=20240102&ivl=60000

Parameters

Query Parameters

rootRequired  -

The symbol of the security. Option underlyings for indices might have special tickers.

Type: string (Default: SPX)
start_dateRequired  -

The start date (inclusive) of the request formatted as YYYYMMDD.

Type: integer (Default: 20230915)
end_dateRequired  -

The end date (inclusive) of the request formatted as YYYYMMDD.

Type: integer (Default: 20230915)
ivlRequired  -

The interval size in milliseconds. 1 minute intervals is 60000. Omitting this value or setting it to 0will provide tick-level data instead of aggregated / intervalized data.

Type: integer (Default: 900000)
rth  -

If this value is set to false and the request is for aggregated / intervalized data, the response will contain intervals from 00:00:000 ET to 23:59:999 ET. If the ivl is 0 or is unspecified, then rth will be forced to false. This means that all data for the day, even if it was outside regular trading hours would be returned. The default behavior is to only return data during regular trading hours (09:30:00.000 ET to 16:00.000 ET).

Type: boolean (Default: true)
start_time  -

If specified, the response will include all ticks on or after this number of milliseconds since midnight ET.

Type: string
end_time  -

If specified, the response will include all ticks on or before this number of milliseconds since midnight ET.

Type: string

Responses

OK
JSON
{
"header": {
"id": 0,
"latency_ms": 0,
"error_type": "string",
"error_msg": "string",
"next_page": null,
"format": [
"ms_of_day",
"open",
"high",
"low",
"close",
"volume",
"count",
"date"
]
},
"response": [
[
34200000,
4745.2,
4745.2,
4738.63,
4742.78,
0,
0,
20240102
],
[
34260000,
4742.96,
4743.28,
4741.36,
4743.28,
0,
0,
20240102
]
]
}

Sample Code

py