< API Reference
POST
/allaccess/analytics/trade-review
Trade Review is the official theoretical price generator for obvious error reviews on trades executed on US option exchanges. Step through obvious error trade review process to determine if an executed trade may qualify for an adjustment. Perform a parity check, calculate implied volatility and Greeks, and get additional benchmarks for measuring execution quality of your trades. Subscription to OPRA is required for live and delayed requests.

Example URI

Live (15 points per trade)

https://api.livevol.com/v1/live/allaccess/analytics/trade-review

Delayed (25 points per trade)

https://api.livevol.com/v1/delayed/allaccess/analytics/trade-review

Historical (15 points per trade)

https://api.livevol.com/v1/live/allaccess/analytics/trade-review
https://api.livevol.com/v1/delayed/allaccess/analytics/trade-review

Request Information

Body Parameters

Collection of InputOptionTrade

Name Description Type Additional information
buy_or_sell

Trade operation

string

Allowed values are [ BUY, SELL, UNKNOWN ]

Default value is: UNKNOWN

trade_price

Trade price, may be omitted if seq_number specified

decimal number

Default value is: 0

Range: inclusive between 0 and 1.79769313486232E+308

trade_size

Trade size, may be omitted if seq_number specified

integer

Default value is: 0

Range: inclusive between 0 and 2147483647

seq_number

Exchange sequence number of trade. Can be used instead of trade_price/trade_size.

integer

Default value is: 0

Range: inclusive between 0 and 2147483647

expiry

Expiration date

string

Required

Date in yyyy-MM-dd format. (i.e. 2019-01-18)

time_stamp

Timestamp (Eastern Standard Time)

string

Required

DateTime in yyyy-MM-dd HH:mm:ss.fff format. (i.e. 2021-07-28 19:13:05.070)

market_width_scale

The user override for the default 1x-Wide limit to allow for Xx-Wide quote width limits when identifying “Valid” markets for use in calculating a theoretical price.

unsigned integer

Default value is: 1

Range: inclusive between 1 and 100

root

Option root

string

Required

strike

Option strike

decimal number

Required

Range: inclusive between 0.01 and 1.79769313486232E+308

option_type

Option type

string

Required

Allowed values are [ C, P ]

Request Formats

application/json, text/json

Sample:
[
  {
    "buy_or_sell": "UNKNOWN",
    "trade_price": 8.9,
    "trade_size": 18,
    "seq_number": 282836659,
    "expiry": "2019-01-18",
    "time_stamp": "2019-01-18 11:45:23.467",
    "market_width_scale": 1,
    "root": "AMZN",
    "strike": 1702.5,
    "option_type": "C"
  },
  {
    "buy_or_sell": "BUY",
    "trade_price": 23.35,
    "trade_size": 2,
    "seq_number": 292133,
    "expiry": "2019-03-15",
    "time_stamp": "2019-01-18 09:30:00.670",
    "market_width_scale": 2,
    "root": "AAPL",
    "strike": 180.0,
    "option_type": "P"
  }
]

application/xml, text/xml

Sample:
<ArrayOfinput_option_trade xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <input_option_trade>
    <option_type>C</option_type>
    <root>AMZN</root>
    <strike>1702.5</strike>
    <time_stamp>2019-01-18 11:45:23.467</time_stamp>
    <buy_or_sell>UNKNOWN</buy_or_sell>
    <market_width_scale>1</market_width_scale>
    <seq_number>282836659</seq_number>
    <trade_price>8.9</trade_price>
    <trade_size>18</trade_size>
  </input_option_trade>
  <input_option_trade>
    <option_type>P</option_type>
    <root>AAPL</root>
    <strike>180</strike>
    <time_stamp>2019-01-18 09:30:00.670</time_stamp>
    <buy_or_sell>BUY</buy_or_sell>
    <market_width_scale>2</market_width_scale>
    <seq_number>292133</seq_number>
    <trade_price>23.35</trade_price>
    <trade_size>2</trade_size>
  </input_option_trade>
</ArrayOfinput_option_trade>

Response Information

Resource Description

Collection of TradeReviewResponse

Name Description Type Additional information SIP Provider

Used input for trade review

InputOptionTrade

None

None

InputOptionTrade

