奸轲嫣 发表于 2025-6-1 18:27:39

对接韩国金融市场数据全指南:K线、实时行情与IPO新股

一、韩国金融市场特色与数据价值

韩国作为亚洲第四大经济体,其金融市场具有以下显著特点:

[*]高波动性:KOSPI指数日均波动率1.5%左右
[*]科技股主导:三星电子、SK海力士等科技巨头占比超40%
[*]独特交易机制:上午9:00-15:30(KST),午间不休市
[*]活跃IPO市场:2023年韩国IPO融资额位居亚洲前列
[*]外资占比高:外资持股比例平均达30-40%
二、环境配置与基础对接

1. API密钥与基础配置

# 基础配置
API_KEY = "your_korea_api_key"# 通过官网申请
BASE_URL = "https://api.stocktv.top"
KOREA_ID = 17# 韩国国家代码
KOSPI_EXCHANGE = "KRX"# 韩国交易所代码

# 时区设置
import pytz
kst = pytz.timezone('Asia/Seoul')2. 安装必要库

pip install requests websocket-client pandas plotly python-dotenv三、K线数据专业对接方案

1. 多周期K线获取接口

def get_korea_kline(stock_code, interval="1d", market="KOSPI"):
    """
    获取韩国股票K线数据
    :param stock_code: 股票代码(如005930)
    :param interval: 时间间隔(1m/5m/15m/1h/1d)
    :param market: 市场类型(KOSPI/KOSDAQ)
    """
    url = f"{BASE_URL}/stock/kline"
    params = {
      "symbol": stock_code,
      "market": market,
      "interval": interval,
      "countryId": KOREA_ID,
      "key": API_KEY
    }
    response = requests.get(url, params=params)
    data = response.json()
   
    # 转换为DataFrame并处理时区
    df = pd.DataFrame(data['data'])
    df['time'] = pd.to_datetime(df['time'], unit='ms').dt.tz_localize('UTC').dt.tz_convert(kst)
    return df

# 获取三星电子(005930)日K数据
samsung_kline = get_korea_kline("005930", interval="1d")2. 专业K线可视化(支持韩国特色指标)

import plotly.graph_objects as go
from plotly.subplots import make_subplots

def plot_korean_stock(df, title):
    # 创建带成交量的子图
    fig = make_subplots(rows=2, cols=1, shared_xaxes=True,
                     vertical_spacing=0.05,
                     row_heights=)
   
    # K线主图
    fig.add_trace(go.Candlestick(
      x=df['time'],
      open=df['open'],
      high=df['high'],
      low=df['low'],
      close=df['close'],
      name='K线',
      increasing_line_color='red',# 韩国市场通常用红色表示上涨
      decreasing_line_color='blue'# 蓝色表示下跌
    ), row=1, col=1)
   
    # 添加韩国常用的5/20/60日均线
    for period in :
      df = df['close'].rolling(period).mean()
      fig.add_trace(go.Scatter(
            x=df['time'],
            y=df,
            name=f'MA{period}',
            line=dict(width=1)
      ), row=1, col=1)
   
    # 成交量柱状图
    fig.add_trace(go.Bar(
      x=df['time'],
      y=df['volume'],
      name='成交量',
      marker_color='grey'
    ), row=2, col=1)
   
    fig.update_layout(
      title=f'{title} - 韩国市场',
      xaxis_title='首尔时间(KST)',
      yaxis_title='价格(KRW)',
      template="plotly_white",
      hovermode="x unified"
    )
   
    fig.update_xaxes(
      rangeslider_visible=False,
      rangebreaks=[{'bounds': ['sat', 'mon']}]# 隐藏周末
    )
   
    fig.show()

plot_korean_stock(samsung_kline, "三星电子(005930)")四、实时行情数据对接

1. WebSocket实时数据订阅

class KoreaRealtimeData:    def __init__(self):      self.symbol_map = {            "005930": "三星电子",            "000660": "SK海力士",            "035420": "NAVER"      }      def on_message(self, ws, message):      data = json.loads(message)                # 处理股票行情      if data.get('type') == 'stock':            symbol = data['symbol']            name = self.symbol_map.get(symbol, symbol)            change = data.get('chgPct', 0)                        # 韩国市场特殊颜色表示            color = "
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 对接韩国金融市场数据全指南:K线、实时行情与IPO新股