上海黄金交易所(SGE)作为中国唯一经国务院批准、专门从事黄金等贵金属交易的国家级市场平台,自成立以来始终秉持“公开、公平、公正”的原则,致力于构建规范、高效、透明的贵金属交易市场体系。交易所通过完善的交易机制、严格的风险控制和强大的技术支持,为银行、金融投资机构及各类会员单位提供标准化的贵金属交易服务,是中国黄金市场定价机制的核心载体。

在保障交易安全与市场稳定的同时,上海黄金交易所积极推动信息化建设,通过官方网站及数据接口实时发布权威的黄金、白银、铂金等品种的行情信息,涵盖开盘价、最高价、最低价、收盘价及成交量等关键数据。这些数据不仅反映了国内贵金属市场的实时供需状况,也为投资者、研究机构和产业链上下游企业提供了重要的决策依据。

本文将探讨如何通过POST请求从上海黄金交易所的公开数据接口中获取Au99.99等主力合约的日行情数据,并展示使用Python的requests库发送HTTP请求的方法,以提取结构化的金价序列。此类数据通常以JSON格式返回,涵盖全国统一的集中竞价成交信息,通过解析返回结果,可实现对交易日期、开盘价、最高价、最低价、收盘价等核心字段的精准提取。此类数据采集方式有助于深入分析黄金价格的长期趋势、波动特征及市场周期规律。

上海黄金交易所金价数据接口:行情走势-上海黄金交易所

我们第一步先找到门店数据的存储位置,然后看3个关键部分标头、负载、 预览;

标头:通常包括URL的连接,也就是目标资源的位置;

负载:对于POST请求:负载通常包含了传递的参数,因为所有参数都通过URL传递,这里我们可以看到Au99.99的明文,代表99.99的纯金,没有进行加密;

预览:指的是对响应内容的快速查看或摘要显示,可以帮助用户快速了解返回的数据结构或内容片段;

接下来就是数据获取部分,先讲一下方法思路,一共三个步骤;

方法思路

  1. 找到对应数据存储位置;
  2. 我们通过post请求获取所有日期下的相关金价数据;
  3. 通过html网页的形式,把数据进行可视化;

第一步:我们先找到对应数据存储位置,获取所有有数据距离以来的金价数据,包括开盘价,收盘价之类,经过测试,这里的数据是,直接存在名为Dailyhq的html里,那我们直接获取所有数据即可;

第二步:利用POST请求获取所有金价数据,并根据标签进行保存,另存为csv;

完整代码#运行环境 Python 3.11

import requests
import csv
from datetime import datetime# --- 配置 ---
instid = "Au99.99"
# 自动生成文件名: SGE_Au99.99_20250818.csv
filename = f"SGE_{instid.replace('(', '_').replace(')', '_')}_{datetime.now().strftime('%Y%m%d')}.csv"# --- 请求 ---
url = "https://www.sge.com.cn/graph/Dailyhq"
headers = {'User-Agent': 'Mozilla/5.0','Referer': 'https://www.sge.com.cn/','X-Requested-With': 'XMLHttpRequest',
}
data = {'instid': instid}try:response = requests.post(url, headers=headers, data=data, timeout=10)response.raise_for_status()result = response.json()# --- 保存CSV ---with open(filename, 'w', newline='', encoding='utf-8-sig') as f:writer = csv.writer(f)writer.writerow(['日期', '开盘价', '最高价', '最低价', '收盘价'])  # 写标题writer.writerows(result['time'])  # 写数据print(f"数据已保存: {filename} (共{len(result['time'])}条)")except Exception as e:print(f"失败: {e}")

获取数据标签如下, 日期、开盘价、最高价、最低价、 收盘价,其他一些非关键标签,这里省略;

第三步:我们把金价数据进行可视化,生成对应的html;

完整代码#运行环境 Python 3.11

