韩国股票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 | 电池 |
| NAVER | 035420 | 互联网 |
交易时间(韩国时间)
- 9:00 – 15:30(连续交易,无午休)
- 对应北京时间:8:00 – 14:30
四、总结
通过以上示例,你已经可以快速接入韩国股票数据。iTick 提供:
- 稳定可靠的数据源
- 开发者友好的 API 设计
- 免费套餐满足个人/初创团队需求
延伸阅读: