🧱 一、环境准备
安装依赖库:
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
本主题为课程学员专享,成为股票量化投资课程学员后可免费阅读
成为学员