import pandas as pd
import json
import os# --- 1. 读取CSV数据 ---
file_path = r'SGE_Au99.99_20250818.csv'  # 请根据实际路径修改
if not os.path.exists(file_path):raise FileNotFoundError(f"未找到文件: {file_path}")data = pd.read_csv(file_path)# 确保日期为 datetime 类型并排序
data['日期'] = pd.to_datetime(data['日期'])
data = data.sort_values('日期').reset_index(drop=True)# 提取数据
dates = data['日期'].dt.strftime('%Y-%m-%d').tolist()
close_prices = data['收盘价'].round(2).tolist()# --- 2. 构建ECharts系列 ---
series_list = [{'name': '收盘价','type': 'line','data': close_prices,'smooth': True,'showSymbol': False,'emphasis': {'focus': 'series'},'lineStyle': {'width': 3, 'color': '#4a86e8'},  # 蓝色'areaStyle': {'color': {'type': 'linear','x': 0, 'y': 0, 'x2': 0, 'y2': 1,'colorStops': [{'offset': 0, 'color': 'rgba(74, 134, 233, 0.5)'},{'offset': 1, 'color': 'rgba(74, 134, 233, 0.1)'}]}}}
]# --- 3. 生成HTML内容 ---
html_content = f"""
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>Au99.99 黄金收盘价趋势图</title><script src="https://cdn.jsdelivr.net/npm/echarts@5.4.0/dist/echarts.min.js"></script><style>body {{font-family: 'Microsoft YaHei', 'Segoe UI', sans-serif;background: linear-gradient(to right, #bda0db 0%, #eae9f0 100%);margin: 0;display: flex;justify-content: center;align-items: center;min-height: 100vh;color: #333;}}.container {{width: 90%;max-width: 1200px;padding: 30px;background: white;border-radius: 16px;box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);text-align: center;}}h1 {{font-size: 24px;margin-bottom: 20px;color: #4a86e8;}}.subtitle {{font-size: 16px;color: #666;margin-bottom: 25px;}}#chart {{width: 100%;height: 600px;margin-top: 20px;}}</style>
</head>
<body><div class="container"><h1>上海黄金交易所 Au99.99 收盘价趋势</h1><div class="subtitle">数据范围:{dates[0]} 至 {dates[-1]} (共 {len(dates)} 天)</div><div id="chart"></div></div><script>const chartDom = document.getElementById('chart');const myChart = echarts.init(chartDom);const option = {{tooltip: {{trigger: 'axis',axisPointer: {{ type: 'cross' }},formatter: function(params) {{let res = params[0].name + '<br/>';params.forEach(param => {{res += `<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${{param.color}};"></span>`;res += `${{param.seriesName}}: <b>${{param.value}}</b> 元/克<br/>`;}});return res;}}}},legend: {{data: {json.dumps([s['name'] for s in series_list])},bottom: '5%',textStyle: {{ color: '#333' }}}},grid: {{ left: '8%', right: '6%', bottom: '18%', top: '8%' }},xAxis: {{type: 'category',data: {json.dumps(dates)},axisLabel: {{ rotate: 45, fontSize: 12,color: '#666'}},axisLine: {{ lineStyle: {{ color: '#ccc' }} }}}},yAxis: {{type: 'value',name: '价格 (元/克)',splitLine: {{ show: true, lineStyle: {{ type: 'dashed', color: '#ddd' }} }},axisLabel: {{ color: '#666' }},axisLine: {{ lineStyle: {{ color: '#ccc' }} }}}},series: {json.dumps(series_list, ensure_ascii=False)}}};myChart.setOption(option);window.addEventListener('resize', () => myChart.resize());</script>
</body>
</html>
"""# --- 4. 保存HTML文件 ---
output_path = "SGE_Au9999_Close_Price_Trend.html"
with open(output_path, "w", encoding="utf-8") as f:f.write(html_content)print(f"黄金收盘价趋势图已生成:{output_path}")
print("请用浏览器打开该HTML文件查看可视化图表")

2016年底至2025年8月的金价变化趋势如下,恨没在低位狠狠的抄底o(╥﹏╥)o

接下来,我们进行看图说话:

从2016年底至2025年8月,上海黄金交易所Au99.99的金价呈现出显著的长期上升趋势。价格从2016年底的约300元/克攀升至2025年8月的接近800元/克,累计涨幅超过150%。这一强劲的上涨走势充分体现了黄金作为避险资产和价值储存工具在全球经济不确定性加剧背景下的核心地位。

阶段性走势分析
  • 初期(2016-2017年):金价在300元/克附近窄幅震荡,整体表现平稳。这一阶段全球经济逐步复苏,市场风险偏好回升,黄金的避险需求相对有限,价格维持在低位盘整。

  • 2018年至2019年初:金价进入缓慢增长阶段,逐步突破400元/克。随着全球贸易摩擦升温、地缘政治风险上升,市场对避险资产的关注度提升,黄金的投资吸引力开始显现。

  • 2019年至2020年初:金价开启加速上涨,迅速逼近500元/克。这一阶段美联储转向降息周期,全球主要央行重启宽松货币政策,实际利率下行显著提升了无息资产黄金的持有价值。

  • 2020年至2023年初:受新冠疫情冲击、经济波动与高通胀预期交织影响,金价在400至500元/克区间进入高位震荡期,波动明显加剧。尽管疫情初期流动性紧张导致金价短暂回调,但随后的大规模财政与货币刺激推动黄金价格再度走强。

  • 自2023年初以来:金价再次强势突破,一路攀升至近800元/克。这一轮上涨主要得益于全球通胀持续高企、地缘冲突频发(如俄乌冲突延续、中东局势紧张)、各国央行尤其是新兴市场央行大规模增持黄金储备,以及市场对美元信用长期弱化的担忧不断升温。

我们再来看看银价这些年的变化趋势;

从2016年底至2025年8月,上海黄金交易所Ag(T+D)的银价呈现出显著的长期上升趋势。价格从2016年底的约4元/克攀升至2025年8月的接近9元/克,涨幅超过125%。这一趋势充分体现了白银作为工业金属和投资资产在全球经济复杂变局中的重要地位。

阶段性走势分析
  • 初期(2016-2017年):银价在4元/克附近窄幅震荡,整体表现平稳。这一阶段市场对白银的需求相对稳定,工业需求和投资需求均未出现显著变化。

  • 2018年至2019年初:银价进入缓慢增长阶段,逐步突破5元/克。这一时期,全球经济逐渐复苏,工业需求有所增加,同时投资者对白银的投资兴趣也有所提升。

  • 2019年至2020年初:银价开启加速上涨,迅速逼近6元/克。这一阶段与全球贸易摩擦升级、地缘政治紧张以及主要经济体实施宽松货币政策密切相关。白银作为贵金属,其避险属性和工业应用价值得到进一步体现。

  • 2020年至2023年初:受疫情冲击、经济复苏与通胀预期交织影响,银价在5-6元/克区间进入高位震荡期,波动明显加剧。疫情期间,白银的工业需求受到一定影响,但投资需求大幅增加,导致价格波动较大。

  • 自2023年初以来:银价再次强势突破,一路攀升至近9元/克。这一轮上涨主要得益于全球高通胀持续、地缘冲突频发、各国央行大规模增持黄金储备以及市场对长期货币信用弱化的担忧不断升温。白银作为贵金属和工业金属,其双重属性使其在这一背景下表现出色。

文章仅用于分享个人学习成果与个人存档之用,分享知识,如有侵权,请联系作者进行删除。所有信息均基于作者的个人理解和经验,不代表任何官方立场或权威解读。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/93777.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/93777.shtml
英文地址,请注明出处:http://en.pswp.cn/web/93777.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++常见面试题-1.C++基础

一、C 基础 1.1 语言特性与区别C 与 C 的主要区别是什么&#xff1f;C 为何被称为 “带类的 C”&#xff1f; 主要区别&#xff1a;C 引入了面向对象编程&#xff08;OOP&#xff09;特性&#xff08;类、继承、多态等&#xff09;&#xff0c;而 C 是过程式编程语言&#xff1…

Tomcat里catalina.sh详解

在 Tomcat 中&#xff0c;catalina.sh&#xff08;Linux/macOS&#xff09;或 catalina.bat&#xff08;Windows&#xff09;是 核心的启动和关闭脚本&#xff0c;用于控制 Tomcat 服务器的运行。它是 Tomcat 的“主控脚本”&#xff0c;负责设置环境变量、启动/关闭 JVM 进程&…

STM32之MCU和GPIO

一、单片机MCU 1.1 单片机和嵌入式 嵌入式系统 以计算机为核心&#xff0c;tips&#xff1a;计算机【处理单元&#xff0c;内存 硬盘】 可以控制的外部设备&#xff0c;传感器&#xff0c;电机&#xff0c;继电器 嵌入式开发 数据源--> 处理器(CPU MCU MPU) --> 执行器 …

22_基于深度学习的桃子成熟度检测系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)

