Skip to content

CompositeAlphaModel

QuantConnect.Algorithm.Framework.Alphas.CompositeAlphaModel

CompositeAlphaModel(
    *alpha_models: Union[IAlphaModel, Iterable[IAlphaModel]]
)
CompositeAlphaModel(
    *alpha_models: Union[Any, Iterable[Any]]
)

Bases: AlphaModel

Provides an implementation of IAlphaModel that combines multiple alpha models into a single alpha model and properly sets each insights 'SourceModel' property.

Initializes a new instance of the CompositeAlphaModel class

Parameters:

Name Type Description Default
alpha_models Union[IAlphaModel, Iterable[IAlphaModel]] | Union[Any, Iterable[Any]]

The individual alpha models defining this composite model

()

name

name: str

Defines a name for a framework model

instance

instance: Any

Gets the underlying python instance

This codeEntityType is protected.

PythonRuntimeChecker

Bases: Object

Set of helper methods to invoke Python methods with runtime checks for return values and out parameter's conversions.

add_alpha

add_alpha(py_alpha_model: Any) -> None
add_alpha(alpha_model: IAlphaModel) -> None

Adds a new AlphaModel

Parameters:

Name Type Description Default
py_alpha_model Optional[Any]

The alpha model to add

None
alpha_model Optional[IAlphaModel]

The alpha model to add

None

on_securities_changed

on_securities_changed(
    algorithm: QCAlgorithm, changes: SecurityChanges
) -> None

Event fired each time the we add/remove securities from the data feed. This method patches this call through the each of the wrapped models.

Parameters:

Name Type Description Default
algorithm QCAlgorithm

The algorithm instance that experienced the change in securities

required
changes SecurityChanges

The security additions and removals from the algorithm

required

update

update(
    algorithm: QCAlgorithm, data: Slice
) -> Iterable[Insight]

Updates this alpha model with the latest data from the algorithm. This is called each time the algorithm receives data for subscribed securities. This method patches this call through the each of the wrapped models.

Parameters:

Name Type Description Default
algorithm QCAlgorithm

The algorithm instance

required
data Slice

The new data available

required

Returns:

Type Description
Iterable[Insight]

The new insights generated.

equals

equals(obj: Any) -> bool
equals(
    other: BasePythonWrapper[
        QuantConnect_Python_BasePythonWrapper_TInterface
    ],
) -> bool

Signature descriptions:

  • Determines whether the specified object is an instance of BasePythonWrapper{TInterface} and wraps the same Python object reference as this instance, which would indicate that they are equal.

  • Determines whether the specified instance wraps the same Python object reference as this instance, which would indicate that they are equal.

Parameters:

Name Type Description Default
obj Optional[Any]

The other object to compare this with

None
other Optional[BasePythonWrapper[QuantConnect_Python_BasePythonWrapper_TInterface]]

The other object to compare this with

None

Returns:

Type Description
bool

True if both instances are equal, that is if both wrap the same Python object reference.

set_python_instance

set_python_instance(instance: Any) -> None
set_python_instance(
    instance: Any, validate_interface: bool
) -> None

Signature descriptions:

  • Sets the python instance

  • Sets the python instance and sets the validate interface flag

Parameters:

Name Type Description Default
instance Any

The underlying python instance

required
validate_interface Optional[bool]

Whether to perform validations for interface implementation

None

dispose

dispose() -> None

Dispose of this instance

get_event

get_event(name: str) -> Any

Gets the Python instance event with the specified name

Parameters:

Name Type Description Default
name str

The name of the event

required

get_hash_code

get_hash_code() -> int

Gets the hash code for the current instance

Returns:

Type Description
int

The hash code of the current instance.

get_method

get_method(
    method_name: str, python_only: bool = False
) -> Any

Gets the Python instances method with the specified name and caches it

Parameters:

Name Type Description Default
method_name str

The name of the method

required
python_only bool

Whether to only return python methods

False

Returns:

Type Description
Any

The matched method.

get_property

get_property(property_name: str) -> Any

Gets the Python instance property with the specified name

Parameters:

Name Type Description Default
property_name str

The name of the property

required

has_attr

has_attr(name: str) -> bool

Determines whether the Python instance has the specified attribute

Parameters:

Name Type Description Default
name str

The attribute name

required

Returns:

Type Description
bool

Whether the Python instance has the specified attribute.

invoke_method

invoke_method(
    method_name: str, *args: Union[Object, Iterable[Object]]
) -> Any

Invokes the specified method with the specified arguments

Parameters:

Name Type Description Default
method_name str

The name of the method

required
args Union[Object, Iterable[Object]]

The arguments to call the method with

()

invoke_void_method

invoke_void_method(
    method_name: str, *args: Union[Object, Iterable[Object]]
) -> None

Invokes the specified method with the specified arguments without returning a value

Parameters:

Name Type Description Default
method_name str

The name of the method

required
args Union[Object, Iterable[Object]]

The arguments to call the method with

()

set_property

set_property(property_name: str, value: Any) -> None

Sets the Python instance property with the specified name

Parameters:

Name Type Description Default
property_name str

The name of the property

required
value Any

The property value

required