赞
踩
通达信软件中的vipdoc是一个存储股票行情数据的文件夹。在通达信软件的安装目录下,可以找到一个名为vipdoc的文件夹,里面存放着各个股票的分时、日线、周线、月线等行情数据文件。这些数据文件可以用于自定义分析和回测股票的走势和交易策略,前提要把加密的数据解析出来,才能调用,解析方法如下使用Python解析。
数据存放的位置,bj代表北交所,sh代表上海,sz代表深圳的股票
看日线就在通达信lday文件夹目录下去找,E:\zd_cjzq\vipdoc\sh\lday
{龙虎榜小红牛系统,官方微信公众号:GXZFP888}
#更多教程可以关住,我的Python教程官方微信公众号:wdPython
#01.通达信日线*.day文件的结构
文件名即股票代码,每32个字节为一个数据,其中每4个字节为一个字段,每个字段内低字节在前。 00 ~ 03 字节:年月日, 整型 04 ~ 07 字节:开盘价*1000, 整型 08 ~ 11 字节:最高价*1000, 整型 12 ~ 15 字节:最低价*1000, 整型 16 ~ 19 字节:收盘价*1000, 整型 20 ~ 23 字节:成交额(元),float型 24 ~ 27 字节:成交量(手),整型 28 ~ 31 字节:上日收盘*1000, 整型
#02.通达信5分钟线*.5数据结构:minline 文件夹:包含了股票和期货的分钟线数据文件,以 .lc1 扩展名结尾。每32个字节为一个5分钟数据,每字段内低字节在前。
00 ~ 01 字节:日期,整型,设其值为num,则日期计算方法为:
year=floor(num/2048)+2004;
month=floor(mod(num,2048)/100);
day=mod(mod(num,2048),100);
02 ~ 03 字节:从0点开始至目前的分钟数,整型
04 ~ 07 字节:开盘价(分),整型
08 ~ 11 字节:最高价(分),整型
12 ~ 15 字节:最低价(分),整型
16 ~ 19 字节:收盘价(分),整型
20 ~ 23 字节:成交额(元),float型
24 ~ 27 字节:成交量(股)
28 ~ 31 字节:保留,一般都是0
以下是解析贵州茅台后的图片
600519csv数据文件
import struct import datetime import os # 1.新建一个文件夹,用于存放解析好的股票数据 os.makedirs('股票数据',exist_ok=True) #区分沪深,北交所股票,找到对应股票的文件位置 def hs_stock(code): if code[0] == "6": str_code='sh/lday/sh' + code if code[0] == "3": str_code='sz/lday/sz' + code if code[0] == "8" or code[0] == "4": str_code='bj/lday/bj' + code return str_code #2.解析通达信日线数据 #F:\new_tdx\ def stock_csv(filepath,code,name): data = [] filepath=filepath+hs_stock(code)+'.day' with open(filepath, 'rb') as f: file_object_path = '股票数据/' + name +'.csv' file_object = open(file_object_path, 'w+') while True: stock_date = f.read(4) stock_open = f.read(4) stock_high = f.read(4) stock_low= f.read(4) stock_close = f.read(4) stock_amount = f.read(4) stock_vol = f.read(4) stock_reservation = f.read(4) # date,open,high,low,close,amount,vol,reservation if not stock_date: break stock_date = struct.unpack("l", stock_date) # 4字节 如20230812 stock_open = struct.unpack("l", stock_open) #开盘价*100 stock_high = struct.unpack("l", stock_high) #最高价*100 stock_low= struct.unpack("l", stock_low) #最低价*100 stock_close = struct.unpack("l", stock_close) #收盘价*100 stock_amount = struct.unpack("f", stock_amount) #成交额 stock_vol = struct.unpack("l", stock_vol) #成交量 stock_reservation = struct.unpack("l", stock_reservation) #保留值 date_format = datetime.datetime.strptime(str(stock_date[0]),'%Y%M%d') #格式化日期 list= date_format.strftime('%Y-%M-%d')+","+str(stock_open[0]/100)+","+str(stock_high[0]/100)+","+str(stock_low[0]/100)+","+str(stock_close[0]/100)+","+str(stock_vol[0]/100)+"\r" file_object.writelines(list) file_object.close() print(code+'股票数据解析完成!!') stock_csv('E:/zd_cjzq/vipdoc/','600519', '贵州茅台')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。