Skip to content

BaseFutureFilterUniverse

QuantConnect.Securities.BaseFutureFilterUniverse

BaseFutureFilterUniverse(
    all_data: Sequence[
        QuantConnect_Securities_BaseFutureFilterUniverse_TData
    ],
    local_time: Union[datetime, date],
)

Bases: Generic[QuantConnect_Securities_BaseFutureFilterUniverse_TUniverse, QuantConnect_Securities_BaseFutureFilterUniverse_TData], ContractSecurityFilterUniverse[QuantConnect_Securities_BaseFutureFilterUniverse_TUniverse, QuantConnect_Securities_BaseFutureFilterUniverse_TData], IFutureContractFilters[QuantConnect_Securities_BaseFutureFilterUniverse_TUniverse]

Base future contracts filter, shared by the futures universe selection filter (FutureFilterUniverse) and the futures chain filters (Data.Market.FuturesChain) so both offer the same filters with the same semantics

Constructs BaseFutureFilterUniverse

This Class is protected.

Parameters:

Name Type Description Default
all_data Sequence[QuantConnect_Securities_BaseFutureFilterUniverse_TData]

All data for the future contracts

required
local_time Union[datetime, date]

The current local time

required

count

count: int

The number of contracts in the universe

DEFAULT_EXPIRATION_TYPE

DEFAULT_EXPIRATION_TYPE: ContractExpirationType = ...

The default expiration type filter value

This Field is protected.

type

Expiration Types allowed through the filter Standards only by default

This Property is protected.

local_time

local_time: datetime

The local exchange current time

ContractExpirationType

Bases: IntEnum

Defines listed contract types with Flags attribute

This Class is protected.

STANDARD

STANDARD = 1

Standard contracts

WEEKLY

WEEKLY = 2

Non standard weekly contracts

contract_months

contract_months(
    months: List[int],
) -> QuantConnect_Securities_BaseFutureFilterUniverse_TUniverse

Selects the contracts whose contract month is any of the given months of the year, see FutureExpirationCycles. Like expiration_cycle but by the contract month, the month the contract is named after, which for some products, e.g. crude oil, is the month after the expiration month, see FuturesExpiryUtilityFunctions.GetFutureContractMonth

Parameters:

Name Type Description Default
months List[int]

Months of the year to select contracts from

required

Returns:

Type Description
QuantConnect_Securities_BaseFutureFilterUniverse_TUniverse

Universe with filter applied.

expiration_cycle

expiration_cycle(
    months: List[int],
) -> QuantConnect_Securities_BaseFutureFilterUniverse_TUniverse

Applies filter selecting futures contracts based on expiration cycles. See FutureExpirationCycles for details

Parameters:

Name Type Description Default
months List[int]

Months to select contracts from

required

Returns:

Type Description
QuantConnect_Securities_BaseFutureFilterUniverse_TUniverse

Universe with filter applied.

is_standard

is_standard(
    symbol: Union[Symbol, str, BaseContract, Security],
) -> bool

Determine if the given Future contract symbol is standard

This Class is protected.

Returns:

Type Description
bool

True if contract is standard.

expiration

expiration(
    min_expiry: timedelta, max_expiry: timedelta
) -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)
expiration(
    min_expiry_days: int, max_expiry_days: int
) -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)
expiration(
    expiries: List[datetime],
) -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Signature descriptions:

  • Applies filter selecting options contracts based on a range of expiration dates relative to the current day

  • Applies filter selecting contracts based on a range of expiration dates relative to the current day

  • Applies filter selecting the contracts expiring on any of the given dates. Time of day is ignored

Parameters:

Name Type Description Default
min_expiry Optional[timedelta]

The minimum time until expiry to include, for example, TimeSpan.FromDays(10)

None
max_expiry Optional[timedelta]

The maximum time until expiry to include, for example, TimeSpan.FromDays(10)

None
min_expiry_days Optional[int]

The minimum time, expressed in days, until expiry to include, for example, 10

None
max_expiry_days Optional[int]

The maximum time, expressed in days, until expiry to include, for example, 10

None
expiries Optional[List[datetime]]

The expiration dates

None

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

back_month

back_month() -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Returns first of back month contracts

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

back_months

back_months() -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Returns a list of back month contracts

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

expiring_after

expiring_after(
    date: Union[datetime, date],
) -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Applies filter selecting the contracts expiring after the given date, excluding it. Time of day is ignored

Parameters:

Name Type Description Default
date Union[datetime, date]

The date the expirations must be after

required

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

expiring_before

expiring_before(
    date: Union[datetime, date],
) -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Applies filter selecting the contracts expiring before the given date, excluding it. Time of day is ignored

Parameters:

Name Type Description Default
date Union[datetime, date]

The date the expirations must be before

required

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

farthest_expiration

farthest_expiration() -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Returns the contracts of the farthest expiration

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

front_month

front_month() -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Returns front month contract

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

oi

oi(
    min: int, max: int
) -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Applies filter selecting the contracts with open interest between the given range. Alias for open_interest

Parameters:

Name Type Description Default
min int

The minimum open interest value

required
max int

The maximum open interest value

required

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

open_interest

open_interest(
    min: int, max: int
) -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Applies filter selecting the contracts with open interest between the given range

Parameters:

Name Type Description Default
min int

The minimum open interest value

required
max int

The maximum open interest value

required

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

standards_only

standards_only() -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Sets universe of standard contracts (if any) as selection Contracts by default are standards; only needed to switch back if changed

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

volume

