Accumulator

class zvt.contract.factor.Accumulator(acc_window: int = 1)

Bases: zvt.contract.factor.Indicator

__init__(acc_window: int = 1) None
Parameters

acc_window – the window size of acc for computing,default is 1

acc(input_df: pandas.core.frame.DataFrame, acc_df: pandas.core.frame.DataFrame, states: dict) -> (<class 'pandas.core.frame.DataFrame'>, <class 'dict'>)
Parameters
  • input_df – new input

  • acc_df – previous result

  • states – current states of the entity

Returns

new result and states

acc_one(entity_id, df: pandas.core.frame.DataFrame, acc_df: pandas.core.frame.DataFrame, state: dict) -> (<class 'pandas.core.frame.DataFrame'>, <class 'dict'>)

df format:

             col1    col2    col3    ...
timestamp
             1.2     0.5     0.3     ...
             1.0     0.7     0.2     ...

the new result and state

Parameters
  • df – current input df

  • entity_id – current computing entity_id

  • acc_df – current result of the entity_id

  • state – current state of the entity_id

Returns

new result and state of the entity_id