check_signals_acc

czsc.check_signals_acc(bars: List[RawBar], signals_config: List[dict], delta_days: int = 5, **kwargs) None[source]

输入基础周期K线和想要验证的信号,输出信号识别结果的快照

函数执行逻辑:

  1. 函数首先获取基础周期K线的base_freq,并检查输入的K线数据bars是否按时间升序排列。如果bars的长度小于600,函数直接返回。

  2. 然后,函数调用generate_czsc_signals方法,生成Czsc信号,并将结果保存在df中。

  3. 函数提取出df中所有的信号列s_cols,并打印每一列的值的数量。然后,函数将所有的信号添加到signals列表中。

  4. 函数将bars分为两部分,bars_left和bars_right,并获取信号配置signals_config中的所有freqs。

  5. 函数创建一个BarGenerator对象bg,并使用bars_left中的K线数据来初始化它。

  6. 函数创建一个CzscSignals对象ct,并将bg和信号配置signals_config作为参数传入。

  7. 函数创建一个字典last_dt,用于存储每一个信号最后一次出现的时间。

  8. 函数遍历bars_right中的每一根K线,对于每一根K线,函数调用ct.update_signals(bar)来更新信号。

  9. 对于每一个信号,如果当前K线的时间与该信号最后一次出现的时间的差值大于delta_days,并且该信号与当前的信号匹配, 函数将创建一个HTML文件,保存信号识别结果的快照,并更新该信号最后一次出现的时间。

Parameters:
  • bars – 原始K线

  • signals_config – 需要验证的信号列表

  • delta_days – 两次相同信号之间的间隔天数

Returns:

None