码农小马七夕节去相亲了,见了一个不错的姑娘,长的非常甜美!聊着聊着很投缘!通过介绍人了解到,对方也很满意~~想着自己单身多年的生活就要结束啦,心里满是欢喜,美美哒!但是突然想起年初还有几万块在股市里面,一直被套着,心里难受!

为了以后能多一点娶老婆的本钱,日子过的好一点,怎么咬着牙也要把股票的钱捞回来,这些可都是辛苦加班赚来的呀!怎么办呢,于是一咬牙,干脆用万能的Python写一个量化股票系统!

看一下小马的迷你量化系统

这个小迷小量化系统,麻雀虽小但是五脏俱全,我们今天先从实时提醒这个模块做起,提醒系统分下面几个部分:实时获取股票数据

连接邮件服务器

预警配置管理

监控数据并发送邮件

希望通过实时提醒,来提高交易的收益率,试试看,万一有用呢,反正写代码对码农来说,so easy!

01.

实时获取股票价格

为了更准确的获取股票的价格,我们这里用比较有名的金融库tushare来获取,里面封装了大量的股票的数据Api,非常好用!

1).首先设计一个stock类,这个类第一件大事:

查询股票的实时价格和k线数据比如(5min,15min),然后把数据返回出来,为了提高效率,我们肯定是用并发出来,所以start_run函数会成为一个线程函数

2).第二件大事:

我们获取的实时的数据,需要传递给外边的模块调用,子线程和主线程间通信的话,最简单的方法用queue来搞定,所以我们stock类会init里面传入一个queue

3).控制线程:

这个stock我们希望外边能控制它的运行和停止,在stock类的入口,我们加入了一个_terminal变量

4).神奇的tushare库

利用tushare这个神奇的API,构造两个类函数分布query_stock_real_price和get_kline_data获取数据:

02.

邮件系统

简单实时提醒系统,我们用邮件,比如你的qq邮箱,是可以实时的收到一些邮件提醒的信息,我们这里用Python自带的 SMTP和EMAIL模块处理:

1). 连接邮件服务器

为了方便扩展和复用,也用一个类来封装邮件server!构造一些邮件服务器的地址和密码,然后连接就可以了,非常简单。

2).构造邮件内容

服务器连接好了,之后我们需要发送邮件,需要写一个邮件标题和内容,比如 xx股票,现在价格多少之类的。

1).为了更好的封装数据,用类装饰器对titel和content进行封装,这样外边无法直接访问这两块内容。

2).mail类会初始化一些信息,比如要发送到邮件地址,而且要把前面构造好的SMTP服务器对象传进来,方便发送邮件。

3).初始化一个MIMEText对象,填充一些邮件的内容比如from,to,subject等等。为了有时间性,我们在邮件的开头加一个时间戳。

03.

预警系统

我们需要有一个配置文件,里面不停的修改我们对股票的价格的设置,比如到了你的止损或者止盈的位置,或者到了你的一些量化策略的地方,需要提醒你注意等等。这里我们只是简单的说明,只写最大和最小的股价预警,示例一下:

setting 文件:{

'high_price': 15,

'low_price': 10

}

1).死循环监控数据

我们启动一个线程,用一个死循环来不停的从队列里面获取股票的数据,然后进行一些监听的逻辑判断,先看一下核心代码:

因为股票有交易时间,我们这里简单粗暴的让程序只在交易时间运行,当然如果要把程序放在远端服务器上的话,需要进一步优化,不然每一天都要启动一下!

死循环里面会不停的读区预警

设置里面的股价的涨到多少最高价和最低价,一旦触达这个价格,立刻发送邮件提醒!

写了这么久,看一下效果吧:

好了,上面是一个简单的股票实时提醒程序,利用了一些Python自带的邮件库和一个金融库,算是一个综合小练习!,完成一个量化系统,还有两个重要的功能没有完成,需要继续加油,欢迎大家留言讨论。今天的文章分享到此结束,希望本次分享对正在学习Python的你有所帮助。

我做开发几年的时间,如果大家对于学习Python的学习方法,学习路线以及你不知道的疑问,都可以随时来问我,大家可以加我的学习蜜圈,圈内有开发工具和教程。

