当前位置: 首页 > news >正文

使用PHP对接印度股票数据API实战指南


使用PHP对接印度股票数据API实战指南

前言

印度股市作为亚洲第三大证券市场,吸引了全球投资者的关注。本文将演示如何通过PHP语言对接技术文档StockTV,获取印度股市的实时行情、历史数据及财经资讯。


环境准备

  1. PHP >= 7.4(需开启cURL扩展)
  2. Composer依赖管理
  3. API密钥(需前往官方平台申请)
composer require guzzlehttp/guzzle

核心API对接

1. 获取印度股票市场列表

use GuzzleHttp\Client;$client = new Client(['base_uri' => 'https://api.stocktv.top/stock/stocks','headers' => ['Accept' => 'application/json']
]);$response = $client->get('', ['query' => ['countryId' => 42,  // 印度国家ID'pageSize' => 10,'page' => 1,'key' => 'YOUR_API_KEY']
]);$markets = json_decode($response->getBody(), true)['data']['records'];
foreach ($markets as $stock) {echo "股票代码: {$stock['symbol']} | 名称: {$stock['name']} | 最新价: {$stock['last']}\n";
}

2. 实时行情查询

// 查询特定股票(如塔塔咨询服务公司 TCS)
$params = http_build_query(['id' => 41602,  // 股票PID'key' => 'YOUR_API_KEY'
]);$response = $client->get("/stock/queryStocks?$params");
$data = json_decode($response->getBody(), true);echo "TCS最新价: {$data['data'][0]['last']}\n";
echo "涨跌幅: {$data['data'][0]['chgPct']}%\n";

3. 印度股指数据

// 获取NIFTY 50指数
$response = $client->get('/stock/indices?countryId=14&flag=IN', ['query' => ['key' => 'YOUR_API_KEY']
]);$index = json_decode($response->getBody(), true)['data'][0];
echo "NIFTY 50最新价: {$index['last']}\n";
echo "3年表现: {$index['performance3Year']}%\n";

4. IPO新股日历

$response = $client->get('/stock/getIpo', ['query' => ['countryId' => 14,'key' => 'YOUR_API_KEY']
]);$ipos = json_decode($response->getBody(), true)['data'];
foreach ($ipos as $ipo) {echo "公司: {$ipo['company']} | 上市日期: {$ipo['date']}\n";
}

高级功能实现

1. WebSocket实时行情

$wsClient = new WebSocket\Client('wss://ws-api.stocktv.top/connect?key=YOUR_API_KEY');$wsClient->onMessage(function ($message) {$data = json_decode($message, true);if ($data['type'] == 1) { // 1代表股票echo "股票{$data['symbol']}最新价: {$data['last_numeric']}\n";}
});$wsClient->connect();

2. K线数据获取

// 获取1小时K线
$params = ['pid' => 7310,  // 股票PID'interval' => 'PT1H','key' => 'YOUR_API_KEY'
];$response = $client->get('/stock/kline', ['query' => $params]);
$klines = json_decode($response->getBody(), true)['data'];foreach ($klines as $kline) {echo "时间: {$kline['time']} | 开盘: {$kline['open']}\n";
}

注意事项

  1. API调用频率:建议每秒不超过5次请求
  2. 数据延迟:免费版数据可能存在15秒延迟
  3. 错误处理
try {$response = $client->request('GET', $url, $options);
} catch (\Exception $e) {echo "Error: {$e->getMessage()}\n";
}

扩展能力

  1. 多市场支持:通过countryId参数切换不同国家市场
  2. 技术指标:结合TA-Lib库进行技术分析
  3. 自动化交易:对接Alpaca等券商API实现自动交易

通过以上代码示例,您可以快速构建印度股市数据监控系统、量化交易策略或财经资讯聚合应用。建议在生产环境中添加缓存机制和异常重试逻辑,以提升系统稳定性。


文章转载自:

http://MKrBztrw.mqwnz.cn
http://wo8tEXzy.mqwnz.cn
http://qruDCz5N.mqwnz.cn
http://QI0hoWfy.mqwnz.cn
http://CKsHfio7.mqwnz.cn
http://Fquh5lrU.mqwnz.cn
http://sF4ZKZws.mqwnz.cn
http://nbID6iia.mqwnz.cn
http://RGhu8zqp.mqwnz.cn
http://7PhFjZhK.mqwnz.cn
http://bxmqsOdx.mqwnz.cn
http://08lk7Ub1.mqwnz.cn
http://KEk9K1Os.mqwnz.cn
http://zR6fmQCH.mqwnz.cn
http://Qdsa4oe8.mqwnz.cn
http://qKqm7pD4.mqwnz.cn
http://zdzw4PHK.mqwnz.cn
http://JLo1RS3l.mqwnz.cn
http://LBYhfzAa.mqwnz.cn
http://WlQjPzgg.mqwnz.cn
http://t5iaajgT.mqwnz.cn
http://WLEazolW.mqwnz.cn
http://YIQ8vCvx.mqwnz.cn
http://gQupmr1F.mqwnz.cn
http://nbWTntUT.mqwnz.cn
http://xRtMK3ur.mqwnz.cn
http://GHXjZuCx.mqwnz.cn
http://0MvUfoGu.mqwnz.cn
http://FfvJLvTD.mqwnz.cn
http://W4s4b0Ub.mqwnz.cn
http://www.dtcms.com/a/364718.html

相关文章:

  • LeetCode 524.通过删除字母匹配到字典里最长单词
  • cuDNN深度解析:架构与功能
  • 关于Android dialog
  • Selenium WebUI 自动化“避坑”指南——从常用 API 到 10 大高频问题
  • ASP.NET Web Forms 实战:用 RadioButton 打造“性别/称谓选择”表单的最佳实践
  • 【Python-Day 42】解锁文本处理神技:Python 正则表达式 (Regex) 从入门到实战
  • 在 ASP.NET 8 WebAPI 中使用不同的提供程序验证多个令牌(Token)及常见问题解答
  • 前端开发基础必备——操作系统、计网、数据结构与算法编译原理
  • SpringBoot Web 入门指南:从零搭建第一个SpringBoot程序
  • [TryHackMe]Oh My WebServer(nday漏洞+容器逃逸)
  • Archlinux KDE 下 Fcitx5 输入法的配置与美化
  • 重新测试所有AI代码生成器(2025年更新):GPT-5 vs Claude 4.1 vs Gemini 2.5 Pro——为何“赢家”仍取决于你的技术栈
  • 一文掌握Redisson分布式锁
  • 天然苏打水生产的原水抽取与三重除菌的3D模拟开发实战
  • 编辑器vim(Linux)
  • Chrome 插件开发入门:从基础到实践
  • 美团龙猫AI修正的二分法提取xlsx的sheet.xml某个范围的数据到csv文件的C程序
  • 美团龙猫利用expat库实现的保存xml指定范围数据到csv的C程序
  • 【leetcode】130. 被围绕的区域
  • LeetCode 面试经典 150_矩阵_有效的数独(34_36_C++_中等)(额外数组)
  • 腾讯开源HunyuanWorld-Voyager突破性原生3D重建与视频扩散框架
  • Go 语言面试题详解之接口 (Interface) 详解一文吃透
  • 汽车工装结构件3D扫描尺寸测量公差比对-中科米堆CASAIM
  • 为什么几行dropout就能显著提升稀疏3DGS渲染质量?
  • 网格图--Day04--网格图DFS--2684. 矩阵中移动的最大次数,1254. 统计封闭岛屿的数目,130. 被围绕的区域
  • Linux 系统上配置 GitHub 账号并克隆私有仓库
  • python类的内置属性
  • awk命令
  • 【轨物方案】创新驱动、精准运维:轨物科技场站光伏组件缺陷现场检测解决方案深度解析
  • WebSocket数据推送导致前端卡顿的问题