目录 项目介绍&#x1f3af; 功能展示&#x1f31f; 一、环境安装&#x1f386; 环境配置说明&#x1f4d8; 安装指南说明&#x1f3a5; 环境安装教学视频 &#x1f31f; 二、数据集介绍&#x1f31f; 三、系统环境&#xff08;框架/依赖库&#xff09;说明&#x1f9f1; 系统环…

数据结构:二叉树oj练习

在讲今天的题目之前&#xff0c;我们还需要讲一下二叉树的以下特点&#xff1a; 对任意一颗二叉树&#xff0c;如果度为0的节点个数是n0&#xff0c;度为2的节点个数是n2&#xff0c;则有n0n21. 证明&#xff1a;二叉树总的节点个数是n&#xff0c;那么有nn0n1n2 二叉树的度为…

RabbitMQ高级特性——TTL、死信队列、延迟队列、事务、消息分发

目录 一、TTL 1.1设置消息的TTL 1.2设置队列的TTL 1.3两者之间的区别 二、死信队列 2.1死信的概念 2.2死信产生的条件&#xff1a; 2.3死信队列的实现 死信队列的工作原理 2.4常⻅⾯试题 三、延迟队列 3.1概念 3.2应用场景 3.3RabbitMQ 实现延迟队列的核心原理 1…

