使用配置文件运行策略
在每次运行策略时,有一些参数是固定不变的,我们可以将不经常改变的参数写入配置文件。
RQAlpha 在运行策略时候会在当前目录下寻找 config.yml 或者 config.json 文件作为用户配置文件来读取。
创建 config.yml 配置文件
注解
我们假设在当前目录下存在 buy_and_hold.py 策略文件
- # config.yml
- base:
- # 启动的策略文件路径
- strategy_file: .buy_and_hold.py
- # 回测起始日期
- start_date: 2015-06-01
- # 回测结束日期(如果是实盘,则忽略该配置)
- end_date: 2050-01-01
- # 目前支持 `1d` (日线回测) 和 `1m` (分钟线回测),如果要进行分钟线,请注意是否拥有对应的数据源,目前开源版本是不提供对应的数据源的。
- frequency: 1d
- # Benchmark,如果不设置,默认没有基准参照。
- benchmark: ~
- accounts:
- # 设置 股票为交易品种 初始资金为 100000 元
- stock: 100000
- extra:
- # 开启日志输出
- log_level: verbose
- mod:
- sys_analyser:
- enabled: true
- # 开启 plot 功能
- plot: true
当创建好 config.yml 文件后,执行 $ rqalpha run
即可运行策略。
创建默认配置文件模板
您可以通过该命令在当前目录下创建一份包含了 RQAlpha 基础配置项的全部参数默认值的模板文件。
- $ rqalpha generate-config
- # see more config
- # http://rqalpha.readthedocs.io/zh_CN/stable/intro/run_algorithm.html
- version: 0.1.6
- # 白名单,设置可以直接在策略代码中指定哪些模块的配置项目
- whitelist: [base, extra, validator, mod]
- base:
- # 数据源所存储的文件路径
- data_bundle_path: ~
- # 启动的策略文件路径
- strategy_file: strategy.py
- # 策略源代码
- source_code: ~
- # 回测起始日期
- start_date: 2015-06-01
- # 回测结束日期(如果是实盘,则忽略该配置)
- end_date: 2050-01-01
- # 设置保证金乘数,默认为1
- margin_multiplier: 1
- # 运行类型,`b` 为回测,`p` 为模拟交易, `r` 为实盘交易。
- run_type: b
- # 目前支持 `1d` (日线回测) 和 `1m` (分钟线回测),如果要进行分钟线,请注意是否拥有对应的数据源,目前开源版本是不提供对应的数据源的。
- frequency: 1d
- # Benchmark,如果不设置,默认没有基准参照。
- benchmark: ~
- # 在模拟交易和实盘交易中,RQAlpha支持策略的pause && resume,该选项表示开启 resume 功能
- resume_mode: false
- # 在模拟交易和实盘交易中,RQAlpha支持策略的pause && resume,该选项表示开启 persist 功能呢,
- # 其会在每个bar结束对进行策略的持仓、账户信息,用户的代码上线文等内容进行持久化
- persist: false
- persist_mode: real_time
- # 设置策略可交易品种,目前支持 `stock` (股票账户)、`future` (期货账户),您也可以自行扩展
- accounts:
- # 如果想设置使用某个账户,只需要增加对应的初始资金即可
- stock: ~
- future: ~
- extra:
- # 选择日志的输出等级,有 `verbose` | `info` | `warning` | `error` 等选项,您可以通过设置 `verbose` 来查看最详细的日志,
- # 或者设置 `error` 只查看错误级别的日志输出
- log_level: info
- user_system_log_disabled: false
- # 通过该参数可以将预定义变量传入 `context` 内。
- context_vars: ~
- # force_run_init_when_pt_resume: 在PT的resume模式时,是否强制执行用户init。主要用于用户改代码。
- force_run_init_when_pt_resume: false
- # enable_profiler: 是否启动性能分析
- enable_profiler: false
- is_hold: false
- locale: zh_Hans_CN
- validator:
- # cash_return_by_stock_delisted: 开启该项,当持仓股票退市时,按照退市价格返还现金
- cash_return_by_stock_delisted: false
- # close_amount: 在执行order_value操作时,进行实际下单数量的校验和scale,默认开启
- close_amount: true
警告
生成的默认配置模板中不包含 Mod 相关的配置信息,每个 Mod 的配置信息请参考 Mod 对应的文档。