概述
本文将详细介绍如何通过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接入流程
-
选择接口:根据需求选择合适的数据接口
-
构造请求:按照接口文档构造HTTP请求
-
处理响应:解析JSON格式的响应数据
-
错误处理:处理可能的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. 数据处理建议
-
数据存储:将获取的数据存储到数据库(如MySQL、MongoDB)或文件(如CSV、JSON)中
-
数据清洗:处理缺失值、异常值和数据格式转换
-
数据分析:使用Pandas、NumPy等工具进行数据分析
-
可视化:使用Matplotlib、Seaborn或Plotly进行数据可视化
-
定时任务:设置定时任务定期获取最新数据
四、实施建议
-
先获取API密钥并熟悉接口文档
-
从简单的市场列表和单股票查询开始,逐步扩展到复杂功能
-
设计合理的数据存储和处理流程
-
考虑数据更新频率和实时性需求
-
建立健壮的错误处理和监控机制
798

被折叠的 条评论
为什么被折叠?



