Skip to content

OptionUniverse

QuantConnect.Data.UniverseSelection.OptionUniverse

OptionUniverse()
OptionUniverse(
    date: Union[datetime, date],
    symbol: Union[Symbol, str, BaseContract],
    csv: str,
)
OptionUniverse(other: OptionUniverse)

Bases: BaseChainUniverseData

Represents a universe of options data

Signature descriptions:

  • Creates a new instance of the OptionUniverse class

  • Creates a new instance of the OptionUniverse class as a copy of the given instance

open_interest

open_interest: float

Open interest value of the option

implied_volatility

implied_volatility: float

Implied volatility value of the option

greeks

greeks: Greeks

Greeks values of the option

symbol

symbol: Symbol

Symbol representation for underlying Security

data_type

data_type: MarketDataType

Market Data Type of this data - does it come in individual price packets or is it grouped into OHLC.

time

time: datetime

Current time marker of this data packet.

end_time

end_time: datetime

Time that the data became available to use

value

value: float

Price of the security

price

price: float

As this is a backtesting platform we'll provide an alias of value as price.

id

The security identifier of the option symbol

ALL_RESOLUTIONS

ALL_RESOLUTIONS: List[Resolution] = ...

A list of all Resolution

This codeEntityType is protected.

DAILY_RESOLUTION

DAILY_RESOLUTION: List[Resolution] = ...

A list of Resolution.DAILY

This codeEntityType is protected.

MINUTE_RESOLUTION

MINUTE_RESOLUTION: List[Resolution] = ...

A list of Resolution.MINUTE

This codeEntityType is protected.

HIGH_RESOLUTION

HIGH_RESOLUTION: List[Resolution] = ...

A list of high Resolution, including minute, second, and tick.

This codeEntityType is protected.

OPTION_RESOLUTIONS

OPTION_RESOLUTIONS: List[Resolution] = ...

A list of resolutions support by Options

This codeEntityType is protected.

is_fill_forward

is_fill_forward: bool

True if this is a fill forward piece of data

underlying

underlying: BaseData

The associated underlying price data if any

filtered_contracts

filtered_contracts: HashSet[Symbol]

Gets or sets the contracts selected by the universe

data

data: List[BaseData]

Gets the data list

csv_line

csv_line: str

Csv line to get the values from

This codeEntityType is protected.

open

open: float

Open price of the security

high

high: float

High price of the security

low

low: float

Low price of the security

close

close: float

Close price of the security

volume

volume: float

Volume value of the security

add

add(new_data_point: BaseData) -> None

Adds a new data point to this collection. If the data point is for the underlying, it will be stored in the BaseDataCollection.underlying property.

Parameters:

Name Type Description Default
new_data_point BaseData

The new data point to add

required

cache_symbol

cache_symbol(
    key: ValueTuple[
        SecurityType, str, str, datetime, float, OptionRight
    ],
    symbol: Symbol,
) -> None

Caches a symbol

This codeEntityType is protected.

clone

clone() -> BaseData

Creates a copy of the instance

Returns:

Type Description
BaseData

Clone of the instance.

csv_header

csv_header(security_type: SecurityType) -> str

Gets the CSV header string for this universe entry

to_csv

to_csv(
    symbol: Symbol,
    open: float,
    high: float,
    low: float,
    close: float,
    volume: float,
    open_interest: Optional[float],
    implied_volatility: Optional[float],
    greeks: Greeks,
) -> str

Gets the CSV string representation of this universe entry

try_get_cached_symbol

try_get_cached_symbol(
    key: ValueTuple[
        SecurityType, str, str, datetime, float, OptionRight
    ],
    symbol: Optional[Symbol],
) -> Tuple[bool, Symbol]

Tries to get a symbol from the cache

This codeEntityType is protected.

reader

reader(
    config: SubscriptionDataConfig,
    line: str,
    date: datetime,
    is_live_mode: bool,
) -> BaseData

Reader converts each line of the data source into BaseData objects. Each data type creates its own factory method, and returns a new instance of the object each time it is called. The returned object is assumed to be time stamped in the config.ExchangeTimeZone.

Parameters:

Name Type Description Default
config SubscriptionDataConfig

Subscription data config setup object

required
line str

Line of the source document

required
date datetime

Date of the requested data

required
is_live_mode bool

true if we're in live mode, false for backtesting mode

required

Returns:

Type Description
BaseData

