计算5年滚动收益

时间:2018-10-13 11:42:55

标签: python pandas finance quandl economics

我有下面的代码,该代码具有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()

1 个答案:

答案 0 :(得分:0)

您可以使用.rolling()创建60个月滚动收益的子集

returns_5year=table.rolling(250*6).pct_change()

如果您希望获得年度回报,请使用'asfreq('BA')`

returns_yearly = table.asfreq('BA').pct_change()