volume(
    min: int, max: int
) -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Applies filter selecting the contracts with volume between the given range

Parameters:

Name Type Description Default
min int

The minimum volume

required
max int

The maximum volume

required

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

weeklys_only

weeklys_only() -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Sets universe of weeklys contracts (if any) as selection

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

zero_dte

zero_dte() -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Applies filter selecting the contracts expiring today

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

__len__

__len__() -> int

contracts

contracts(
    contracts: Any,
) -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)
contracts(
    contracts: List[Symbol],
) -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)
contracts(
    contracts: List[
        QuantConnect_Securities_ContractSecurityFilterUniverse_TData
    ],
) -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)
contracts(
    contract_selector: Callable[
        [
            List[
                QuantConnect_Securities_ContractSecurityFilterUniverse_TData
            ]
        ],
        List[Symbol],
    ],
) -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)
contracts(
    contract_selector: Callable[
        [
            List[
                QuantConnect_Securities_ContractSecurityFilterUniverse_TData
            ]
        ],
        List[
            QuantConnect_Securities_ContractSecurityFilterUniverse_TData
        ],
    ],
) -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Signature descriptions:

  • Explicitly sets the selected contract symbols for this universe. This overrides and and all other methods of selecting symbols assuming it is called last.

  • Sets a function used to filter the set of available contract filters. The input to the 'contract_selector' function will be the already filtered list if any other filters have already been applied.

Parameters:

Name Type Description Default
contracts Optional[Any | List[Symbol] | List[QuantConnect_Securities_ContractSecurityFilterUniverse_TData]]

The option contract symbol objects to select

None
contract_selector Optional[Callable[[List[QuantConnect_Securities_ContractSecurityFilterUniverse_TData]], List[Symbol]] | Callable[[List[QuantConnect_Securities_ContractSecurityFilterUniverse_TData]], List[QuantConnect_Securities_ContractSecurityFilterUniverse_TData]]]

The option contract symbol objects to select

None

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

__iter__

__iter__() -> (
    Iterator[
        QuantConnect_Securities_ContractSecurityFilterUniverse_TData
    ]
)

adjust_expiration_reference_date

adjust_expiration_reference_date(
    reference_date: Union[datetime, date],
) -> datetime

Adjust the reference date used for expiration filtering. By default it just returns the same date.

This Class is protected.

Parameters:

Name Type Description Default
reference_date Union[datetime, date]

The reference date to be adjusted

required

Returns:

Type Description
datetime

The adjusted date.

create_data_instance

create_data_instance(
    symbol: Union[Symbol, str, BaseContract, Security],
) -> QuantConnect_Securities_ContractSecurityFilterUniverse_TData

Creates a new instance of the data type for the given symbol

This Class is protected.

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_TData

A data instance for the given symbol.

get_enumerator

get_enumerator() -> (
    IEnumerator[
        QuantConnect_Securities_ContractSecurityFilterUniverse_TData
    ]
)

IEnumerable interface method implementation

Returns:

Type Description
IEnumerator[QuantConnect_Securities_ContractSecurityFilterUniverse_TData]

IEnumerator of Symbols in Universe.

get_last_trading_date

get_last_trading_date(
    contract: QuantConnect_Securities_ContractSecurityFilterUniverse_TData,
) -> datetime

Gets the date the given contract stops trading, used by the expiration filters. Defaults to the contract expiration date

This Class is protected.

Parameters:

Name Type Description Default
contract QuantConnect_Securities_ContractSecurityFilterUniverse_TData

The contract

required

Returns:

Type Description
datetime

The contract's last trading date.

get_open_interest

get_open_interest(
    contract: QuantConnect_Securities_ContractSecurityFilterUniverse_TData,
) -> float

Gets the open interest of the given contract

This Class is protected.

get_volume

get_volume(
    contract: QuantConnect_Securities_ContractSecurityFilterUniverse_TData,
) -> float

Gets the volume of the given contract

This Class is protected.

include_weeklys

include_weeklys() -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Includes universe of non-standard weeklys contracts (if any) into selection

IncludeWeeklys is obsolete because weekly contracts are now included by default.

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

in_range

in_range(
    selector: Callable[
        [
            QuantConnect_Securities_ContractSecurityFilterUniverse_TData
        ],
        float,
    ],
    min: float,
    max: float,
) -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Selects the contracts whose value, given by the selector, is within the given range. The selector runs once per contract

This Class is protected.

Parameters:

Name Type Description Default
selector Callable[[QuantConnect_Securities_ContractSecurityFilterUniverse_TData], float]

Gets the value of a contract

required
min float

The minimum value

required
max float

The maximum value

required

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

only_apply_filter_at_market_open

only_apply_filter_at_market_open() -> (
    QuantConnect_Securities_ContractSecurityFilterUniverse_T
)

Instructs the engine to only filter contracts on the first time step of each market day.

Deprecated as of 2023-12-13. Filters are always non-dynamic as of now, which means they will only bee applied daily.

Returns:

Type Description
QuantConnect_Securities_ContractSecurityFilterUniverse_T

Universe with filter applied.

refresh

refresh(
    all_data: Sequence[
        QuantConnect_Securities_ContractSecurityFilterUniverse_TData
    ],
    local_time: Union[datetime, date],
) -> None

Refreshes this filter universe

Parameters:

Name Type Description Default
all_data Sequence[QuantConnect_Securities_ContractSecurityFilterUniverse_TData]

All data for contracts in the Universe

required
local_time Union[datetime, date]

The local exchange current time

required