PHP对接马来西亚股票API:实时数据、IPO与K线方案

2026-06-12阅读 0热度 0
马来西亚

对接马来西亚股票市场,获取实时行情、历史K线、指数与IPO信息,是金融数据应用的核心场景。以下基于StockTV API,整理一套完整的PHP对接方案,覆盖从基础配置到核心接口调用,再到WebSocket实时推送的完整链路。

一、基础配置

调用任何接口前,必须先获取API Key,这是所有请求的通行凭证。配置一个基础请求函数,后续所有接口均通过它发起HTTP GET请求。

使用PHP对接马来西亚股票市场API 实时数据、IPO和K线(Kline)的PHP对接方案

 'CURL Error: ' . curl_error($ch)];
    }
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    $decoded = json_decode($response, true);
    if (json_last_error() !== JSON_ERROR_NONE) {
        return ['error' => 'JSON Decode Error'];
    }
    return $decoded;
}
?>

二、马来西亚股票核心数据对接

根据官方文档,股票相关接口集中在 /stock/ 路径下。马来西亚的关键参数是 countryId=42,后续所有接口均需使用此编码。

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

最基础的接口——分页拉取马来西亚交易所全部股票,返回包含实时行情、基本面和技术指标,数据量非常全面。

 42, // 马来西亚
        'page' => $page,
        'pageSize' => $pageSize,
    ];
    if ($exchangeId !== null) {
        $params['exchangeId'] = $exchangeId; // 可用于筛选特定交易所
    }
    return stocktvApiRequest($endpoint, $params);
}

// 使用示例
$result = getMalaysiaStockList(1, 10);
if (isset($result['code']) && $result['code'] == 200) {
    $stocks = $result['data']['records'];
    echo "马来西亚股票列表(第1页,共" . $result['data']['total'] . "只):n";
    foreach ($stocks as $stock) {
        $trend = $stock['chgPct'] >= 0 ? '↑' : '↓';
        echo sprintf("  %s (%s): %.3f %s%.2f%%n", 
            $stock['name'], 
            $stock['symbol'], 
            $stock['last'],
            $trend,
            abs($stock['chgPct'])
        );
    }
} else {
    echo "请求失败: " . ($result['message'] ?? '未知错误');
}
?>

接口返回字段说明(摘自官方文档)

  • id: 股票的唯一PID,后续查询K线或订阅WebSocket时使用。
  • name / symbol: 股票名称与代码。
  • last / chg / chgPct: 最新价、涨跌额、涨跌幅。
  • high / low: 当日最高/最低价。
  • volume: 成交量。
  • open: 是否开市。
  • technicalDay / technicalHour 等: 日线/小时线技术指标信号(如 strong_buy)。

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

若已知股票的PID、代码或名称,可通过此接口精确查询。注意该接口不含 countryId 参数,返回结果涵盖全球股票,需手动筛选 flag'MY' 的条目。

3. 获取马来西亚市场指数

富时大马综合指数(FTSE Bursa Malaysia KLCI)等基准指数,通过此接口即可获取。

 42, // 马来西亚
    ];
    return stocktvApiRequest($endpoint, $params);
}
?>

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

技术分析的核心环节。支持多种时间周期:5分钟、15分钟、1小时、5小时、日线、周线、月线,对应的 interval 参数分别为 PT5MPT15MPT1HPT5HP1DP1WP1M

 $pid,
        'interval' => $interval,
    ];
    return stocktvApiRequest($endpoint, $params);
}

// 使用示例:获取某股票(PID=41602)的日K线
$klineData = getMalaysiaStockKline(41602, 'P1D');
if (isset($klineData['code']) && $klineData['code'] == 200) {
    $klines = $klineData['data'];
    echo "K线数据(日线)最新3条:n";
    $recent = array_slice($klines, -3); // 取最后3条
    foreach ($recent as $bar) {
        $date = date('Y-m-d', $bar['time'] / 1000);
        echo "日期: {$date}, 开:{$bar['open']}, 高:{$bar['high']}, 低:{$bar['low']}, 收:{$bar['close']}, 量:{$bar['volume']}n";
    }
}
?>

5. 获取马来西亚IPO新股日历

追踪马来西亚市场新股发行与上市计划,该接口返回待上市和已上市的IPO信息。

 42];
    if (in_array($type, [1, 2])) {
        $params['type'] = $type;
    }
    return stocktvApiRequest($endpoint, $params);
}
?>

6. 获取马来西亚股票涨跌排行榜

实时捕捉市场热点:涨幅榜、跌幅榜、涨停榜、跌停榜,通过 type 参数控制。

 42,
        'type' => $type,
    ];
    return stocktvApiRequest($endpoint, $params);
}
?>

三、高级功能:WebSocket 实时数据

若仅需静态数据,上述HTTP接口足够。但如果需要实时行情推送——比如监控自选股价格变化——必须使用WebSocket,它比HTTP轮询高效得多。马来西亚股票的实时数据同样通过此方式获取。

关键步骤

  1. 连接:连接到 wss://ws-api.stocktv.top/connect?key=您的Key
  2. 订阅:连接成功后,发送订阅消息,指定要订阅的马来西亚股票的 pid
  3. 接收:服务器持续推送订阅股票的实时行情。
  4. 心跳:定期发送心跳消息以保持连接。

文档提供了一个前端Demo,后端方面有Ja va示例。至于PHP,可使用 ratchet/pawl 这类WebSocket客户端库实现。具体实现依赖业务场景,此处不展开完整代码,但核心流程即上述四步。

四、完整对接流程与注意事项

  1. 获取API Key——第一道门槛,所有请求必须携带 key 参数。
  2. 根据数据需求选择接口

    • 批量列表/监控:用 getMalaysiaStockListgetMalaysiaStockRank
    • 特定股票查询:用 queryMalaysiaStock,或先从列表接口获取股票的 pid
    • 历史数据分析:用 getMalaysiaStockKline
    • 实时推送:必须使用WebSocket接口
    • 市场概况:用 getMalaysiaIndices
    • 新股信息:用 getMalaysiaIpo
  3. 核心参数说明

    • countryId: 马来西亚固定为 42
    • pid: 股票的唯一标识,用于K线、WebSocket订阅等精细操作。务必从列表或查询接口获取正确的 pid
    • interval: K线周期,根据分析需求选择。
  4. 错误处理与日志:生产环境中,必须对API返回的 codemessage 做校验,并记录日志,便于问题追踪。
  5. 性能与频率:虽然文档未明确限制请求频率,但应避免高频轮询。若需对大量股票做实时监控,WebSocket是唯一推荐方案——HTTP轮询的负载和延迟无法满足要求。

以上接口覆盖了马来西亚股票市场的主要数据需求:实时行情、历史K线、市场指数、IPO信息、涨跌排行。实际使用时,根据具体场景组合调用这些函数即可。

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策