大家在没有阅读本文之前先看下python的基本概念,

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。

Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。

像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议。

本文是小兵使用万能的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获取数据:

def query_stock_real_price(self):

df = ts.get_realtime_quotes(self.stock_num)

df=df[['price','time']]

price=df['price'].values[0]

time=df['time'].values[0]

return price,time

def get_kline_data(self, ktype='ma5'):

today=datetime.now().strftime('%Y-%m-%d')

df = ts.get_hist_data(self.stock_num, start='2018-08-08', end=today)

return (df[[ktype]])

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写一个量化股票提醒系统

本文地址: http://www.cppcns.com/jiaoben/python/237821.html

用python读取股票价格_使用Python写一个量化股票提醒系统相关推荐

  1. python量化股票源码_使用Python写一个量化股票提醒系统

    大家在没有阅读本文之前先看下python的基本概念, Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开 ...

  2. python写炒股软件_使用Python写一个量化股票提醒系统

    大家在没有阅读本文之前先看下python的基本概念, Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开 ...

  3. python写一个系统-使用Python写一个量化股票提醒系统

    大家在没有阅读本文之前先看下python的基本概念, Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开 ...

  4. 用python读取股票价格_借助Python获取股票实时价格的操作方法

    今天和大家分享一下使用Python获取股票实时价格的操作方法. 工具/原料 Python软件 可以联网的电脑 方法/步骤 1 要想获取股票数据,我们需要借助第三方模块.我们首先需要打开开始菜单. 2 ...

  5. 用python读取股票价格_雅虎API获取股票数据--Python

    好久不学Python,计划用Tkinter写一个利用雅虎免费股票查询API的可视化程序 Yahoo股票报价API 获取实时数据 请求url:http://finance.yahoo.com/d/quo ...

  6. python读取枚举_在python中枚举(enumerate in python)

    在python中枚举(enumerate in python) 说, term='asdf'; InvertedIndex = {}; InvertedIndex[term] = [1,2,2,2,4 ...

  7. 用python读取股票价格_我用Python分析股票价格走势,学以致用获取第一桶金!

    [AI科技大本营导读]比来,A股市场尤其是上证指数走势凌厉,让营长有种身在牛市中的错觉.然而大盘天天涨,营长账户中仍是那几百万,甚至还有所缩水.夜深人静的时辰,营长经常会点着一支烟,考虑到底有没有一个 ...

  8. abaqus python 读取文件_利用Python修改Abaqus的inp文件(关键字)

    利用Python修改Abaqus的inp文件(关键字) Abaqus的关键字可以直接打开inp文件或者在Abaqus的key word里面直接修改,当然除了这个,还可以利用Python语言进行修改,也 ...

  9. python 读取内存_使用Python学习win32库进行内存读写

    前言: 上一周,在52的精华帖中,看到有位大佬用Python制作了鬼泣5的修改器,看完才知道,原来Python也可以对内存进行操作,出于对技术的好奇,看完以后,决定自己也尝试一下. 要用到的工具: C ...

最新文章

  1. 详解Adorner Layer(zz)
  2. android 列表倒计时,Android利用RecyclerView实现列表倒计时效果
  3. 如何修改微软powerpoint模板文字
  4. golang防止MySQL注入_mysql – 如何最大限度地降低golang服务中下游服务中SQL注入的风险?...
  5. 基于jsf的项目_JSF基于事件的沟通:过时的方法
  6. [html] 使用div+css进行布局有什么好处?
  7. LeetCode43——Multiply Strings(两个字符串表示的整数相乘)???
  8. 10.14-10.20学习总结
  9. Spark内核解析之七:核心组件解析
  10. php格式怎么转换为pdf,PHP如何将将word文件转为pdf
  11. matlab 2017a界面,超详细干货:matlab2017a与 CCS 6.2联调设置
  12. kali-扫描主机-Nmap
  13. 移动端web开发之坑---input内文字与同行文字不对齐问题
  14. 【2021年度总结】旧年的喜怒哀乐和新年的虎啸龙腾
  15. 计算机主机的拆卸的注意事项,拆解笔记本注意事项及技巧!
  16. 投资人为什么盯上了这些“小巨人”?
  17. NLP: 0基础应用T5模型进行文本翻译代码实例~
  18. 音乐及游戏爱好者的福利,小鹏P7上新网易云及阴阳师,赶快看看吧
  19. Qt 之进程间通信(IPC)
  20. mybatis test把空字符串解析为0

热门文章

  1. IBM等创建开放虚拟化联盟对抗VMware
  2. 你应该学会的接口调试神器——Postman高级用法
  3. 集成 jpush-react-native 常见问题汇总 ( iOS 篇)
  4. iOS模块器截屏闪退
  5. 开博首发2017年1月13日开博大吉
  6. java代码排序实践
  7. H3C 路由器配置console密码登录[学习]
  8. cocos2dx游戏解决方案
  9. C#中ToString()格式大全(转)
  10. linux安装anaconda3提前so,Linux安装anaconda3