通达信盘后数据下载如何获取不同时间序列的数据

企业微信

为什么盘后数据是量化研究的基石

做股票期货交易,无论你是手动复盘还是跑量化策略,历史数据都是绕不开的原材料。通达信作为国内最普及的行情软件,自带的盘后数据下载功能可以帮你把每天收盘后的数据完整保存到本地。很多人只知道看盘,却不知道这些数据可以按不同时间序列提取出来,用于回测、统计、信号验证。

盘后数据跟实时行情是两码事。实时行情是推送流,断网就没了;盘后数据是落地文件,下载一次就能反复使用。你如果想把过去三年的分钟线拉出来跑一个均线策略,第一步就是搞定数据下载。

通达信盘后数据下载如何获取不同时间序列的数据

通达信盘后数据下载的基本路径

打开通达信软件,在菜单栏找到“系统”->“盘后数据下载”。弹出的窗口里你会看到几个选项:日线和分钟线、专业财务数据、板块数据等。勾选“日线和分钟线”,设定好起始日期,点开始下载。软件会从服务器拉取你指定品种的历史数据。

注意,下载下来的数据默认存在软件的安装目录下,比如 vipdoc/sh/lday 对应上海日线,vipdoc/sz/minline 对应深圳分钟线。文件格式是通达信自定义的 .day 和 .lc1 或 .lc5。这些文件不能直接用 Excel 打开,但可以用通达信自带的数据导出功能转成 CSV 或 TXT。

不同时间序列的数据分别怎么获取

时间序列在通达信里分为日线、周线、月线、分钟线(1分钟、5分钟、15分钟、30分钟、60分钟)。盘后下载窗口默认只提供日线和分钟线,周线月线可以由日线合成,不需要单独下载。

日线数据:下载后存为 .day 文件,每个股票一个文件,包含开高低收、成交量、成交额。用通达信的“数据导出”功能,选择“日线数据”,导出为文本格式,字段就能直接导入 Python 或 Excel。

分钟线数据:盘后下载里可以选 1 分钟和 5 分钟,但通达信默认只保留最近几年的分钟数据。要获取更长历史,需要在下载窗口里把日期范围拉长,服务器允许多少就下多少。下载后的 1 分钟文件后缀是 .lc1,5 分钟是 .lc5。

自定义周期:想要 3 分钟、7 分钟、13 分钟这类非标准周期,通达信盘后下载不直接提供。你需要先下载 1 分钟数据,再用公式管理器里的“周期转换”或者导出后自己用 pandas 的 resample 重采样。比如把 1 分钟 K 线聚合成 3 分钟,规则就是每 3 根合并成一根。

数据导出与格式转换的关键细节

通达信导出的数据默认是文本格式,但有几个坑要避开。导出时选择“制表符分隔”而不是空格,不然列对不齐。日期格式默认是 YYYYMMDD,导入数据库前记得转成标准日期类型。成交量单位是股,不是手,期货品种要留意乘数。

如果你想直接读取通达信的二进制文件,Python 里有 struct 模块可以解析 .day 文件。日线文件每条记录 32 字节,格式是:日期(4字节整型)、开盘(4字节浮点)、最高、最低、收盘、成交额(4字节浮点)、成交量(4字节整型)、保留(4字节)。分钟线 .lc1 每条记录也是 32 字节,但字段顺序略有不同,日期时间合并成一个整型,格式是 YYYYMMDDHHMM。

写代码读取日线文件的示例(Python):


import struct

def read_day_file(filepath):

    data = []

    with open(filepath, 'rb') as f:

        while True:

            buf = f.read(32)

            if not buf:

                break

            fields = struct.unpack('IIIIIfII', buf)

            date = fields[0]

            open_p = fields[1] / 100.0

            high = fields[2] / 100.0

            low = fields[3] / 100.0

            close = fields[4] / 100.0

            amount = fields[5]

            volume = fields[6]

            data.append([date, open_p, high, low, close, amount, volume])

    return data

注意通达信日线价格是分单位的整数,要除以 100。分钟线价格也是除以 100,但成交量单位是股。期货品种的价格乘数不同,比如螺纹钢要乘以 10,这个需要根据品种手动调整。

多品种多周期数据的管理策略

做股票和期货混合策略,数据管理要分目录。通达信的 vipdoc 目录下,sh 是上海,sz 是深圳,期货在 ds 或 cf 子目录。下载时选择“所有品种”会把几千个文件都拉下来,硬盘占用很大。建议按需下载,先下载你要交易的品种列表。

对于期货主力连续合约,通达信盘后数据下载里没有直接的“主力连续”文件,需要下载每个具体合约再拼接。拼接规则是持仓量最大的合约作为主力,换月时处理价差。这个拼接逻辑可以在导出 CSV 后用 Python 完成,也可以直接在通达信里用“自定义板块”管理主力合约列表。

时间序列的对齐问题:股票是 9:30-11:30 和 13:00-15:00,期货有夜盘,不同品种夜盘时间不同。下载分钟线后,时间戳是交易所时间,做跨品种策略时要统一到同一时间轴。最简单的办法是只保留日线级别做信号,分钟线用于执行。

盘后数据下载的常见误区

很多人以为下载一次就永久有效,其实通达信的分钟线数据只保留最近几年,老数据会被服务器清理。想要长历史分钟线,必须定期备份本地的 .lc1 文件,或者用其他数据源补充。

另一个误区是忽略复权。通达信下载的日线是不复权数据,做回测时如果遇到除权除息,价格会跳空。需要在导出后自己计算复权因子,或者用通达信的“前复权”功能先处理再导出。前复权数据在盘后下载里不直接提供,得在 K 线图上设置复权模式后,用“数据导出”里的“复权数据”选项。

期货合约有到期日,下载的历史数据里包含已退市合约。回测时要注意合约的活跃期,避免用不活跃合约的收盘价做信号。通达信盘后数据下载不会标记合约是否到期,需要自己根据合约代码里的年月判断。

把数据用起来的实战思路

下载完数据只是第一步,关键是把它变成可回测的格式。股票日线数据可以直接算技术指标,期货分钟线数据适合做日内突破策略。不同时间序列的组合使用能提升策略稳健性,比如用日线判断趋势方向,用 5 分钟线找入场点。

通达信盘后数据下载的自动化也可以做,用按键精灵或者 Python 的 pyautogui 模拟点击,每天收盘后定时运行。下载完成后自动导出 CSV 到指定文件夹,再触发回测脚本。这套流程跑通后,你每天只需要看策略报告,不用手动折腾数据。

数据质量决定策略上限。通达信的数据虽然免费,但偶尔有缺失或错误。下载后做一遍完整性检查,比如检查每个交易日是否有数据、价格是否为零、成交量是否异常。发现问题及时用其他数据源补上,别等到回测结果离谱了才回头找原因。

转载请注明出处:https://www.lianghuajiaoyi.top/wenzhang/tongdaxin-panhou-shuju-shijian-xulie-1332.html