2026 越南证券交易所(VN30, HOSE)API 接口指南

AI摘要
本文是一篇技术知识分享,详细介绍了越南胡志明市证券交易所(HOSE)VN30指数成分股的API接口选择与Python对接实践。作者对比了iTick API、RPDS DATA和Bloomberg API三家主流服务商在数据覆盖、稳定性和成本上的差异,并以iTick API为例,提供了从获取Token到使用REST API获取实时报价、历史K线数据,以及通过WebSocket订阅实时盘口数据的完整Python代码示例。文章最后强调了API使用中的注意事项和风险控制的重要性。

作为常年折腾量化的开发者,最近集中测试了越南证券交易所(主要是胡志明市证券交易所 HOSE,核心指数 VN30)的各类 API 接口。越南股市近年来热度不低,HOSE 作为其核心交易所,VN30 成分股更是外资重点关注的标的。但想拿到稳定的实时行情、历史数据和盘口信息,选对 API 提供商至关重要。今天就给大家分享我对比的主流服务商亲测体验。
2026 越南证券交易所 API 全指南
先明确几个核心概念,避免新手 confusion:越南证券交易所核心是 HOSE(胡志明市)和 HNX(河内),我们常说的越南主流股票 API,重点覆盖 HOSE 的 VN30 指数成分股;实时行情 API 用于获取最新报价、成交量等动态数据,历史数据 API 用于回溯 K 线(分钟/日/周线等),盘口数据则包含买一到买五、卖一到卖五的价格和挂单量,是高频交易的关键。

一、2026 主流越南 HOSE(VN30)API 提供商对比

目前支持越南 HOSE 市场的 API 提供商不算多,我筛选了 3 个实操性强的,从数据覆盖、稳定性、成本等核心维度做了对比

1. iTick API

核心优势:全球多市场覆盖,对越南 HOSE 支持完善,VN30 成分股的实时报价、历史行情、Level2 盘口数据都能拿到;支持 RESTful 和 WebSocket 双协议,免费套餐足够日常测试,付费版性价比高。

关键信息:延迟低至 100ms 内,满足非超高频交易需求;历史数据覆盖 30 年以上,支持分钟级到日线级 K 线;Python 有成熟客户端库,对接成本低。

不足:企业级超高并发需求需定制套餐,普通用户基本用不到。

2. RPDS DATA

核心优势:覆盖全球多个新兴市场,包括越南 HOSE、印度、马来西亚等,适合做跨市场的开发者;数据清洗能力强,异常率低;支持 HTTP 和 WS 双协议,全量获取市场数据。

关键信息:稳定性不错,但免费额度少,测试需申请测试账户;适合学术研究或专业量化团队,按数据量付费。

不足:针对越南市场的定制化文档较少,新手对接需多花时间调试。

3. Bloomberg API

核心优势:全球金融数据领域标杆,深度覆盖越南 HOSE 市场及 VN30 成分股,数据包含实时行情、深度盘口、历史 K 线及基本面数据;系统可用性达 99.99%,依托全球分布式架构保障稳定,支持高频交易场景;自带完善的合规风控模块,适配机构监管需求。

关键信息:支持 VN30 成分股全量数据,包括 Level2 盘口及 Tick 级历史数据,延迟低至毫秒级;需搭配彭博终端使用,入门成本极高,适合有持续大额投入的专业机构。

不足:对个人开发者和中小团队极不友好,无独立免费套餐,终端及 API 服务年费高昂,且学习门槛较高。

二、Python 对接 HOSE(VN30)全流程

下面以 iTick API 为例,毕竟它是目前对接越南 HOSE 最省心的选择。步骤很简单:注册拿 Token→ 搭建环境 → 调用接口(实时报价/历史行情/盘口),全程用 Python 实现。

1. 前期准备:获取 API Token

  • 第一步:访问 iTick 官网,完成简单注册;

  • 第二步:注册成功后,在个人中心找到 API Token,这是后续调用接口的核心凭证,记得妥善保存,不要泄露。

2. 环境搭建:安装依赖库

需要用到 requests(调用 REST 接口)和 websocket-client(订阅实时行情),直接用 pip 安装:


pip install requests websocket-client

3. 核心接口调用示例

以下示例均针对 HOSE 的 VN30 成分股。

REST API 获取 VN30 成分股实时报价

适合单次获取最新价格、涨跌幅、成交量等基础数据,接口响应快,代码如下:


import requests

# 替换为你的iTick API Token

ITICK_API_TOKEN = "YOUR_API_TOKEN"

# 目标标的:越南HOSE市场VN30成分股——越南航空(HVN)

symbol = "HVN"

# 实时报价API接口地址