Name Description Type Additional information
buy_or_sell

Trade operation

string

Allowed values are [ BUY, SELL, UNKNOWN ]

Default value is: UNKNOWN

trade_price

Trade price, may be omitted if seq_number specified

decimal number

Default value is: 0

Range: inclusive between 0 and 1.79769313486232E+308

trade_size

Trade size, may be omitted if seq_number specified

integer

Default value is: 0

Range: inclusive between 0 and 2147483647

seq_number

Exchange sequence number of trade. Can be used instead of trade_price/trade_size.

integer

Default value is: 0

Range: inclusive between 0 and 2147483647

expiry

Expiration date

string

Required

Date in yyyy-MM-dd format. (i.e. 2019-01-18)

time_stamp

Timestamp (Eastern Standard Time)

string

Required

DateTime in yyyy-MM-dd HH:mm:ss.fff format. (i.e. 2021-07-28 19:13:03.868)

market_width_scale

The user override for the default 1x-Wide limit to allow for Xx-Wide quote width limits when identifying “Valid” markets for use in calculating a theoretical price.

unsigned integer

Default value is: 1

Range: inclusive between 1 and 100

root

Option root

string

Required

strike

Option strike

decimal number

Required

Range: inclusive between 0.01 and 1.79769313486232E+308

option_type

Option type

string

Required

Allowed values are [ C, P ]

is_obvious_error

Obvious error indication

boolean

None

None

supporting_evidence

Supporting evidence

string

None

None

course_of_action

Recommended course of action

string

None

None

detailed_log

Detailed analysis log

string

None

None

trade_condition

Trade condition information

string

None

None

notional_value

Notional value

decimal number

None

None

parity

Parity information

string

SIP subscription is required for live or delayed requests; otherwise, returns null

CTA & UTP

CSMI

underlying_bid

Underlying symbol bid at trade time

decimal number

SIP subscription is required for live or delayed requests; otherwise, returns null

CTA & UTP

CSMI

underlying_ask

Underlying symbol ask at trade time

decimal number

SIP subscription is required for live or delayed requests; otherwise, returns null

CTA & UTP

CSMI

sequence_number

Exchange sequence number of a reviewed trade

integer

None

None

trade_size

Size of a reviewed trade

integer

None

None

trade_price

Price of a reviewed trade

decimal number

None

None

trade_time

Trade time. HH:MM:SS.SSS (Eastern Standard Time) Actual time when trade happened.

time interval

None

None

trade_exchange

Exchange id of a reviewed trade

byte

None

None

market_width_scale

The user override for the default 1x-Wide limit to allow for Xx-Wide quote width limits when identifying “Valid” markets for use in calculating a theoretical price.

unsigned integer

None

None

record_number

Record number of a reviewed trade

integer

None

None

market_state_at_trade_time

Market state at trade time

string

Possible values are [WIDE, CROSSED, NOT_VALID, LEGAL, ADJUSTED_FROM_LEVEL2]

None

nbbo_bid_at_trade

Nbbo bid at trade

decimal number

None

None

nbbo_ask_at_trade

Nbbo ask at trade

decimal number

None

None

nbbo_bid_size_at_trade

Nbbo bid size at trade

integer

None

None

nbbo_ask_size_at_trade

Nbbo ask size at trade

integer

None

None

tr_nbbo_bid

Used for trade review Nbbo ask

decimal number

None

None

tr_nbbo_ask

Used for trade review Nbbo ask

decimal number

None

None

intrinsic_value

Intrinsic value

decimal number

None

None

parity_type

Market state at trade time

string

Possible values are [ABOVE_PARITY, BELOW_PARITY, AT_PARITY]

None

delivery_code

Delivery code for nonstandard options

string

None

None

threshold

Used threshold

decimal number

None

None

adjustment_modifier

Used adjustment modifier

decimal number

None

None

price_adjustment

Used price adjustment

decimal number

None

None

Theoretical market details

TheoCalcResult

None

None

TheoCalcResult

Name Description Type Additional information
time_stamp

Trade date in yyyy-MM-dd HH:mm:ss.fff format (Eastern Standard Time)

string

None

First sibling market info

SiblingInfo

None

SiblingInfo

Name Description Type Additional information
strike

Option strike

