Trade At Time
REQUIRED
The Theta Terminal must be running to access data.
Behavior
Returns the last trade reported by OPRA at a specified millisecond of the day.
Trade condition mappings can be found here.
Extended trade conditions are not reported by OPRA for options, so they can be ignored.
The ivl
parameter represents the milliseconds since 00:00:00.000 ET that the trade should be provided for.
Sample URL & Code
Paste the URL below into your browser while the Theta Terminal is running.
You can use the "request sample" box to the right of this box obtain sample
code in any programming language.
http://127.0.0.1:25510/v2/at_time/option/trade?root=SPY&exp=20240119&strike=470000&right=C&start_date=20240116&end_date=20240116&ivl=44100000
Output Descriptions
Field | Description |
---|---|
ms_of_day | The exchange timestamp of the trade (the time the trade was reported). Milliseconds since 00:00:00.000 (midnight) ET. |
sequence | The exchange sequence. |
ext_condition1 | Additional trade condition(s). These can be ignored for options. |
ext_condition2 | Additional trade condition(s). These can be ignored for options. |
ext_condition3 | Additional trade condition(s). These can be ignored for options. |
ext_condition4 | Additional trade condition(s). These can be ignored for options. |
condition | The trade condition. |
size | The amount of contracts traded. |
exchange | The exchange the trade was executed. |
price | The price of the trade. |
condition_flags | Future use. |
price_flags | Future use. |
volume_type | Future use. |
records_back | Non-zero for trade cancellations and insertions. The value represents the amount of trades prior to the current trade to delete or insert. |
date | The date formated as YYYYMMDD. |
Parameters
Query Parameters
The symbol of the security. Option underlyings for indices might have special tickers.
The expiration date of the option contract formatted as YYYYMMDD.
The strike price in 1/10ths of a cent. A $170.00 strike price would be 170000.
The right of the option. 'C' for call; 'P' for put.
The start date (inclusive) of the request formatted as YYYYMMDD.
The end date (inclusive) of the request formatted as YYYYMMDD.
Uses CSV if true
, legacy JSON if false
.
The interval size in milliseconds. 1 minute intervals is 60000
. Omitting this value or setting it to 0
will provide tick-level data instead of aggregated / intervalized data.
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).