马来西亚股票数据API对接文档

概述

本文档详细说明如何对接StockTV全球股票API中的马来西亚股票数据。马来西亚股票市场是东南亚重要的金融市场之一,包含吉隆坡证券交易所(Bursa Malaysia)等多个交易所。

认证方式

所有API请求都需要在URL参数中包含API Key:

key=您的API密钥

基础信息

  • 马来西亚国家ID: countryId=42
  • 主要交易所ID:
    • 吉隆坡证券交易所: exchangeId=62
    • 马来西亚ACE市场: exchangeId=63

API端点

1. 马来西亚股票市场列表

获取马来西亚股票市场列表,支持分页查询。

请求示例:

GET https://api.stocktv.top/stock/stocks?countryId=42&pageSize=50&page=1&key=您的API密钥

参数说明:

  • countryId: 必须为42(马来西亚)
  • pageSize: 每页返回数量(默认10,最大100)
  • page: 页码(默认1)
  • exchangeId: 可选,交易所ID

响应示例:

{
  "code": 200,
  "message": "操作成功",
  "data": {
    "records": [
      {
        "id": 41602,
        "name": "Media Chinese Int",
        "symbol": "MDCH",
        "last": 0.12,
        "chg": 0,
        "chgPct": 0,
        "high": 0.12,
        "low": 0.12,
        "volume": 1241700,
        "avgVolume": 441318,
        "exchangeId": 62,
        "countryId": 42,
        "flag": "MY",
        "open": false,
        "lastClose": 0.12,
        "time": 1716448222,
        "url": "/equities/media-chinese-international-ltd",
        "fundamentalMarketCap": 202470000,
        "fundamentalRevenue": "145.22M",
        "performanceDay": 0,
        "performanceWeek": -4,
        "performanceMonth": 0,
        "performanceYear": -25,
        "technicalDay": "strong_sell",
        "technicalWeek": "strong_sell"
      }
    ],
    "total": 1000,
    "size": 50,
    "current": 1,
    "pages": 20
  }
}

2. 查询特定马来西亚股票

通过股票ID、名称或代码查询马来西亚股票信息。

请求示例:

GET https://api.stocktv.top/stock/queryStocks?countryId=42&symbol=MDCH&key=您的API密钥

参数说明:

  • id: 股票PID(可选)
  • name: 股票名称(可选)
  • symbol: 股票代码(可选)
  • url: 股票详情页URL(可选)

3. 马来西亚指数数据

获取马来西亚主要股票指数信息。

请求示例:

GET https://api.stocktv.top/stock/indices?countryId=42&key=您的API密钥

响应包含:

  • 富时马来西亚综合指数(KLCI)
  • 富时马来西亚70中型股指数
  • 富时马来西亚小型股指数等

4. 马来西亚股票K线数据

获取马来西亚股票的K线图表数据。

请求示例:

GET https://api.stocktv.top/stock/kline?pid=41602&interval=PT1H&key=您的API密钥

时间间隔参数:

  • PT5M: 5分钟
  • PT15M: 15分钟
  • PT1H: 1小时
  • PT5H: 5小时
  • P1D: 1天
  • P1W: 1周
  • P1M: 1月

5. 马来西亚股票涨跌排行榜

获取马来西亚股票的涨跌幅排行榜。

请求示例:

GET https://api.stocktv.top/stock/updownList?countryId=42&type=1&key=您的API密钥

类型参数:

  • 1: 涨幅榜
  • 2: 跌幅榜
  • 3: 涨停榜
  • 4: 跌停榜

6. 马来西亚上市公司信息

获取马来西亚上市公司的详细信息。

请求示例:

GET https://api.stocktv.top/stock/companies?countryId=42&pageSize=10&page=1&key=您的API密钥

7. WebSocket实时数据

通过WebSocket获取马来西亚股票的实时价格数据。

连接示例:

const ws = new WebSocket("wss://ws-api.stocktv.top/connect?key=您的API密钥");

数据说明

交易时间

  • 马来西亚股市交易时间(马来西亚标准时间MYT):
    • 早盘: 9:00-12:30
    • 午盘: 14:30-17:00
  • API中的open字段表示当前是否处于交易时间

价格货币

  • 所有马来西亚股票价格均以马来西亚林吉特(MYR)为单位

特殊处理

  • 马来西亚股票代码通常为4-5位字母数字组合
  • 马来西亚市场有独特的行业分类体系