python股票交易系统瘫痪_熬了一晚上,小白用Python写了一个股票提醒系统相关推荐

  1. python股票全套系统_熬了一晚上,小白用Python写了一个股票提醒系统

    码农小马七夕节去相亲了,见了一个不错的姑娘,长的很是甜美!聊着聊着很投缘!通过介绍人了解到,对方也很满意--想着自己单身多年的生活就要结束啦,心里满是欢喜,美美哒!可是突然想起年初还有几万块在股市里面 ...

  2. python 找到装饰器_[译] 12步轻松搞定python装饰器

    呵呵!作为一名教python的老师,我发现学生们基本上一开始很难搞定python的装饰器,也许因为装饰器确实很难懂.搞定装饰器需要你了解一些函数式编程的概念,当然还有理解在python中定义和调用函数 ...

  3. 用Python写了一个电子考勤系统!

    今天给大家分享一个比较有意思的Python应用,用 Python 写了一个电子考勤系统,源码已在文章全部给出,记得点赞收藏哦- 项目简介 学校现在需要实现一个电子考勤系统,考虑到你们班已经学过大数据应 ...

  4. 耗时半年,用 Python 写了一个电子考勤系统

    今天给大家分享一个比较有意思的 Python 应用,用 Python 写了一个电子考勤系统,源码获取在下方文章中给出,记得点赞收藏哦- 文章目录 电子考勤完整代码 项目简介 答题要求 附加功能 导入模 ...

  5. 用 Python 写了一个电子考勤系统!

    今天给大家分享一个比较有意思的Python应用,用 Python 写了一个电子考勤系统,源码已在文章全部给出,记得点赞收藏哦- 项目简介 学校现在需要实现一个电子考勤系统,考虑到你们班已经学过大数据应 ...

  6. python股票分析系统_熬了一晚上,小白用Python写了一个股票提醒系统

    码农小马七夕节去相亲了,见了一个不错的姑娘,长的非常甜美!聊着聊着很投缘!通过介绍人了解到,对方也很满意--想着自己单身多年的生活就要结束啦,心里满是欢喜,美美哒!但是突然想起年初还有几万块在股市里面 ...

  7. python写一个系统-熬了一晚上,小白用Python写了一个股票提醒系统

    码农小马七夕节去相亲了,见了一个不错的姑娘,长的非常甜美!聊着聊着很投缘!通过介绍人了解到,对方也很满意--想着自己单身多年的生活就要结束啦,心里满是欢喜,美美哒!但是突然想起年初还有几万块在股市里面 ...

  8. python协同过滤算法_协同过滤(ALS)的原理及Python实现

    提到ALS相信大家应该都不会觉得陌生(不陌生你点进来干嘛[捂脸]),它是协同过滤的一种,并被集成到Spark的Mllib库中.本文就ALS的基本原理进行讲解,并手把手.肩并肩地带您实现这一算法. 完整 ...

  9. python 进程生命周期_计算客户生命周期价值的python解决方案

    python 进程生命周期 By Lisa Cohen, Zhining Deng, Shijing Fang, and Ron Sielinski 由丽莎·科恩,志宁邓,石井方和罗恩Sielinsk ...

最新文章

  1. Ellipse(椭圆)
  2. 如何从RxJava升级到RxJava2
  3. [Swift]LeetCode45. 跳跃游戏 II | Jump Game II
  4. 1、以太网基础知识——概念模型
  5. linux中bash的功能主要有,Linux系统中的Bash功能的介绍
  6. xml gridview控件增删改查_Mybatis之XML如何映射到方法
  7. CF1042E Vasya and Magic Matrix 期望dp + 推公式
  8. Python flask 特殊装饰器 @app.before_request 和 @app.after_request 以及@app.errorhandler介绍
  9. IIS站点更改.net版本命令
  10. 02-NLP-04基于统计的翻译系统-03-短语翻译表构造——短语抽取
  11. vue3被删除的两个功能
  12. 一次library cache pin故障的解决过程
  13. oppo手机使用应用沙盒动态修改imei信息
  14. 吉林警察学院计算机考研,吉林警察学院怎么样
  15. 如何知道计算机显示器尺寸,电脑显示器尺寸怎么看(电脑显示器常见参数详解)...
  16. 对于Linux基础网络设置
  17. html在电脑上转换字体怎么变了,电脑网页字体怎么变换大小
  18. 足球和oracle列(4):巴西惨败于德国,认为,差额RAC拓扑控制!
  19. 大型Solidworks装配设计与仿真工作站配置方案
  20. Yii2 User 登录原理

热门文章

  1. Python学习笔记(一):Pandas中的数据结构
  2. 重磅!腾讯优图17篇论文入选ICCV 2021
  3. 飞音网络电话V2.0.3.0 [语质卓越 绿色小巧]
  4. HDMI无线图传、低延时无线视频传输、wifi视频传输、H265无线视频传输
  5. 浅谈vue-draggable原理
  6. 电阻分压、电阻分流原理
  7. Android——Broadcast Receivers广播接收器
  8. Android开发中 Cause: couldn‘t make a guess for错误
  9. 临时停车系统帮你解决停车难
  10. 我的世界Java版(Minecraft:Java)数据包教程 (1)