Instance of the T:BaseData object generated by this line of the CSV.

requires_mapping

requires_mapping() -> bool

Indicates if there is support for mapping

Returns:

Type Description
bool

True indicates mapping should be used.

data_time_zone

data_time_zone() -> Any

Specifies the data time zone for this data type. This is useful for custom data types

Returns:

Type Description
Any

The DateTimeZone of this data type.

default_resolution

default_resolution() -> Resolution

Gets the default resolution for this data and security type

deserialize_message

deserialize_message(serialized: str) -> Iterable[BaseData]

Deserialize the message from the data server

Parameters:

Name Type Description Default
serialized str

The data server's message

required

Returns:

Type Description
Iterable[BaseData]

An enumerable of base data, if unsuccessful, returns an empty enumerable.

get_source

get_source(
    config: SubscriptionDataConfig,
    date: datetime,
    is_live_mode: bool,
) -> SubscriptionDataSource

Return the URL string source of the file. This will be converted to a stream

Parameters:

Name Type Description Default
config SubscriptionDataConfig

Configuration object

required
date datetime

Date of this source file

required
is_live_mode bool

true if we're in live mode, false for backtesting mode

required

Returns:

Type Description
SubscriptionDataSource

String URL of source file.

is_sparse_data

is_sparse_data() -> bool

Indicates that the data set is expected to be sparse

Returns:

Type Description
bool

True if the data set represented by this type is expected to be sparse.

should_cache_to_security

should_cache_to_security() -> bool

Indicates whether this contains data that should be stored in the security cache

Returns:

Type Description
bool

Whether this contains data that should be stored in the security cache.

supported_resolutions

supported_resolutions() -> List[Resolution]

Gets the supported resolution for this data and security type

to_string

to_string() -> str

Formats a string with the symbol and value.

Returns:

Type Description
str

string - a string formatted as SPY: 167.753.

update

update(
    last_trade: float,
    bid_price: float,
    ask_price: float,
    volume: float,
    bid_size: float,
    ask_size: float,
) -> None

Update routine to build a bar/tick from a data update.

Parameters:

Name Type Description Default
last_trade float

The last trade price

required
bid_price float

Current bid price

required
ask_price float

Current asking price

required
volume float

Volume of this trade

required
bid_size float

The size of the current bid, if available

required
ask_size float

The size of the current ask, if available

required

update_ask

update_ask(ask_price: float, ask_size: float) -> None

Updates this base data with the new quote ask information

Parameters:

Name Type Description Default
ask_price float

The current ask price

required
ask_size float

The current ask size

required

update_bid

update_bid(bid_price: float, bid_size: float) -> None

Updates this base data with the new quote bid information

Parameters:

Name Type Description Default
bid_price float

The current bid price

required
bid_size float

The current bid size

required

update_quote

update_quote(
    bid_price: float,
    bid_size: float,
    ask_price: float,
    ask_size: float,
) -> None

Updates this base data with new quote information

Parameters:

Name Type Description Default
bid_price float

The current bid price

required
bid_size float

The current bid size

required
ask_price float

The current ask price

required
ask_size float

The current ask size

required

update_trade

update_trade(last_trade: float, trade_size: float) -> None

Updates this base data with a new trade

Parameters:

Name Type Description Default
last_trade float

The price of the last trade

required
trade_size float

The quantity traded

required

__iter__

__iter__() -> Iterator[BaseData]

add_range

add_range(new_data_points: List[BaseData]) -> None

Adds a new data points to this collection

Parameters:

Name Type Description Default
new_data_points List[BaseData]

The new data points to add

required

get_enumerator

get_enumerator() -> IEnumerator[BaseData]

Returns an IEnumerator for this enumerable Object. The enumerator provides a simple way to access all the contents of a collection.

universe_symbol

universe_symbol(market: str = None) -> Symbol

Creates the universe symbol for the target market

Returns:

Type Description
Symbol

The universe symbol to use.

get_universe_full_file_path

get_universe_full_file_path(
    symbol: Symbol, date: datetime
) -> str

Generates the file path for a universe data file based on the given symbol and date. Optionally, creates the directory if it does not exist.

Parameters:

Name Type Description Default
symbol Symbol

The financial symbol for which the universe file is generated.

required
date datetime

The date associated with the universe file.

required

Returns:

Type Description
str

The full file path to the universe data file.

to_symbol

to_symbol() -> Symbol

Gets the symbol of the option