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

  1. iTick
  2. 教程
2026 越南證券交易所(VN30, HOSE)API 接口指南 - iTick
2026 越南證券交易所(VN30, HOSE)API 接口指南

越南證券交易所(主要是胡志明市證券交易所 HOSE,其核心指數為 VN30)近年來備受關注。作為新興市場的重要組成部分,HOSE 及其 VN30 成份股吸引了眾多投資者的興趣。為獲取穩定的實時行情、歷史數據和盤口信息,選擇合適的 API 供應商至關重要。本指南概述主流 API 服務商的比較,並提供 Python 對接示例,以協助開發者高效接入相關數據。

一、核心概述

  • 越南證券交易所核心組成:主要包括 HOSE(胡志明市)和 HNX(河內)
  • 實時行情 API:用於獲取最新報價、成交量等動態數據
  • 歷史數據 API:用於回溯 K 線(分鐘/日/週線等)
  • 盤口數據:包含買一到買五、賣一到賣五的價格和掛單量,適用於高頻交易場景

二、主流越南 HOSE(VN30)API 供應商對比

目前支持越南 HOSE 市場的 API 供應商包括以下三個主要選項,分別從數據覆蓋、穩定性、成本等核心維度進行對比:

1. iTick API

核心優勢

  • 全球多市場覆蓋,對越南 HOSE 支持完善
  • 支持 VN30 成份股的實時報價、歷史行情、Level2 盤口數據
  • 支持 RESTful 和 WebSocket 雙協議
  • 免費套餐足夠日常測試,付費版性價比高

技術規格

  • 延遲低至 100ms 內,滿足非超高頻交易需求
  • 歷史數據覆蓋 30 年以上,支持分鐘級到日線級 K 線
  • 註冊即送 API Token,無需信用卡
  • Python 有成熟客戶端庫,對接成本低

2. RPDS DATA

核心優勢

  • 覆蓋全球多個新興市場,包括越南 HOSE、印度、馬來西亞等
  • 數據清洗能力強,異常率低
  • 支持 HTTP 和 WS 雙協議,全量獲取市場數據

技術規格

  • 穩定性良好
  • 適合學術研究或專業量化團隊,按數據量付費

限制:針對越南市場的定制化文檔較少,新手對接需多花時間調試

3. Bloomberg API

核心優勢

  • 全球金融數據領域標桿,深度覆蓋越南 HOSE 市場及 VN30 成份股
  • 數據包含實時行情、深度盤口、歷史 K 線及基本面數據
  • 系統可用性達 99.99%,依託全球分佈式架構保障穩定
  • 自帶完善的合規風控模塊,適配機構監管需求

技術規格

  • 支持 VN30 成份股全量數據,包括 Level2 盤口及 Tick 級歷史數據
  • 延遲低至毫秒級

限制:對個人開發者和中小團隊極不友好,無獨立免費套餐,終端及 API 服務年費高昂,且學習門檻較高

三、Python 對接 HOSE(VN30)技術實現

下面通過 iTick API ,展示如何通過 Python 實現與越南 HOSE 的對接。

環境配置

獲取 API Token

  • 訪問 iTick 官網,完成註冊
  • 在個人中心找到 API Token,此為調用接口的核心憑證

安裝依賴庫

需要安裝 requests(調用 REST 接口)和 websocket-client(訂閱實時行情):

      pip install requests websocket-client

    

核心接口調用示例

以下示例均針對 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 線數據)

此方法適合策略回測,支持分鐘級、日線級等多種週期(其他週期請參考 iTick 官方文檔):

      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 頻率限制

五、總結

對於計劃進入越南股市量化領域的開發者而言,iTick API 是一個理想的解決方案。它不僅提供了全面的越南證券交易所(HOSE)和 VN30 指數數據,還具備以下顯著優勢:

  • 全面的數據覆蓋:支持實時報價、歷史行情和 Level2 盤口數據,滿足各種量化分析需求
  • 卓越的性能表現:延遲低至 100ms 內,歷史數據覆蓋 30 年以上
  • 靈活的接入方式:支持 RESTful 和 WebSocket 雙協議,適應不同應用場景
  • 友好的定價策略:免費套餐適合日常測試,付費版本性價比高,適合商業應用

通過本文提供的 Python 示例代碼,開發者可以快速集成 iTick API,輕鬆獲取越南證券市場的實時和歷史數據,為量化策略開發和數據分析奠定堅實基礎。隨著越南資本市場的不斷發展,iTick API 將繼續為開發者提供穩定可靠的數據服務,助力量化交易的成功實施。

官方文檔:https://docs.itick.org
GitHub:https://github.com/itick-org