如何根据消费者指数调整黄金价格?

2024-05-19 18:49:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用quandl获得黄金的历史价格和消费者指数。并将指数改为年度数据,但黄金历史价格为月度数据。我想根据“消费者价格指数”年度数据调整黄金价格月度数据。我怎么做

import pandas as pd
import quandl


start=pd.to_datetime("1970-10-31")
end=pd.datetime.now()

gold= quandl.get("WGC/GOLD_DAILY_USD",start_date=start, end_date=end, authtoken="F51kbhqij4J1o73V5vXT")
index= quandl.get("RATEINF/CPI_USA",start_date=start, end_date=end, authtoken="F51kbhqij4J1o73V5vXT")#RATEINF/CPI_USA

gold.rename(columns={"Value":"Close"},inplace=True)
gold.head()
index.resample("Y").mean()    # get yearly consumer index data to adjust the monthly price of gold

enter image description here


Tags: 数据getdateindex消费者价格历史指数
1条回答
网友
1楼 · 发布于 2024-05-19 18:49:02

听起来最好的方法是合并年度和月度数据,然后继续计算

(为了可读性,我将您的“索引”数据框称为“消费者”,因为在访问每个数据框的日期时间索引时,它可能会变得混乱。)

从:

consumer = consumer.resample("y").mean()

首先需要从datetime索引中提取年份:

gold = gold.reset_index()
consumer = consumer.reset_index()

gold['year'] = gold['Date'].dt.year
consumer['year'] = consumer['Date'].dt.year

然后在年份上合并两个数据帧:

gold = gold.merge(consumer,on='year')

并将索引返回到最新时间:

gold = gold.set_index('Date')

这将使年度消费者指数信息与月度黄金定价信息相匹配,这将允许您执行您需要的任何调整

例如,如果要将两者分开:

gold['adjusted'] = gold['Close'] / gold['Value']

相关问题 更多 >