该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

function

[logRS,logERS,V]=RSana(x,n,method,q)

%Syntax:

[logRS,logERS,V]=RSana(x,n,method,q)

%____________________________________________

%

% Performs R/S

analysis on a time series.

%

% logRS is the

log(R/S).

% logERS is the

Expectation of log(R/S).

% V is the V

statistic.

% x is the time

series.

% n is the vector

with the sub-periods.

% method can take

one of the following values

% 'Hurst'

for the Hurst-Mandelbrot variation.

% 'Lo' for the Lo variation.

% 'MW' for the Moody-Wu variation.

% 'Parzen' for the Parzen variation.

% q can be either

% a (non-negative) integer.

% 'auto' for the Lo's suggested value.

%

%

% References:

%

% Peters E (1991):

Chaos and Order in the Capital Markets. Willey

%

% Peters E (1996):

Fractal Market Analysis. Wiley

%

% Lo A (1991): Long

term memory in stock market prices. Econometrica

% 59: 1279-1313

%

% Moody J, Wu L

(1996): Improved estimates for Rescaled Range and Hurst

% exponents. Neural

Networks in Financial Engineering, eds. Refenes A-P

% Abu-Mustafa Y,

Moody J, Weigend A: 537-553, Word Scientific

%

% Hauser M (1997):

Semiparametric and nonparametric testing for long

% memory: A Monte

Carlo study. Empirical Economics 22: 247-271

%

%

% Alexandros

Leontitsis

% Department of

Education

% University of

Ioannina

% 45110 - Dourouti

% Ioannina

% Greece

%

% University

e-mail: me00743@cc.uoi.gr

% Lifetime e-mail:

leoaleq@yahoo.com

% Homepage:

http://www.geocities.com/CapeCanaveral/Lab/1421

%

% 1 Jan 2004.

if nargin<1 |

isempty(x)==1

error('You should provide a time series.');

else

% x must be a vector

if min(size(x))>1

error('Invalid time series.');

end

x=x(:);

% N is the time series length

N=length(x);

end

if nargin<2 |

isempty(n)==1

n=1;

else

% n must be either a scalar or a vector

if

min(size(n))>1

