利用通达信软件导出所有股票历史行情
生活随笔
收集整理的這篇文章主要介紹了
利用通达信软件导出所有股票历史行情
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
在通達信官網(wǎng)提供了所有券商行情的歷史數(shù)據(jù)下載地址:https://www.tdx.com.cn/list_66_69.html
例如我們只需要A股日線數(shù)據(jù),只需要下載“上證所有證券日線”和“深證所有證券日期”即可。這個數(shù)據(jù)是包含了指數(shù)數(shù)據(jù)的。
下載后得到shlday.zip和szlday.zip的壓縮文件包。如果要導入通達信,假如我通達信安裝在C:\new_tdx\,那么分別解壓到C:\new_tdx\vipdoc\sh\lday和C:\new_tdx\vipdoc\sz\lday路徑即可。
解壓后的文件都是一個個的.day文件。下面這段Python代碼可以演示如何讀取.day文件中的行情數(shù)據(jù)。
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() #讀取數(shù)據(jù)到緩存size=len(buffer) rowSize=32 #通信達day數(shù)據(jù),每32個字節(jié)一組數(shù)據(jù)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)轉(zhuǎn)載于:https://my.oschina.net/huhaicool/blog/3010947
總結(jié)
以上是生活随笔為你收集整理的利用通达信软件导出所有股票历史行情的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: atoi 转换错误
- 下一篇: 三星i9502 获取ROOT超级管理员权