金融MATLAB-第3章.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
金融MATLAB-第3章精要

* * 2.yy = smooth(y,span) 用span参数指定移动平均滤波器的窗宽,span为奇数。 3.yy = smooth(y,method) 用method参数指定平滑数据的方法,method是字符串变量,可用的字符串如表所示。 * * 4.yy = smooth(y,span,method) 对于由method参数指定的平滑方法,用span参数指定滤波器的窗宽。 5.yy = smooth(y,sgolay,degree) 利用Savitzky-Golay方法平滑数据,此时用degree参数指定多项式模型的阶数。degree是一个整数,取值介于0和span-1之间。 6.yy = smooth(y,span,sgolay,degree) 用span参数指定Savitzky-Golay滤波器的窗宽。span必须是一个正的奇数。 7.yy = smooth(x,y,?…) 同时指定x数据。 * * 例如:产生一列正弦波信号,加入噪声信号,然后调用smooth函数对加入噪声的正弦波进行滤波(平滑处理)。 代码如下: t = linspace(0,2*pi,500);??%?产生一个从0到2*pi的向量,长度为500 y = 100*sin(t);??%?产生正弦波信号 %?产生500行1列的服从N(0,152)分布的随机数,作为噪声信号 noise = normrnd(0,15,500,1); y = y + noise;??%?将正弦波信号加入噪声信号 figure;??%?新建一个图形窗口 plot(t,y);??%?绘制加噪波形图 xlabel(t);??%?为X轴加标签 ylabel(y = sin(t) +?噪声);??%?为Y轴加标签 * * yy1 = smooth(y,30);??%?利用移动平均法对y进行平滑处理 figure;??%?新建一个图形窗口 plot(t,y,k:);??%?绘制加噪波形图 hold on; plot(t,yy1,k,linewidth,3);??%?绘制平滑后波形图 xlabel(t);??ylabel(moving);??legend(加噪波形,平滑后波形); yy5 = smooth(y,30,sgolay,3);??%?利用sgolay方法对y进行平滑处理 figure;??%?新建一个图形窗口 plot(t,y,k:);??%?绘制加噪波形图 hold on; plot(t,yy5,k,linewidth,3);??%?绘制平滑后波形图 xlabel(t);??ylabel(sgolay);??legend(加噪波形,平滑后波形); * * * * MATLAB金融工具箱中提供了smoothts函数,也可用来对数据进行平滑处理,其调用方式如下: output = smoothts(input) output = smoothts(input, b, wsize) output = smoothts(input, g, wsize, stdev) output = smoothts(input, e, n) smoothts函数的输入参数input是一个金融时间序列对象或行导向矩阵。以上调用方式中的?b,g,或?e?表示不同的数据平滑方法,其中?b?表示盒子法(Box method,默认情况),g?表示高斯窗方法(Gaussian window method),e?表示指数法(Exponential method) * * 例如:现有上海股市日开盘价、最高价、最低价、收盘价、收益率等数据,时间跨度为2005年1月4日至2007年4月3日,共510组数据。完整数据保存在文件StockPriceData.xls中,其中部分数据如图所示。试调用smoothts函数对日收盘价数据进行平滑处理。 具体代码见m_3_5_2.m * * * * MATLAB信号处理工具箱中提供了medfilt1函数,用来对信号数据进行一维中值滤波,其调用方式如下: y = medfilt1(x,n) %对向量x进行一维中值滤波,返回与x等长的向量y。 y = medfilt1(x,n,blksz) %用for循环,每次循环输出blksz个计算值,默认情况下,blksz = length(x) y = medfilt1(x,n,blksz,dim) %用dim参数指定沿x的哪个维进行滤波。 * * 例如:产生一列正弦波信号,加入噪声信号,然后调用medfilt1函数对加入噪声的正弦波进行滤波(平滑处理)。 代码见m3_5_3.m * * 1.变换公式 设p维向量X=(X1, X2,…, Xp)的观测值矩阵为 ???????????????????

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档