大数跨境
0
0

251201通达信官方Python量化(TDX Quant)(1)

251201通达信官方Python量化(TDX Quant)(1) 福瑞布
2025-12-01
11
导读:全面进入个人量化时代——通达信开始支持Python增强选股回测预警功能和量化交易

个人搞量化门槛太高了,最好的路径是在支持量化的券商那里开通量化交易,软件,数据,接口都自动解决,但开户和交易门槛很高,需要资金门槛、还有的券商对量化交易费用额外增加。

现在通达信开始支持Python增强选股回测预警功能和量化交易,个人搞量化就容易了,剩下的就是花精力搞量化策略。但是能搞过deepseek的母公司搞的幻方量化吗?散户面对的机构的几百家量化基金,有几分胜算?还有,一部n牛散,有好的策略,而且量化了,其它散户咋办呢?

我是布洗脸,关注我,第一时间获取我的研习成果。



通达信量化(TDX Quant)官方说明


通达信量TDX Quant化投研平台


量化投研,重新开始,从通达信开始。。。
让投资更高效,让风险更透明
我们提供全面的量化数据、投研工具、量化学习体系、在线交流社区

1.Python语言必须使用python313版本
https://www.python.org/downloads/

2.Python编辑编译调试IDE环境建议使用VSCode
https://code.visualstudio.com/Download
在vscode中扩展中加入python扩展




安装目录下面的PYPlugins/user/tqcenter.py是最主要的TQData支撑文件,使用TQData时需要import from tqcenter import tq
使用例子请见PYPlugins/user/test.py等

python装好后,有一些经常使用的库可以安装下:

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install backtrader -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install vectorbt -i https://pypi.tuna.tsinghua.edu.cn/simple




核心依赖包

numpy - 用于数值计算

pandas - 用于数据处理和分析

matplotlib - 用于数据可视化(在tdxvbt.py中使用)

vectorbt - 用于回测和量化分析

scikit-learn - 用于机器学习相关功能(在tdxvbt.py中使用LinearRegression)

ctypes - 用于调用DLL动态链接库

json - 用于JSON数据解析


这些依赖主要支撑了以下功能:

  • 数据处理和分析(pandas, numpy)
  • 图表绘制(matplotlib)
  • 量化回测(vectorbt)
  • 机器学习(scikit-learn)
  • 与通达信客户端DLL通信(ctypes)




这个项目是一个Python插件系统,主要用于通达信(TDX)金融数据的获取和处理。

 

项目概述

该项目包含三个主要文件:

  1. tqcenter.py - 核心模块,提供与通达信数据接口的封装
  2. tdxvbt.py - 基于vectorbt的回测评估工具
  3. test.py - 测试示例文件

tqcenter.py 文件详解

tqcenter.py 是这个项目的核心模块,提供了与通达信数据接口的Python封装。它主要有以下几个功能部分:

1. 数据连接管理

  • 使用 ctypes 加载 TPythClient.dll 动态库与通达信通信
  • 提供连接初始化、关闭等功能
  • 实现了自动连接机制

2. 市场数据获取

  • get_market_data() 方法:获取股票K线数据,支持多种周期(1分钟、5分钟、日线等)
  • 支持复权处理(前复权、后复权、不复权)
  • 支持填充缺失数据
  • 返回结构化的数据格式

3. 财务数据获取

  • get_financial_data() 方法:获取股票财务数据
  • 支持按时间范围、报表类型等条件筛选
  • 返回格式化的财务数据表

4. 板块数据处理

  • get_sector_list():获取所有板块列表
  • get_stock_list_in_sector():获取特定板块的成分股

5. 除权除息数据处理

  • get_divid_factors():获取股票的除权除息数据
  • 实现了复杂的前复权因子计算逻辑

6. 实时数据订阅

  • subscribe_quote():订阅实时行情数据
  • 支持回调函数处理实时数据

7. 交易接口

  • order_stock():下单接口,支持不同类型的订单

