使用配置文件运行策略

在每次运行策略时,有一些参数是固定不变的,我们可以将不经常改变的参数写入配置文件。

RQAlpha 在运行策略时候会在当前目录下寻找 config.yml 或者 config.json 文件作为用户配置文件来读取。

创建 config.yml 配置文件

注解

我们假设在当前目录下存在 buy_and_hold.py 策略文件

  1. # config.yml
  2. base:
  3. # 启动的策略文件路径
  4. strategy_file: .buy_and_hold.py
  5. # 回测起始日期
  6. start_date: 2015-06-01
  7. # 回测结束日期(如果是实盘,则忽略该配置)
  8. end_date: 2050-01-01
  9. # 目前支持 `1d` (日线回测) 和 `1m` (分钟线回测),如果要进行分钟线,请注意是否拥有对应的数据源,目前开源版本是不提供对应的数据源的。
  10. frequency: 1d
  11. # Benchmark,如果不设置,默认没有基准参照。
  12. benchmark: ~
  13. accounts:
  14. # 设置 股票为交易品种 初始资金为 100000 元
  15. stock: 100000
  16. extra:
  17. # 开启日志输出
  18. log_level: verbose
  19. mod:
  20. sys_analyser:
  21. enabled: true
  22. # 开启 plot 功能
  23. plot: true

当创建好 config.yml 文件后,执行 $ rqalpha run 即可运行策略。

创建默认配置文件模板

您可以通过该命令在当前目录下创建一份包含了 RQAlpha 基础配置项的全部参数默认值的模板文件。

  1. $ rqalpha generate-config
  1. # see more config
  2. # http://rqalpha.readthedocs.io/zh_CN/stable/intro/run_algorithm.html
  3. version: 0.1.6
  4.  
  5. # 白名单,设置可以直接在策略代码中指定哪些模块的配置项目
  6. whitelist: [base, extra, validator, mod]
  7.  
  8. base:
  9. # 数据源所存储的文件路径
  10. data_bundle_path: ~
  11. # 启动的策略文件路径
  12. strategy_file: strategy.py
  13. # 策略源代码
  14. source_code: ~
  15. # 回测起始日期
  16. start_date: 2015-06-01
  17. # 回测结束日期(如果是实盘,则忽略该配置)
  18. end_date: 2050-01-01
  19. # 设置保证金乘数,默认为1
  20. margin_multiplier: 1
  21. # 运行类型,`b` 为回测,`p` 为模拟交易, `r` 为实盘交易。
  22. run_type: b
  23. # 目前支持 `1d` (日线回测) 和 `1m` (分钟线回测),如果要进行分钟线,请注意是否拥有对应的数据源,目前开源版本是不提供对应的数据源的。
  24. frequency: 1d
  25. # Benchmark,如果不设置,默认没有基准参照。
  26. benchmark: ~
  27. # 在模拟交易和实盘交易中,RQAlpha支持策略的pause && resume,该选项表示开启 resume 功能
  28. resume_mode: false
  29. # 在模拟交易和实盘交易中,RQAlpha支持策略的pause && resume,该选项表示开启 persist 功能呢,
  30. # 其会在每个bar结束对进行策略的持仓、账户信息,用户的代码上线文等内容进行持久化
  31. persist: false
  32. persist_mode: real_time
  33. # 设置策略可交易品种,目前支持 `stock` (股票账户)、`future` (期货账户),您也可以自行扩展
  34. accounts:
  35. # 如果想设置使用某个账户,只需要增加对应的初始资金即可
  36. stock: ~
  37. future: ~
  38.  
  39. extra:
  40. # 选择日志的输出等级,有 `verbose` | `info` | `warning` | `error` 等选项,您可以通过设置 `verbose` 来查看最详细的日志,
  41. # 或者设置 `error` 只查看错误级别的日志输出
  42. log_level: info
  43. user_system_log_disabled: false
  44. # 通过该参数可以将预定义变量传入 `context` 内。
  45. context_vars: ~
  46. # force_run_init_when_pt_resume: 在PT的resume模式时,是否强制执行用户init。主要用于用户改代码。
  47. force_run_init_when_pt_resume: false
  48. # enable_profiler: 是否启动性能分析
  49. enable_profiler: false
  50. is_hold: false
  51. locale: zh_Hans_CN
  52.  
  53. validator:
  54. # cash_return_by_stock_delisted: 开启该项,当持仓股票退市时,按照退市价格返还现金
  55. cash_return_by_stock_delisted: false
  56. # close_amount: 在执行order_value操作时,进行实际下单数量的校验和scale,默认开启
  57. close_amount: true

警告

生成的默认配置模板中不包含 Mod 相关的配置信息,每个 Mod 的配置信息请参考 Mod 对应的文档。