该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

本文通过讲述 [单股票均线策略] 在 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(天数, frequency='day')# 获取近五日股票收盘价均价,命名为 fast fast = bar_dict[context.stock].mavg(5, frequency='day')# 同上,获取近二十日的收盘价均价,命名为 slow : slow = bar_dict[context.stock].mavg(30, frequency='day')4 判断买卖条件:

获得均价数据之后,我们就可以进行一个判断决定是否买卖了:

if fast>slow: # 若快线在慢线之上则用所有现金买入该股票 #买入操作 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, frequency='day') #获取 5 日均线 fast = bar_dict[context.stock].mavg(5, frequency='day') cash = context.portfolio.cash #获取持有现金金额 if fast>slow: #判定买入条件 order_value(context.stock, cash) #买入目标股票 elif fast

写完了策略,那么我们接下去做什么呢? 先对我们的策略进行一次历史回测,看看它的历史表现是如何吧。

在策略编辑页面右上方,选择从 2015 年 1 月 4 日至 2016 年 10 月 4 日,用资金 100 万元进行日回测吧,请点击 运行回测。

python简单易学,使用python研究股票更是得心应手。

python股票_十分钟学会用Python交易股票相关推荐

  1. 我用python做股票_十分钟学会用Python交易股票

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本文通过讲述 [单股票均线策略] 在 Ricequant 量化平台的实现,熟悉平台并快速入门.创建自己的量化策略代码 .难易度:入门级.从一下几点说起: ...

  2. python 股票_十分钟学会用Python交易股票

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本文通过讲述 [单股票均线策略] 在 Ricequant 量化平台的实现,熟悉平台并快速入门.创建自己的量化策略代码 .难易度:入门级.从一下几点说起: ...

  3. python购买股票_十分钟学会用Python交易股票

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本文通过讲述 [单股票均线策略] 在 Ricequant 量化平台的实现,熟悉平台并快速入门.创建自己的量化策略代码 .难易度:入门级.从一下几点说起: ...

  4. 如何用python选股票_十分钟学会用Python交易股票

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本文通过讲述 [单股票均线策略] 在 Ricequant 量化平台的实现,熟悉平台并快速入门.创建自己的量化策略代码 .难易度:入门级.从一下几点说起: ...

  5. python 炒股_十分钟学会用Python交易股票

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本文通过讲述 [单股票均线策略] 在 Ricequant 量化平台的实现,熟悉平台并快速入门.创建自己的量化策略代码 .难易度:入门级.从一下几点说起: ...

  6. 用python选股票_十分钟学会用Python交易股票

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本文通过讲述 [单股票均线策略] 在 Ricequant 量化平台的实现,熟悉平台并快速入门.创建自己的量化策略代码 .难易度:入门级.从一下几点说起: ...

  7. python股票自动买卖视频教程_十分钟学会用Python交易股票

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本文通过讲述 [单股票均线策略] 在 Ricequant 量化平台的实现,熟悉平台并快速入门.创建自己的量化策略代码 .难易度:入门级.从一下几点说起: ...

  8. python数据分析建模-十分钟搞懂“Python数据分析”

    原标题:十分钟搞懂"Python数据分析" 引言:本文重点是用十分钟的时间帮读者建立Python数据分析的逻辑框架.其次,讲解"如何通过Python 函数或代码和统计学知 ...

  9. Python + wordcloud + jieba 十分钟学会生成中文词云

    前述 本文需要的两个Python类库 jieba:中文分词分词工具 wordcloud:Python下的词云生成工具 写作本篇文章用时一个小时半,阅读需要十分钟,读完该文章后你将学会如何将任意中文文本 ...

  10. Python + wordcloud + jieba 十分钟学会用任意中文文本生成词云

    前述 本文需要的两个Python类库  jieba:中文分词分词工具  wordcloud:Python下的词云生成工具 写作本篇文章用时一个小时半,阅读需要十分钟,读完该文章后你将学会如何将任意中文 ...

最新文章

  1. win7虚拟机黑苹果_关于最近折腾黑苹果的一些心得分享
  2. sql中set命令解析
  3. ABAP制作密码输入框
  4. 计算机诞生发展分类特点及应用,计算机的诞生与发展,及其特点
  5. 两组的数据平均值合并_不要进入数据陷进
  6. 【SpringBoot】Spring+Druid初级配置
  7. IAR执行到断点处不能单步运行解决方法
  8. Axure经典案例高保真交互下载(数据统计图高保真原型+雷达图+条形图+折线图+web端通用后台管理原型+统计表、统计分析+用户画像分析)
  9. 谈话《百度搜索引擎的网页质量白皮书》
  10. ccd视觉定位教程_CCD与CMOS哪个更能推动工业相机市场的发展
  11. read -p 的使用
  12. 让 ASP.NET AJAX 支持浏览器的 History Navigation - Part 1
  13. 最小二乘法拟合直线-C++实现
  14. 一文学会LCD12864显示中文、英文、反显
  15. 安卓psp模拟器哪个好_手机psp模拟器哪个好_安卓PSP模拟器中文官方版下载_66游戏网...
  16. Github上开源的数据可视化工具及作品分享(一)
  17. 听北大公开课庄明科老师《大学生职业素养提升》第一集:《自我效能感》的笔记
  18. 绝地求生6月23号服务器维护到几点,绝地求生6月23日更新到几点 绝地求生6月23日更新内容介绍...
  19. 唐仲英基金会:从“钢铁大王”到“十大慈善家”,他的一生如此传奇
  20. 微软技术交流群 303295519

热门文章

  1. [BZOJ 3531][Sdoi2014]旅行(树链剖分+线段树)
  2. Hadoop学习笔记三
  3. RedisRepository封装—Redis发布订阅以及StackExchange.Redis中的使用
  4. MyEclipse中用Maven创建Web项目(亲测有效)
  5. python 使用多线程进行压力测试
  6. delphi xe6 让 ListView 在 Android 可回弹[根据龟山阿卍原创修改为xe6版本]
  7. 加载项目失败的解决办法
  8. Java——static修饰符 枚举
  9. itemCF matlab算法,推荐系统初探:ItemCF算法实现知乎问题推荐
  10. Android计算器(仿小米计算器)