CzscStrategyBase

class czsc.CzscStrategyBase(**kwargs)[source]

Bases: ABC

择时交易策略的要素:

  1. 交易品种以及该品种对应的参数

  2. K线周期列表

  3. 交易信号参数配置

  4. 持仓策略列表

Attributes Summary

base_freq

基础 K 线周期

freqs

K线周期列表

signals_config

交易信号参数配置

sorted_freqs

排好序的 K 线周期列表

symbol

交易标的

unique_signals

所有持仓策略中的交易信号列表

Methods Summary

backtest(bars, **kwargs)

check(bars, res_path, **kwargs)

检查交易策略中的信号是否正确

dummy(sigs, **kwargs)

使用信号缓存进行策略回测

init_bar_generator(bars, **kwargs)

使用策略定义初始化一个 BarGenerator 对象

init_trader(bars, **kwargs)

使用策略定义初始化一个 CzscTrader 对象

load_positions(files[, check])

从配置文件中加载持仓策略

positions()

持仓策略列表

replay(bars, res_path, **kwargs)

交易策略交易过程回放

save_positions(path)

保存持仓策略配置

Attributes Documentation

base_freq

基础 K 线周期

freqs

K线周期列表

signals_config

交易信号参数配置

sorted_freqs

排好序的 K 线周期列表

symbol

交易标的

unique_signals

所有持仓策略中的交易信号列表

Methods Documentation

backtest(bars: List[RawBar], **kwargs) CzscTrader[source]
check(bars: List[RawBar], res_path, **kwargs)[source]

检查交易策略中的信号是否正确

Parameters:
  • bars – 基础周期K线

  • res_path – 结果目录

  • kwargs – bg 已经初始化好的BarGenerator对象,如果传入了bg,则忽略sdt和n参数 sdt 初始化开始日期 n 初始化最小K线数量

Returns:

dummy(sigs: List[dict], **kwargs) CzscTrader[source]

使用信号缓存进行策略回测

Parameters:

sigs – 信号缓存,一般指 generate_czsc_signals 函数计算的结果缓存

Returns:

完成策略回测后的 CzscTrader 对象

init_bar_generator(bars: List[RawBar], **kwargs)[source]

使用策略定义初始化一个 BarGenerator 对象

Parameters:
  • bars – 基础周期K线

  • kwargs – bg 已经初始化好的BarGenerator对象,如果传入了bg,则忽略sdt和n参数 sdt 初始化开始日期 n 初始化最小K线数量

Returns:

init_trader(bars: List[RawBar], **kwargs) CzscTrader[source]

使用策略定义初始化一个 CzscTrader 对象

注意: 这里会将所有持仓策略在 sdt 之后的交易信号计算出来并缓存在持仓策略实例内部,所以初始化的过程本身也是回测的过程。

Parameters:
  • bars – 基础周期K线

  • kwargs – bg 已经初始化好的BarGenerator对象,如果传入了bg,则忽略sdt和n参数 sdt 初始化开始日期 n 初始化最小K线数量

Returns:

完成策略初始化后的 CzscTrader 对象

load_positions(files: List, check=True) List[Position][source]

从配置文件中加载持仓策略

Parameters:
  • files – 以json格式保存的持仓策略文件列表

  • check – 是否校验 MD5 值,默认为 True

Returns:

持仓策略列表

abstract positions() List[Position][source]

持仓策略列表

replay(bars: List[RawBar], res_path, **kwargs)[source]

交易策略交易过程回放

Parameters:
  • bars – 基础周期K线

  • res_path – 结果目录

  • kwargs – bg 已经初始化好的BarGenerator对象,如果传入了bg,则忽略sdt和n参数 sdt 初始化开始日期 n 初始化最小K线数量

Returns:

save_positions(path)[source]

保存持仓策略配置

Parameters:

path – 结果路径

Returns:

None