韩国股票API接入指南:KRX 实时行情与历史数据获取

  1. iTick
  2. 教程
韩国股票API接入指南:KRX 实时行情与历史数据获取 - iTick
韩国股票API接入指南:KRX 实时行情与历史数据获取

韩国交易所(KRX)是全球最具活力的证券市场之一,KOSPI 和 KOSDAQ 两大交易所汇聚了三星电子、SK 海力士、现代汽车等全球知名企业。随着韩流文化、半导体产业和新能源车供应链的全球影响力提升,韩国股市正成为量化交易者和跨境投资者重点关注的市场。

本文将为您详细讲解如何通过 iTick API 一站式接入韩国股票市场,获取实时行情、历史 K 线,并提供完整的 Python 实战代码,助您快速构建韩国股市数据分析系统。

为什么选择 iTick?

  • 全面覆盖:支持 KOSPI、KOSDAQ 全部股票
  • 低延迟:WebSocket 实时推送<50ms
  • 多协议:REST + WebSocket + FIX
  • 免费套餐:基础行情无限调用

一、快速开始

1. 注册获取 API Token

访问 iTick 官网 注册,在控制台获取你的专属 Token。

2. 安装依赖

      pip install requests websocket-client pandas

    

二、核心功能实现

2.1 实时行情(REST API)

获取三星电子(005930)的实时报价:

      import requests

API_TOKEN = "your_token"
BASE_URL = "https://api.itick.org"

def get_quote(symbol):
    url = f"{BASE_URL}/stock/quote"
    params = {"region": "KR", "code": symbol}
    headers = {"token": API_TOKEN}

    resp = requests.get(url, params=params, headers=headers).json()
    if resp.get("code") == 0:
        data = resp["data"]
        print(f"{data['n']} ({data['s']})")
        print(f"最新价: {data['ld']} KRW | 涨跌幅: {data['chp']}%")
    else:
        print("Error:", resp.get("msg"))

get_quote("005930")  # 三星电子

    

2.2 历史 K 线数据(REST API)

获取日线数据用于回测:

      def get_kline(symbol, ktype=8, limit=100):
    url = f"{BASE_URL}/stock/kline"
    params = {"region": "KR", "code": symbol, "kType": ktype, "limit": limit}
    headers = {"token": API_TOKEN}

    resp = requests.get(url, params=params, headers=headers).json()
    if resp.get("code") == 0:
        for item in resp["data"][-5:]:  # 打印最近5条
            print(f"日期: {item['t']} 开:{item['o']} 高:{item['h']} 低:{item['l']} 收:{item['c']} 量:{item['v']}")
    else:
        print("Error:", resp.get("msg"))

get_kline("005930", limit=10)  # 最近10个交易日

    

2.3 WebSocket 实时推送(低延迟)

订阅三星电子、SK 海力士的实时成交和报价:

      import websocket, json, threading, time

WS_URL = "wss://api.itick.org/stock"
API_TOKEN = "your_token"

def on_message(ws, message):
    data = json.loads(message)
    if "data" in data:
        md = data["data"]
        if md["type"] == "quote":
            print(f"{md['s']} 最新: {md['ld']} KRW 涨跌:{md['chp']}%")

def on_open(ws):
    ws.send(json.dumps({
        "ac": "subscribe",
        "params": "005930$KR,000660$KR",
        "types": "quote"
    }))

def send_ping(ws):
    while True:
        time.sleep(30)
        ws.send(json.dumps({"ac": "ping", "params": str(int(time.time()*1000))}))

ws = websocket.WebSocketApp(WS_URL, header={"token": API_TOKEN},
                            on_open=on_open, on_message=on_message)
threading.Thread(target=send_ping, args=(ws,), daemon=True).start()
ws.run_forever()

    

三、韩国市场实用指南

股票代码格式

  • 6 位数字代码,如三星电子 005930
  • REST 请求:region=KR, code=005930
  • WebSocket 订阅:005930$KR

主流股票列表

公司代码板块
三星电子005930半导体
SK 海力士000660半导体
现代汽车005380汽车
LG 能源373220电池
NAVER035420互联网

交易时间(韩国时间)

  • 9:00 – 15:30(连续交易,无午休)
  • 对应北京时间:8:00 – 14:30

四、总结

通过以上示例,你已经可以快速接入韩国股票数据。iTick 提供:

  • 稳定可靠的数据源
  • 开发者友好的 API 设计
  • 免费套餐满足个人/初创团队需求

延伸阅读: