Why log returns in MatLab are different from log returns in Excel?

13 次查看(过去 30 天)
Hello, I'm completely stuck with return calculation in matlab. I have three different lines of code that deliver me the same return numbers in MatLab (final is a matrix of prices):
1. pret=NaN(size(final,1), size(final,2));
pret(:,1)=final(:,1);
for i=2:size(final,1);
pret(i,2:end)=log(final(i,2:end))-log(final(i-1,2:end));
end
2. pret=NaN(size(final,1), size(final,2));
pret(:,1)=final(:,1);
for i=2:size(final,1);
pret(i,2:end)=log(final(i,2:end)./final(i-1,2:end));
end
3.[ret]=price2ret(final);
When I check the results in Excel by putting the formula like: =LOG(B2/B1), I have completely different numbers. Does anyone know why is that?
Addition: even log of the same number is a different number in MatLab and Excel, why?

采纳的回答

Geoff Hayes
Geoff Hayes 2016-5-15
编辑:Geoff Hayes 2016-5-15
Ekaterina - the MATLAB log function corresponds to the natural logarithm with base e (~2.718281828459...). The EXCEL log defaults to a base of 10.
In MATLAB, try using the log10 function instead.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Preprocessing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by