游瞠离 发表于 2025-6-1 19:01:00

对接印度尼西亚金融市场数据

一、印尼金融市场概述

印度尼西亚作为东南亚最大的经济体,其金融市场具有独特优势:

[*]雅加达综合指数(IDX Composite) 包含所有IDX上市公司
[*]LQ45指数 代表45家高流动性上市公司
[*]特色板块 包括棕榈油、煤炭、镍矿等资源类企业
[*]交易活跃 日均交易量超10万亿印尼盾
二、API快速入门指南

1. 获取API密钥

# 联系客服获取API Key
API_KEY = "your_api_key_here"# 替换为实际获取的密钥
BASE_URL = "https://api.stocktv.top"2. 基础请求示例

import requests

def get_indonesia_stocks():
    url = f"{BASE_URL}/stock/stocks"
    params = {
      "countryId": 48,# 印尼国家代码
      "key": API_KEY
    }
    response = requests.get(url, params=params)
    return response.json()

# 获取前10只印尼股票
stocks = get_indonesia_stocks()
print(stocks)三、核心接口详解

1. 股票数据接口

获取个股实时行情

GET /stock/queryStocks?symbol=BBCA&key=您的API_KEY响应示例:
{
"id": 50321,
"symbol": "BBCA",
"name": "Bank Central Asia",
"last": 8950,
"change": 50,
"changePercent": 0.56,
"volume": 125487500,
"lastUpdate": "2024-08-09T14:30:00+07:00"
}获取分时K线数据

def get_kline(stock_id, interval="PT15M"):
    url = f"{BASE_URL}/stock/kline"
    params = {
      "pid": stock_id,
      "interval": interval,
      "key": API_KEY
    }
    return requests.get(url, params=params).json()

# 获取BBCA银行15分钟K线
kline_data = get_kline(50321)2. 指数数据接口

主要指数列表:
指数代码指数名称接口IDJKSEIDX Composite18521JKLQ45LQ45 Index18522JIIJakarta Islamic Index18523获取方法:
GET /stock/indicesById?id=18521&key=您的API_KEY3. 印尼卢比汇率接口

获取IDR交叉汇率:
def get_idr_rates():
    url = f"{BASE_URL}/market/currency"
    params = {
      "countryType": "id",
      "key": API_KEY
    }
    return requests.get(url, params=params).json()

# 获取USD/IDR, CNY/IDR等汇率
exchange_rates = get_idr_rates()四、WebSocket实时数据接入

1. 建立连接

const ws = new WebSocket(`wss://ws-api.stocktv.top/connect?key=${API_KEY}`);

ws.onopen = () => {
    console.log("连接已建立");
    // 订阅BBCA股票和JKSE指数
    ws.send(JSON.stringify({
      action: "subscribe",
      pids:
    }));
};2. 实时数据格式

{
"type": "stock",
"pid": 50321,
"symbol": "BBCA",
"last": 8960,
"bid": 8955,
"ask": 8960,
"volume": 125490200,
"timestamp": 1725002394
}五、实战案例:构建印尼股票监控系统

系统架构

graph TD    A[数据获取层] -->|HTTP API| B[原始数据]    A -->|WebSocket| C[实时数据]    B --> D[数据处理]    C --> D    D --> E    E --> F[数据分析]    F --> G[前端展示]核心代码实现

# 数据存储模型
class IndonesiaStock(models.Model):
    symbol = models.CharField(max_length=10)
    name = models.CharField(max_length=100)
    last_price = models.DecimalField(max_digits=12, decimal_places=2)
    volume = models.BigIntegerField()
    update_time = models.DateTimeField(auto_now=True)

# 定时任务配置
@app.task
def update_stock_data():
    data = get_indonesia_stocks()
    for stock in data['records']:
      IndonesiaStock.objects.update_or_create(
            symbol=stock['symbol'],
            defaults={
                'last_price': stock['last'],
                'volume': stock['volume']
            }
      )六、常见问题解答

Q1:如何获取历史数据?
GET /stock/kline?pid=50321&interval=P1D&startTime=1672502400&endTime=1675180800&key=您的API_KEYQ2:印尼市场的交易时间?

[*]上午盘:09:30-12:00 (UTC+7)
[*]下午盘:13:30-16:00 (UTC+7)
[*]API返回字段open标识是否在交易时段
Q3:如何处理印尼卢比面值?
# 印尼股票价格通常以印尼盾为单位
price = 8950# 表示8,950印尼盾
formatted_price = f"Rp {price:,}"# 格式化为 Rp 8,950七、资源推荐


[*]完整接口文档
[*]GitHub示例代码
[*]印尼金融市场日历
提示:在实际应用中,建议配合缓存机制(如Redis)来优化API调用频率,并设置合理的错误重试机制处理网络波动。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

芮梦月 发表于 2025-12-9 01:25:38

懂技术并乐意极积无私分享的人越来越少。珍惜

尝琨 发表于 2025-12-12 03:24:38

懂技术并乐意极积无私分享的人越来越少。珍惜

郗燕岚 发表于 2025-12-17 08:06:15

谢谢分享,试用一下

事确 发表于 2026-1-19 02:39:09

热心回复!

觐有 发表于 2026-1-21 07:23:03

yyds。多谢分享

庾芷秋 发表于 2026-1-23 08:04:28

懂技术并乐意极积无私分享的人越来越少。珍惜

致掣 发表于 2026-1-24 06:47:29

用心讨论,共获提升!

篁瞑普 发表于 2026-1-27 07:50:35

新版吗?好像是停更了吧。

趣侮 发表于 2026-1-30 02:48:09

感谢发布原创作品,程序园因你更精彩

旱由 发表于 2026-2-5 10:54:15

收藏一下   不知道什么时候能用到

柄利 发表于 2026-2-6 12:16:19

感谢,下载保存了

诸婉丽 发表于 2026-2-7 10:24:40

分享、互助 让互联网精神温暖你我

吟氅 发表于 2026-2-9 03:11:35

谢谢分享,试用一下

客臂渐 发表于 2026-2-9 07:53:24

感谢分享,学习下。

埤兆 发表于 2026-2-9 16:46:27

热心回复!

班闵雨 发表于 2026-2-9 19:06:26

很好很强大我过来先占个楼 待编辑

厂潺 发表于 2026-3-2 04:35:11

不错,里面软件多更新就更好了

但婆 发表于 2026-3-8 21:08:47

yyds。多谢分享

喳谍 发表于 2026-3-9 08:51:30

懂技术并乐意极积无私分享的人越来越少。珍惜
页: [1] 2
查看完整版本: 对接印度尼西亚金融市场数据