decimal number

None

option_type

Option type

string

None

mid_iv

Calculated option volatility

decimal number

None

bid

Option bid price

decimal number

None

ask

Option ask price

decimal number

None

theo

Option theo price

decimal number

None

time_stamp

Date time of this snapshot in yyyy-MM-dd HH:mm:ss.fff format (Eastern Standard Time)

string

None

stock

Stock price used for IV calculations

decimal number

None

Second sibling market information

SiblingInfo

None

SiblingInfo

Name Description Type Additional information
strike

Option strike

decimal number

None

option_type

Option type

string

None

mid_iv

Calculated option volatility

decimal number

None

bid

Option bid price

decimal number

None

ask

Option ask price

decimal number

None

theo

Option theo price

decimal number

None

time_stamp

Date time of this snapshot in yyyy-MM-dd HH:mm:ss.fff format (Eastern Standard Time)

string

None

stock

Stock price used for IV calculations

decimal number

None

Market information for the target trade

SiblingInfo

None

SiblingInfo

Name Description Type Additional information
strike

Option strike

decimal number

None

option_type

Option type

string

None

mid_iv

Calculated option volatility

decimal number

None

bid

Option bid price

decimal number

None

ask

Option ask price

decimal number

None

theo

Option theo price

decimal number

None

time_stamp

Date time of this snapshot in yyyy-MM-dd HH:mm:ss.fff format (Eastern Standard Time)

string

None

stock

Stock price used for IV calculations

decimal number

None

The Calculation Method to get a volatility

CalculationMethod

Range: inclusive between 0 and 6

CalculationMethod

Possible enumeration values:

Value Description

0

Butterfly1

1

Butterfly2

2

Extrapolation

3

Sibling market

4

Previous day volatility

5

User defined volatility

6

Intraday lookback

method_name

The Calculation Method name

string

Possible values are [ BUTTERFLY_1, BUTTERFLY_2, EXTRAPOLATION, SIBLING_MARKET, PREV_DAY_VOLATILITY, USER_DEFINED_VOLATILITY, INTRADAY_LOOK_BACK ]

error_message

Error message

string

None

bid_adjusted_to

The bid after market adjustment

decimal number

None

None

ask_adjusted_to

The ask after market adjustment

decimal number

None

None

has_legal_ten_sec_mkt

Determines if a legal market was found in last 10 sec

boolean

None

None

Response Formats

application/json, text/json

