Расчет 5-летней скользящей доходности - PullRequest
0 голосов
/ 13 октября 2018

У меня есть следующий код, который возвращает доходность акций США за период с января 1995 г. по декабрь 2000 г. Я хочу рассчитать доходность за январь 2001 г., используя 60-месячный скользящий доход в Python.Поскольку существует 5 лет возврата, как это возможно?

Я хотел бы рассчитать это для каждой акции за период с января 2001 года по декабрь 2010 года. Любая помощь будет огромной!

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 голосов
/ 13 октября 2018

Вы можете использовать .rolling(), чтобы создать подмножество для 60-месячной скользящей доходности

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

А если вы хотите годовой доход, используйте 'asfreq (' BA ') `

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