01.
实时获取股票价格
为了更准确的获取股票的价格,我们这里用比较有名的金融库tushare来获取,里面封装了大量的股票的数据Api,非常好用!
如果需要本项目的脚本或者源码,请加Python群:960410445!即可获取!
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). 连接邮件服务器
1).为了更好的封装数据,用类装饰器对titel和content进行封装,这样外边无法直接访问这两块内容。
2).mail类会初始化一些信息,比如要发送到邮件地址,而且要把前面构造好的SMTP服务器对象传进来,方便发送邮件。
3).初始化一个MIMEText对象,填充一些邮件的内容比如from,to,subject等等。为了有时间性,我们在邮件的开头加一个时间戳。
{ "high_price": 15, "low_price": 10 }
1).死循环监控数据
我们启动一个线程,用一个死循环来不停的从队列里面获取股票的数据,然后进行一些监听的逻辑判断,先看一下核心代码:
- 因为股票有交易时间,我们这里简单粗暴的让程序只在交易时间运行,当然如果要把程序放在远端服务器上的话,需要进一步优化,不然每一天都要启动一下!
- 死循环里面会不停的读区预警设置里面的股价的涨到多少最高价和最低价,一旦触达这个价格,立刻发送邮件提醒!
写了这么久,看一下效果吧:
好了,上面是一个简单的股票实时提醒程序,利用了一些Python自带的邮件库和一个金融库,算是一个综合小练习!,完成一个量化系统,还有两个重要的功能没有完成,需要继续加油,欢迎大家留言讨论。也欢迎更多的高手投稿,切磋交流!