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 Property is protected.

PythonRuntimeChecker

Bases: Object

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

invoke_method

invoke_method: PythonRuntimeChecker_InvokeMethod

invoke_method_and_enumerate

invoke_method_and_enumerate: (
    PythonRuntimeChecker_InvokeMethodAndEnumerate
)

invoke_method_and_get_dictionary

invoke_method_and_get_dictionary: (
    PythonRuntimeChecker_InvokeMethodAndGetDictionary
)

invoke_method_and_wrap_result

invoke_method_and_wrap_result: (
    PythonRuntimeChecker_InvokeMethodAndWrapResult
)

invoke_method_and_get_out_parameters

invoke_method_and_get_out_parameters: (
    PythonRuntimeChecker_InvokeMethodAndGetOutParameters
)

convert

convert: PythonRuntimeChecker_Convert

convert_and_dispose

convert_and_dispose: PythonRuntimeChecker_ConvertAndDispose

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
) -> Sequence[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
Sequence[Insight]

The new insights generated.

equals

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

Signature descriptions:

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

  • 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.

Parameters:

Name Type Description Default
other Optional[BasePythonWrapper[QuantConnect_Python_BasePythonWrapper_TInterface]]

The other object to compare this with

None
obj Optional[Any]

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.

get_property

get_property(property_name: str) -> Any
get_property(
    property_name: str,
) -> QuantConnect_Python_BasePythonWrapper_GetProperty_T

Gets the Python instance property with the specified name

Parameters:

Name Type Description Default
property_name str

The name of the property

required

invoke_method

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

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

()

Returns:

Type Description
Any | QuantConnect_Python_BasePythonWrapper_InvokeMethod_T

The returned valued converted to the given type.

invoke_method_and_enumerate

invoke_method_and_enumerate(
    method_name: str, *args: Union[Object, Iterable[Object]]
) -> Sequence[
    QuantConnect_Python_BasePythonWrapper_InvokeMethodAndEnumerate_T
]

Invokes the specified method with the specified arguments and iterates over the returned values

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

()

Returns:

Type Description
Sequence[QuantConnect_Python_BasePythonWrapper_InvokeMethodAndEnumerate_T]

The returned valued converted to the given type.

invoke_method_and_get_dictionary

invoke_method_and_get_dictionary(
    method_name: str, *args: Union[Object, Iterable[Object]]
) -> Dictionary[
    QuantConnect_Python_BasePythonWrapper_InvokeMethodAndGetDictionary_TKey,
    QuantConnect_Python_BasePythonWrapper_InvokeMethodAndGetDictionary_TValue,
]

Invokes the specified method with the specified arguments and iterates over the returned values

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

()

Returns:

Type Description
Dictionary[QuantConnect_Python_BasePythonWrapper_InvokeMethodAndGetDictionary_TKey, QuantConnect_Python_BasePythonWrapper_InvokeMethodAndGetDictionary_TValue]

The returned valued converted to the given type.

invoke_method_and_wrap_result

invoke_method_and_wrap_result(
    method_name: str,
    wrap_result: Callable[
        [Any],
        QuantConnect_Python_BasePythonWrapper_InvokeMethodAndWrapResult_T,
    ],
    *args: Union[Object, Iterable[Object]]
) -> QuantConnect_Python_BasePythonWrapper_InvokeMethodAndWrapResult_T

Invokes the specified method with the specified arguments and wraps the result by calling the given function if the result is not a C# object

Parameters:

Name Type Description Default
method_name str

The name of the method

required
wrap_result Callable[[Any], QuantConnect_Python_BasePythonWrapper_InvokeMethodAndWrapResult_T]

Method that wraps a Python object in the corresponding Python Wrapper

required
args Union[Object, Iterable[Object]]

The arguments to call the method with

()

Returns:

Type Description
QuantConnect_Python_BasePythonWrapper_InvokeMethodAndWrapResult_T

The returned value wrapped using the given method if the result is not a C# object.

invoke_method_with_out_parameters

invoke_method_with_out_parameters(
    method_name: str,
    out_parameters_types: List[Type],
    out_parameters: Optional[List[Object]],
    *args: Union[Object, Iterable[Object]]
) -> Tuple[
    QuantConnect_Python_BasePythonWrapper_InvokeMethodWithOutParameters_T,
    List[Object],
]

Invokes the specified method with the specified arguments and out parameters

Parameters:

Name Type Description Default
method_name str

The name of the method

required
out_parameters_types List[Type]

The types of the out parameters

required
out_parameters Optional[List[Object]]

The out parameters values

required
args Union[Object, Iterable[Object]]

The arguments to call the method with

()

Returns:

Type Description
Tuple[QuantConnect_Python_BasePythonWrapper_InvokeMethodWithOutParameters_T, List[Object]]

The returned valued converted to the given type.

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

try_invoke_python_override

try_invoke_python_override(
    method_name: str,
    result: Optional[
        QuantConnect_Python_BasePythonWrapper_TryInvokePythonOverride_T
    ],
    *args: Union[Object, Iterable[Object]]
) -> Tuple[
    bool,
    QuantConnect_Python_BasePythonWrapper_TryInvokePythonOverride_T,
]

Attempts to invoke the method if it has been overridden in Python.

Parameters:

Name Type Description Default
method_name str

The name of the method to call on the Python instance.

required
result Optional[QuantConnect_Python_BasePythonWrapper_TryInvokePythonOverride_T]

When this method returns, contains the method result if the call succeeded.

required
args Union[Object, Iterable[Object]]

The arguments to pass to the Python method.

()

Returns:

Type Description
Tuple[bool, QuantConnect_Python_BasePythonWrapper_TryInvokePythonOverride_T]

true if the Python method was successfully invoked, otherwise, false.

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.

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_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