python炒股

news/2024/11/8 12:04:48/

如果你对股票有所了解,那么本文你也能看出大概意思,如果你对python有一定经验,也应该能看得懂,若你两行都懂,那么你已经是个大老板了。

手把手教Python写量化策略,单股票均线策略,日级别回测。

1 确定框架:

5 日均线高于 30 天均线,则全仓买入股票 5 日均线低于 30 天均线,则卖出所持股票

从我们日常交易的角度,一般交易者的行为可以拆分以下两部分:

1 选择标的(初始化):

在交易前,我们通常会选定要交易的股票池或者单个股票

2 交易(每天盯盘)

我们会观察该股票的五日均线和30日均线,并进行比较

如果该股票的五日均线在30天均线以上,则全仓买入股票

如果给股票的5日均线在30天均线以下,则全仓卖出(空仓)

 

那么程序中,我们是怎么做的呢?

先看看 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 策略回测

以上,我们用几行代码就把策略的框架完整地搭建起来了,最终的完整代码为:

 

  1. 写完了策略,进行一次历史回测,看看它的历史表现是如何吧。

  2. 在策略编辑页面右上方

  3. 选择从 2015 年 1 月 4 日至 2016 年 10 月 4 日

  4. 用资金 100 万元进行日回测

  5. 请点击 运行回测

代码没有问题,在数秒之后,拿到该策略的历史表现结果:

 

可以看到回测详情中有精致的图表,详细的各项风险收益指标、以及持仓、落单等详情辅助你进一步了解你的策略的表现。

到这里,一个完整的从 [构建策略思路] 到 [策略代码编写] 到 [回测结果检验] 的流程就结束了。

7 从日回测到分钟回测:

在循环部分, handle 函数根据选择的频率(日、分钟)循环运行,在以上的日回测中, handle 内的代码会每日被触发一次

如果是进行分钟回测或模拟实盘,那么这个handle里的代码就会被每分钟触发一次;因此,我们的代码逻辑也势必要进行一定的改进,使得策略按照我们的逻辑正常地运行。

先把修改好的代码贴上来:

可以看到这里改动并不多,这里需要介绍到框架中常用到的函数 before_trading :

我们在 before_trading 中设置一个变量命名为 fired ,赋值为 0

由于 before_trading 是每天开盘前运行一次,所以 context.fired 会被每天重置为 0。在 handle 函数中,我们加入了判断,如 context.fired 为 0 ,则继续执行下面的代码,否则本次循环结束。

并在执行完判断和买卖操作之后,设定 context.fired 的值等于 1 ,使得当日余下的分钟循环操作均被跳过。

在完成以上代码后,我们开始进行分钟回测吧:

在策略编辑页面右上方

选择从2015年1月4日至2016年10月4日

用资金100万元进行分钟回测吧

更新策略后点击运行回测

8 模拟交易:

模拟交易通过实时的分钟切片数据进行撮合,也就是 handle 函数会每分钟被触发一次循环。

在开启你的策略的模拟交易之前,你必须要对它进行一次分钟回测,才可以开启模拟交易。在上面分钟回测之后, 你可以在策略回测详情页面点击 开启模拟交易。

9 开启微信通知,接收交易信号:

点击导航栏中的 [我的交易] ,可以在 [模拟交易] 一栏看到创建的模拟交易,如下图:

点击右边的微信通知开关,将 OFF 调至 ON

并按照指示扫描二维码,绑定微信,就能通过微信接收交易信号了。

当该策略进行买卖操作,你的微信会收到类似下图的信号提醒。

微信推送的延迟非常小

使得你能根据信号进行及时的下单操作。

是不是很轻松,数行Python代码就可以把你的投资策略变成代码,大家都来试试吧!


http://www.ppmy.cn/news/195283.html

相关文章

大智慧有Linux炒股软件,UOS(Deepin Linux)安装炒股软件(通达信大智慧等)的方法...

没有公钥是?么回事/ gcc66dsgcc66ds-PC:~$ sudo apt-get update&& sudo apt-get upgrade 请输入密码 [sudo] gcc66ds 的密码: 验证成功 命中:1 https://community-store-packages.deepin.com/appstore eagle InRelease 命中:2 https://community…

用程序员的思路炒股

请将炒股资金预设两种 1. 炒股的前锋资金:(直接杀入股市) 2. 后备金:(不到万不得已不得使用的资金) 资金配比为80%和20% 入场规则:一次投入应该大于1万元以但不能超过前锋资金的(50%)也就是…

适合小白的炒股思路

前言 股市风谲云诡,变化莫测,作为满腔热血,怀揣雄心壮志的小白,想在股市分一杯羹,着实不易,毕竟大A股素有“一赚二平七亏损”的传言,并且已经得到过无数散户的验证,面对国家队,庄家…

炒股的鱼

这几天看了下炒股入门知识,觉得股市真是一个烧知识与智慧的地方。强者在股市里能发出炽热的光芒,而弱者则是灰飞烟灭。(有些夸张,但我觉得不算过分) 还记得那篇文章一再提醒我们——炒股不要为了钱而炒,而是…

利用AI炒股开挂!这届程序员真会玩

用深度学习预测股票价格想过去有些不明觉厉,但已经不是什么新鲜事了,今天猿妹和大家分享一个股票预测模型,收集了机器学习和股票预测的深度学习模型,包括交易机器人和(股票)模拟。 想要准确预测股票市场是一…

投资、理财、炒股记事

http://blog.csdn.net/pipisorry/article/details/45677173 同花顺模拟炒股软件的使用 下载同花顺模拟炒股软件 软件下载以后 ,会先提示注册 用户名 密码 邮箱地址登陆 菜单栏 > 委托 > 模拟炒股 > 炒股首页 > 找到自己的账号 > 我的模拟炒股 >…

如何用大数据炒股

我们如今生活在一个数据爆炸的世界里。百度每天响应超过60亿次的搜索请求,日处理数据超过100PB,相当于6000多座中国国家图书馆的书籍信息量总和。新浪微博每天都会发布上亿条微博。在荒无人烟的郊外,暗藏着无数大公司的信息存储中心&#xff…

炒股的最高境界:炒股就是炒心态,耐心看完受益匪浅!

其实炒股也是分为很多境界的,像我们大多数投资者可能还停留在最低级别的境界当中,那么炒股最高境界是什么? “不以涨喜,不以跌悲”这就是炒股的最高境界,也就是我们常说的心态! 有很多人炒了很多年股&…