error('n must be either a scalar or a

vector.');

end

% n must be integer

if n-round(n)~=0

error('n must be integer.');

end

% n must be positive

if n<=0

error('n must be positive.');

end

end

if nargin<4 |

isempty(q)==1

q=0;

else

if q=='auto'

t=autocorr(x,1);

t=t(2);

q=((3*N/2)^(1/3))*(2*t/(1-t^2))^(2/3);

else

% q must be a scalar

if sum(size(q))>2

error('q must be scalar.');

end

% q must be integer

if q-round(q)~=0

error('q must be integer.');

end

% q must be positive

if q<0

error('q must be positive.');

end

end

end

for i=1:length(n)

% Calculate the sub-periods

a=floor(N/n(i));

% Make the sub-periods matrix

X=reshape(x(1:a*n(i)),n(i),a);

% Estimate the mean of each sub-period

ave=mean(X);

% Remove the mean from each sub-period

cumdev=X-ones(n(i),1)*ave;

% Estimate the cumulative deviation from

the mean

cumdev=cumsum(cumdev);

% Estimate the standard deviation

switch method

case 'Hurst'

% Hurst-Mandelbrot variation

stdev=std(X);

case 'Lo'

% Lo variation

for j=1:a

sq=0;

for k=0:q

v(k+1)=sum(X(k+1:n(i),j)'*X(1:n(i)-k,j))/(n(i)-1);

if k>0

sq=sq+(1-k/(q+1))*v(k+1);

end

end

stdev(j)=sqrt(v(1)+2*sq);

end

case 'MW'

% Moody-Wu variation

for j=1:a

sq1=0;

sq2=0;

for k=0:q

v(k+1)=sum(X(k+1:n(i),j)'*X(1:n(i)-k,j))/(n(i)-1);

if k>0

sq1=sq1+(1-k/(q+1))*(n(i)-k)/n(i)/n(i);

sq2=sq2+(1-k/(q+1))*v(k+1);

end

end

stdev(j)=sqrt((1+2*sq1)*v(1)+2*sq2);

end

case 'Parzen'

% Parzen variation

if mod(q,2)~=0

error('For the "Parzen"

variation q must be dived by 2.');

end

for j=1:a

sq1=0;

sq2=0;

for k=0:q

v(k+1)=sum(X(k+1:n(i),j)'*X(1:n(i)-k,j))/(n(i)-1);

if k>0 & k<=q/2

sq1=sq1+(1-6*(k/q)^2+6*(k/q)^3)*v(k+1);

elseif k>0 & k>q/2

sq2=sq2+(1-(k/q)^3)*v(k+1);

end

end

stdev(j)=sqrt(v(1)+2*sq1+2*sq2);

end

otherwise

error('You should provide another value for "method".');

end

% Estiamte the rescaled range

rs=(max(cumdev)-min(cumdev))./stdev;

clear stdev

% Take the logarithm of the mean R/S

logRS(i,1)=log10(mean(rs));

if nargout>1

% Initial calculations fro the

log(E(R/S))

j=1:n(i)-1;

s=sqrt((n(i)-j)./j);

s=sum(s);

% The estimation of log(E(R/S))

logERS(i,1)=log10(s/sqrt(n(i)*pi/2));

% Other estimations of log(E(R/S))

%logERS(i,1)=log10((n(i)-0.5)/n(i)*s/sqrt(n(i)*pi/2));

%logERS(i,1)=log10(sqrt(n(i)*pi/2));

end

if nargout>2

% Estimate V

V(i,1)=mean(rs)/sqrt(n(i));

end

end

matlab如何记录时间,求助:在MATLAB里如何输入时间序列中的时间相关推荐

  1. matlab函数输入顺序,求助:在MATLAB里如何输入时间序列中的时间

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function [logRS,logERS,V]=RSana(x,n,method,q) %Syntax: [logRS,logERS,V]=RSana ...

  2. matlab 时间序列 周期,求助:在MATLAB里如何输入时间序列中的时间

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function [logRS,logERS,V]=RSana(x,n,method,q) %Syntax: [logRS,logERS,V]=RSana ...

  3. 如何生成时间序列matlab,求助:在MATLAB里如何输入时间序列中的时间

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function [logRS,logERS,V]=RSana(x,n,method,q) %Syntax: [logRS,logERS,V]=RSana ...

  4. matlab日期textscan,求助:在MATLAB里如何输入时间序列中的时间

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function [logRS,logERS,V]=RSana(x,n,method,q) %Syntax: [logRS,logERS,V]=RSana ...

  5. 在matlab中输入时间日期,求助:在MATLAB里如何输入时间序列中的时间

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function [logRS,logERS,V]=RSana(x,n,method,q) %Syntax: [logRS,logERS,V]=RSana ...

  6. MATLAB中年份加月份怎么输,求助:在MATLAB里如何输入时间序列中的时间

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function [logRS,logERS,V]=RSana(x,n,method,q) %Syntax: [logRS,logERS,V]=RSana ...

  7. linux 命令提示符 时间,在LINUX的命令提示符及CMD命令提示符中显示时间

    用途之一是可以查看某个命令或程序的执行时间. 一.CMD中显示时间设置 参数说明: $P:当前路径 $G:>(大于号) $T:当前时间,精确到0.01s 实验如下: C:\Users\g4-10 ...

  8. cmd怎么进入linux系统时间,在LINUX的命令提示符及CMD命令提示符中显示时间

    用途之一是可以查看某个命令或程序的执行时间. 一.CMD中显示时间设置 参数说明: $P:当前路径 $G:>(大于号) $T:当前时间,精确到0.01s 实验如下: C:\Users\g4-10 ...

  9. oracle时间24小时格式转换,在oracle数据库中查询时间并转为24小时制--------------String转Date类型或者Date转String类型...

    1.在Oracle数据库中查询时间的时候,首先就是把日期从date类型的转化为String类型的. 2.将date类型的转成String类型的,直接调用传入date类型的参数,返回String类型的字 ...

最新文章

  1. 苹果裁员逾200人,拿无人驾驶“开刀”
  2. oracle时间相减得到天数_【数列】从错位相减到阿贝尔变换
  3. 戴森最新吸尘器,竟用上了无人车和宇宙飞船黑科技
  4. jsp九大内置对象和四大作用域_JSP学习3
  5. android如何引用布局,android 动态布局与引用第三方layout中的布局
  6. 类与对象和对应方法、封装
  7. html制作状态栏数字时钟,html5 canvas制作15种数字时钟样式代码
  8. sci的figure怎么做_如何制作科技论文中的Figure
  9. 打开文件管理器_会声会影影片配置文件管理器
  10. poj3660 Cow Contest
  11. WCF 基础 契约 和 绑定
  12. Windows解决net Framerwork 3.5无法安装的问题
  13. ipq4019 识别板卡型号的过程
  14. 世界多国语言代码及区域代码
  15. 7款堪称神器的黑科技App,每一款都是黑科技十足!
  16. html制作dnf,DNF教你如何不花一分钱制作90顶级史诗
  17. PHPStorm长时间Updating Indices
  18. 人可以活得更用力一些
  19. Makefile里的wildcard 理解
  20. 2010-12-28

热门文章

  1. Android9.0添加HIDL
  2. ALSA驱动中snd_soc_write()原理分析及demo(二十二)
  3. 传统的BIOS启动过程与UEFI启动过程
  4. win10磁盘管理界面各系统分区介绍
  5. 商务高端、CPU要求高-笔记本选型
  6. cpu功耗排行_AMD、Intel主流处理器性能、功耗及性价比排行(更新中)
  7. linux shell 后台执行脚本的方法 脚本后台运行 后台运行程
  8. php arsort函数,php-常用函数
  9. tcl如何获取键盘输入
  10. cesium 基于在vue框架写功能