马来西亚主要指数

指数代码 指数名称 说明
KLCI 富时马来西亚综合指数 马来西亚主要股票指数,包含30只最大市值的股票
FBM70 富时马来西亚70中型股指数 中型股指数
FBMSC 富时马来西亚小型股指数 小型股指数

示例代码

Python示例

import requests

def get_malaysia_stocks(symbol=None):
    """获取马来西亚股票数据"""
    url = "https://api.stocktv.top/stock/stocks"
    params = {
        "countryId": 42,
        "pageSize": 50,
        "page": 1,
        "key": "您的API密钥"
    }
    
    if symbol:
        params["symbol"] = symbol
        
    response = requests.get(url, params=params)
    return response.json()

# 获取Media Chinese International股票数据
mdch_data = get_malaysia_stocks("MDCH")
print(mdch_data)

# 获取马来西亚指数数据
def get_malaysia_indices():
    url = "https://api.stocktv.top/stock/indices"
    params = {
        "countryId": 42,
        "key": "您的API密钥"
    }
    response = requests.get(url, params=params)
    return response.json()

indices_data = get_malaysia_indices()
print(indices_data)

JavaScript示例

async function fetchMalaysiaStocks(symbol = null) {
  let url = `https://api.stocktv.top/stock/stocks?countryId=42&pageSize=50&page=1&key=您的API密钥`;
  
  if (symbol) {
    url += `&symbol=${symbol}`;
  }
  
  const response = await fetch(url);
  const data = await response.json();
  return data;
}

// 使用示例
fetchMalaysiaStocks('MDCH').then(data => {
  console.log(data);
});

// 获取马来西亚指数
async function fetchMalaysiaIndices() {
  const response = await fetch(
    `https://api.stocktv.top/stock/indices?countryId=42&key=您的API密钥`
  );
  const data = await response.json();
  return data;
}

fetchMalaysiaIndices().then(data => {
  console.log(data);
});

实时监控示例

import time
import requests

def monitor_klci():
    """监控马来西亚KLCI指数"""
    previous_value = None
    
    while True:
        try:
            data = get_malaysia_indices()
            # 查找KLCI指数
            klci = next((item for item in data["data"] if "KLCI" in item["name"] or "KLCI" in item["symbol"]), None)
            
            if klci:
                current_value = klci["last"]
                
                if previous_value is not None:
                    change = current_value - previous_value
                    change_pct = (change / previous_value) * 100
                    print(f"KLCI指数: {current_value} | 变化: {change:+.2f} ({change_pct:+.2f}%)")
                
                previous_value = current_value
            
            time.sleep(300)  # 每5分钟更新一次
            
        except Exception as e:
            print(f"获取数据失败: {e}")
            time.sleep(60)

# 开始监控KLCI指数
monitor_klci()

WebSocket实时数据

通过WebSocket获取马来西亚股票的实时价格数据。

连接示例:

const ws = new WebSocket("wss://ws-api.stocktv.top/connect?key=您的API密钥");

ws.onmessage = function(event) {
  const data = JSON.parse(event.data);
  // 马来西亚股票通常以.MY或.KL后缀标识
  if (data.symbol.includes('.MY') || data.symbol.includes('.KL')) {
    console.log(`马来西亚股票 ${data.symbol}: ${data.last_numeric}`);
  }
};

错误处理

错误代码 说明 处理建议
400 参数错误 检查countryId参数是否正确设置为42
401 认证失败 检查API Key是否有效
404 资源不存在 检查股票代码或ID是否正确
500 服务器错误 稍后重试或联系技术支持

马来西亚股市特点

  1. 交易货币: 马来西亚林吉特(MYR)
  2. 交易时间: 周一至周五,上午9:00-12:30,下午14:30-17:00
  3. 涨跌幅限制: 马来西亚股市有涨跌幅限制机制
  4. 行业分布: 金融、种植园、工业产品是主要板块
  5. 外资限制: 部分行业有外资持股限制

注意事项

  1. 马来西亚股市与A股、港股交易时间不同,需要注意时区差异
  2. 马来西亚林吉特(MYR)不是主要国际货币,汇率波动可能影响投资回报
  3. 部分马来西亚股票可能有不同的投票权结构
  4. 马来西亚有伊斯兰金融相关规定,可能影响某些行业或公司的运营
posted @ 2025-10-05 22:38  CryptoRzz  阅读(3)  评论(0)    收藏  举报