ConsolidatorBase
QuantConnect.Data.Consolidators.ConsolidatorBase
ConsolidatorBase()
ConsolidatorBase(window_size: int)
Bases: WindowBase[IBaseData], IDataConsolidator
Provides a base implementation for consolidators, including a built-in rolling window that stores the history of consolidated bars.
Signature descriptions:
-
Initializes a new instance of the WindowBase{T} class.
-
Initializes the rolling window with the given size.
consolidated
consolidated: IBaseData
Gets the most recently consolidated piece of data. This will be null if this consolidator has not produced any data yet.
input_type
input_type: Type
Gets the type consumed by this consolidator
output_type
output_type: Type
Gets the type produced by this consolidator
data_consolidated
data_consolidated: _EventContainer[
Callable[[Object, IBaseData], Any], Any
]
Event handler that fires when a new piece of data is produced. This is the single subscription point, shared by the IDataConsolidator interface and by derived consolidators whose output is a base data bar, so subscribing and unsubscribing always target the same handler list.
DEFAULT_WINDOW_SIZE
DEFAULT_WINDOW_SIZE: int
The default number of values to keep in the rolling window history
window
window: RollingWindow[QuantConnect_Indicators_WindowBase_T]
A rolling window keeping a history of values. The most recent value is at index 0. Uses lazy initialization to support Python subclasses that do not call base constructors.
current
current: QuantConnect_Indicators_WindowBase_T
Gets the most recent value. The protected setter adds the value to the rolling window.
previous
previous: QuantConnect_Indicators_WindowBase_T
Gets the previous value, or default if fewer than two values have been produced.
dispose
dispose() -> None
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
fire_data_consolidated
fire_data_consolidated(consolidated: IBaseData) -> None
Raises the strongly typed DataConsolidated event exposed by derived consolidators that produce a more specific bar type. Invoked after the rolling window is populated and before the shared event so every handler sees the same window. Consolidators whose output is a base data bar do not need to override this, the shared data_consolidated event already carries their bar.
This Class is protected.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
consolidated
|
IBaseData
|
The newly consolidated data |
required |
on_data_consolidated
on_data_consolidated(consolidated: IBaseData) -> None
Event invocator for the DataConsolidated event. Populates the rolling window, raises the strongly typed and interface events, and finally updates the consolidated property.
This Class is protected.
reset
reset() -> None
Resets this consolidator, clearing consolidated data and the rolling window.
scan
scan(current_local_time: Union[datetime, date]) -> None
Scans this consolidator to see if it should emit a bar due to time passing
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
current_local_time
|
Union[datetime, date]
|
The current time in the local time zone (same as BaseData.time) |
required |
update
update(data: IBaseData) -> None
Updates this consolidator with the specified data
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
IBaseData
|
The new data for the consolidator |
required |
__getitem__
__getitem__(i: int) -> QuantConnect_Indicators_WindowBase_T
Indexes the history window, where index 0 is the most recent value.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
i
|
int
|
The index |
required |
Returns:
| Type | Description |
|---|---|
QuantConnect_Indicators_WindowBase_T
|
The ith most recent value. |
__iter__
__iter__() -> (
Iterator[QuantConnect_Indicators_WindowBase_T]
)
get_enumerator
get_enumerator() -> (
IEnumerator[QuantConnect_Indicators_WindowBase_T]
)
Returns an enumerator that iterates through the history window.
reset_window
reset_window() -> None
Resets the rolling window, clearing all stored values.
This Class is protected.