神经网络设计中关于BN归一化(Normalization)的讨论

在神经网络的结构中&#xff0c;我们常常可以看见归一化&#xff08;Normalization&#xff09;如BN的出现&#xff0c;无论是模型的backbone或者是neck的设计都与它有着重大的关系。 因此引发了我对它的思考&#xff0c;接下来我将从 是什么&#xff08;知识领域&#xff0c;诞…

MacOS 安全机制与“文件已损坏”排查完整指南

1. 背景说明macOS 为了保护系统安全&#xff0c;内置了多个安全机制&#xff1a;机制作用是否影响第三方 AppSIP (System Integrity Protection)保护系统关键文件/目录不被篡改高风险 App/驱动可能受限Gatekeeper限制未签名/未认证 App 运行阻止“未知开发者” App文件隔离属性…

package.json文件中的devDependencies和dependencies对象有什么区别?

前端项目的package.json文件中&#xff0c;dependencies和devDependencies对象都用于指定项目所依赖的软件包&#xff0c;但它们在项目的开发和生产环境中的使用有所不同。1.dependencies&#xff1a;dependencies是指定项目在生产环境中运行所需要的依赖项。这些依赖项通常包括…

【最新版】CRMEB Pro版v3.4系统源码全开源+PC端+uniapp前端+搭建教程

一.系统介绍 crmebPro版 v3.4正式发布&#xff0c;智能任务推送、动态标签管理、商城AI生产力&#xff0c;焕然一新&#xff0c;不负期待&#xff01;页面DIY设计功能全面升级&#xff0c;组件更丰富&#xff0c;样式设计更全面&#xff1b;移动端商家管理&#xff0c;让商城管…

AI 浪潮下 IT 从业者的职业展望:替代之惑与转型之道

