书签 分享 收藏 举报 版权申诉 / 307
上传文档赚钱

类型教学课件-MATLAB金融算法分析-机器学习.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4067799
  • 上传时间:2022-11-08
  • 格式:PPT
  • 页数:307
  • 大小:8.71MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《教学课件-MATLAB金融算法分析-机器学习.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    教学 课件 MATLAB 金融 算法 分析 机器 学习
    资源描述:

    1、第一章1个窗口绘制多个图形x=0:0.01:4*pi;y1=sin(x);y2=sin(1.01*x);figure(1),plot(x,y1,r);hold onplot(x,y2,b);grid onxlabel(x);ylabel(y)%haxes2=axes(position,0.3,0.7,0.20,0.20);axis(haxes2);hold onplot(x(250:300),y1(250:300),r-)%画图plot(x(250:300),y2(250:300),b-)%画图axis tightMonte Carlo方法蒙特卡洛Monte Carlo方法是金融学中应用较广泛

    2、的一个方法。对于一个非线性不可微的方程而言,如何去逼近这样的一个方程,传统的方法是很难求解的。蒙特卡洛Monte Carlo方法采用随机生成点的方法进行合理解的计算,经过统计学知识,得到方程的近似解,具体的案例分析如下:%蒙特卡洛Monte Carlo方法tic%运算计时P=rand(10000,2);x=P(:,1)-0.5;y=P(:,2);p o i n t s=f i n d(y=x.2);M=length(points);S=4*M/10000figure(color,1,1,1)plot(x(points),y(points),bs)toc%计时结束grid onxlabel(x)

    3、;ylabel(y)金融工具箱绘图函数使用布林线bolling函数高低价highlow函数高低价highlow函数阴阳烛图candle函数砖型图renko函数移动平均图movavg函数第二章例如一点的经纬度为M(A2,B2),另一点的经纬度为N(C2,D2),则MN之间的实际距离计算具体如下:%参考本代码,请引用并注明 本书信息(余胜威)clc,clear,close all%清理命令区、清理工作区、关闭显示图形warning off%消除警告feature jit off%加速代码运行%经纬度距离计算A2=113.917;B2=28.3;C2=113.9;D2=22.3;DD=6371004

    4、*acos(sin(B2*pi/180)*sin(D2*pi/180)+.cos(B2*pi/180)*cos(D2*pi/180)*cos(C2-A2)*pi/180)%单位米正余弦函数计算正余弦函数计算pcode加密加密基本基本GUI设计设计基本基本GUI设计设计日期格式函数日期格式函数MATLAB Financial Toolbox提供了大量的日期操作函数,具体有:now函数、today函数、datefind函数、day函数、datevec函数、eomdate函数、hour函数、lweekdate函数、second函数、minute函数、month函数、months函数、nweekdat

    5、es函数、weeknum函数、year函数、yeardays函数。以下将选取比较常用的转换函数进行介绍其使用方法。now函数 time=now time=7.3656e+05now函数显示的是公元0年到目前的天数。日期转化函数日期转化函数Date Conversion函数包中包含date2time函数、datedisp函数、datenum函数、datestr函数、m2xdate函数、time2date函数、uicalendar函数、x2mdate函数。date2time函数TFactors,F=date2time(Settle,Maturity,Compounding,Basis,EndMon

    6、thRule)该函数输入中Settle为初始时间节点,Maturity为结束时间节点,其中Compounding指标和Basis输入需要用户注意,具体如下:Compounding指标设置如下:Compounding=0 for simple interestDisc=1/(1+Z*T),where T is time in years and simple interest assumes annual times F=1.Compounding=1,2,3,4,6,12Disc=(1+Z/F)(-T),where F is the compounding frequency,Z is the

    7、 zero rate,and T is the time in periodic units,for example,T=F is one year.Compounding=365Disc=(1+Z/F)(-T),where F is the number of days in the basis year and T is a number of days elapsed computed by basis.Compounding=-1Disc=exp(-T*Z),where T is time in years.对于我国日历方式,具体设置为Compounding为365。Basis指标设置

    8、如下:0=actual/actual(default)1=30/360(SIA)2=actual/3603=actual/3654=30/360(PSA)5=30/360(ISDA)6=30/360(European)7=actual/365(Japanese)8=actual/actual(ICMA)9=actual/360(ICMA)10=actual/365(ICMA)11=30/360E(ICMA)12=actual/365(ISDA)13=BUS/252同样的,对于我国日历方式,具体设置Basis为10。创建一个金融时间数据序列创建一个金融时间数据序列股票技术分析图函数使用股票技术分

    9、析图函数使用集散指标(Accumulation/Distribution oscillator)集散指标Accumulation/Distribution oscillator是由股票最高价、股票最低价、股票开盘价以及股票收盘价决定的参考指标。集散指标数值越高,则表明该集散指标表示股票股价变化的分布就越明显,给投资者的参考信息也就越多。具体的MATLAB工具箱函数如下:ado=adosc(highp,lowp,openp,closep)ado=adosc(highp lowp openp closep)adots=adosc(tsobj)adots=adosc(tsojb,ParameterN

    10、ame,ParameterValue,.)其中,highp表示股票最高价,lowp表示股票最低价,openp表示股票开盘价,closep表示股票收盘价,tsobj表示一个时间序列结构体数据,ParameterName有四种类型集散指标集散指标蔡金摆动指标蔡金摆动指标MACD曲线曲线谢谢谢谢第三章平均绝对离差平均绝对离差平均绝对离差(mean absolute deviation或者表示为average absolute deviation):计算各观察值与平均值的距离总和,然后取其平均数。平均绝对离差AVEDEV用于计算平均绝对离差AEVDEV指标值。function avedev_com=A

    11、VEDEV(closePrice,period)%函数功能:AVEDEV-平均绝对离差%closePrice:在列向量上随时间变化,即为行向量%输入:%closePrice-为输入的数据矩阵%period-为计算的周期数%输出:%avedev_com:平均绝对离差avedev_com=nan*ones(size(closePrice,1),size(closePrice,2);%初始化for j=1:size(closePrice,1)%行 for i=period:length(closePrice)avedev_com(j,i)=sum(abs(closePrice(j,i-period+

    12、1:i)-mean(closePrice(j,i-period+1:i)/period;endend0510152025101520253035t收盘价051015202500.511.522.533.5tAVEDEV-平均绝对离差平均绝对离差绘图平均绝对离差绘图序列最大值序列最大值function hhv_com=HHV(price,period)%函数功能:HHV-序列最大值%输入:%price-为输入的数据矩阵。%period-为周期,=1%输出:%hhv_com:HHV-序列最大值hhv_com=nan*ones(size(price,1),size(price,2);%初始化if l

    13、ength(price)period%每一行变量的长度是否大于period for j=1:size(price,1)%行,每一行一个时间序列数据 for i=period:length(price)%从period周期开始计算 hhv_com(j,i)=max(price(j,i-period+1:i);%求最大值 end endend序列最大值序列最大值123456711.51212.51313.5t收盘价123456712.212.412.612.81313.213.413.613.8tHHV-序列最大值序列最小值序列最小值序列最小值LLV用于计算一个period周期内的最小值。func

    14、tion llv_com=LLV(price,period)%函数功能:llv-序列最小值%输入:%price-为输入的数据矩阵。%period-为周期,=1%输出:%llv_com:llv-序列最小值llv_com=nan*ones(size(price,1),size(price,2);%初始化if length(price)period%每一行变量的长度是否大于period for j=1:size(price,1)%行,每一行一个时间序列数据 for i=period:length(price)%从period周期开始计算 llv_com(j,i)=min(price(j,i-peri

    15、od+1:i);%求最小值 end endend序列最小值序列最小值序列最小值LLV用于计算一个period周期内的最小值。123456711.51212.51313.5t收盘价123456711.411.611.81212.212.4tLLV-序列最小值简单移动平均值简单移动平均值移动平均线(MA)采用统计学中“移动平均”的原理,将一段时期内的股票价格平均值连成曲线,用来显示股价的历史波动情况,进而反映股价指数未来发展趋势的技术分析方法。移动平均线(MA)依时间长短可分为三种,即短期移动平均线,中期移动平均线,长期移动平均线。短期移动平均线一般以5日或10日为计算期间,中期移动平均线大多以3

    16、0日、60日为计算期间;长期移动平均线大多以100天和200天为计算期间。123456711.51212.51313.5t收盘价123456711.51212.51313.5tSMA-简单移动平均值动态移动平均值动态移动平均值动态移动平均值DMA用于计算一个时间序列数据的动态移动平均值,假设当前序列值的权值为weight,则前一周期的权重为1-weight。假设一组数据为1,1,7,令a=1,b=1,c=7,设weight=0.5,则DMA动态移动平均值计算如下:DMA(1)=a=1DMA(2)=weight*b+(1-weight)*DMA(1)=0.51+(1-0.5)1=1DMA(3)=

    17、weight*c+(1-weight)*DMA(2)=0.57+(1-0.5)1=41234511.51212.51313.51414.515t收盘价1234511.51212.51313.51414.5tDMA-动态移动平均值指数平滑移动平均值指数平滑移动平均值 在通常情况下,许多参股入股者(散户)以随机指标(KDJ指标)和指数平滑异同平均线(MACD指标)作为股票买入和卖出信号的重要指标。一旦当大盘或个股的KDJ指标和MACD指标在高位形成死叉后,投资者则通常会卖出。但是,由于股票的主力往往知道投资者这个心理,主力经常会进行反向操作,所以常常导致“顶在顶上”和“底在底下”的情况发生,因此随

    18、机指标(KDJ指标)和指数平滑异同平均线(MACD指标)指标常常会失灵,由此人们引入指数平滑移动平均值EMA(Exponential Moving Average)指标。假设价格已脱离均线差值且在不断扩大,而平均线又未能立即反应,则指数平滑移动平均值EMA则可以为投资者提供一定参考依据,从而较少此类缺点。EMA用于计算序列的指数平滑移动平均值,当前序列的权重为2/(period+1),前一周期EMA的权重为(period-1)/(period+1)。指数平滑移动平均值指数平滑移动平均值11.522.533.544.5511.51212.51313.514t收盘价11.522.533.544.5

    19、511.411.611.81212.212.412.612.81313.213.4tEMA-指数平滑移动平均值指数移动平均值指数移动平均值指数移动平均值EDMA区别于指数平滑移动平均值EMA和动态移动平均值DMA,EDMA采用权重和周期数组合权重,然后计算平均值,EDMA结合了EMA指数平滑移动平均值和DMA动态移动平均值求解方法。clc,clear,close all%清屏+清理工作区+关闭图形窗口warning off%取消警告feature jit off%加速通道format shortclosePrice =1 8 2 8 0 3 7 8 2 4 1;1 1 7 4 0 6 3 0

    20、8 7 0;period=5;%周期weight=2;%权值,1=weightLC%今天收盘价是否大于昨天收盘价 DIF=closeprice(j,i)-min(lowprice(j,i),LC);else DIF=closeprice(j,i)-max(highprice(j,i),LC);end%计算ACD if closeprice(j,i)=LC%今天收盘价是否等于昨天收盘价 if i=2 acd_com(j,i)=0;%避免第一天NaN的影响 else acd_com(j,i)=acd_com(j,i-1)+0;%DIF累加和 end else if i=2 acd_com(j,i)

    21、=DIF;%避免第一天NaN的影响 else acd_com(j,i)=acd_com(j,i-1)+DIF;%DIF累加和 end end endend升降线指标升降线指标吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析升降线指标升降线指标吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析动力指标动力指标动力指标MTM以分析股票价格波动的速度为目的,研究股票价格在波动过程中各种加速,减速,惯性作用以及股票价格由静到动或由动转静的现象。当股票价格上涨强劲时,则动力指标MTM上升斜率越大,即上升越快,当股票价格下降快速时,动力指标MTM下降也越快;当动力指标

    22、MTM震荡时,说明股票价格也在一定的小区间范围内震荡。对于动力指标MTM指标而言,投资者应该关注的是:动力指标MTM从下向上突破其均线时,多头为买入信号;动力指标MTM从上向下突破其均线时,多头为卖出信号。ttt periodM TMcloseprice closeprice吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析动力指标动力指标吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析变动速率线指标变动速率线指标变动速率线指标OSC在长期反映股票的上涨下跌状态,变动速率线指标OSC曲线更加平滑,变动速率线指标OSC上升则表示股票具有强劲的上涨势头,变动速

    23、率线指标OSC下降,则表示股票有下降趋势;变动速率线指标OSC变化的值越大,则股票波动也越大。变动速率线指标OSC属于超买超卖指标,OSC变动速率线是从移动平均线原理派生出来的一种分析指标,OSC变动速率线指标反应当日收盘价与一段时间内平均收盘价的差离值。OSC变动速率线指标穿过0线向上,此时股票有上涨势头,可视为买入信号,此时用户可考虑买入股票;OSC变动速率线指标下跌跌破0线向下,此时股票价格将走弱,被视为卖出信号,此时用户可考虑卖出股票。,1,2100,1ttttSM A closeprice periodSM A closeprice periodOSCSM A closeprice

    24、period吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析变动速率线指标变动速率线指标吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析瀑布线指标瀑布线指标瀑布线指标PBX广泛应用于金融领域中,用于判断股价运行趋势。瀑布线指标PBX在短期反映股票价格的变化率,瀑布线指标PBX上涨,则表示股价极大可能上涨,瀑布线指标PBX下降,则表示近期股票价格将下跌。瀑布线指标PBX可看作是股票价格的短周期平滑曲线。PBX瀑布线属于传统大势价格趋势线,由非线性加权移动平均线组合而来。当股票价格上涨穿过轨道线上限时,下降概率增大;当股票价格下跌跌破轨道线下限时,则反弹机率

    25、增大,用户可以考虑介入。_,2,43ttttEM A cur SM A closepriceperiodSM A closepriceperiodPBX_,ttEM A curEM Acloseprice period吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析瀑布线指标瀑布线指标吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析上升动向指标上升动向指标单独的上升动向指标PDI 曲线是不断变换的一些震荡曲线,单独的从上升动向指标PDI 曲线并不能很好的获取股票价格走势信息,上升动向指标PDI常和下降动向指标MDI、动向平均数指标ADX连用,通过三者之间

    26、的关系进行股票的买入和卖出判断。一般情况下,如果PDI上升动向指标从下往上突破下降动向指标MDI,且动向平均数指标ADX走势也向上,此时投资者可以考虑买入,此时股票价格极大可能将会上涨;如果下降动向指标MDI从上往下突破上升动向指标PDI,且动向平均数指标ADX走势向下,此时投资者可以考虑卖出手中的股票,此时股票价格将极大可能地下降。假设昨天一组数据为3,1,2,即昨天最高价为3,最低价为1,收盘价为2,;今天的一组数据为3,2,2,即今天最高价为3,最低价为2,收盘价为2,;考虑计算周期period为1,则PDI计算如下:由于今天最高价减昨天最高价为=3-3=0=x2,而今天最低价减昨天最低

    27、价为=2-1=1=x1,因此x2x1,则设变量UDM=0;计算今天最高价减今天最低价=3-2=1=x3,今天最高价减昨天收盘价=3-2=1=x4,则x3和x4的最大值=1=x5,计算今天最低价减昨天最低价=2-1=1=x6,则设变量TR=max(x5,x6)=1;吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析上升动向指标上升动向指标吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析下降动向指标下降动向指标由PDI上升动向指标分析可知,下降动向指标MDI通常和PDI上升动向指标、ADX动向平均数指标连用。下降动向指标MDI通常在50之间震荡,一般认为下降动

    28、向指标MDI在0上方运行,则股票价格将逐渐走强,用户可以考虑适时逢低买入。通常认为,若PDI上升动向指标从下往上突破下降动向指标MDI,且ADX走势也向上,此时投资者可以考虑介入,此时股票价格在一定时间段内上涨可能性增大;若下降动向指标MDI从上往下突破PDI上升动向指标,且ADX走势向下,此时投资者可以考虑卖出手中的股票,此时股票价格在一定时间段内下跌可能性增大。假设昨天一组数据为3,1,2,即昨天最高价为3,最低价为1,收盘价为2,;今天的一组数据为3,2,2,即今天最高价为3,最低价为2,收盘价为2,;考虑计算周期period为1,则MDI计算如下:由于今天最高价减昨天最高价为=3-3=

    29、0=x2,而今天最低价减昨天最低价为=2-1=1=x1,因此x20时,视为买入信号,投资者可以考虑买入该股票;EMV简易波动指标值80时,回档机率大;当J100时,股票价格易反转下跌,此时投资者应该适当减仓;当J=0 disp(未来一天上涨的可能性更大!)else disp(未来一天回调的可能性更大!)end第十章吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析马尔科夫Markov上证指数预测吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析马尔科夫马尔科夫链链Markov模型模型马尔科夫

    30、链Markov模型直观地统计某几个状态出现的频数,进而判断下一时刻点出现某状态的概率。马尔科夫链Markov模型状态数由用户自己设定,较为常用的有5种状态,如快速上升、缓慢上升、相对不变、缓慢下降、快速下降;也可以设为3种状态,如上升、相对不变、下降(较多的经济学问题都按照这个划分)。这个思想和模糊数学的思想相一致的。针对快速上升、缓慢上升、相对不变、缓慢下降、快速下降5个状态,那么多大的增长幅度才算是快速上升,多大的幅度才算是快速下降,这两个数值由用户自己设定,较为常用的有1%、3%、5%等数值。本文考虑上证指数的增长幅度问题,采用1%上证幅度作为衡量标准。马尔科夫链Markov模型广泛的应

    31、用于长时间的波动数据行业中,例如某个食品的价格、某个公司员工上下班时间趋势、CPI指数、上证指数、个股价格等。马尔科夫链Markov模型因其自身数据的统计特性,在预测行业起到举足轻重的作用。吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析模型符号说明模型符号说明吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析马尔科夫马尔科夫链链Markov预测预测openprice=data0(:,1);%开盘价highprice=data0(:,2);%最高价lowprice =data0(:,3);%最低价closeprice=data0(:,4);%收盘价trad

    32、ingvolumn=data0(:,5);%成交量%以closeprice为参考,进行上证指数的上涨、下跌、平衡态处理SX=nan*ones(size(closeprice,1),size(closeprice,2);%初始化for j=1:size(closeprice,1)for i=2:size(closeprice,2)if closeprice(j,i)-closeprice(j,i-1)0 SX(j,i)=1;%上涨%elseif closeprice(j,i)-closeprice(j,i-1)=0%SX(j,i)=0;%平衡状态 elseif closeprice(j,i)-c

    33、loseprice(j,i-1)0 SX(j,i)=-1;%下跌 end endend吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析马尔科夫马尔科夫链链Markov预测预测吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析获取待分析数据马尔科夫马尔科夫链链Markov预测预测吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析增长率级别马尔科夫马尔科夫链链Markov预测预测吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析马尔科夫马尔科夫链链Markov预测预测11234c 12288c 130c 14237c 151

    34、48c 21253c 22399c 230c 24422c 25232c 310c 320c 330c 340c 351c 41213c 42355c 430c 44338c 45263c 51207c 52264c 531c 54172c 55171c 吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析对每个状态向量,均取其中最大的那个概率值;则以上结果表明:在未来7天内,上证指数处于缓慢增长势头,并且缓慢下降的概率也时旗鼓相当,此时投资者应该谨慎,变盘可能性较大。本书籍所涉及算法预测结果,仅供参考。马尔科夫马尔科夫链链Markov预测预测吴婷、余胜威:MATLAB金融算法

    35、分析实战基于机器学习的股票量化分析隐马尔可夫模型函数表隐马尔可夫模型函数表函函 数数功功 能能hmmdecode计算序列状态的后验概率hmmestimate估计隐马尔可夫模型的参数hmmgenerate为隐马尔可夫模型产生一个序列hmmtrain计算隐马尔可夫模型的最大似然估计计算马尔可夫模型序列到达最可能状态的路径第十一章吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析灰色理论下的上证指数预测吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析灰色理论分析灰色理论分析灰色系统理论是针对短期

    36、的时间变化数据而言的。对于长时间的系统数据,灰色理论预测误差是很大。并且,灰色系统理论对于给定的系统隐式方程是可以用来逼近原始数据的,这一点极大的限制了程序的泛化能力,也就是要求分析的数据是服从某种规律的。灰色系统理论包括灰色关联性分析和灰色预测模型。灰色关联分析通过分析灰色系统里各因素的相异程度,并给出各因素之间的关联程度;灰色预测模型对原始数据进行处理,生成有较强规律性的数据序列,然后建立相应的微分方程,进而预测未来发展趋势。灰色预测模型广泛的应用于时间序列的波动数据行业中,例如某个食品的价格、CPI指数、上证指数等。灰色预测模型因其自身数据的统计特性,在预测行业起到举足轻重的作用。吴婷、

    37、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析灰色关联分析流程灰色关联分析流程吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析多指标灰色关联度计算多指标灰色关联度计算在此选用反趋势指标,用ACCER-幅度涨速指标、ADTM-动态买卖气指标、BB-布林极限指标、BIAS-乖离率指标、CCI-顺势指标、CYF-市场能量指标、DBCD-异同离差乖离率指标、DKX-多空线指标、DPO-区间震荡线指标、FSL-分水岭指标、KDJ-随机指标、LWR-L威廉指标、ROC-变动速率指标、RSI-相对强弱指标、SKDJ-慢速随机指标、SI-摆动指标、SRDM-动向速度比率指标

    38、、UDL-引力线指标、WR-威廉指标、WIDTH-布林极限宽度指标作为灰色关联分析数据。吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析多指标灰色关联度计算多指标灰色关联度计算y5=1 至 9 列 0.9903 0.9938 1.0010 1.0037 0.9871 1.0011 1.0001 0.9986 1.0010 10 至 18 列 0.9968 0.9938 0.9922 1.0043 1.0020 0.9942 0.9950 1.0004 0.9940 19 至 20 列 1.0007 0.9865由关联度结果可知,基于第一个指标ACCER-幅度涨速指标,其与2

    39、0个指标与ACCER-幅度涨速指标的关联度系数均位于1左右,因此对于这些指标本身而言,是相辅相成的。吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析灰色预测模型流程灰色预测模型流程ACCER幅度涨速指标灰色预测吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析灰色预测模型流程灰色预测模型流程ACCER幅度涨速指标灰色预测吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析load(database.mat)clear closeprice highprice lowprice openprice tradingvolumn%归一化%分析in

    40、dex5趋势指标%指标:ACCER-幅度涨速指标、ADTM-动态买卖气指标、BB-布林极限指标、%BIAS-乖离率指标、CCI-顺势指标、CYF-市场能量指标、DBCD-异同离差乖离率指标、%DKX-多空线指标、DPO-区间震荡线指标、FSL-分水岭指标、KDJ-随机指标、%LWR-L威廉指标、ROC-变动速率指标、RSI-相对强弱指标、SKDJ-慢速随机指标、%SI-摆动指标、SRDM-动向速度比率指标、UDL-引力线指标、WR-威廉指标、WIDTH-布林极限宽度指标 index_x=index5(:,1:end-1);%前一天指标值index_y=SX(:,length(SX)-size(

    41、index_x,2)+1:end);%第二天的涨幅状态吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析%对index_x归一化处理for i=1:size(index_x,1)x=;%初始化 x=index_x(i,:);%挨个挨个获取指标数据 x,setting=mapminmax(x);%x归一化 settingsi,1=setting;%归一化参数 index_xx(i,:)=x;%重新赋值end%待分析index_xx=index_xx(:,4500:end);%内存不足,截断提取index_y=index_y(:,4500:end);%内存不足,截断提取吴婷、余胜

    42、威:MATLAB金融算法分析实战基于机器学习的股票量化分析%灰色预测x1=index_xx(1,80:end);%输入数据n=length(x1);%数据长度t1=1:n;ux=polyfit(t1,x1,2);u(1)=ux(1);u(2)=ux(2);x11=ux(3);x=;%初始化syms a b y(x)x00 xx=dsolve(diff(y)=a*x+b,y(0)=x00);x=subs(x,a,b,x00,2*u(1),u(2),x11);digits(6),y=vpa(x)%为提高预测精度,先计算预测值,再显示微分方程的解 yuce=double(subs(x,x,0:n-1

    43、);%计算预测值epsilon=x1-yuce;%计算残差第十二章吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析指数平滑下的上证指数预测指数平滑下的上证指数预测吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析指数平滑分析指数平滑分析吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析指数平滑分析指数平滑分析吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析指数平滑分析指数平滑分析三次指数平滑法三次指数平滑法吴婷、余胜威:MATLAB金融算法分析实战基于

    44、机器学习的股票量化分析指数平滑分析指数平滑分析一次指数平滑一次指数平滑%一次指数平滑yt=closeprice;%原始数据以列向量的方式存放n=length(yt);%数据长度alpha=0.1 0.3 0.9;%取值 m=length(alpha);%个数 yhat(1,1:m)=(yt(1)+yt(2)/2;%取平均值(初始值)for i=2:n yhat(i,:)=alpha*yt(i-1)+(1-alpha).*yhat(i-1,:);%预测计算公式endyhat;%预测值 Error=(repmat(yt,1,m)-yhat);%预测误差err=sqrt(mean(repmat(yt

    45、,1,m)-yhat).2)%预测误差总和 yhat_next=alpha*yt(n)+(1-alpha).*yhat(n,:)%预测下一时刻值吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析指数平滑分析指数平滑分析一次指数平滑一次指数平滑吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析指数平滑分析指数平滑分析一次指数平滑一次指数平滑吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析指数平滑分析指数平滑分析一次指数平滑一次指数平滑吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析指数平滑分析指数平滑分析二次指数平滑二次

    46、指数平滑()()1(1)()(1)1(1)(1)iitttiiitttt TttSySSSSya bT for i=2:n st1(i)=alpha*yt(i)+(1-alpha)*st1(i-1);%一次平滑预测 st2(i)=alpha*st1(i)+(1-alpha)*st2(i-1);%二次平滑预测enda=2*st1-st2;%a计算公式b=alpha/(1-alpha)*(st1-st2);%b计算公式吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析指数平滑分析指数平滑分析二次指数平滑二次指数平滑吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分

    47、析指数平滑分析指数平滑分析三次指数平滑三次指数平滑111(1)(1)(1)tttttttttSaxaSSaSaSSaSaS 吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析指数平滑分析指数平滑分析三次指数平滑三次指数平滑st1_0=mean(yt(1:3);%初始化值st2_0=st1_0;%初始化值st3_0=st1_0;%初始化值st1(1)=alpha*yt(1)+(1-alpha)*st1_0;%初始化st2(1)=alpha*st1(1)+(1-alpha)*st2_0;%初始化st3(1)=alpha*st2(1)+(1-alpha)*st3_0;%初始化for

    48、 i=2:n st1(i)=alpha*yt(i)+(1-alpha)*st1(i-1);%一次平滑 st2(i)=alpha*st1(i)+(1-alpha)*st2(i-1);%二次平滑 st3(i)=alpha*st2(i)+(1-alpha)*st3(i-1);%三次平滑endst1=st1;%一次平滑结果st2=st2;%二次平滑结果st3=st3;%三次平滑结果吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析指数平滑分析指数平滑分析三次指数平滑预测三次指数平滑预测吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析指数平滑分析指数平滑分析采用三次

    49、指数平滑预测的绝对误差和为90.6561,相应的上证指数收盘价为2928.6。相对比一次指数平滑预测的误差为45.8548,二次指数平滑预测为37.4430,由此可知二次指数平滑预测效果最佳,三次指数平滑预测易导致过拟合等现象,导致预测误差增大等缺陷。第十三章吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析支持向量机SVM下的涨跌预测吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析支持向量机SVM算法是一个极其优越的机器学习算法。支持向量机SVM算法也是一个有监督的学习算法。支持向量机S

    50、VM算法根据数据内存属性,通过构造超平面,将数据进行划分,然后应用于分类和回归模型。支持向量机SVM算法解决了传统算法不能解决的非线性、离散等问题,将复杂的大数据映射到高维空间,进而实现问题的高效求解,广泛应用于各行各业数据分析中。本章主要围绕支持向量机SVM算法进行股票的上证、下跌分析。吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析Logistic回归回归吴婷、余胜威:MATLAB金融算法分析实战基于机器学习的股票量化分析Regularization正则化方程正则化方程 1TTX XX y10111TTX XX y0吴婷、余胜威:MATLAB金融算法分析实战基于机器学习

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:教学课件-MATLAB金融算法分析-机器学习.ppt
    链接地址:https://www.163wenku.com/p-4067799.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库