news 2026/9/9 0:33:01

期货数据对接指南,用于获取黄金、白银、原油等大宗商品的数据。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
期货数据对接指南,用于获取黄金、白银、原油等大宗商品的数据。

1. 基础配置

  • 接口域名:https://api.stocktv.top
  • 期货基础路径:/futures
  • 认证方式: URL 参数key=您的API密钥

2. 核心对接流程

第一步:获取期货品种列表 (查找 Symbol)

由于期货合约代码(Symbol)可能因交易所不同而有所差异(例如黄金可能是XAUGCGold),第一步必须先拉取列表,找到对应的symbol

  • 接口:/futures/list
  • 方法:GET
  • 参数:key
  • 请求示例:
    GET https://api.stocktv.top/futures/list?key=YOUR_KEY
  • 如何查找:
    • 黄金: 搜索关键词 “Gold” 或 “XAU”
    • 白银: 搜索关键词 “Silver” 或 “XAG”
    • 原油: 搜索关键词 “Oil”, “WTI”, “Brent” 或 “CL”

第二步:获取实时行情 (Real-time Quote)

获取特定品种的最新买卖价、涨跌幅。

  • 接口:/futures/querySymbol
  • 方法:GET
  • 参数:
    • symbol:品种代码(第一步获取的)
  • 请求示例 (假设黄金代码为 XAU):
    GET https://api.stocktv.top/futures/querySymbol?symbol=XAU&key=YOUR_KEY
  • 响应示例:
    {"code":200,"data":[{"symbol":"XAU","name":"Gold Spot","buy":"2350.50",// 买价"sell":"2350.80",// 卖价"last_price":"2350.60",// 最新价"chg_pct":"0.45",// 涨跌幅"time":"2024-05-20"}]}

第三步:获取 K 线数据 (Chart Data)

获取用于绘制图表的历史数据。

  • 接口:/futures/kline
  • 方法:GET
  • 参数:
    • symbol:品种代码
    • interval:周期(注意期货接口的周期定义与股票略有不同)
      • 1,5,15,30,60(分钟)
      • 1d(日线)
  • 请求示例:
    GET https://api.stocktv.top/futures/kline?symbol=XAU&interval=1d&key=YOUR_KEY

3. 完整代码示例 (HTML + JavaScript)

这是一个完整的演示页面。它包含两个功能:

  1. 自动搜索品种:点击按钮自动在列表中查找黄金、白银、原油的 Symbol。
  2. 渲染图表:使用找到的 Symbol 绘制 K 线图。
<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>StockTV 期货行情 (黄金/原油)</title><scriptsrc="https://cdn.jsdelivr.net/npm/klinecharts/dist/klinecharts.min.js"></script><style>body{font-family:sans-serif;padding:20px;background-color:#f0f2f5;}.container{max-width:1000px;margin:0 auto;background:white;padding:20px;border-radius:8px;box-shadow:0 2px 8pxrgba(0,0,0,0.1);}.btn-group{margin-bottom:20px;display:flex;gap:10px;}button{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;background-color:#007bff;color:white;font-size:14px;}button:hover{background-color:#0056b3;}.status-bar{margin-bottom:10px;padding:10px;background:#e6f7ff;border:1px solid #91d5ff;border-radius:4px;color:#0050b3;font-size:14px;}#chart{width:100%;height:500px;border:1px solid #eee;}</style></head><body><divclass="container"><h2>StockTV 全球期货数据演示</h2><divclass="status-bar"id="status">请点击下方按钮加载数据...</div><divclass="btn-group"><buttononclick="loadCommodity('Gold','黄金')">加载 黄金 (Gold)</button><buttononclick="loadCommodity('Silver','白银')">加载 白银 (Silver)</button><buttononclick="loadCommodity('Oil','原油')">加载 原油 (Oil)</button><buttononclick="loadCommodity('Gas','天然气')">加载 天然气 (Gas)</button></div><divid="chart"></div></div><script>// === 配置您的 API Key ===constAPI_KEY='YOUR_API_KEY';// TODO: 替换为您的 KeyconstBASE_URL='https://api.stocktv.top';constchart=klinecharts.init('chart');functionupdateStatus(msg){document.getElementById('status').innerText=msg;}/** * 1. 智能查找品种 Symbol * 先获取列表,然后模糊匹配名称 */asyncfunctionfindSymbol(keyword){updateStatus(`正在期货列表中搜索 "${keyword}" ...`);consturl=`${BASE_URL}/futures/list?key=${API_KEY}`;try{constres=awaitfetch(url);constjson=awaitres.json();if(json.code===200&&json.data){// 在列表中查找名称包含 keyword 的项 (不区分大小写)consttarget=json.data.find(item=>item.name.toLowerCase().includes(keyword.toLowerCase())||item.symbol.toLowerCase().includes(keyword.toLowerCase()));returntarget;}}catch(e){console.error(e);updateStatus("网络请求失败,请检查控制台");}returnnull;}/** * 2. 加载数据主流程 */asyncfunctionloadCommodity(keyword,displayName){// 第一步:查找 Symbolconstcommodity=awaitfindSymbol(keyword);if(!commodity){updateStatus(`未找到 "${displayName}" 相关的期货合约,请尝试其他关键词。`);return;}constsymbol=commodity.symbol;updateStatus(`找到合约:${commodity.name}(${symbol})。正在加载 K 线...`);// 第二步:获取 K 线数据 (日线 1d)// 注意:期货接口 interval 定义: 1, 5, 15, 30, 60, 1dconstklineUrl=`${BASE_URL}/futures/kline?symbol=${symbol}&interval=1d&key=${API_KEY}`;try{constres=awaitfetch(klineUrl);constjson=awaitres.json();if(json.code===200&&json.data){// 转换数据格式// 期货接口返回: date (字符串时间), open, close, high, low, volume, timestamp (秒级)constdataList=json.data.map(item=>({timestamp:item.timestamp*1000,// 转换为毫秒open:parseFloat(item.open),high:parseFloat(item.high),low:parseFloat(item.low),close:parseFloat(item.close),volume:parseFloat(item.volume)}));// 排序dataList.sort((a,b)=>a.timestamp-b.timestamp);chart.applyNewData(dataList);updateStatus(`成功加载${displayName}(${symbol}) 的日线数据,共${dataList.length}条。最新价:${dataList[dataList.length-1].close}`);}else{updateStatus(`获取 K 线数据失败:${json.message}`);}}catch(e){console.error(e);updateStatus("K线请求发生错误");}}</script></body></html>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 12:39:43

打卡信奥刷题(2521)用C++实现信奥 P1983 [NOIP 2013 普及组] 车站分级

P1983 [NOIP 2013 普及组] 车站分级 题目背景 NOIP2013 普及组 T4 题目描述 一条单向的铁路线上&#xff0c;依次有编号为 1,2,…,n1, 2, …, n1,2,…,n 的 $n $ 个火车站。每个火车站都有一个级别&#xff0c;最低为 111 级。现有若干趟车次在这条线路上行驶&#xff0c;每一趟…

作者头像 李华
网站建设 2026/9/8 22:20:54

RWKV-5 World多语言大模型入门指南

RWKV-5 World多语言大模型入门指南 【免费下载链接】rwkv-5-world 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/rwkv-5-world 在这个人工智能飞速发展的时代&#xff0c;RWKV-5 World作为一款强大的多语言大模型&#xff0c;为全球用户提供了前所未有的文…

作者头像 李华
网站建设 2026/9/8 2:12:55

解决Kingfisher在macOS Sequoia中SwiftUI List滚动崩溃的完整指南

解决Kingfisher在macOS Sequoia中SwiftUI List滚动崩溃的完整指南 【免费下载链接】Kingfisher 一款轻量级的纯Swift库&#xff0c;用于从网络下载并缓存图片。 项目地址: https://gitcode.com/GitHub_Trending/ki/Kingfisher 在最新的macOS Sequoia系统上开发SwiftUI应…

作者头像 李华
网站建设 2026/9/8 21:47:39

利用Fabry-Pérot标准具检测钠D线

摘要Fabry-Prot标准具广泛用于激光谐振腔和光谱仪中进行波长的选择。 通常&#xff0c;由两个高反射&#xff08;HR&#xff09;涂层表面组成&#xff0c;其间具有空气或玻璃。 在该示例中&#xff0c;利用VirtualLab Fusion设置了具有二氧化硅间隔标准具的光学测量系统&#x…

作者头像 李华
网站建设 2026/9/7 23:46:57

三层立体车库PLC(S7-1200)报告与仿真分享

三层立体车库plc s7-1200 报告和仿真都有。 确保正常运行&#xff0c;虚拟产品&#xff0c;一经售出拒不退款 有主电路图&#xff0c;没有PLC接线图 1、设置启动、停止按钮&#xff0c;且设置指示灯显示车库的开关状态&#xff1b; 2、7个车位的车俩可以自由存取&#xff0c;且…

作者头像 李华