使用Python解析通达信本地lday数据结构

这篇具有很好参考价值的文章主要介绍了使用Python解析通达信本地lday数据结构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

通达信软件中的vipdoc是一个存储股票行情数据的文件夹。在通达信软件的安装目录下,可以找到一个名为vipdoc的文件夹,里面存放着各个股票的分时、日线、周线、月线等行情数据文件。这些数据文件可以用于自定义分析和回测股票的走势和交易策略,前提要把加密的数据解析出来,才能调用,解析方法如下使用Python解析。

数据存放的位置,bj代表北交所,sh代表上海,sz代表深圳的股票

使用Python解析通达信本地lday数据结构,通达信,我的Python教程,python,通达信,股票
看日线就在通达信lday文件夹目录下去找,E:\zd_cjzq\vipdoc\sh\lday
使用Python解析通达信本地lday数据结构,通达信,我的Python教程,python,通达信,股票

{龙虎榜小红牛系统,官方微信公众号: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

以下是解析贵州茅台后的图片
使用Python解析通达信本地lday数据结构,通达信,我的Python教程,python,通达信,股票
600519csv数据文件使用Python解析通达信本地lday数据结构,通达信,我的Python教程,python,通达信,股票文章来源地址https://www.toymoban.com/news/detail-646374.html

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', '贵州茅台')

到了这里,关于使用Python解析通达信本地lday数据结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python JSON 使用指南:解析和转换数据

    JSON 是一种用于存储和交换数据的语法。JSON 是文本,使用 JavaScript 对象表示法编写。 Python 有一个内置的 json 包,可用于处理 JSON 数据。 示例 :导入 json 模块: 如果您有一个 JSON 字符串,可以使用 json.loads() 方法来解析它。结果将是一个 Python 字典。 示例 :从 JSON 转换为

    2024年02月06日
    浏览(38)
  • Python beautifulsoup4解析 数据提取 基本使用

    Beautiful Soup是Python的一个网页解析库,处理快捷; 支持多种解析器,功能强大。教程细致讲解Beautiful Soup的深入使用、节点选择器、CSS选择器、Beautiful Soup4的方法选择器等重要知识点,是学好爬虫的基础课程。 提示:以下是本篇文章正文内容,下面案例可供参考 建议把代码复

    2023年04月08日
    浏览(30)
  • Wikidata数据结构及本地部署——支持SPARQL查询

    Github:https://github.com/NP-NET-research/wdel 欢迎来 star fork issue ~~ 有问题可以通过邮箱:xuzhengfei-email@qq.com 联系我~~ Wikidata(维基数据)是一个由维基媒体基金会支持的开放内容项目,旨在创建一个免费、开放、协作的多语言知识图谱。它于2012年推出,并成为维基媒体项目的一部分

    2024年03月20日
    浏览(30)
  • 数据结构:排序解析

    所谓排序,就是使一串记录,按照其中的某个或某些的大小,递增或递减的排列起来的操作。排序在我们生活中非常常见,比如买东西看的销量,价格的对比等。排序也分为内部排序和外部排序。内部排序是数据元素全部放在内存中的排序,外部排序则是数据元素太多

    2024年02月10日
    浏览(32)
  • 【数据结构】吃透单链表!!!(详细解析~)

    上篇文章介绍了顺序表,这篇文章开始着重讲解链表了。 链表有很多种:单、双链表,循环、非循环链表还有带头、不带头的链表。 本篇的主要内容是单链表(无头,单向,非循环) 。 链表对比顺序表有哪些不同之处,接下来会带大家一起了解~ 1.头部和中间的插入删除效

    2024年02月12日
    浏览(29)
  • 数据结构:二叉树(超详解析)

    目录 ​​​​​​​ 1.树概念及结构 1.1树的概念 1.2树的相关概念 1.3树的表示 1.3.1孩子兄弟表示法:   1.3.2双亲表示法:只存储双亲的下标或指针 两节点不在同一树上: 2.二叉树概念及结构 2.1.概念 2.2.特殊的二叉树: 2.2.1.满二叉树: ​编辑2.2.2. 完全二叉树:h = (log2(N+1)

    2024年02月08日
    浏览(29)
  • 王道数据结构精选习题及解析

    暴力法的时间复杂度为O(n²) 不要忽略有序性 思路:因为是有序的顺序表,所以重复的元素一定是连在一起的。那我们就使用两个指针,一个指针指向当前不重复有序表的最后一个元素,另一个会从头到尾遍历整个有序表,称为工作指针。 我们让工作指针往后移,如果与当

    2024年02月10日
    浏览(33)
  • 【数据结构】 顺序表详解!(源码+解析)

    🎥 屿小夏 : 个人主页 🔥个人专栏 : 数据结构解析 🌄 莫道桑榆晚,为霞尚满天! ​ 什么是数据结构?我们为什么要学数据结构?数据结构中的顺序表长什么样子?它是怎么运用? ​ 本期我们将对这些一一讲解,彻底明白数据结构的重要性,以及顺序表是一种什么的数据

    2024年02月06日
    浏览(34)
  • Python量化投资——金融数据最佳实践: 使用qteasy+tushare搭建本地金融数据仓库并定期批量更新【附源码】

    做量化投资或者对量化交易感兴趣的朋友应该都需要用到大量的金融数据,例如股票价格,基金净值、上市公司技术指标和财务指标等等。但是,如何有效、可靠地获取金融数据,并且有效地使用,却是一个令人头疼的问题。在这篇文章中,我想跟大家交流我的使用心得,分

    2024年02月04日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包