如何在 Ricequant 上实现策略
的有关信息介绍如下:你好!以 [单股票均线策略] 的代码实现为例说一下如何在Ricequant上实现策略吧。
1 确定框架:
[单股票均线策略] 的主要策略框架: 5 日均线高于 30 天均线,则全仓买入股票 5 日均线低于 30 天均线,则卖出所持股票。从我们日常交易的角度,一般交易者的行为可以拆分以下两部分:
1.1 选择标的(初始化):
1.2 交易(每天盯盘)
那么程序中,我们是怎么做的呢?
先看看 Ricequant 平台中对应的代码框架会是怎么样的吧:
对照策略思路 及 Ricequant 代码框架,你会发现我们可以很轻松地把 两者结合起来
以上框架也是 Ricequant 平台的最基本也最主要的框架,也就是初始化循环 - 根据选择的频率(日、分钟)循环运行
2 初始化:
选择标的:本策略的交易股票设定为 300059 ”东方财富“。
延伸阅读:
1 在 init 中实现程序的初始化,例如存入目标股票池,设置滑点、基准等参数以及设置其它变量。 context 是一个全局的容器,你可以通过它设置任何全局变量并初始化:如 context.stock 将会在后面代码所被调用到。
2 代码中 # 代表注释,作为代码说明,执行时会被跳过而不为程序所运行。
3 如何填写股票代码:你会发现策略代码中 股票代码后带有后缀,那么它们分别代表什么呢?
后缀为
XSHE 代表在深交所上市交易的股票
XSHG 在上交所上市交易的股票
例子:
300059.XSHE 为深交所上市的东方财富
600000.XSHG 为上交所上市的浦发银行
我们的代码编辑器还提供了非常便利的股票代码自动寻找和补全功能,在 Windows 中你可以用 ctrl+i , Mac 系统你可以用 cmd+i 激活证券代码自动补全功能。如下图:
3 获取均价:
我们分别获取该股票 5 日和 30 日的均价
4 判断买卖条件:
获得均价数据之后,我们就可以进行一个判断决定是否买卖了:
在判断之前,我们还漏了一步,那是什么呢?就是要知道我们有多少现金,那么在程序中是如何获得现金的呢?我们使用以下代码
5 买入 /卖出:
在判定买卖的条件成立之后,我们会对股票进行买入或者卖出的操作:
6 策略回测
以上,我们用几行代码就把策略的框架完整地搭建起来了,最终的完整代码为:
写完了策略,那么我们接下去做什么呢? 先对我们的策略进行一次历史回测,看看它的历史表现是如何吧。
在策略编辑页面右上方,选择从 2015 年 1 月 4 日至 2016 年 10 月 4 日,用资金 10 万元进行日回测吧,请点击 运行回测
我们可以看到回测详情中有精致的图表,详细的各项风险收益指标、以及持仓、落单等详情辅助你进一步了解你的策略的表现。
到这里,一个完整的从 [构建策略思路] 到 [策略代码编写] 到 [回测结果检验] 的流程就结束了。