2015-08-11 4 views
3

Я пытаюсь создать DataFrame с общим процентным изменением. Я хотел бы показать процентное изменение акций с начальной даты покупки (2014-09-05).Как рассчитать совокупное процентное изменение с начала периода

import pandas as pd 
import pandas.io.data as web 

cvs = web.get_data_yahoo('cvs', '2014-09-05')['Adj Close'] 

cvsChange = cvs[1:]/cvs.shift(1) - 1 
+2

Разве это не просто 'cvs.diff() .cumsum() * 100'? – EdChum

ответ

4

Спасибо @EdChum

То, что я искал был ...

PriceChange = cvs.diff().cumsum() 
PercentageChange = PriceChange/cvs.iloc[0] 
2

Как об этом:

(cvs.iloc[-1] - cvs.iloc[0])/cvs.iloc[0] * 100 
+0

, который работает, чтобы найти общее изменение за весь период (9/5/14 по сегодняшний день), но у меня возникают трудности с вычислением общего процентного изменения за каждый период. – Brian

+0

Просьба указать ваше определение периода в вашем вопросе. Это ежемесячно, ежеквартально и т. Д.? –

+0

Мое определение периода - это один день. – Brian

Смежные вопросы