韩国 市场行情 API 接入指南(KR)

韩国(KR)市场行情 API 接入说明,覆盖历史 K 线、实时 WebSocket 推送、市场 Key 鉴权和错误排查,市场说明:韩国证券交易所。

发布日期:2026-03-21
适用市场:韩国(KR)
重点交易所:KRX

做 韩国(KR)接入时,团队最怕的是“上线后才发现数据口径不一致”。这篇文档会优先解决这个问题。

这篇内容按“技术负责人可直接评审”的标准组织,尽量减少二次沟通成本。

本文视角

市场页重点是 KR 的参数映射、交易所命名和 symbol 规范,目标是“查得准、落得稳”。

适用场景

  • KRX:005930 历史 K 线回测与策略验证
  • 多市场聚合网关与统一数据服务
  • 韩国 行情面板和榜单展示
  • KRX 实时订阅 + 告警触发

实施路径(从联调到上线)

建议用“WebSocket + REST 历史接口”的双通道架构:

  • WebSocket:承载实时推送,适合盘口、最新价、告警触发
  • REST 历史接口:负责初始化与补数,适合回测与审计追溯
  • 统一鉴权:REST 与 WebSocket 都用同一个市场 Key(REST 用请求头 X-API-Key,WebSocket 用连接参数 key),一个市场一个 Key

这套组合的价值在于:

实时体验、稳定性、可维护性三者平衡,不会只追求“能跑通”。

联调到上线核对表

  • 先确认市场 Key 有效、market 与 Key 所属市场一致,再做业务联调
  • 确认 market 与 symbol 格式一致
  • 实时链路加心跳、重连与消息去重
  • 历史接口按分页/批次拉取,避免过载
  • 落库字段统一精度和时区

实战提示

韩国 市场建议先打通历史接口,再接实时推送,避免初期定位问题时缺少基准数据。

快速接入(最小可用)

REST(历史 K 线)

GET https://api.zafeed.com/v1/klines?market=KR&symbol=KRX:005930&interval=1m&limit=200
X-API-Key: YOUR_KR_KEY

WebSocket(实时行情)

wss://api.zafeed.com/v1/stream?key=YOUR_KR_KEY
{"op":"subscribe","market":"KR","symbols":["KRX:005930"]}

参数与字段建议(工程实战版)

核心请求参数:

  • market:市场代码(示例:KR)
  • symbol:完整标的代码(示例:KRX:005930)
  • interval:K 线周期(如 1m/5m/15m/1h/1d)
  • limit:返回条数(默认 200,最多 1000)

落库时建议统一字段:

  • symbol、venue、time(Unix 毫秒)
  • open/high/low/close、volume
  • 实时流可补 price/change/changePct 等快照字段

主流对接示例(技术团队可直接复用)

cURL(联调首选)

curl "https://api.zafeed.com/v1/klines?market=KR&symbol=KRX:005930&interval=1m&limit=200" \
  -H "X-API-Key: YOUR_KR_KEY"

JavaScript(Node.js 服务端)

const url = "https://api.zafeed.com/v1/klines?market=KR&symbol=KRX:005930&interval=1m&limit=200";
const resp = await fetch(url, {
  headers: {
    "X-API-Key": "YOUR_KR_KEY"
  }
});
const data = await resp.json();
console.log(data);

Python(数据任务)

import requests

url = "https://api.zafeed.com/v1/klines?market=KR&symbol=KRX:005930&interval=1m&limit=200"
headers = {"X-API-Key": "YOUR_KR_KEY"}
res = requests.get(url, headers=headers, timeout=20)
print(res.status_code, res.json())

Go(后端服务)

req, _ := http.NewRequest("GET", "https://api.zafeed.com/v1/klines?market=KR&symbol=KRX:005930&interval=1m&limit=200", nil)
req.Header.Set("X-API-Key", "YOUR_KR_KEY")
resp, _ := http.DefaultClient.Do(req)

WebSocket(实时订阅)

const ws = new WebSocket("wss://api.zafeed.com/v1/stream?key=YOUR_KR_KEY");
ws.onopen = () => ws.send(JSON.stringify({
  op: "subscribe",
  market: "KR",
  symbols: ["KRX:005930"]
}));

参数建议

  • market:KR
  • symbol:KRX:005930
  • venue:KRX

错误排查(高频问题)

1. 返回 401

Key 缺失、无效、已轮换或已过期:在会员中心确认 Key 状态,复制最新的 Key 替换(注意不要带空格)。

2. 返回 market/symbol 不匹配

先确认 market=KR 与 symbol=KRX:005930 属于同一市场体系。

3. WebSocket 连接后很快断开

检查是否缺少心跳,或同一个 Key 重复连接(每个市场 Key 默认 1 个 WebSocket 连接),或网络侧代理超时。

4. 数据延迟感知明显

将实时展示与落库解耦:前端先显示增量,后端异步补齐校验。

性能与稳定性建议

  • 使用连接池与重试退避,避免瞬时失败放大
  • 对历史接口做分页和限流,不要一次性拉全量
  • 对实时推送做去重(按 symbol + time)
  • 关键链路加监控:错误率、延迟、断线重连次数

常见问题(FAQ)

1) 什么时候优先使用 WebSocket?

需要实时刷新行情、盘口或推送告警时,优先使用 WebSocket。

2) 什么时候使用历史 K 线接口?

回测、指标计算、数据补齐等离线或准实时任务优先使用历史 K 线接口。

3) 市场 Key 放在哪里?

REST 在请求头 X-API-Key 中携带该市场的 Key,WebSocket 在连接地址参数 key 中携带;Key 只能用于所属市场,market 必须与 Key 一致,否则返回 403。Key 不要写进网页前端代码,建议由后端服务调用。

4) 这套接口适合做什么产品?

适合行情终端、量化信号系统、策略回测平台、交易风控与通知系统。

高频误区与修正建议

  • 只关注“能收到数据”,没做幂等与去重
  • 接口异常没有分级,问题定位速度慢
  • 把 demo 请求直接搬到生产,未考虑重试和限流

生产环境监控建议

  • 保留响应样本用于故障复盘
  • 在会员中心轮换 Key 后,同步更新服务配置
  • 按 market 维度建立监控面板,快速发现区域问题

最后建议

文档不是一次写完,建议每次线上问题复盘后,把排查结论补回本文,长期效果最好。

参考文档