案例 A股美股全覆盖!这款开源Python实时股票行情SDK真香

2026-05-05 19:04:40 +0800 CST views 7

A股美股全覆盖!这款开源Python实时股票行情SDK真香

来源: 微信公众号(创新技术阁)
GitHub: https://github.com/tickplus
发布平台: 程序员茄子(chenxutan.com)
标签: Python, 股票, 量化交易, SDK, 数据接口, 金融科技


引言

在构建量化交易系统或开发金融数据分析工具时,获取稳定可靠的实时行情往往是一大痛点。商业级接口费用高昂,而免费接口常常面临延迟高、不稳定、甚至随时停服的风险。

今天,为大家分享一款名为 TickPlus 的开源 Python 行情 SDK。它专为解决金融数据获取痛点而生,不仅接口丰富,而且调用简单,非常适合个人开发者和量化爱好者使用。


一、TickPlus 能做什么?

TickPlus 是基于高性能数据分发系统构建的 SDK,主要提供了以下四大类核心数据接口:

1. 全品种实时行情

不仅支持传统的 A股、港股、美股,还涵盖了期货市场的实时波动数据。

市场支持情况
A股✅ 全市场实时行情
港股✅ 实时行情
美股✅ 实时行情
期货✅ 实时波动数据

2. 高价值历史数据

无论是复盘所需的 日 K 线、分钟 K 线,还是用于微观结构分析的历史 Tick 数据,都能轻松获取。

数据类型说明
日K线每日OHLCV数据
分钟K线1/5/15/30/60分钟周期
Tick数据逐笔成交明细

3. 丰富的基础信息

提供股票列表、核心财务指标、板块成分股划分,以及历史复权(除权除息)数据。

数据类型应用场景
股票列表全市场扫描
财务指标价值投资筛选
板块成分行业轮动策略
复权数据历史回测

4. 深度量化高级数据

支持获取 逐笔交易记录买卖五档深度盘口,以及 资金流向等进阶数据。

数据类型说明
逐笔交易每一笔成交的详细信息
五档盘口买卖各5档深度报价
资金流向大单/散户资金进出

二、核心优势解析

相比市面上良莠不齐的免费接口,TickPlus 拥有三个非常实用的特性:

1. 数据稳如泰山

底层依托自研的高性能分发引擎,数据延迟低且不易丢包,最大程度保证行情的实时性与准确度。

2. 丝滑的开发体验

SDK 支持链式调用,你可以直接将数据返回为标准的 JSON 格式,或者直接输出为 Pandas DataFrame,无缝对接你的量化策略分析流程。

# JSON 格式输出
quotes = BasicApi.getFullQuotes(symbol="stock", code="000001", token=token)
# 直接是字典列表

# DataFrame 格式输出
df = BasicApi.getFullQuotes(symbol="stock", code="000001", token=token, as_df=True)
# 直接是 pandas DataFrame

3. 全平台兼容

无论你是在 Windows 开发环境Linux 服务器,还是 macOS 笔电上,都能顺畅运行。

操作系统支持情况
Windows
Linux
macOS

三、极简实战:3分钟跑通第一个接口

第一步:安装依赖库

pip install tickplus

第二步:申请 API Token

注意:正式调用前,你需要前往 TickPlus 官网申请一个免费的 API Token 进行初始化。

官网地址:http://www.tickplus.org

第三步:实战代码

示例一:一键获取多只股票实时行情

如何同时紧盯平安银行、万科A 和贵州茅台的走势?只需两行核心代码:

# 批量获取指定股票的最新行情
codes = "000001,000002,600000,600519"
quotes = BasicApi.getFullQuotes(symbol="stock", code=codes, token=token)
 
for quote in quotes:
    print(f"{quote['code']}: 最新价={quote['c']}, 昨收={quote['pc']}")

输出示例

000001: 最新价=12.35, 昨收=12.10
000002: 最新价=8.67, 昨收=8.55
600000: 最新价=7.23, 昨收=7.18
600519: 最新价=1688.00, 昨收=1675.50

示例二:直接拉取30+种技术指标

如果你需要获取市盈率、换手率等指标进行因子选股,可以直接调用 getFullFactor 接口:

# 获取个股全方位的技术指标
indicators = BasicApi.getFullFactor(
    symbol="stock",
    code="000001",
    token=token
)
 
if indicators:
    data = indicators[0]
    print(f"最新价: {data['zxj']} | 涨跌幅: {data['zdf']}%")
    print(f"换手率: {data['hsl']}% | 市盈率(TTM): {data['ttmsyl']}")

输出示例

最新价: 12.35 | 涨跌幅: 2.06%
换手率: 1.23% | 市盈率(TTM): 8.56

示例三:获取买卖五档盘口深度数据

# 获取五档盘口数据
entrust = BasicApi.getEntrust(
    symbol="stock",
    code="000001",
    token=token
)

if entrust:
    # 卖五档
    for i, sell in enumerate(entrust.get('sell', [])[:5]):
        print(f"卖{i+1}: {sell['price']} | {sell['volume']}手")
    
    # 买五档
    for i, buy in enumerate(entrust.get('buy', [])[:5]):
        print(f"买{i+1}: {buy['price']} | {buy['volume']}手")