url = f"https://api.itick.org/stock/quote?region=VN&code={symbol}"

# 请求头(必须包含token)

headers = {

 "accept": "application/json",

 "token": ITICK_API_TOKEN

}

# 发送请求并处理响应

response = requests.get(url, headers=headers)

if response.status_code == 200:

    data = response.json()

 # 解析核心数据(最新价、开盘价、涨跌幅、成交量)

    stock_data = data.get("data", {})

 print(f"标的:{symbol}")

 print(f"最新价:{stock_data.get('ld')} 越南盾")

 print(f"开盘价:{stock_data.get('o')} 越南盾")

 print(f"涨跌幅:{stock_data.get('chp')}%")

 print(f"当前成交量:{stock_data.get('v')} 股")

else:

 print(f"请求失败,状态码:{response.status_code},错误信息:{response.json().get('message')}")

获取 VN30 成分股历史行情(K 线数据)

适合策略回测,支持分钟级、日线级等多种周期,这里以获取 100 根日线数据为例:


import requests

ITICK_API_TOKEN = "YOUR_API_TOKEN"

symbol = "HVN" # 越南航空

# 历史K线API接口(kType=8代表日线,limit=100代表获取100根K线)

url = f"https://api.itick.org/stock/kline?region=VN&code={symbol}&kType=8&limit=100"

headers = {

 "accept": "application/json",

 "token": ITICK_API_TOKEN

}

response = requests.get(url, headers=headers)

if response.status_code == 200:

    data = response.json()

    kline_list = data.get("data", [])

 print(f"获取{symbol}最近100根日线数据:")

 for kline in kline_list:

 # 解析K线数据(时间戳、开高低收、成交量)

 print(f"时间:{kline.get('t')},开盘:{kline.get('o')},最高:{kline.get('h')},最低:{kline.get('l')},收盘:{kline.get('c')},成交量:{kline.get('v')}")

else:

 print(f"请求失败,状态码:{response.status_code},错误信息:{response.json().get('message')}")

WebSocket 订阅 VN30 成分股实时盘口数据

适合需要持续监控盘口变化的场景(比如高频交易),能实时获取买一到买五、卖一到卖五的价格和挂单量:


import websocket

import json

ITICK_API_TOKEN = "YOUR_API_TOKEN"

symbol = "VN$HVN" # 越南航空

def  on_open(ws):

 # 连接成功后,发送订阅请求

    subscribe_msg = {

 "ac": "subscribe",

 "params": symbol,

 "types": "depth"  # 盘口数据

    }

    ws.send(json.dumps(subscribe_msg))

 print("WebSocket连接成功,已订阅盘口数据...")

def  on_message(ws, message):

 # 接收并解析实时盘口数据

    data = json.loads(message)

 if data.get("type") == "depth":

        depth_data = data.get("data", {})

        buy_depth = depth_data.get("b", [])  # 买盘数据(买一到买五)

        sell_depth = depth_data.get("a", [])  # 卖盘数据(卖一到卖五)

 print(f"\n{symbol} 实时盘口({depth_data.get('t')}):")

 print("卖盘:", [(f"卖{i+1}", f"{item.get('p')}盾", f"{item.get('v')}股") for i, item in  enumerate(sell_depth[:5])])

 print("买盘:", [(f"买{i+1}", f"{item.get('p')}盾", f"{item.get('v')}股") for i, item in  enumerate(buy_depth[:5])])

def  on_error(ws, error):

 print(f"连接错误:{error}")

def  on_close(ws, close_status_code, close_msg):

 print(f"连接关闭,状态码:{close_status_code},信息:{close_msg}")

# 建立WebSocket连接

ws_url = "wss://api.itick.org/stock"

ws = websocket.WebSocketApp(ws_url,

 on_open=on_open,

 on_message=on_message,

 on_error=on_error,

 on_close=on_close)

# 持续运行连接

ws.run_forever()

三、注意事项

  1. 免费计划有订阅上限;如果需要很多个标的,建议直接升级套餐更省心。

  2. 请勿将 API Token 泄露给其他人,一旦泄露,将无法访问 API 接口。

  3. 免费计划请勿频繁调用 API 接口,否则容易触发 API 频率限制。

四、结语

对于计划进入越南股市量化领域的开发者而言,选择合适的API提供商只是第一步,更重要的是建立完善的风险控制体系和投资策略。随着越南资本市场的不断发展,相关API服务也将日趋完善,为量化交易提供更多可能性。

温馨提示:本文仅供代码参考,不构成任何投资建议。市场有风险,投资需谨慎

参考文档:https://blog.itick.org/stock-api/2026-vietnam-stock-exchange-api-python-tutorial

GitHub:https://github.com/itick-org/

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!