gấu trúc Python có chức năng pct_change mà tôi sử dụng để tính toán lợi nhuận cho giá cổ phiếu trong một dataframe:lợi nhuận Logarithmic trong gấu trúc dataframe
ndf['Return']= ndf['TypicalPrice'].pct_change()
Tôi đang sử dụng đoạn mã sau để có được lợi nhuận logarit, nhưng nó mang lại cho các các giá trị chính xác giống như hàm pct.change():
ndf['retlog']=np.log(ndf['TypicalPrice'].astype('float64')/ndf['TypicalPrice'].astype('float64').shift(1))
#np is for numpy
Tôi nhận được rất nhiều giá trị trong pct_change() và log_ret chính xác như nhau và một vài giá trị hơi khác nhau. Điều đó có được mong đợi không? – AmanArora
@AmanArora Vâng, đó là hành vi mong đợi. log return và tổng lợi nhuận là rất rất gần khi lợi nhuận gộp của bạn là nhỏ, nói ít hơn 1%. Nó có thể được chứng minh bằng toán học bởi việc mở rộng Taylor bậc 2 khoảng 0. –
@AmanArora BTW, nhật ký có tài sản mong muốn là phụ gia theo thời gian (nhưng không phụ gia trên các tài sản khác nhau), trong khi tổng lợi nhuận là thích hợp nhất khi bạn tính toán lợi tức đầu tư trung bình có trọng số (đó là phụ gia so với các tài sản khác nhau nhưng không phụ gia tăng ca). –