教学课件-MATLAB金融算法分析-机器学习.ppt
- 【下载声明】
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连用,通过三者之间
展开阅读全文