Skip to content

MacdAlphaModel

QuantConnect.Algorithm.Framework.Alphas.MacdAlphaModel

MacdAlphaModel(
    fast_period: int = 12,
    slow_period: int = 26,
    signal_period: int = 9,
    moving_average_type: MovingAverageType = ...,
    resolution: Resolution = ...,
)

Bases: AlphaModel

Defines a custom alpha model that uses MACD crossovers. The MACD signal line is used to generate up/down insights if it's stronger than the bounce threshold. If the MACD signal is within the bounce threshold then a flat price insight is returned.

Initializes a new instance of the MacdAlphaModel class

Parameters:

Name Type Description Default
fast_period int

The MACD fast period

12
slow_period int

The MACD slow period

26
signal_period int

The smoothing period for the MACD signal

9
moving_average_type MovingAverageType

The type of moving average to use in the MACD

...
resolution Resolution

The resolution of data sent into the MACD indicator

...

name

name: str

Defines a name for a framework model

instance

instance: Any

Gets the underlying python instance

This codeEntityType is protected.

SymbolData

SymbolData(
    algorithm: QCAlgorithm,
    security: Security,
    fast_period: int,
    slow_period: int,
    signal_period: int,
    moving_average_type: MovingAverageType,
    resolution: Resolution,
)

Bases: Object

Class representing basic data of a symbol

Initializes an instance of the SymbolData class with the given arguments

previous_direction

previous_direction: Optional[InsightDirection]

Previous direction property

security

security: Security

Security of the Symbol Data

consolidator

consolidator: IDataConsolidator

Consolidator property

macd

Moving Average Convergence Divergence indicator

PythonRuntimeChecker

Bases: Object

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

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 initializes the MACD for each added security and cleans up the indicator for each removed security.

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]

Determines an insight for each security based on it's current MACD signal

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