Sample:
[
  {
    "used_input": {
      "buy_or_sell": "UNKNOWN",
      "trade_price": 8.9,
      "trade_size": 18,
      "seq_number": 282836659,
      "expiry": "2019-01-18",
      "time_stamp": "2019-01-18 11:45:23.467",
      "market_width_scale": 1,
      "root": "AMZN",
      "strike": 1702.5,
      "option_type": "C"
    },
    "is_obvious_error": true,
    "supporting_evidence": "",
    "course_of_action": "Bust trade, if one party to trade is a Customer,\r\notherwise\r\nadjust Trade Price to 0.51",
    "detailed_log": "Market at trade time is 0.05 x 0.36 and has legal width\r\nThreshold Amount based on Bid: 0.25\r\nPossible Obvious Error Detected\r\nSize adjustment modifier: 1.0\r\nTheo Price adjustment: $0.15\r\nPossible Adjustment Price: $0.51\r\n",
    "trade_condition": "Regular",
    "notional_value": 750.0,
    "parity": "Intrinsic Value = $0.00, Above Parity",
    "underlying_bid": 68.25,
    "underlying_ask": 68.36,
    "sequence_number": 10,
    "trade_size": 10,
    "trade_price": 3.5,
    "trade_time": "10:12:23.4500000",
    "trade_exchange": 10,
    "market_width_scale": 1,
    "record_number": 10,
    "market_state_at_trade_time": "CROSSED",
    "nbbo_bid_at_trade": 0.5,
    "nbbo_ask_at_trade": 0.7,
    "nbbo_bid_size_at_trade": 11,
    "nbbo_ask_size_at_trade": 14,
    "tr_nbbo_bid": 0.7,
    "tr_nbbo_ask": 0.7,
    "intrinsic_value": 0.7,
    "parity_type": "ABOVE_PARITY",
    "delivery_code": "sample string 3",
    "threshold": 0.7,
    "adjustment_modifier": 0.7,
    "price_adjustment": 0.7,
    "theo_price_generation": {
      "time_stamp": "2016-11-17 10:12:33.000",
      "first_sibling": {
        "strike": 150.0,
        "option_type": "C",
        "mid_iv": 0.02,
        "bid": 3.2,
        "ask": 4.5,
        "theo": 4.0,
        "time_stamp": "2016-11-17 10:12:33.000",
        "stock": 4.0
      },
      "second_sibling": {
        "strike": 150.0,
        "option_type": "C",
        "mid_iv": 0.02,
        "bid": 3.2,
        "ask": 4.5,
        "theo": 4.0,
        "time_stamp": "2016-11-17 10:12:33.000",
        "stock": 4.0
      },
      "target": {
        "strike": 150.0,
        "option_type": "C",
        "mid_iv": 0.02,
        "bid": 3.2,
        "ask": 4.5,
        "theo": 4.0,
        "time_stamp": "2016-11-17 10:12:33.000",
        "stock": 4.0
      },
      "method": 0,
      "method_name": "BUTTERFLY_1",
      "error_message": "Sibling strike expected."
    },
    "bid_adjusted_to": 0.7,
    "ask_adjusted_to": 0.7,
    "has_legal_ten_sec_mkt": true
  },
  {
    "used_input": {
      "buy_or_sell": "UNKNOWN",
      "trade_price": 8.9,
      "trade_size": 18,
      "seq_number": 282836659,
      "expiry": "2019-01-18",
      "time_stamp": "2019-01-18 11:45:23.467",
      "market_width_scale": 1,
      "root": "AMZN",
      "strike": 1702.5,
      "option_type": "C"
    },
    "is_obvious_error": true,
    "supporting_evidence": "",
    "course_of_action": "Bust trade, if one party to trade is a Customer,\r\notherwise\r\nadjust Trade Price to 0.51",
    "detailed_log": "Market at trade time is 0.05 x 0.36 and has legal width\r\nThreshold Amount based on Bid: 0.25\r\nPossible Obvious Error Detected\r\nSize adjustment modifier: 1.0\r\nTheo Price adjustment: $0.15\r\nPossible Adjustment Price: $0.51\r\n",
    "trade_condition": "Regular",
    "notional_value": 750.0,
    "parity": "Intrinsic Value = $0.00, Above Parity",
    "underlying_bid": 68.25,
    "underlying_ask": 68.36,
    "sequence_number": 10,
    "trade_size": 10,
    "trade_price": 3.5,
    "trade_time": "10:12:23.4500000",
    "trade_exchange": 10,
    "market_width_scale": 2,
    "record_number": 10,
    "market_state_at_trade_time": "LEGAL",
    "nbbo_bid_at_trade": 0.5,
    "nbbo_ask_at_trade": 0.7,
    "nbbo_bid_size_at_trade": 11,
    "nbbo_ask_size_at_trade": 14,
    "tr_nbbo_bid": 0.7,
    "tr_nbbo_ask": 0.7,
    "intrinsic_value": 0.7,
    "parity_type": "BELOW_PARITY",
    "delivery_code": "sample string 3",
    "threshold": 0.7,
    "adjustment_modifier": 0.7,
    "price_adjustment": 0.7,
    "theo_price_generation": {
      "time_stamp": "2016-11-17 10:12:33.000",
      "first_sibling": {
        "strike": 150.0,
        "option_type": "C",
        "mid_iv": 0.02,
        "bid": 3.2,
        "ask": 4.5,
        "theo": 4.0,
        "time_stamp": "2016-11-17 10:12:33.000",
        "stock": 4.0
      },
      "second_sibling": {
        "strike": 150.0,
        "option_type": "C",
        "mid_iv": 0.02,
        "bid": 3.2,
        "ask": 4.5,
        "theo": 4.0,
        "time_stamp": "2016-11-17 10:12:33.000",
        "stock": 4.0
      },
      "target": {
        "strike": 150.0,
        "option_type": "C",
        "mid_iv": 0.02,
        "bid": 3.2,
        "ask": 4.5,
        "theo": 4.0,
        "time_stamp": "2016-11-17 10:12:33.000",
        "stock": 4.0
      },
      "method": 0,
      "method_name": "BUTTERFLY_1",
      "error_message": "Sibling strike expected."
    },
    "bid_adjusted_to": 0.7,
    "ask_adjusted_to": 0.7,
    "has_legal_ten_sec_mkt": true
  }
]

