Skip to content

FactorsUniverse

QuantConnect.DataSource.FactorsUniverse

FactorsUniverse(
    time: Union[datetime, date],
    symbol: Union[Symbol, str, BaseContract, Security],
    data: List[BaseData] = None,
)
FactorsUniverse(
    time: Union[datetime, date],
    end_time: Union[datetime, date],
    symbol: Union[Symbol, str, BaseContract, Security],
    data: List[BaseData] = None,
    underlying: BaseData = None,
    filtered_contracts: HashSet[Symbol] = None,
)
FactorsUniverse(
    time: Union[datetime, date],
    end_time: Union[datetime, date],
    symbol: Union[Symbol, str, BaseContract, Security],
    data: List[BaseData],
    underlying: BaseData,
    filtered_contracts: HashSet[Symbol],
)
FactorsUniverse(
    time: Union[datetime, date],
    end_time: Union[datetime, date],
    symbol: Union[Symbol, str, BaseContract, Security],
    underlying: BaseData,
    filtered_contracts: HashSet[Symbol],
)
FactorsUniverse()
FactorsUniverse(other: BaseDataCollection)

Bases: BaseDataCollection

Universe selection data for the precomputed factors: the collection LEAN delivers to the selection function holds one Factors row per US Equity with the security's most recent factor values, plus one row carrying the unlinked factors (check Factors.is_unlinked), so a selection function can filter and rank the whole universe with both per-security and market-wide context.

Signature descriptions:

  • Initializes a new instance of the BaseDataCollection class

  • Helper method to create an instance without setting the data list

  • Initializes a new default instance of the BaseDataCollection c;ass

  • Copy constructor for BaseDataCollection

Parameters:

Name Type Description Default
time Optional[Union[datetime, date]]

The time of this data

None
symbol Optional[Union[Symbol, str, BaseContract, Security]]

A common identifier for all data in this packet

None
data Optional[List[BaseData]]

The data to add to this collection

None
end_time Optional[Union[datetime, date]]

The end time of this data

None
underlying Optional[BaseData]

The associated underlying price data if any

None
filtered_contracts Optional[HashSet[Symbol]]

The contracts selected by the universe

None
other Optional[BaseDataCollection]

The base data collection being copied

None

COLUMN_FACTOR_NAMES

COLUMN_FACTOR_NAMES: List[str] = ...

Column order of the universe files after the identifier column: the per-Equity factors followed by the unlinked factors, fixed by the dataset specification so rows parse without header state

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

Gets or sets the end time of this data

value

value: float

Value representation of this data packet. All data requires a representative value for this moment in time. For streams of data this is the price now, for OHLC packets this is the closing price.

price

price: float

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

ALL_RESOLUTIONS

ALL_RESOLUTIONS: List[Resolution] = ...

A list of all Resolution

This Field is protected.

DAILY_RESOLUTION

DAILY_RESOLUTION: List[Resolution] = ...

A list of Resolution.DAILY

This Field is protected.

MINUTE_RESOLUTION

MINUTE_RESOLUTION: List[Resolution] = ...

A list of Resolution.MINUTE

This Field is protected.

HIGH_RESOLUTION

HIGH_RESOLUTION: List[Resolution] = ...

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

This Field is protected.

OPTION_RESOLUTIONS

OPTION_RESOLUTIONS: List[Resolution] = ...

A list of resolutions support by Options

This Field 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

clone

clone() -> BaseData

Clones this instance

data_time_zone

data_time_zone() -> Any

Specifies the data time zone for this data type. Universe rows derive from factor timestamps already converted to New York time.

Returns:

Type Description
Any

The NodaTime.DateTimeZone of this data type.

default_resolution

default_resolution() -> Resolution

Gets the default resolution for this data and security type

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 whether the data is sparse. If true, we disable logging for missing files

Returns:

Type Description
bool

true.

reader

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

Parses the data from the line provided and loads it into LEAN. CSV format: an identifier column (a security identifier, or Factors.UNLINKED for the unlinked row), then one column per factor in COLUMN_FACTOR_NAMES order.

Parameters:

Name Type Description Default
config SubscriptionDataConfig

Subscription configuration

required
line str

Line of data

required
date datetime

Date

required
is_live_mode bool

Is live mode

required

Returns:

Type Description
BaseData

New instance, or null for the header line.

supported_resolutions

supported_resolutions() -> List[Resolution]

Gets the supported resolution for this data and security type

requires_mapping

requires_mapping() -> bool

Indicates if there is support for mapping

Returns:

Type Description
bool

True indicates mapping should be used.

deserialize_message

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

Deserialize the message from the data server

Parameters:

Name Type Description Default
serialized str

The data server's message

required

Returns:

Type Description
Sequence[BaseData]

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

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.

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

add(new_data_point: BaseData) -> None

Adds a new data point to this collection

Parameters:

Name Type Description Default
new_data_point BaseData

The new data point to add

required

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.