我有下面的代码,该代码具有1995年1月至2000年12月期间美国股票的收益。我希望使用60个月的Python滚动收益来计算2001年1月的收益。由于有5年的回报期,这怎么可能?
我想计算2001年1月至2010年12月这段时间中每只股票的价格。任何帮助都会很棒!
import quandl
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Use Quandl to get adjusted close price
quandl.ApiConfig.api_key = 'Enter Your Key'
stocks = ['MSFT', 'AAPL', 'WMT', 'GE', 'KO', 'F', 'JNJ', 'BA', 'XOM']
stockdata = quandl.get_table('WIKI/PRICES', ticker = stocks, paginate=True,
qopts = { 'columns': ['date', 'ticker', 'adj_close'] },
date = { 'gte': '1995-1-1', 'lte': '2000-12-31' })
# Setting date as index with columns of tickers and adjusted closing
# price
data1 = stockdata.set_index('date')
table = data1.pivot(columns='ticker')
table.head()
# Daily and annual returns of the stocks
returns_daily = table.pct_change()
returns_daily.head()
答案 0 :(得分:0)
您可以使用.rolling()
创建60个月滚动收益的子集
returns_5year=table.rolling(250*6).pct_change()
如果您希望获得年度回报,请使用'asfreq('BA')`
returns_yearly = table.asfreq('BA').pct_change()