如何获取马来西亚股票数据API完整版:从注册到Python实战

如何获取马来西亚股票数据API完整版:从注册到Python实战


前言

随着全球化投资需求的增长,获取多国股票数据成为开发者与投资者的刚需。StockTV提供了覆盖马来西亚、印度、美国、新加坡等全球多国的股票、外汇、期货及加密货币数据接口。本文将手把手教你如何通过StockTV API获取马来西亚股票数据,并以Python代码实战获取K线数据。


一、准备工作:获取API Key

1. 注册并申请API Key

  • 访问官网:打开 StockTV API控制台,注册账号并登录。
  • 获取Key:在控制台中创建新项目,系统会自动生成唯一的API Key,保存好此密钥(如 key=IN8888Admin)。

2. 接口权限说明

  • 免费版支持实时行情、历史K线、市场列表等基础功能。
  • 企业版可定制高频数据、WebSocket实时推送等高级功能。

二、接口核心功能解析

根据Postman集合文件,马来西亚股票数据主要通过以下接口获取:

接口名称 功能描述 示例URL
市场列表 筛选马来西亚股票 /stock/stocks?countryId=42&key=<YOUR_KEY>
查询K线数据 按时间粒度获取历史数据 /stock/kline?pid=7310&interval=PT15M&key=<YOUR_KEY>
实时行情(WebSocket) 推送最新价格 wss://ws-api.stocktv.top/connect?key=<YOUR_KEY>

三、Python实战:获取马来西亚股票K线数据

1. 安装依赖库

pip install requests pandas matplotlib

2. 获取马来西亚股票列表

import requests

# 配置API参数
API_KEY = "IN8888Admin"  # 替换为你的Key
url = "https://api.stocktv.top/stock/stocks"
params = {
    "countryId": 42,      # 马来西亚国家ID
    "pageSize": 10,
    "page": 1,
    "key": API_KEY
}

# 发送请求
response = requests.get(url, params=params)
data = response.json()

# 提取股票PID(示例取第一条)
stock_pid = data["data"]["records"][0]["id"]
print("获取股票PID:", stock_pid)

3. 获取K线数据并可视化

import pandas as pd
import matplotlib.pyplot as plt

def fetch_kline(pid, interval="PT15M"):
    url = "https://api.stocktv.top/stock/kline"
    params = {
        "pid": pid,
        "interval": interval,  # 支持PT5M, PT15M, PT1H等
        "key": API_KEY
    }
    response = requests.get(url, params=params)
    kline_data = response.json()["data"]
    
    # 转换为DataFrame
    df = pd.DataFrame(kline_data)
    df["time"] = pd.to_datetime(df["time"], unit="ms")  # 转换时间戳
    df.set_index("time", inplace=True)
    return df

# 获取15分钟级K线
df = fetch_kline(stock_pid, "PT15M")

# 绘制K线图
plt.figure(figsize=(12,6))
plt.plot(df["close"], label="Close Price")
plt.title("Malaysia Stock K-line (15min)")
plt.xlabel("Time")
plt.ylabel("Price")
plt.legend()
plt.show()

输出结果示例:

            open   high    low  close  volume  vo
time                                             
2024-08-20 239.42 239.60 239.42 239.60       0   0
2024-08-20 239.60 239.60 239.55 239.55       0   0
...

四、进阶功能:WebSocket实时行情

import websocket
import json

def on_message(ws, message):
    data = json.loads(message)
    print(f"实时行情: {data['last_numeric']} (更新时间: {data['time']})")

ws_url = f"wss://ws-api.stocktv.top/connect?key={API_KEY}"
ws = websocket.WebSocketApp(ws_url, on_message=on_message)
ws.run_forever()

结语

通过StockTV API,开发者可快速接入马来西亚等全球市场的股票数据。本文提供的Python代码可直接集成到量化交易系统或数据仪表盘中。如需获取完整代码或企业级支持,可联系StockTV官方

立即行动点击注册,开启你的全球数据之旅!

posted @ 2025-04-03 16:50  CryptoPP  阅读(61)  评论(0)    收藏  举报