利用通达信软件导出所有股票历史行情
生活随笔
收集整理的这篇文章主要介绍了
利用通达信软件导出所有股票历史行情
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
2019独角兽企业重金招聘Python工程师标准>>>
在通达信官网提供了所有券商行情的历史数据下载地址:https://www.tdx.com.cn/list_66_69.html
例如我们只需要A股日线数据,只需要下载“上证所有证券日线”和“深证所有证券日期”即可。这个数据是包含了指数数据的。
下载后得到shlday.zip和szlday.zip的压缩文件包。如果要导入通达信,假如我通达信安装在C:\new_tdx\,那么分别解压到C:\new_tdx\vipdoc\sh\lday和C:\new_tdx\vipdoc\sz\lday路径即可。
解压后的文件都是一个个的.day文件。下面这段Python代码可以演示如何读取.day文件中的行情数据。
import os import struct import pandas as pddef readTdxLdayFile(fname="C:\\new_tdx\\vipdoc\sh\\lday\\sh601628.day"):dataSet=[]with open(fname,'rb') as fl:buffer=fl.read() #读取数据到缓存size=len(buffer) rowSize=32 #通信达day数据,每32个字节一组数据code=os.path.basename(fname).replace('.day','')for i in range(0,size,rowSize): #步长为32遍历bufferrow=list( struct.unpack('IIIIIfII',buffer[i:i+rowSize]) )row[1]=row[1]/100row[2]=row[2]/100row[3]=row[3]/100row[4]=row[4]/100row.pop() #移除最后无意义字段row.insert(0,code)dataSet.append(row) data=pd.DataFrame(data=dataSet,columns=['code','tradeDate','open','high','low','close','amount','vol'])print(data)转载于:https://my.oschina.net/huhaicool/blog/3010947
总结
以上是生活随笔为你收集整理的利用通达信软件导出所有股票历史行情的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: atoi 转换错误
- 下一篇: 三星i9502 获取ROOT超级管理员权