Python:滚动3个月,1年,3年(每年)和5年(每年)的回报(熊猫)

时间:2018-07-26 09:51:07

标签: python performance pandas

请为您提供以下帮助?

数据:5只股票的月度收益的累积时间序列

目标:在新列中计算3个月,1年,3年(年度)和5年(年度)的滚动回报。如果没有足够的存货期限(例如,计算只有6个月可用的12个月的退货),请打印“ n / a”

我到目前为止的代码(滚动1年):

import pandas as pd
import glob
from tabulate import tabulate

path = r'H:/'

filename = glob.glob(path + "Stock_Returns.xls")
print(filename[0])
df = pd.read_excel(filename[0])



df[['Return']] = df[['Return']].apply(pd.to_numeric)
df['Date'] = pd.to_datetime(df['Date'])
df['Return'] = df['Return']/100+ 1
df = df[['Stock','Date', 'Return']]
df['date']=df['As Of Date'].dt.year
df['one_year_return'] = df.groupby(['Stock','date']).cumprod()
df = df.groupby(['Stock','date']).nth(11)
print(tabulate(df, headers='firstrow', tablefmt='psql'))

df.to_excel(filename[0])

0 个答案:

没有答案