0

谁能看看我的matlab代码是否有问题?我的目标是复制这个公式:在此处输入图像描述

q 可以取值 1、2、3 和 5。我构造了我的向量 Xt,其中每个元素是每次 (t) 的 log(1+return) 的累积和 - 对于股票收益 - 第一个元素被标准化为 log(1 )。

然后为 q 的四个值计算每个元素 Sq(T,delta t),这是我的 matlab 代码:

for j=1:length(dt);
E=Xt(1:dt(j):end);
EE=diff(E(2:end));
EEE=diff(E(1:end-1));
Sqone(j)=sum(abs(EE-EEE).^1);
Sqtwo(j)=sum(abs(EE-EEE).^2);
Sqthree(j)=sum(abs(EE-EEE).^3);
Sqfive(j)=sum(abs(EE-EEE).^5); end;

上面的代码有问题吗?我问这个是因为我知道有问题,因为我没有得到预期的结果。我确信这是由于我在上面发布的代码。

向量 dt 是一个从 1 到大数的向量 - 取决于 Xt 的大小。但我的向量 dt 不是问题。

谢谢你的帮助!

4

1 回答 1

2

你拿差价两次。一次使用diff,一次使用EE-EEE。正确的代码是:

for j=1:length(dt);
E=Xt(1:dt(j):end);
EE=abs(diff(E));
Sqone(j)=sum(EE.^1);
Sqtwo(j)=sum(EE.^2);
Sqthree(j)=sum(EE.^3);
Sqfive(j)=sum(EE.^5); end;
于 2012-06-05T11:10:28.777 回答