当前位置: 首页 > news >正文

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

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

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

在这里插入图片描述
看日线就在通达信lday文件夹目录下去找,E:\zd_cjzq\vipdoc\sh\lday
在这里插入图片描述
#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' + codeif code[0] == "3":str_code='sz/lday/sz'  + codeif code[0] == "8" or code[0] == "4":str_code='bj/lday/bj' + codereturn 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,reservationif not stock_date:breakstock_date = struct.unpack("l", stock_date)     # 4字节 如20230812stock_open = struct.unpack("l", stock_open)     #开盘价*100stock_high = struct.unpack("l", stock_high)     #最高价*100stock_low= struct.unpack("l", stock_low)        #最低价*100stock_close = struct.unpack("l", stock_close)   #收盘价*100stock_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数据结构

通达信软件中的vipdoc是一个存储股票行情数据的文件夹。在通达信软件的安装目录下,可以找到一个名为vipdoc的文件夹,里面存放着各个股票的分时、日线、周线、月线等行情数据文件。这些数据文件可以用于自定义分析和回测股票的走势和交易策略,…...

【Mysql】修改definer

修改definer 本文介绍如何修改MySQL中的function、procedure、event、view和trigger的definer 修改function、procedure的definer 首先,我们需要登录MySQL命令行界面,然后执行以下命令: select definer from mysql.proc;这个命令会列出所…...

图片预览插件vue-photo-preview的使用

移动端项目中需要图片预览的功能,但本身使用mintui,vantui中虽然也有,但是为了一个组件安装这个有点儿多余,就选用了vue-photo-preview插件实现(其实偷懒也不想自己写)。 1、安装 npm i vue-photo-preview…...

最强自动化测试框架Playwright(20)- iframe

一个页面可以附加一个或多个 Frame 对象。每个页面都有一个主框架,并且假定页面级交互(如)在主框架中运行。click frame_locator 使用 iframe 时,可以创建一个框架定位器,该定位器将进入 iframe 并允许选择该 iframe…...

leetcode 516. 最长回文子序列(JAVA)题解

题目链接https://leetcode.cn/problems/longest-palindromic-subsequence/description/?utm_sourceLCUS&utm_mediumip_redirect&utm_campaigntransfer2china 目录 题目描述: 暴力递归: 动态规划: 题目描述: 给你一个…...

在Java中操作Redis(详细-->从环境配置到代码实现)

在Java中操作Redis 文章目录 在Java中操作Redis1、介绍2、Jedis3、Spring Data Redis3.1、对String的操作3.2、对哈希类型数据的操作3.3、对list的操作3.4、对set类型的操作3.5、对 ZSet类型的数据(有序集合)3.6、通用类型的操作 1、介绍 Redis 的Java客…...

分布式作业调度框架——ElasticJob

1、简介 ElasticJob 是面向互联网生态和海量任务的分布式调度解决方案,由两个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成。 它通过弹性调度、资源管控、以及作业治理的功能,打造一个适用于互联网场景的分布式调度解决方案,…...

react如何实现数据渲染

React数据渲染是指将组件中的数据映射到页面上,以展示出来。在React中,数据渲染通常是通过JSX和组件的state或props完成的。 JSX是一个类似HTML的语法,可以在其中嵌入JavaScript表达式。在JSX中,可以使用{}包裹JavaScript表达式&…...

在Java中如何使用List集合实现分页,以及模糊查询后分页