application/xml, text/xml

Sample:
<trade_review_responses xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <trade_review_response>
    <adjustment_modifier>0.7</adjustment_modifier>
    <ask_adjusted_to>0.7</ask_adjusted_to>
    <bid_adjusted_to>0.7</bid_adjusted_to>
    <course_of_action>Bust trade, if one party to trade is a Customer,
otherwise
adjust Trade Price to 0.51</course_of_action>
    <delivery_code>sample string 3</delivery_code>
    <detailed_log>Market at trade time is 0.05 x 0.36 and has legal width
Threshold Amount based on Bid: 0.25
Possible Obvious Error Detected
Size adjustment modifier: 1.0
Theo Price adjustment: $0.15
Possible Adjustment Price: $0.51
</detailed_log>
    <has_legal_ten_sec_mkt>true</has_legal_ten_sec_mkt>
    <intrinsic_value>0.7</intrinsic_value>
    <is_obvious_error>true</is_obvious_error>
    <market_state_at_trade_time>CROSSED</market_state_at_trade_time>
    <market_width_scale>1</market_width_scale>
    <nbbo_ask_at_trade>0.7</nbbo_ask_at_trade>
    <nbbo_ask_size_at_trade>14</nbbo_ask_size_at_trade>
    <nbbo_bid_at_trade>0.5</nbbo_bid_at_trade>
    <nbbo_bid_size_at_trade>11</nbbo_bid_size_at_trade>
    <notional_value>750</notional_value>
    <parity>Intrinsic Value = $0.00, Above Parity</parity>
    <parity_type>ABOVE_PARITY</parity_type>
    <price_adjustment>0.7</price_adjustment>
    <record_number>10</record_number>
    <sequence_number>10</sequence_number>
    <supporting_evidence></supporting_evidence>
    <theo_price_generation>
      <error_message>Sibling strike expected.</error_message>
      <first_sibling>
        <ask>4.5</ask>
        <bid>3.2</bid>
        <mid_iv>0.02</mid_iv>
        <option_type>C</option_type>
        <stock>4</stock>
        <strike>150</strike>
        <theo>4</theo>
        <time_stamp>2016-11-17 10:12:33.000</time_stamp>
      </first_sibling>
      <method>0</method>
      <method_name>BUTTERFLY_1</method_name>
      <second_sibling>
        <ask>4.5</ask>
        <bid>3.2</bid>
        <mid_iv>0.02</mid_iv>
        <option_type>C</option_type>
        <stock>4</stock>
        <strike>150</strike>
        <theo>4</theo>
        <time_stamp>2016-11-17 10:12:33.000</time_stamp>
      </second_sibling>
      <target>
        <ask>4.5</ask>
        <bid>3.2</bid>
        <mid_iv>0.02</mid_iv>
        <option_type>C</option_type>
        <stock>4</stock>
        <strike>150</strike>
        <theo>4</theo>
        <time_stamp>2016-11-17 10:12:33.000</time_stamp>
      </target>
      <time_stamp>2016-11-17 10:12:33.000</time_stamp>
    </theo_price_generation>
    <threshold>0.7</threshold>
    <tr_nbbo_ask>0.7</tr_nbbo_ask>
    <tr_nbbo_bid>0.7</tr_nbbo_bid>
    <trade_condition>Regular</trade_condition>
    <trade_exchange>10</trade_exchange>
    <trade_price>3.5</trade_price>
    <trade_size>10</trade_size>
    <trade_time>PT10H12M23.45S</trade_time>
    <underlying_ask>68.36</underlying_ask>
    <underlying_bid>68.25</underlying_bid>
    <used_input>
      <option_type>C</option_type>
      <root>AMZN</root>
      <strike>1702.5</strike>
      <time_stamp>2019-01-18 11:45:23.467</time_stamp>
      <buy_or_sell>UNKNOWN</buy_or_sell>
      <market_width_scale>1</market_width_scale>
      <seq_number>282836659</seq_number>
      <trade_price>8.9</trade_price>
      <trade_size>18</trade_size>
    </used_input>
  </trade_review_response>
  <trade_review_response>
    <adjustment_modifier>0.7</adjustment_modifier>
    <ask_adjusted_to>0.7</ask_adjusted_to>
    <bid_adjusted_to>0.7</bid_adjusted_to>
    <course_of_action>Bust trade, if one party to trade is a Customer,
