Python pandas имеет функцию pct_change, которую я использую для расчета доходности цен на акции в кадре данных:
ndf['Return']= ndf['TypicalPrice'].pct_change()
Я использую следующий код для получения логарифмической отдачи, но она дает точно такие же значения как функция pct.change ():
ndf['retlog']=np.log(ndf['TypicalPrice'].astype('float64')/ndf['TypicalPrice'].astype('float64').shift(1))
#np is for numpy