mcpField
C
commodities

commodities

github.com/joellewis其他218776 次安装15 周前更新
代码仓库

关于 commodities

commodities 是面向金融从业者和投资者的商品市场学习技能,涵盖期货定价、收益来源及市场结构,并提供公式和可运行脚本演示计算。

主要功能

  1. 01现货与期货定价关系
  2. 02Contango 与 Backwardation 分析
  3. 03商品收益分解与滚动收益
  4. 04商品板块与指数特点
  5. 05季节性及通胀对冲分析
  6. 06脚本演示与结果验证

适用场景

  1. 01分析期货曲线对滚动收益的影响
  2. 02拆解期货商品投资的总回报
  3. 03比较商品指数的板块权重
  4. 04演示并核验相关公式计算

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/joellewis/finance_skills --skill commodities

安装后在 Claude Code 中输入/commodities确认已加载。

附带文件scripts/commodities.py

详细介绍

大宗商品

核心概念

现货与期货定价

期货价格与现货价格通过持有成本模型相关联:

F = S × e^((r + u - y) × t)

其中,S = 现货价格,r = 无风险利率,u = 仓储成本,y = 便利收益,t = 到期时间。便利收益代表持有实物大宗商品带来的好处(例如,避免停产)。

期货升水

当 F > S 时,期货曲线向上倾斜。仓储成本和融资成本高于便利收益。期货升水会产生负展期收益,因为投资者必须卖出价格较低的临近到期期货合约,并买入价格较高的远期合约。在供应充足的市场以及石油、天然气等可储存大宗商品中,期货升水很常见。

期货贴水

当 F < S 时,期货曲线向下倾斜。便利收益高于仓储和融资成本,这通常是由于近期供应短缺。期货贴水会产生正展期收益,因为投资者卖出价格较高的临近到期期货合约,并买入价格较低的远期合约。在供应紧张的环境中,期货贴水很常见。

大宗商品收益来源

大宗商品总收益由三个部分组成:

  1. 现货收益: 大宗商品现货价格的变化
  2. 展期收益: 将即将到期的期货合约展期至下一合约所产生的收益或损失
  3. 抵押品收益: 持有期货头寸所缴保证金/抵押品产生的利息

总收益 = 现货收益 + 展期收益 + 抵押品收益

展期收益

以较长期合约替换即将到期的期货合约时实现的收益或损失。在期货升水(曲线向上)时,展期收益为负;在期货贴水(曲线向下)时,展期收益为正。展期收益可能显著拖累或提升总回报——在深度期货升水时,展期收益可能抵消现货价格涨幅,甚至超过涨幅。

大宗商品板块
  • 能源: 原油、天然气、汽油、取暖油——按产值计最大的板块
  • 贵金属: 黄金、白银、铂金、钯金——具有避险和工业用途
  • 工业金属: 铜、铝、锌、镍——与全球经济活动相关
  • 农产品: 玉米、小麦、大豆、咖啡、糖、棉花——受天气和收成影响
  • 畜牧产品: 活牛、瘦肉猪——由需求驱动
大宗商品指数
  • S&P GSCI: 按产量加权,能源权重很高(截至 2024-2025 年约为 60% 以上;权重每年重新调整,因此请查看当前构成)。反映全球大宗商品产量。
  • Bloomberg Commodity Index(BCOM): 分散化配置,设有板块上限(33%)和单一大宗商品上限(15%)。敞口更加均衡。
  • 指数构建方式会显著影响收益——能源权重较高的指数与多元化指数表现大不相同。
通胀对冲特性

大宗商品往往与意外通胀呈正相关,因此可能具有对冲作用。其机制很直接:大宗商品价格上涨是通胀的组成部分。不过,这种对冲并不完美,对冲供应驱动型通胀的效果优于需求驱动型或货币型通胀。

季节性

农产品呈现与收成相关的规律(收获季供应增加,压低价格)。能源则呈现与供暖和制冷需求相关的规律(天然气在冬季达到峰值,汽油在夏季驾车旺季达到峰值)。季节性规律广为人知,且已部分反映在价格中,但季节性仍可能影响期货曲线形态。

关键公式

公式表达式用途
持有成本F = S × e^((r+u-y)×t)理论期货价格
展期收益(近似)(F_near - F_far) / F_near合约展期收益
总收益现货收益 + 展期收益 + 抵押品收益大宗商品总收益
年化展期收益((F_near/F_far)^(365/days_between) - 1)年化展期影响
便利收益y = r + u - (1/t) × ln(F/S)隐含便利收益

示例计算

示例 1:Contango 中的展期收益

已知: 近月原油期货价格为 $50,下月合约价格为 $52(contango),展期周期为 1 个月 计算: 年化展期收益 解答: 月度展期收益 = (F_near - F_far) / F_near = ($50 - $52) / $50 = -4.0% 这意味着 1 个月的亏损为 4.0%。 年化展期收益 ≈ -4.0% × 12 = -48%(简单年化) 按 12 次月度展期复利计算:(50/52)^12 - 1 = (0.9615)^12 - 1 = -37.5% 使用上文的日数计算公式,按 30 天展期计算:(50/52)^(365/30) - 1 = -37.9%

这说明严重的 contango 会造成巨大的展期收益拖累。实际中,近月到次月合约的 contango 很少如此陡峭,但这个例子说明了曲线形态对大宗商品投资者为何至关重要。

示例 2:大宗商品 ETF 的总回报拆解

已知: 一年内,原油现货价格从 $70 涨至 $77(+10%)。展期收益 = -6%。抵押品收益(国库券利率)= 5%。 计算: 基于期货的大宗商品 ETF 的总回报 解答: 总回报 = 现货回报 + 展期收益 + 抵押品收益 总回报 = 10% + (-6%) + 5% = 9%

尽管现货价格上涨了 10%,但基于期货的投资者只获得了 9% 的收益,这是因为 6% 的展期收益拖累被 5% 的抵押品收益部分抵消。实物持有者(无展期成本、无抵押品收益)的收益则为 10%。

常见误区

  • 混淆现货回报与基于期货的回报——大多数投资者通过期货投资大宗商品,因此展期收益会产生影响
  • 忽略 contango 市场中的展期收益拖累——contango 会随着时间推移大幅侵蚀回报
  • 大宗商品 ETF 跟踪期货,而非现货价格——ETF 回报可能与现货价格走势显著背离
  • 仓储成本对实物投资者很重要,但对金融投资者无关——金融投资者面临的是展期收益,而非仓储成本

交叉引用

  • historical-risk(wealth-management 插件):回报与风险衡量基础
  • real-assets(wealth-management 插件):实物及收藏类大宗商品的所有权(贵金属、农田、林地)。分工:此技能负责通过期货投资黄金以及将黄金作为避险资产的配置问题;real-assets 负责实物及收藏类黄金的所有权与存储
  • currencies-and-fx(wealth-management 插件):大宗商品与货币的关系
  • asset-allocation(wealth-management 插件):大宗商品作为投资组合分散化工具

运行脚本

uv run scripts/commodities.py            # run the demo (uses PEP 723 inline deps)
uv run scripts/commodities.py --verify   # check demo outputs against the worked examples (exit 1 on mismatch)
python3 scripts/commodities.py            # alternative (requires: pip install numpy)

演示会输出上述计算结果;其数值与此技能中的示例计算一致。运行 --help 可查看类和函数列表。若要以编程方式使用,请导入模块,而不是运行它——演示仅会在 python commodities.py 下执行。

评论

支持 Markdown