使用Python破解通达信股票数据
来源:互联网 发布:vb label 透明 编辑:程序博客网 时间:2024/06/11 10:30
使用Python破解通达信股票数据
最近在研究软件选股与自动交易,所以需要获取股票的每日数据。
我的电脑上已经安装了券商的交易软件,交易软件提供商是通达信。
下面简要介绍从通达信的交易软件中获取股票数据的过程,使用Python语言。
本文参考了CSDN的一篇文章,原始链接如下:
http://blog.csdn.net/liuyukuan/article/details/53560278
一、通达信的股票文件格式
通过交易软件的“盘后数据下载”功能,可以下载到所有股票的日线数据,具体位置在:
交易软件的安装目录\vipdoc\sh[sz]\lday
文件命名为:sh[sz]000001.day
日线文件中,每32字节(32bytes)为一天的记录。
每4个字节为一项数据:
第1项,交易日期
第2项,开盘价
第3项,最高价
第4项,最低价
第5项,收盘价
第6项,成交金额
第7项,成交量
第8项,未使用
二、Python代码
1. 设计思路:
将日线文件转换成CS格式的文件,方便后期处理。
CSV是一种文本文件的格式,使用逗号或其它分隔符将数据逐列隔开,每行代表一条记录。
可以使用Excel打开CSV格式的文件。
打开日线文件,依次读入32个字节,然后将这8项数据变成字符格式后以逗号隔开,写入CSV文件。
2. 主要函数介绍:
这里用到了strut库中的unpack函数,该函数用于将字节序列解析为字符串,有许多可用的格式。
3. 代码:
#!/usr/bin/python# -*- coding: UTF-8 -*-import osfrom struct import unpack# 将通达信的日线文件转换成CSV格式def day2csv(source_dir, file_name, target_dir): # 以二进制方式打开源文件 source_file = open(source_dir + os.sep + file_name, 'rb') buf = source_file.read() source_file.close() # 打开目标文件,后缀名为CSV target_file = open(target_dir + os.sep + file_name + '.csv', 'w') buf_size = len(buf) rec_count = buf_size / 32 begin = 0 end = 32 header = str('date') + ', ' + str('open') + ', ' + str('high') + ', ' + str('low') + ', ' \ + str('close') + ', ' + str('amount') + ', ' + str('vol') + ', ' + str('str07') + '\n' target_file.write(header) for i in xrange(rec_count): # 将字节流转换成Python数据格式 # I: unsigned int # f: float a = unpack('IIIIIfII', buf[begin:end]) line = str(a[0]) + ', ' + str(a[1] / 100.0) + ', ' + str(a[2] / 100.0) + ', ' \ + str(a[3] / 100.0) + ', ' + str(a[4] / 100.0) + ', ' + str(a[5] / 10.0) + ', ' \ + str(a[6]) + ', ' + str(a[7]) + ', ' + '\n' target_file.write(line) begin += 32 end += 32 target_file.close()source = 'C:/new_dxzq_v6/vipdoc/sh/lday'target = 'E:/tmp'file_list = os.listdir(source)for f in file_list: day2csv(source, f, target)
阅读全文
0 0
- 使用Python破解通达信股票数据
- 通达信公式破解
- python 获取股票数据
- 使用Python来获取国内股票数据的方法:TuShare
- Python获取Yahoo股票数据
- Python获取国内股票数据
- python爬取股票数据
- python爬取股票数据
- 使用程序分析股票数据
- [python]解析通达信盘后数据获取历史日线数据
- [python]解析通达信盘后数据获取历史日线数据
- python量化分析系列之---使用python获取股票历史数据和实时分笔数据
- 读取通达信日线数据
- python命令行查看股票基本行情数据
- Python 实现股票数据的实时抓取
- python 获取股票的交易数据
- Python编程的例子----股票数据接口
- Python 股票数据 弹窗自动关闭
- linux下网络编程的一些知识点
- End-to-end Concept Word Detection for Video Captioning, Retrieval, and Question Answering
- 利用Java实现搜索引擎爬虫技术
- 电子邮件的革命性变化!
- 电脑快捷键大全(内容来自百度)
- 使用Python破解通达信股票数据
- 镜像
- web前端框架的在项目中的基本引用
- 【转载】如何让电脑开机定时启动某个应用程序
- 【转载】如何把网页上不能复制的文字复制下来?
- 【转载】Zoomit的Strong
- 安卓常用工具类
- BIOS的简单认识!
- BIOS