otherwise
adjust Trade Price to 0.51</course_of_action>
    <delivery_code>sample string 3</delivery_code>
    <detailed_log>Market at trade time is 0.05 x 0.36 and has legal width
Threshold Amount based on Bid: 0.25
Possible Obvious Error Detected
Size adjustment modifier: 1.0
Theo Price adjustment: $0.15
Possible Adjustment Price: $0.51
</detailed_log>
    <has_legal_ten_sec_mkt>true</has_legal_ten_sec_mkt>
    <intrinsic_value>0.7</intrinsic_value>
    <is_obvious_error>true</is_obvious_error>
    <market_state_at_trade_time>LEGAL</market_state_at_trade_time>
    <market_width_scale>2</market_width_scale>
    <nbbo_ask_at_trade>0.7</nbbo_ask_at_trade>
    <nbbo_ask_size_at_trade>14</nbbo_ask_size_at_trade>
    <nbbo_bid_at_trade>0.5</nbbo_bid_at_trade>
    <nbbo_bid_size_at_trade>11</nbbo_bid_size_at_trade>
    <notional_value>750</notional_value>
    <parity>Intrinsic Value = $0.00, Above Parity</parity>
    <parity_type>BELOW_PARITY</parity_type>
    <price_adjustment>0.7</price_adjustment>
    <record_number>10</record_number>
    <sequence_number>10</sequence_number>
    <supporting_evidence></supporting_evidence>
    <theo_price_generation>
      <error_message>Sibling strike expected.</error_message>
      <first_sibling>
        <ask>4.5</ask>
        <bid>3.2</bid>
        <mid_iv>0.02</mid_iv>
        <option_type>C</option_type>
        <stock>4</stock>
        <strike>150</strike>
        <theo>4</theo>
        <time_stamp>2016-11-17 10:12:33.000</time_stamp>
      </first_sibling>
      <method>0</method>
      <method_name>BUTTERFLY_1</method_name>
      <second_sibling>
        <ask>4.5</ask>
        <bid>3.2</bid>
        <mid_iv>0.02</mid_iv>
        <option_type>C</option_type>
        <stock>4</stock>
        <strike>150</strike>
        <theo>4</theo>
        <time_stamp>2016-11-17 10:12:33.000</time_stamp>
      </second_sibling>
      <target>
        <ask>4.5</ask>
        <bid>3.2</bid>
        <mid_iv>0.02</mid_iv>
        <option_type>C</option_type>
        <stock>4</stock>
        <strike>150</strike>
        <theo>4</theo>
        <time_stamp>2016-11-17 10:12:33.000</time_stamp>
      </target>
      <time_stamp>2016-11-17 10:12:33.000</time_stamp>
    </theo_price_generation>
    <threshold>0.7</threshold>
    <tr_nbbo_ask>0.7</tr_nbbo_ask>
    <tr_nbbo_bid>0.7</tr_nbbo_bid>
    <trade_condition>Regular</trade_condition>
    <trade_exchange>10</trade_exchange>
    <trade_price>3.5</trade_price>
    <trade_size>10</trade_size>
    <trade_time>PT10H12M23.45S</trade_time>
    <underlying_ask>68.36</underlying_ask>
    <underlying_bid>68.25</underlying_bid>
    <used_input>
      <option_type>C</option_type>
      <root>AMZN</root>
      <strike>1702.5</strike>
      <time_stamp>2019-01-18 11:45:23.467</time_stamp>
      <buy_or_sell>UNKNOWN</buy_or_sell>
      <market_width_scale>1</market_width_scale>
      <seq_number>282836659</seq_number>
      <trade_price>8.9</trade_price>
      <trade_size>18</trade_size>
    </used_input>
  </trade_review_response>
</trade_review_responses>