原创 基于 pytdx 实现通达信板块及成分股数据分析的完整教程

那一秒 22天前 81

🧱 一、环境准备 安装依赖库:

pip install pytdx pandas
其中:
pytdx:用于连接通达信行情服务器获取市场数据;
pandas:用于数据清洗与结构化处理。

确保本地有 通达信客户端 并正确安装,默认路径类似于:

C:\new_tdx\T0002\hq_cache\
G:\newtdx\T0002\hq_cache\
确保有 hybk.txt、tdxzs.cfg、概念板块.txt 等数据文件用于解析行业/概念成分股数据。

🧾 二、连接通达信行情服务器

from pytdx.hq import TdxHq_API

api = TdxHq_API()
if api.connect('119.147.212.81', 7709):  # 通达信电信A服务器IP
    print("连接成功!")
建议使用稳定 IP(可参考 pytdx 提供的 best_ip.py 自动选择最快服务器模块)。

📂 三、读取行业/概念/自定义板块信息 你可以使用 tdxzs.cfg 配置文件提取一级行业代码:

import pandas as pd

tdx_zs_path = r'C:\new_tdx\T0002\hq_cache\tdxzs.cfg'
tdx_zs = pd.read_csv(tdx_zs_path, delimiter='|', header=None, dtype=str, encoding='gb2312')

def get_hy_bk(cType='行业'):
    if cType == '行业':
        df = tdx_zs.iloc[34:166, [0, 1, 5]]
    elif cType == '概念':
        df = tdx_zs.iloc[166:504, [0, 1, 5]]
    df.columns = ['indname', 'indcode1', 'indcode2']
    return df
indcode2 即为通达信板块代码,如 880005 表示“酿酒行业”。

📘 四、读取板块成分股(如 880201 的股票列表) 通达信行业板块数据文件如 hybk.txt 的格式为:

880201	化工行业	600028	中国石化
880201	化工行业	600309	万华化学

读取函数如下:

def read_file_with_encodings(file_name, encodings=['gbk', 'utf-8', 'utf-16']):
    for enc in encodings:
        try:
            with open(file_name, 'r', encoding=enc) as f:
                return 

本主题为课程学员专享,成为股票量化投资课程学员后可免费阅读

成为学员

上传的附件:

最新回复 ( 0条评论 )


官方微信
码力十足学量化
Powered by Xiuno BBS 4.0.7

官方微信