印度尼西亚实时股票数据获取指南

概述

本文将详细介绍如何通过StockTV提供的API接口获取印度尼西亚的股票市场数据,包括市场列表、个股信息、多股票查询以及K线数据等技术细节。

一、API基础信息

提供全球多个国家(包括印度尼西亚)的股票、外汇、期货和加密货币数据API,主要特点包括:

  • 支持国家:印度、马来西亚、印度尼西亚、美国、日本等

  • 数据类型:市场列表、指数、K线、IPO新股、公司信息、国际新闻等

  • 接入方式:HTTP REST API和WebSocket

  • 获取方式:需获取API Key

二、印度尼西亚股票数据API接口详解

1. 市场列表接口

详细接口文档

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

功能:获取指定国家(如印度尼西亚)的股票市场列表

关键参数

  • countryId=48:印度尼西亚的国家ID

  • pageSize=10:每页显示数量(默认10)

  • page=1:页码(默认1)

  • key:API密钥

示例请求

curl --location '/stock/stocks?countryId=14&pageSize=10&page=1&key=YOUR_API_KEY'

响应示例

{
  "code": 200,
  "message": "操作成功",
  "data": {
    "records": [
      {
        "id": 41602,
        "name": "Media Chinese Int",
        "symbol": "MDCH",
        "countryNameTranslated": "Malaysia",
        "last": 0.12,
        "chg": 0,
        "chgPct": 0,
        "high": 0.12,
        "low": 0.12,
        "volume": 1241700,
        "exchangeId": 62,
        "flag": "MY"
      }
    ],
    "total": 1000,
    "size": 2,
    "current": 1,
    "pages": 500
  }
}

技术要点

  • 返回数据包含股票的基本信息如代码、名称、价格、涨跌幅等

  • 支持分页查询,适合大数据量获取

  • 包含交易所ID、国旗代码等附加信息

2. 单个股票查询接口

接口地址https://api.stocktv.top/stock/queryStocks

功能:查询单个股票的详细信息

关键参数

  • id:股票PID(可选)

  • name:股票名称(可选)

  • symbol:股票代码(可选)

  • key:API密钥

示例请求

curl --location '/stock/queryStocks?id=7310&key=YOUR_API_KEY'

响应示例

{
  "code": 200,
  "message": "操作成功",
  "data": [
    {
      "id": 41602,
      "name": "Media Chinese Int",
      "symbol": "MDCH",
      "last": 0.12,
      "chg": 0,
      "chgPct": 0,
      "high": 0.12,
      "low": 0.12,
      "volume": 1241700,
      "exchangeId": 62,
      "flag": "MY"
    }
  ]
}

技术要点

  • 支持通过PID、名称或代码查询股票

  • 返回数据包含股票的实时价格信息

  • 适合获取特定股票的详细数据

3. 多股票查询接口

接口地址https://api.stocktv.top/stock/stocksByPids

功能:批量查询多个股票数据

关键参数

  • pids:股票PID列表,多个PID用逗号分隔(必需)

  • key:API密钥

示例请求

curl --location '/stock/stocksByPids?pids=7310,17976&key=YOUR_API_KEY'

响应示例

{
  "code": 200,
  "message": "操作成功",
  "data": [
    {
      "id": 41602,
      "name": "Media Chinese Int",
      "symbol": "MDCH",
      "last": 0.12,
      "chg": 0,
      "chgPct": 0,
      "high": 0.12,
      "low": 0.12,
      "volume": 1241700,
      "exchangeId": 62,
      "flag": "MY"
    }
  ]
}

技术要点

  • 适合批量获取多只股票数据,减少API调用次数

  • 参数格式简单,只需提供逗号分隔的PID列表

  • 返回数据结构与单股票查询一致

4. K线数据接口

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

功能:获取股票的K线历史数据

关键参数

  • pid:股票PID(必需)

  • interval:时间间隔(必需)

    • PT5M:5分钟

    • PT15M:15分钟

    • PT1H:1小时

    • P1D:1天

    • P1W:1周

    • P1M:1月

  • key:API密钥

示例请求

curl --location '/stock/kline?pid=7310&interval=PT15M&key=YOUR_API_KEY'

响应示例

{
  "code": 200,
  "message": "操作成功",
  "data": [
    {
      "time": 1719818400000,
      "open": 239.42,
      "high": 239.6,
      "low": 239.42,
      "close": 239.6,
      "volume": 0,
      "vo": 0
    }
  ]
}

技术要点

  • 提供多种时间间隔的K线数据,适合不同时间尺度的分析

  • 返回数据包含开盘价、最高价、最低价、收盘价和成交量

  • 时间戳为毫秒级Unix时间戳

  • 适合技术分析和历史数据回溯

三、技术实现建议

1. API接入流程

  1. 选择接口:根据需求选择合适的数据接口

  2. 构造请求:按照接口文档构造HTTP请求

  3. 处理响应:解析JSON格式的响应数据

  4. 错误处理:处理可能的API错误和异常情况

2. 代码实现示例(Python)

import requests
import pandas as pd

class IndonesiaStockAPI:
    def __init__(self, api_key):
        self.api_key = api_key
        self.base_url = "https://api.stocktv.top"
    
    def get_market_list(self, country_id=48, page_size=10, page=1):
        """获取市场列表"""
        url = f"{self.base_url}/stock/stocks"
        params = {
            "countryId": country_id,
            "pageSize": page_size,
            "page": page,
            "key": self.api_key
        }
        response = requests.get(url, params=params)
        return response.json()
    
    def get_stock_data(self, stock_id=None, name=None, symbol=None):
        """获取单个股票数据"""
        url = f"{self.base_url}/stock/queryStocks"
        params = {"key": self.api_key}
        if stock_id:
            params["id"] = stock_id
        if name:
            params["name"] = name
        if symbol:
            params["symbol"] = symbol
        response = requests.get(url, params=params)
        return response.json()
    
    def get_multiple_stocks(self, pids):
        """获取多个股票数据"""
        url = f"{self.base_url}/stock/stocksByPids"
        params = {"pids": ",".join(map(str, pids)), "key": self.api_key}
        response = requests.get(url, params=params)
        return response.json()
    
    def get_kline_data(self, pid, interval="PT15M"):
        """获取K线数据"""
        url = f"{self.base_url}/stock/kline"
        params = {"pid": pid, "interval": interval, "key": self.api_key}
        response = requests.get(url, params=params)
        return response.json()

# 使用示例
api_key = "YOUR_API_KEY"
stock_api = IndonesiaStockAPI(api_key)

# 获取印度尼西亚市场列表
market_data = stock_api.get_market_list(country_id=14)
print(market_data)

# 获取K线数据
kline_data = stock_api.get_kline_data(pid=7310, interval="PT15M")
print(kline_data)

3. 数据处理建议

  1. 数据存储:将获取的数据存储到数据库(如MySQL、MongoDB)或文件(如CSV、JSON)中

  2. 数据清洗:处理缺失值、异常值和数据格式转换

  3. 数据分析:使用Pandas、NumPy等工具进行数据分析

  4. 可视化:使用Matplotlib、Seaborn或Plotly进行数据可视化

  5. 定时任务:设置定时任务定期获取最新数据

四、实施建议

  1. 先获取API密钥并熟悉接口文档

  2. 从简单的市场列表和单股票查询开始,逐步扩展到复杂功能

  3. 设计合理的数据存储和处理流程

  4. 考虑数据更新频率和实时性需求

  5. 建立健壮的错误处理和监控机制

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值