8. 辅助功能

  • 数据格式转换工具
  • 时间格式处理函数
  • 错误处理和异常捕获机制

主要特点

  1. 完整的数据接口封装
    封装了通达信的各种数据接口,便于在Python环境中使用
  2. 灵活的数据获取
    支持多种数据类型、时间周期和复权方式
  3. 友好的返回格式
    使用pandas DataFrame等常用数据结构返回数据
  4. 完善的错误处理
    对各种异常情况进行处理和提示
  5. 高性能设计
    使用缓存机制提高重复请求的效率

与其他模块的关系

tqcenter.py 作为核心数据模块被 tdxvbt.py 所依赖,后者基于此实现了量化回测评估功能。

test.py 文件包含了各种功能的使用示例。

这个模块是整个系统的数据基础,提供了从股票行情到财务数据的一站式访问接口。








VectorBT 包功能详解



VectorBT 是一个专门用于金融数据分析和回测的 Python 库,特点和用途:

VectorBT(Vector Backtesting)是一个高性能的算法交易和回测框架,它具有以下主要特点:

  1. 向量化计算
    利用 NumPy 和 Pandas 进行高效的向量化运算,大大提高回测速度
  2. 交互式分析
    集成 Plotly 等可视化工具,方便进行策略分析和结果展示
  3. 灵活的策略开发
    支持复杂策略的快速实现和测试
  4. 风险管理
    内置多种风险指标计算和管理功能
  5. 信号生成
    提供丰富的技术指标和信号生成工具
  6. 仓位管理
    支持多种仓位管理和资金管理方法

在您提供的项目中,VectorBT 主要用于:

  • 策略回测结果的评估
  • 与基准(如沪深300指数)的比较分析
  • 计算各种绩效指标,如 Alpha、Beta、夏普比率、最大回撤等
  • 可视化策略表现和超额收益

从您的代码中可以看到,tdxvbt.py 文件就是基于 VectorBT 构建的一个评估工具,它能够:

  • 获取基准数据(如指数走势)
  • 计算策略相对于基准的表现
  • 展示各种风险收益指标
  • 绘制净值曲线和超额收益图表

VectorBT 相比传统的回测框架(如 Backtrader),最大的优势在于性能,特别是在处理大量数据或多参数优化时,速度优势非常明显。






scikit-learn 包功能详解

scikit-learn(通常缩写为 sklearn)是 Python 中最流行和功能最全面的机器学习库之一。它提供了简单高效的工具用于数据挖掘和数据分析。

主要功能模块

  1. 监督学习算法
    • 线性回归、逻辑回归
    • 支持向量机(SVM)
    • 决策树和随机森林
    • 朴素贝叶斯
    • K近邻算法
    • 神经网络等
  2. 无监督学习算法
    • K均值聚类
    • 层次聚类
    • 主成分分析(PCA)
    • 异常检测等
  3. 模型选择和评估
    • 交叉验证
    • 网格搜索
    • 各种评估指标
  4. 数据预处理
    • 特征缩放
    • 缺失值处理
    • 特征编码等

在您项目中的具体应用

在您的项目中,scikit-learn 主要用于计算金融指标中的 Alpha 和 Beta 值






喜欢请赞,推荐,转发,收藏!这是娱乐的动力。不喜欢忽略。


(免责声明:本公众号所有内容旨在分享知识与信息,仅为个人观点,不构成任何专业意见或投资建议。)




#通达信公式   #通达信增强  #通达信量化


获取本号分享的资源的方式见:


获取本号所分享资源的方法


小布AI助手


【声明】内容源于网络
0
0
福瑞布
个人业余娱乐,记录自研成果。熟悉通达信软件使用、精通通达信公式设计及dll函数开发。
内容 72
粉丝 0
福瑞布 个人业余娱乐,记录自研成果。熟悉通达信软件使用、精通通达信公式设计及dll函数开发。
总阅读832
粉丝0
内容72