建设厅安全员证书查询网站,深圳网络推广案例,无锡网站建设运营,西安做网站的网络公司该楼层疑似违规已被系统折叠 隐藏此楼查看此楼本文通过讲述 [单股票均线策略] 在 Ricequant 量化平台的实现#xff0c;熟悉平台并快速入门、创建自己的量化策略代码 。难易度#xff1a;入门级.从一下几点说起#xff1b;1 确定框架#xff1a;[单股票均线策略] 的主要策略…该楼层疑似违规已被系统折叠 隐藏此楼查看此楼本文通过讲述 [单股票均线策略] 在 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 代码中 # 代表注释作为代码说明执行时会被跳过而不为程序所运行。3 如何填写股票代码你会发现策略代码中 股票代码后带有后缀那么它们分别代表什么呢后缀为XSHE 代表在深交所上市交易的股票XSHG 在上交所上市交易的股票3 获取均价我们分别获取该股票 5 日和 30 日的均价# 用法变量 bar_dict[股票代码].mavg(天数, frequencyday)# 获取近五日股票收盘价均价命名为 fast fast bar_dict[context.stock].mavg(5, frequencyday)# 同上获取近二十日的收盘价均价命名为 slow slow bar_dict[context.stock].mavg(30, frequencyday)4 判断买卖条件获得均价数据之后我们就可以进行一个判断决定是否买卖了if fastslow: # 若快线在慢线之上则用所有现金买入该股票 #买入操作 elif fast在判断之前我们还漏了一步那是什么呢就是要知道我们有多少现金那么在程序中是如何获得现金的呢我们使用以下代码# 用法变量 context.portfolio.cashcash context.portfolio.cash #取得当前的现金量命名为 cash延伸阅读 portfolio 中 包含所有的投资组合的信息请参考文档 - Portfolio 对象5 买入 /卖出在判定买卖的条件成立之后我们会对股票进行买入或者卖出的操作#用法 order_value(股票代码买卖金额) 金额为正则为买入负数则为卖出#将所有现金买入 300059 东方财富order_value(context.stock, cash) #用法 order_target_value(股票代码目标持仓比例) 比例在 1 与 0 之间#此处将持仓比例调整为 0 则等同于全部卖出order_target_percent(context.stock, 0)6 策略回测以上我们用几行代码就把策略的框架完整地搭建起来了最终的完整代码为def init(context): #初始化 context.stock 300059.XSHE #存入要交易的股票代码def handle_bar(context, bar_dict): #每日循环运行 #获取 30 日均线 slow bar_dict[context.stock].mavg(30, frequencyday) #获取 5 日均线 fast bar_dict[context.stock].mavg(5, frequencyday) cash context.portfolio.cash #获取持有现金金额 if fastslow: #判定买入条件 order_value(context.stock, cash) #买入目标股票 elif fast写完了策略那么我们接下去做什么呢 先对我们的策略进行一次历史回测看看它的历史表现是如何吧。在策略编辑页面右上方选择从 2015 年 1 月 4 日至 2016 年 10 月 4 日用资金 100 万元进行日回测吧请点击 运行回测。python简单易学使用python研究股票更是得心应手。