news 2026/4/3 4:09:00

对接API获取马来西亚历史数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
对接API获取马来西亚历史数据

通过API获取马来西亚股票市场的历史数据是许多开发者和分析师的常见需求。下面我将为您梳理基于API的完整对接方案。对接API获取马来西亚历史数据

🔑 准备工作

开始调用接口前,API文档的API密钥(API Key),这是所有请求进行身份验证的必备凭证。推荐使用requests(Python)或axios(Node.js)等HTTP库来简化调用过程。

📊 核心接口详解

获取历史数据主要通过以下两个接口实现,它们返回统一格式的JSON数据,其中code为200表示成功。

1. 获取历史K线数据

这是最常用的历史数据接口,用于获取股票的开盘价、收盘价、最高价、最低价和成交量等OHLCV信息。

  • 接口地址GET https://api.stocktv.top/stock/kline

  • 关键参数

    • pid:必填,股票的唯一ID。此ID需要通过“获取股票列表”接口查询得到。

    • interval:必填,指定K线的时间粒度。可选值包括:

      • PT5M(5分钟)
      • PT15M(15分钟)
      • PT1H(1小时)
      • P1D(日线)
      • P1W(周线)
      • P1M(月线)
    • key:必填,您的API密钥。

2. 获取股票列表

在查询特定股票的历史数据前,你需要先通过此接口获取市场上所有股票的代码及其对应的唯一PID。

  • 接口地址GET https://api.stocktv.top/stock/stocks

  • 关键参数

    • countryId:必填,马来西亚的国家ID为42
    • pageSize&page: 用于分页,可高效获取全部股票数据。

💻 实战代码示例

以下是一个完整的Python示例,演示如何先获取股票列表,再查询某只股票(例如:MAYBANK)的日线历史数据。

import requests # 配置 API_KEY = "YOUR_API_KEY" # 请替换为你的真实API Key BASE_URL = "https://api.stocktv.top" def get_stock_list(): """获取马来西亚股票列表,并找到MAYBANK的PID""" url = f"{BASE_URL}/stock/stocks" params = { "countryId": 42, "pageSize": 100, # 假设MAYBANK在第一页 "key": API_KEY } try: response = requests.get(url, params=params) data = response.json() if data.get("code") == 200: for stock in data["data"]["records"]: # 遍历寻找MAYBANK if stock.get("symbol") == "MAYBANK": print(f"找到股票: {stock['name']}, PID: {stock['id']}") return stock["id"] # 返回PID else: print("获取股票列表失败:", data.get("message")) except Exception as e: print("请求出错:", e) return None def get_historical_data(pid): """根据股票的PID获取历史K线数据(日线)""" url = f"{BASE_URL}/stock/kline" params = { "pid": pid, "interval": "P1D", # 日线数据 "key": API_KEY } try: response = requests.get(url, params=params) data = response.json() if data.get("code") == 200: kline_data = data["data"] print(f"\n获取到 {len(kline_data)} 条K线数据:") for i, kline in enumerate(kline_data[:3]): # 仅打印前3条作为示例 # 时间戳转换为可读日期 from datetime import datetime date = datetime.fromtimestamp(kline["time"] / 1000).strftime('%Y-%m-%d') print(f"日期: {date}, 开盘: {kline['open']}, 最高: {kline['high']}, " f"最低: {kline['low']}, 收盘: {kline['close']}, 成交量: {kline['volume']}") return kline_data else: print("获取K线数据失败:", data.get("message")) except Exception as e: print("请求出错:", e) return None # 主程序 if __name__ == "__main__": # 第一步:获取MAYBANK的PID maybank_pid = get_stock_list() if maybank_pid: # 第二步:使用PID获取历史数据 historical_data = get_historical_data(maybank_pid)

运行上述代码,你将首先得到MAYBANK的PID,然后获得其历史日线数据列表。

⚠️ 重要提示与最佳实践

为了更可靠地使用API,请注意以下几点:

  • PID是核心:历史数据查询严格依赖pid参数,务必先调用列表接口获取准确的PID。
  • 错误处理:在生产环境中,务必添加完善的异常捕获和重试机制,例如使用tenacity库。
  • 数据缓存:对于不常变动的历史数据,可以考虑在本地进行缓存,以降低API调用次数并提升响应速度。
  • 频率限制:请注意遵守API的请求频率限制,避免过于频繁的调用。

希望这份指南能帮助你顺利对接!如果你在具体操作中遇到问题,比如在寻找特定股票的PID时卡住了,可以告诉我,我们一起看看。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/14 13:05:21

大数据领域ClickHouse的资源调度策略

ClickHouse资源调度策略深度解析:从理论到实践的全栈优化 元数据框架 标题:ClickHouse资源调度策略深度解析:从理论到实践的全栈优化 关键词:ClickHouse, 资源调度, MPP架构, 并行处理, 成本模型, 资源组, 负载均衡 摘要:本文以MPP(大规模并行处理)架构为理论基础,系…

作者头像 李华
网站建设 2026/4/1 22:28:04

3BHL000570P0001 通讯适配控制模块(ABB)核心特性与应用

3BHL000570P0001是ABB推出的工业级通讯适配控制模块,归属自动化系统信号交互核心组件,主打多协议兼容与稳定通讯,专为工业设备跨系统协同场景设计。核心功能涵盖信号转换、协议适配及跨设备数据交互,可无缝对接ABB 800xA DCS系统、…

作者头像 李华
网站建设 2026/3/12 22:45:47

LeetCode 473 火柴拼正方形 - Swift 题解

文章目录摘要描述题解答案题解代码分析1. 基础判断和预处理2. 回溯算法的核心逻辑3. 为什么这个算法能工作?4. 优化技巧示例测试及结果示例 1:matchsticks [1,1,2,2,2]示例 2:matchsticks [3,3,3,3,4]示例 3:matchsticks [5,5,…

作者头像 李华
网站建设 2026/3/6 8:46:43

企业源代码防泄密软件,该怎么选?

当企业部署数据防泄密系统时,常面临一个根本矛盾:研发部门需要对抗高水平内部人员的技术性泄露,而普通办公部门则需在保障敏感文件安全的同时,维持高效率协作。单一的安全策略无法满足双重需求。为此,深信达推出 SDC沙…

作者头像 李华