一、引言1.1 科技变革的浪潮&#xff1a;AI 崛起与 IT 行业震荡在当今科技飞速发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;无疑是最具影响力的变革力量之一。从实验室的前沿研究到广泛的商业应用&#xff0c;AI 以惊人的速度渗透到各个领域&#xff0c;彻底改变…

DSP音频算法移植优化工程师实战

以下以音频FIR滤波器算法为例&#xff0c;完整演示从MATLAB原型 → Python验证 → TI DSP C语言移植优化的全流程&#xff0c;包含关键代码和优化技巧&#xff1a;关键优化技术解析&#xff1a; 内存访问优化使用#pragma DATA_ALIGN确保64位对齐&#xff08;满足LDDW指令要求&a…

Spark 运行流程核心组件(三)任务执行

一、启动模式 1、standalone资源申请&#xff1a;Driver向Master申请Executor资源Executor启动&#xff1a;Master调度Worker启动Executor注册通信&#xff1a;Executor直接向Driver注册 2、YARNDriver向YARN ResourceManager(RM)申请AM容器RM分配NodeManager(NM)启动AM&#x…

rabbitmq发送的延迟消息时间过长就立即消费了

RabbitMQ延迟消息在设置过长时间后被立即消费的问题&#xff0c;通常与以下原因有关&#xff1a; TTL限制问题 RabbitMQ对消息TTL(Time To Live)有32位整数限制(0-4294967295毫秒)&#xff0c;约49.7天。超过该值的延迟时间会导致消息立即被消费解决方案&#xff1a;确保设置的…

kafka的pull的依据

1. 每次 pull() 是否必须在提交上一批消息的 offset 之后&#xff1f;绝对不需要&#xff01; 提交 offset 和调用 poll() (拉取消息) 是两个完全独立的行为。消费者可以连续调用 poll() 多次&#xff0c;期间完全不提交任何 offset。 这是 Kafka 消费者的正常工作模式。提交 o…

学习嵌入式的第二十一天——数据结构——链表

单向链表特点&#xff1a;存储的内存空间不连续 。为了弥补顺序存储存劣势。优势 插入&#xff0c;删除 O(1) 动态存储 &#xff0c;在程序运行期间决定大小。劣势&#xff1a; 不能随机访问 O(N) 节点-> 数据域指针域 顺序表(数组) 只有数据域链表的操作代码&#xff1…

Rust Web 全栈开发(十三):发布

Rust Web 全栈开发&#xff08;十三&#xff09;&#xff1a;发布Rust Web 全栈开发&#xff08;十三&#xff09;&#xff1a;发布发布 teacher_service发布 svr测试 teacher_service 和 svr发布 wasm-client测试 wasm-clientRust Web 全栈开发&#xff08;十三&#xff09;&a…

Zephyr 中的 bt_le_per_adv_set_data 函数的介绍和应用方法

目录 概述 1 函数接口介绍 1.1 函数原型 1.2 功能详解 2 使用方法 2.1 创建流程 2.1.1 创建扩展广播实例 2.1.2 设置周期性广播数据 2.1.3 配置周期性广播参数 2.1.4 启动广播 2.2 主流程函数 2.3 关键配置 (prj.conf) 3 高级用法 3.1 大数据分片传输 3.2 动态数…

Ansible 角色管理指南

Ansible 角色管理指南 实验环境设置 以下命令用于准备实验环境&#xff0c;创建一个工作目录并配置基本的Ansible设置&#xff1a; # 创建web工作目录并进入 [azurewhiskycontroller ~]$ mkdir web && cd web# 创建Ansible配置文件 [azurewhiskycontroller web]$ cat &…

【补充】数据库中有关系统编码和校验规则的简述

一、字符集和校验规则&#xfeff;1.创建数据库案例数据库创建方法&#xff1a;使用CREATE DATABASE语句创建数据库字符集指定方式&#xff1a;通过CHARACTER SETutf8指定数据库编码格式默认配置说明&#xff1a;未指定字符集时默认使用utf8和utf8_general_ci配置文件位置&…