Python实现股票行情接收V013
来源:互联网 发布:python自动化开发基础 编辑:程序博客网 时间:2024/06/09 18:50
最近做了一些调整和功能的增加,主要体现在如下方面:
1、解析新浪行情的所有数据:
class QuoteData: def __init__(self): self.id = '' self.rawLine = '' #sorted with sina interface self.name = '' self.openPrice = '' self.preClose = '' self.lastPrice = '' self.highPrice = '' self.lowPrice = '' self.buyPrice = '' self.sellPrice = '' self.tradeValume = '' self.tradeTurnover = '' self.buy1Volume = '' self.buy1Price = '' self.buy2Volume = '' self.buy2Price = '' self.buy3Volume = '' self.buy3Price = '' self.buy4Volume = '' self.buy4Price = '' self.buy5Volume = '' self.buy5Price = '' self.sell1Volume = '' self.sell1Price = '' self.sell2Volume = '' self.sell2Price = '' self.sell3Volume = '' self.sell3Price = '' self.sell4Volume = '' self.sell4Price = '' self.sell5Volume = '' self.sell5Price = '' self.date = '' self.time = ''
2、实现一个新的Infomer,用于将指定的股票行情保存到文件,保存格式为scv,
class QuoteSaveToCSV(QuoteListener): def __init__(self, stock): QuoteListener.__init__(self, 'Saver') self.stockid = stock self.filename = stock + time.strftime('%Y%m%d.csv',time.localtime(time.time())) self.outfile = open(self.filename, 'a+') self.outfile.write(QuoteData.csvHead()) self.outfile.close() def OnRecvQuote(self, quoteData): if cmp(self.stockid, quoteData.id) == 0 : self.outfile = open(self.filename, 'a+') self.outfile.write(quoteData.toCSVString()) self.outfile.close()
3、增加根据行情价格涨幅和跌幅做声音提醒,行情涨幅可以是多个等级
class QuoteDiffValuesInformer(QuoteInformer): def __init__(self, stock, lowDiffValues, highDiffVAlues, cmpPrice = '0.0' ): QuoteInformer.__init__(self, stock, string.atof(cmpPrice)) self.lowDiffValues = lowDiffValues self.highDiffVAlues = highDiffVAlues print self.lowDiffValues print self.highDiffVAlues def DoDifference(self, newPrice, lowPrice, highPrice): diffv = newPrice - self.cmpPrice level = self.ComputeLevel(diffv) self.playSound(level) def ComputeLevel(self, diffPrice): l = 0 if diffPrice < 0: for lv in self.lowDiffValues: if diffPrice > lv: return l l -= 1 else: for lv in self.highDiffVAlues: if diffPrice < lv: return l l += 1 return l
4、代码就别贴太多了,说明一下程序入口是怎么使用的吧:
def runNoThread(stockids): s = QuoteSourceSina(stockids) #s = QuoteSourceQtimg(stockids) #s.addListener(QuotePrinter()) #s.addListener(QuoteDifferenceValueInformer('510050', '0.0', '-0.008', '0.005')) #将510050的行情信息存储到文件,每天一只股票一个文件, #可以使用excel文件打开,方便查看,也很方便用python读取做相关的研究处理(不过目前还不清楚如何研究) s.addListener(QuoteSaveToCSV('510050')) #监听股票行情,第二个参数是跌幅列表,第三个参数是涨幅列表, #没跨越一个区间将会播放声音提醒,第四个参数0表示基于昨天的闭市价格做比较,可以指定价格做比较 s.addListener(QuoteDiffValuesInformer('510050', [-0.009,-0.019,-0.029], [0.009, 0.019, 0.029], '0.0')) try: while True: s.queryStock() sleep(3) except KeyboardInterrupt, e: print 'StockQuote stop'if __name__ == '__main__': runNoThread('sh600006,sh510050')
5、已经将代码上传至github,欢迎大家下载。
https://github.com/jianyou08/PythonStockMd
0 0
- Python实现股票行情接收V013
- Python实现股票行情接收
- Python实现股票行情接收V001
- Python实现股票行情接收V010
- 股票行情接收头文件(转)
- flex实现股票行情走势图
- 利用散列表实现股票行情的查询
- 使用 Android ListView 来实现股票行情
- python实现jms客户端(发送接收消息)
- Java中利用散列表实现股票行情的查询
- amCharts实现股票行情分时线及日K线
- 股票行情查询
- Raspberr pi串口发送接收的Python实现
- 用Python实现电子邮件接收程序(POP3)
- 如何用C#写一个实现像股票行情的波动曲线图
- python接收邮件
- python邮件发送接收
- python 接收邮件
- Mac下好用的HTTP/HTTPS抓包工具Charles
- shiro入门实例
- 【Eclipse提高开发速度-插件篇】google V8,用于调试Nodejs
- python 2.7 数据连接
- 重写equals方法时为什么需要重写hashCode方法
- Python实现股票行情接收V013
- 如何提高VS2010的性能,VS2010不再卡
- 微软面试100题之27题:整数的二进制表示中1 的个数
- Delphi Reference XE5
- 怎样获得虚函数指针
- java 文件基本操作总结
- mysql的字符串函数
- 设置页面不被缓存
- 递归遍历数组子集