物理分页工具类 package com.yutu.garden.utils;import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors;/*** ClassName: PageUtils* Description: 物理分页* Author* Date …...

【JAVA】包装类、正则表达式、Arrays类、Lambda表达式

1 包装类 包装类是8种基本数据类型对应的引用类型 作用:后期的集合和泛型不支持基本类型,只能使用包装类 基本数据类型和其对应的引用数据类型的变量可以互相赋值 基本数据类型引用数据类型 byte Byte short Short int Integer long Long ch…...

Java中的Maven Assembly插件是什么?

Maven Assembly插件是Maven中的一个插件,用于创建自定义的构建过程。它允许你在构建过程中执行一些自定义的操作,例如打包、编译、复制文件等。对于新手来说,Maven Assembly插件可能有点复杂,但是我们可以使用一些幽默的方式来解释…...

SpringBoot禁用Swagger3

Swagger3默认是启用的&#xff0c;即引入包就启用。 <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version> </dependency> <dependency><groupId…...

小红书Java后端2023-8-6笔试

小红书推荐系统 时间限制&#xff1a;3000MS&#xff1b;内存限制&#xff1a;589824KB 题目描述 小红书有一个推荐系统&#xff0c;可以根据用户搜索的关键词推荐用户希望获取的内容。现在给定小孩的搜索记录&#xff08;记录是分词后的结果&#xff09;&#xff0c;我们认…...

metaRTC7 demo mac/ios编译指南

概要 metaRTC7.0开始全面支持mac/ios操作系统&#xff0c;新版本7.0.023 mac os demo 包含有srs/zlm的推拉流演示。发布版自带了x64版第三方类库&#xff0c;arm版第三方类库还需开发者自己编译。 源码下载 下载文件metartc7.023.7z https://github.com/metartc/metaRTC/re…...

systemd-journal 占用内存的问题

最近发现部分 Debian 机器的 systemd-journal 占用了非常多内存。这和 Debian 对其的 错误配置有关系&#xff08;查了一下其他发行版&#xff0c;有和 Debian 一样的配置的也有和 Debian 不一样 的配置的&#xff0c;说明这个配置有争议&#xff09;。 systemd-journal 简介 …...

Java # Spring(2)

一、Spring事物 一、分类 编程式事物&#xff1a;代码中硬编码&#xff08;不推荐使用&#xff09; 声明式事物&#xff1a;配置文件中配置&#xff08;推荐使用&#xff09; 分类&#xff1a; 基于xml的声明式事物基于注解的声明式事物 二、隔离级别 ISOLATION_DEFAULT&…...

2021年03月 C/C++(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题&#xff1a;石头剪刀布 石头剪刀布是常见的猜拳游戏。石头胜剪刀&#xff0c;剪刀胜布&#xff0c;布胜石头。如果两个人出拳一样&#xff0c;则不分胜负。 一天&#xff0c;小A和小B正好在玩石头剪刀布。已知他们的出拳都是有周期性规律的&#xff0c;比如&#xff1a;“…...

应用程序运行报错:First section must be [net] or [network]:No such file or directory

应用程序报错环境&#xff1a; 在linux下&#xff0c;调用darknet训练的模型&#xff0c;报错&#xff1a;First section must be [net] or [network]:No such file or directory&#xff0c;并提示&#xff1a;"./src/utils.c:256: error: Assertion 0 failed." 如…...

【ECMAScript】ES6-ES11学习笔记

文章目录 注意事项1.声明变量2.定义常量3.解构赋值4.模板字符串5.简化对象写法6.箭头函数7.参数默认值8.rest参数9.扩展运算符10.Symbol11.生成器函数12.Promise基本语法13.集合set14.Map15.类class16.数值扩展17.对象私有属性18.对象方法扩展19.js文件模块化20.async和await21…...

K8S MetalLB LoadBalancer

1. 简介 kubernetes集群没有L4负载均衡&#xff0c;对外暴漏服务时&#xff0c;只能使用nodePort的方式&#xff0c;比较麻烦&#xff0c;必须要记住不同的端口号。 LoadBalancer&#xff1a;使用云提供商的负载均衡器向外部暴露服务&#xff0c;外部负载均衡器可以将流量路由…...

开发者效率套件:OpenClaw+千问3.5-27B自动化代码审查

开发者效率套件&#xff1a;OpenClaw千问3.5-27B自动化代码审查 1. 为什么需要AI辅助代码审查&#xff1f; 作为一个长期在开源社区摸爬滚打的开发者&#xff0c;我经历过太多深夜提交代码后第二天被reviewer指出低级错误的尴尬时刻。直到上个月在本地部署了OpenClaw千问3.5-…...

第九章:Vite API 参考手册

第九章&#xff1a;Vite API 参考手册 9.1 核心 API createServer 创建 Vite 开发服务器 import { createServer } from viteconst server await createServer({configFile: false,root: __dirname,server: { port: 3000 } })await server.listen() console.log(服务器启动在,…...

终极指南:如何用QtScrcpy实现高效Android投屏与键鼠控制

终极指南&#xff1a;如何用QtScrcpy实现高效Android投屏与键鼠控制 【免费下载链接】QtScrcpy Android实时投屏软件&#xff0c;此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限 项目地址: https://gitcode.com/barry-ran/QtScrcp…...

嵌入式c语言——关键字4

typedef 给数据类型起个别名&#xff0c;使得对程序的可读性更高吗&#xff0c;同时和#define不一样typedeff是关键字&#xff0c;对已经存在的数据类型取别名。 在编译阶段处理&#xff0c;会进行类型检查&#xff0c;只能在定义的作用域内使用。 define是预处理指令&#xff…...

易基因|PBJ/IF10.5:西南大学吕典秋课题组揭示m6A甲基化修饰调控马铃薯耐盐性的新机制

​​大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 近日&#xff0c;Plant Biotechnology Journal杂志在线发表了由西南大学吕典秋课题组撰写的“StALKBH10B-mediated RNA m6A modification inhibits potato salt tolerance by target…...

OpenClaw安全实践:Gemma-3-12b-it本地化保障敏感数据处理

OpenClaw安全实践&#xff1a;Gemma-3-12b-it本地化保障敏感数据处理 1. 为什么选择本地化部署 去年我在处理一批财务数据时&#xff0c;曾尝试使用某云端大模型服务进行报表分析。当系统提示"您的数据将被传输至第三方服务器进行处理"时&#xff0c;那种对敏感信息…...

AI 编程盛行的时代,为什么 “『DC- WFW』” 仍然具有必要性?岛

这&#xff0c;是一个采用C精灵库编写的程序&#xff0c;它画了一幅漂亮的图形&#xff1a; 复制代码 #include "sprites.h" //包含C精灵库 Sprite turtle; //建立角色叫turtle void draw(int d){for(int i0;i<5;i)turtle.fd(d).left(72); } int main(){ …...

微软确认 Windows 11 24H2 高危漏洞:累计更新导致开始菜单与文件资源管理器崩溃

Windows 11 KB5034765 wont install, taskbar issues, and explorer.exe crashes 微软在支持文档&#xff08;KB5072911&#xff09;中明确指出&#xff1a;“在部署 2025 年 7 月及之后的 Windows 11 24H2 月度累计更新&#xff08;如 KB5062553 及后续版本&#xff09;后&am…...

Docker 容器中运行 AI CLI 工具:用户隔离与持久化卷实战指南暗

环境安装 pip install keystone-engine capstone unicorn 这3个工具用法极其简单&#xff0c;下面通过示例来演示其用法。 Keystone 示例 from keystone import * CODE b"INC ECX; ADD EDX, ECX" try:ks Ks(KS_ARCH_X86, KS_MODE_64)encoding, count ks.asm(CODE)…...

Ryujinx开源Switch模拟器:跨平台游戏体验的技术实现与优化指南

Ryujinx开源Switch模拟器&#xff1a;跨平台游戏体验的技术实现与优化指南 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 在游戏硬件快速迭代的今天&#xff0c;玩家们常常面临一个困…...