示例四:获取历史K线数据

from datetime import datetime, timedelta

# 获取平安银行最近30天的日K线
kline = HistoryApi.getDailyKline(
    symbol="stock",
    code="000001",
    token=token,
    start_date=(datetime.now() - timedelta(days=30)).strftime("%Y%m%d"),
    end_date=datetime.now().strftime("%Y%m%d")
)

for bar in kline:
    print(f"{bar['date']}: O={bar['open']} H={bar['high']} L={bar['low']} C={bar['close']} V={bar['volume']}")

四、与其他数据源对比

特性TickPlus商业接口免费接口
价格免费/低价高昂免费
数据稳定性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
延迟
历史数据完整完整不全
API设计现代化各不相同简陋
Python支持原生一般一般
技术指标30+部分

五、项目架构

项目包含了清晰的模块划分:

tickplus/
├── api/              # 核心API接口
│   ├── basic_api.py  # 基础行情接口
│   ├── history_api.py # 历史数据接口
│   └── realtime_api.py # 实时行情接口
├── utils/            # 工具函数
│   ├── parser.py     # 数据解析
│   └── formatter.py   # 格式化工具
├── tests/            # 测试用例
├── references/       # 参考文档
│   └── apidoc.md     # 接口文档
└── __init__.py       # 包入口

六、典型应用场景

1. 量化回测系统

# 获取历史数据用于回测
codes = ["000001", "600000", "600519"]
for code in codes:
    kline = HistoryApi.getDailyKline(
        symbol="stock",
        code=code,
        token=token,
        start_date="20230101",
        end_date="20231231"
    )
    # 构建回测数据集

2. 实时盯盘系统

# 实时监控多只股票
codes = "000001,000002,600000,600519"
while True:
    quotes = BasicApi.getFullQuotes(symbol="stock", code=codes, token=token)
    for quote in quotes:
        # 检查涨跌幅度
        change = (quote['c'] - quote['pc']) / quote['pc'] * 100
        if abs(change) > 5:
            print(f"警告: {quote['code']} 涨跌幅超过5%!")
    time.sleep(5)

3. 选股系统

# 筛选低估值股票
codes = "000001,000002,600000,600519"
quotes = BasicApi.getFullQuotes(symbol="stock", code=codes, token=token)

for quote in quotes:
    # 获取基本面指标
    indicators = BasicApi.getFullFactor(symbol="stock", code=quote['code'], token=token)
    if indicators:
        data = indicators[0]
        pe = data.get('ttmsyl', 0)
        # 筛选PE<15的股票
        if 0 < pe < 15:
            print(f"{quote['code']}: PE={pe}, 符合价值投资标准")

4. 交易信号系统

# 获取五档盘口,分析是否有大单买入
entrust = BasicApi.getEntrust(symbol="stock", code="000001", token=token)

if entrust:
    buy_volume = sum([b['volume'] for b in entrust.get('buy', [])[:3]])
    sell_volume = sum([s['volume'] for s in entrust.get('sell', [])[:3]])
    
    if buy_volume > sell_volume * 2:
        print("检测到强势买入信号!")

七、常见问题

Q1:数据是实时的吗?

:是的,TickPlus 底层采用高性能分发引擎,数据延迟低,支持实时行情推送。

Q2:需要付费吗?

:基础功能免费,如需高级功能可查看官网定价。

Q3:支持哪些编程语言?

:目前主要支持 Python,SDK 设计遵循 Pythonic 风格。

Q4:API 调用有频率限制吗?

:具体限制请查看官网文档,一般个人用户足够使用。

Q5:数据可以商用吗?

:请查看项目开源协议和官网许可条款。


八、总结与项目地址

对于很多缺乏稳定数据源的个人量化交易者而言,TickPlus 得上是一个非常值得尝试的开源神器。它的接口设计非常契合 Python 投资者的使用习惯,大大降低了数据清洗与对接的门槛。

项目亮点

全品种覆盖:A股、港股、美股、期货
接口丰富:实时行情、历史数据、技术指标、五档盘口
开发友好:链式调用、JSON/DataFrame 输出
全平台兼容:Windows、Linux、macOS
免费可用:个人用户免费 Token

相关链接

  • GitHub:https://github.com/tickplus
  • 官网:http://www.tickplus.org
  • 接口文档:tickplus/references/apidoc.md

本文首发于「程序员茄子」博客,原文链接:https://chenxutan.com

推荐文章

赚点点任务系统
2024-11-19 02:17:29 +0800 CST
css模拟了MacBook的外观
2024-11-18 14:07:40 +0800 CST
windows下mysql使用source导入数据
2024-11-17 05:03:50 +0800 CST
Git 常用命令详解
2024-11-18 16:57:24 +0800 CST
PHP中获取某个月份的天数
2024-11-18 11:28:47 +0800 CST
go发送邮件代码
2024-11-18 18:30:31 +0800 CST
如何开发易支付插件功能
2024-11-19 08:36:25 +0800 CST
如何实现生产环境代码加密
2024-11-18 14:19:35 +0800 CST
thinkphp swoole websocket 结合的demo
2024-11-18 10:18:17 +0800 CST
一个简单的html卡片元素代码
2024-11-18 18:14:27 +0800 CST
程序员茄子在线接单