本文通过讲述 [单股票均线策略] 在 Ricequant 量化平台的实现,熟悉平台并快速入门、创建自己的量化策略代码。
难易度:入门级
那么以下我们就先从 [单股票均线策略] 的代码实现及进行日级别回测讲起吧。
1 确定框架:
[单股票均线策略] 的主要策略框架: 5 日均线高于 30 天均线,则全仓买入股票 5 日均线低于 30 天均线,则卖出所持股票
从我们日常交易的角度,一般交易者的行为可以拆分以下两部分:
1 选择标的(初始化):
在交易之前,我们通常会先选定要交易的股票池或者单个股票
2 交易(每天盯盘)
我们会观察该股票的五日均线和 30 日均线,并进行比较
如果该股票的五日均线在 30 天均线以上,则全仓买入股票
如果该股票的五日均线在 30 天均线以下,则全仓卖出(空仓)
那么程序中,我们是怎么做的呢?
先看看 Ricequant 平台中对应的代码框架会是怎么样的吧:
def init(context):
#程序的初始化,预设股票池、设置参数和变量。 只运行一次
def handle(context, bar_dict):
#从回测的开始日期至结束日期,根据选择的频率(日、分钟)循环运行
对照策略思路 及 Ricequant 代码框架,你会发现我们可以很轻松地把 两者结合起来
以上框架也是 Ricequant 平台的最基本也最主要的框架,也就是
- 初始化
- 循环 - 根据选择的频率(日、分钟)循环运行
2 初始化:
选择标的:本策略的交易股票设定为 300059 ”东方财富“。
def init(context):
context.stock = "300059.XSHE" # 存入目标股票 [东方财富 ]
延伸阅读:
1 在 init 中实现程序的初始化,例如存入目标股票池,设置滑点、基准等参数以及设置其它变量。 context 是一个全局的容器,你可以通过它设置任何全局变量并初始化:如 context.stock 将会在后面代码所被调用到。
2 代码中 # 代表注释,作为代码说明,执行时会被跳过而不为程序所运行