Ratios Between Gold, Platinum and Silver
Ratios Between Gold, Platinum and Silver
Ratios between Gold, Platinum and Silver show clear trends. Gold/Silver ratio shows big fluctuations. Platinum/Silver ratio shows a clear downward trend.
import yfinance as yf
import matplotlib.pyplot as plt
import pandas as pd
dateStart = "2015-01-01"
dateEnd = "2025-12-31"
tickers = ["GC=F", "SI=F", "PL=F"] # Gold, Silver, Platinum futures
# yfinanceからまとめて取得(警告回避のため auto_adjust を明示)
df = yf.download(
tickers,
start=dateStart,
end=dateEnd,
auto_adjust=False, # True/FalseどちらでもOK。とにかく明示する
progress=False
)
# dfは MultiIndex columns になりやすい:['Close'] で3銘柄の終値DataFrameが取れる
close = df["Close"].copy()
# 月次平均(pandas警告対応:'M' -> 'ME')
close_m = close.resample("ME").mean()
# 比率をDataFrameで計算(列名で参照)
ratio = pd.DataFrame({
"Gold/Silver": close_m["GC=F"] / close_m["SI=F"],
"Gold/Platinum": close_m["GC=F"] / close_m["PL=F"],
"Platinum/Silver": close_m["PL=F"] / close_m["SI=F"],
}).dropna()
ax = ratio.plot(figsize=(12, 6))
ax.set_title("Monthly Price Ratios (Futures via Yahoo Finance)")
ax.set_xlabel("Month")
ax.set_ylabel("Ratio")
plt.show()
