MATLAB金融计算

上传人:沈*** 文档编号:217068723 上传时间:2023-06-10 格式:PPT 页数:41 大小:2.02MB
收藏 版权申诉 举报 下载
MATLAB金融计算_第1页
第1页 / 共41页
MATLAB金融计算_第2页
第2页 / 共41页
MATLAB金融计算_第3页
第3页 / 共41页
资源描述:

《MATLAB金融计算》由会员分享,可在线阅读,更多相关《MATLAB金融计算(41页珍藏版)》请在装配图网上搜索。

1、MATLAB金融计算金融计算MATLAB金融界主要用户金融界主要用户金融服务银行中央银行资产管理保险能源贸易金融分析与建模流程图金融分析与建模流程图文件数据库网上数据数据获取数据分析与可视化金融建模应用开发研究和量化报告应用产品发布金融计算工具箱金融计算工具箱文件数据库网上数据数据获取数据获取数据分析与可视化金融建模应用开发研究和量化研究和量化报告应用产品发布发布Fixed incomeFinancial DerivativesEconometricsSpreadsheet Link EXDatabaseDatafeedFinancialStatisticsOptimizationBuilde

2、r ExBuilder NEBuilder JAMATLAB CompilerReport GeneratorMATLABParallel ComputingMATLAB Distributed Computing Server创立时间序列变量创立时间序列变量时间序列数组的创立和读取时间序列数组的创立和读取利用利用fints函数创立日期型数组函数创立日期型数组price=1:6dates=today:today+5Tsobjkt=fints(dates,price)金融时间序列文件读取金融时间序列文件读取 Tsobjkt=ascii2fts(at.dat)16-Oct-2008117-Oct-

3、2008218-Oct-2008319-Oct-2008420-Oct-2008521-Oct-20086时间序列数组运算时间序列数组运算日期运算日期运算 查找现在时刻查找现在时刻nownowdateste(ans)dateste(ans)查询当天日期查询当天日期todaytoday序数型日期转化为字符串日序数型日期转化为字符串日期期datestr(ans)datestr(ans)字符串日期转化为序数型日字符串日期转化为序数型日期期datenum(datenum(03-aug-200303-aug-2003)确定每月的第几天确定每月的第几天Day=day(Day=day(22-Jan-2007

4、22-Jan-2007)查询星期查询星期n,s=weekday(n,s=weekday(22-Jan-22-Jan-20072007)查询月份查询月份n,s=month(D)n,s=month(D)将字符型日期以向量形式输出将字符型日期以向量形式输出V=datevec(N)V=datevec(N)计算日期间隔计算日期间隔daysact(daysact(27-feb-27-feb-20082008,08-aug-200808-aug-2008)时间序列数据合并时间序列数据合并newfts=merge(fts1,fts2,newfts=merge(fts1,fts2,Me,Method,RefOb

5、j)thod,RefObj)特定日期抽取函数特定日期抽取函数todaily,toweekly,tomonthly,todaily,toweekly,tomonthly,toquarterly,tosemi,toannualtoquarterly,tosemi,toannual时间序列数组运算时间序列数组运算以招商银行以招商银行(600036)为例为例,说明如何将分析家软件数据说明如何将分析家软件数据导入到导入到MATLAB中中,然后进行相关操作然后进行相关操作.可从分析家网站可从分析家网站(http:/)下载下载步骤步骤1:打开分析家软件打开分析家软件,输入代码输入代码600036,出现招商银

6、行股价图出现招商银行股价图时间序列数组运算时间序列数组运算步骤步骤2:单击鼠标右键单击鼠标右键,在弹出的快捷菜单中选择在弹出的快捷菜单中选择“复制数据复制数据”命令命令,弹出一个提示框弹出一个提示框时间序列数组运算时间序列数组运算步骤步骤3:打开打开Excel,将数据粘贴到将数据粘贴到Excel文件中文件中时间序列数组运算时间序列数组运算步骤步骤4:由于日期型格式是由于日期型格式是yyyy-mm-dd,不符合不符合MATLAB默默认格式认格式,单击单击“A”列列,单击鼠标右键单击鼠标右键,选择选择“设置单元格格式设置单元格格式”菜单项菜单项,出现对话框出现对话框时间序列数组运算时间序列数组运算

7、步骤步骤5:对日期型数据进行修改对日期型数据进行修改,选择选择“14-Mar-01”的格式的格式,单击单击“确定确定”按钮按钮,日期显示格式发生变化日期显示格式发生变化时间序列数组运算时间序列数组运算步骤步骤6:拖动鼠标把所要复制的内容确定下来拖动鼠标把所要复制的内容确定下来,单击鼠标右键单击鼠标右键,选选择择“复制复制”菜单项菜单项,打开打开Windows记事本记事本,把复制的内容粘贴到把复制的内容粘贴到记事本中记事本中,注意把汉字译成英文注意把汉字译成英文,以便以便MATLAB识别识别时间序列数组运算时间序列数组运算步骤步骤7:将数据保存到将数据保存到MATLAB7/work目录下的目录下

8、的at.txt文文件件步骤步骤8:用用ascii2fts函数将函数将at.txt中的数据读入中的数据读入MATLAB中中,命令如下命令如下:zhaohang=ascii2fts(at.txt,2,2)时间序列数组运算时间序列数组运算时间序列数据转化为其他类型数据时间序列数据转化为其他类型数据时间序列数据保存为文本文件时间序列数据保存为文本文件stat=fts2ascii(filename,tsobj,exttext)filename新文件名新文件名tsobj需要转化的需要转化的fints型格式数据型格式数据exttext不需要的描述项的行数,也可以不输入不需要的描述项的行数,也可以不输入时间序

9、列数据转化为矩阵数据时间序列数据转化为矩阵数据tsmat=fts2mat(tsobj,datesflag)tsobj需要转化的需要转化的fints型格式数据型格式数据datesflag0(默认值默认值)表示不输出日期到矩阵中,表示不输出日期到矩阵中,1表示日期也转换表示日期也转换时间序列数组运算时间序列数组运算fints型数据求最大值、最小值、均值、标准差及排序型数据求最大值、最小值、均值、标准差及排序max,min,mean,std,sortfts实现时间序列的转换实现时间序列的转换newfts=convertto(oldfts,newfreq)oldfts需要转换的数据需要转换的数据new

10、freq转换的目标,具体如下:转换的目标,具体如下:D或或d天天W或或w周周M或或m月月Q或或q季度季度S或或s半年半年A或或a年年如如:weekzh=converto(zhaohang,w)时间序列数组运算时间序列数组运算时间序列数据的抽取时间序列数据的抽取ftse=extfield(tsobj,fieldnames)tsobj原始数据原始数据fieldnames原始数据中的字段名原始数据中的字段名如:如:weekzhclose=extfield(weekzh,close)还可以用结构变量的方法还可以用结构变量的方法weekzhclose=weekzh.close 将价格序列转化为收益率序列

11、将价格序列转化为收益率序列price2ret将收益率序列转化为价格序列将收益率序列转化为价格序列ret2price时间序列数组运算时间序列数组运算处理时间序列中的缺失数据处理时间序列中的缺失数据newfts=fillts(oldfts,method)method:linear或或le线性插值法线性插值法cubic或或c三次插值法三次插值法spline或或s样条法样条法nearest或或n最近法最近法pchip或或p逐段光滑的三次逐段光滑的三次Hemite多多项式法项式法MATLAB和和Excel数据连接数据连接1.打开打开Excel软件,单击软件,单击“工具工具”菜单,选择菜单,选择“加加载宏

12、载宏”菜单项,弹出菜单项,弹出“加载宏加载宏”对话框。对话框。2.在在“加载宏加载宏”对话框中,单击对话框中,单击“浏览浏览”按钮,在按钮,在MATLAB/toolbox/exlink文件夹下选中文件夹下选中Excllink文文件,单击件,单击“确定确定”按钮。按钮。3.重新回到重新回到Excel中中“加载宏加载宏”对话框,在对话框,在“Excel Link 2.2 for use with MATLAB”选项前打钩选项前打钩加载加载Excel LinkMATLAB和和Excel数据连接数据连接启动启动MATLAB将变量输入将变量输入MATLAB把把MATLAB中变量中变量输入输入Excel中

13、中执行执行MATLAB命令命令MATLAB和和Excel数据连接数据连接MATLAB 自动启动和自动启动和Excel连接连接设置设置鼠标在桌面鼠标在桌面MATLAB图标上右击,弹出图标上右击,弹出“属性属性”快捷菜单,在对话框快捷菜单,在对话框“目标目标”文本框的文本框的“Matlabbinwin32MATLAB.exe”后面后面加上加上“/automation”MATLAB和和Excel数据连接数据连接Excel Link 的使用的使用连接管理函数连接管理函数函数函数作用作用函数函数作用作用MATLABinit初始化初始化Excel Link,启动启动MATLABMLClose终止终止MAT

14、LABMLAutoStart自动启动自动启动MATLABMLOpen启动启动MATLABMATLAB和和Excel数据连接数据连接Excel Link 的使用的使用数据管理函数数据管理函数函数函数作用作用函数函数作用作用MATLABfcn对于给定的对于给定的Excel数据运数据运行行MATLAB命令命令MLAppendMatrix向向MATLAB 工作区添加工作区添加Excel数据表数据表MATLABsub对于给定的对于给定的Excel数据运数据运行行MATLAB命令,并制命令,并制定输出位置定输出位置MLPutMatrix用用Excel数据表创建或覆数据表创建或覆盖盖MATLAB数据数据ML

15、EDeleteMatrix删除删除MATLAB矩阵矩阵MLPutVar用用Excel数据表数据表VBA创建创建或覆盖或覆盖MATLAB数据数据MLEvalString执行执行MATLAB命令命令MLGetVar向向Excel数据表数据表VBA写写MATLAB数据内容数据内容MLGetMatrix向向Excel数据表写入数据表写入MATLAB数据数据MATLAB和和Excel数据连接数据连接Excel Link 的使用的使用直接把数据输入到直接把数据输入到MATLAB中中把把Excel中盐田港中盐田港(000088)从从2008年年8月月1日日到到9月月30日数据录入日数据录入MATLAB中中,

16、保存变量保存变量名为名为ytg_0000881.Excel中盐田港数据分别为日期、收盘价中盐田港数据分别为日期、收盘价和成交量和成交量2.单击单击“startmatlab”按钮启动按钮启动MATLABMATLAB和和Excel数据连接数据连接Excel Link 的使用的使用直接把数据输入到直接把数据输入到MATLAB中中3.单击单击“putmatrix”按钮弹出一个菜单,按钮弹出一个菜单,根据菜单提示将根据菜单提示将Excel中数据用鼠标选定,中数据用鼠标选定,传输到传输到MATLAB中变量名为中变量名为ytg_000088,然后单击然后单击“确定确定”按钮按钮MATLAB和和Excel数据

17、连接数据连接Excel Link 的使用的使用直接把数据输入到直接把数据输入到MATLAB中中MATLAB和和Excel数据连接数据连接Excel Link 的使用的使用MATLAB中自带中自带Excel文件介绍文件介绍打开打开MATLAB的的toolbox中中exlink目录下目录下的的ExliSamp.xls文件文件MATLAB和和Excel数据连接数据连接Excel Link 的使用的使用MATLAB中自带中自带Excel文件介绍文件介绍1.打开打开sheet1,将将Excel中中DATA数据传给数据传给MATLAB工作区中变量工作区中变量data(存储了(存储了3个变量个变量25个观察

18、值)个观察值)MLPutMatrix(”data”,DATA)2.在在Excel中执行中执行MATLAB命令命令MLEvalString(“y=data(:,3)”)MLEvalString(“e=ones(length(data),1)”)MLEvalString(“A=e data(:,1:2)”)3.计算回归系数计算回归系数MLEvalString(“beta=Ay”)4.计算回归结果计算回归结果MLEvalString(“bfit=A*beta”)5.将原结果和回归结果相比较将原结果和回归结果相比较MLEvalString(“y,k=sort(y)”)MLEvalString(“fit

19、=fit(k)”)MLEvalString(“n=size(data,1)”)6.用用MATLAB中多项式进行拟合中多项式进行拟合MLEvalString(“p,S=polyfit(1:n,y,5)”)MLEvalString(“newfit=polyval(p,1:n,S)”)7.对拟合结果作图对拟合结果作图MLEvalString(plot(1:n,y,bo,1:n,fit,r:,1:n,newfit,g)MATLAB和和Excel数据连接数据连接Excel Link 的使用的使用MATLAB中自带中自带Excel文件介绍文件介绍用二叉树方法计算欧式看跌期权价格用二叉树方法计算欧式看跌期权

20、价格1.打开打开”sheet4”,数据,数据B4:B10名称是名称是bindata,分别存放股票价格、行权价、,分别存放股票价格、行权价、无风险利率、期权存续期(无风险利率、期权存续期(5/12)、时间离散步长()、时间离散步长(1/12)、股票标准差)、股票标准差以及是否是欧式(美式)期权,以及是否是欧式(美式)期权,B15开始存放二叉树各节点价格开始存放二叉树各节点价格asset_tree,B23开始存放现金流开始存放现金流value_tree2.激活激活D5单元,将单元,将Excel中中bindata传到传到MATLAB变量变量b中,激活中,激活D12单元,调单元,调用用MATLAB中计

21、算二叉树函数中计算二叉树函数binprice,其二叉树数据结果保存在变量其二叉树数据结果保存在变量p中,中,价格保存在变量价格保存在变量o中。激活中。激活D11、D12,分别保存在,分别保存在MATLAB变量变量asset_tree与与value_tree中,注意中,注意B15与与B23分别是分别是asset_tree与与value_tree的起点。的起点。MATLAB和和Excel数据连接数据连接Excel Link 的使用的使用简易方法将简易方法将Excel数据导入数据导入MATLAB1.在在Excel中建立一个数据文件中建立一个数据文件MATLAB和和Excel数据连接数据连接Excel

22、 Link 的使用的使用简易方法将简易方法将Excel数据导入数据导入MATLAB2.在在MATLAB文件目录浏览器下找到文件目录浏览器下找到magic文件,将鼠标移动到文件,将鼠标移动到magic文件上,文件上,右击,弹出菜单右击,弹出菜单MATLAB和和Excel数据连接数据连接Excel Link 的使用的使用简易方法将简易方法将Excel数据导入数据导入MATLAB3.单击数据输入选项。选择变量名。单击数据输入选项。选择变量名。MATLAB和和Excel数据连接数据连接Excel Link 的使用的使用将将Excel日期转化为日期转化为MATLAB日期日期函数函数x2mdate调用方法

23、调用方法MATLABDate=x2mdate(ExcelDateNumber,Convention)输入参数输入参数xcelDateNumberExcel日期日期Convention转化方式转化方式0(默认)(默认)起始日期为起始日期为1900年年1月月1日日1起始日期为起始日期为1904年年1月月1日日 qw=39083qw=39083 x2mdate(qw)ans=733043 datestr(ans)ans=01-Jan-2007MATLAB与财经网站数据连接与财经网站数据连接获得获得Yahoo网站数据网站数据 建立和建立和yahoo网站服务器连接网站服务器连接调用方式调用方式Conne

24、ct=yahooConnect=yahoo(URL,IPAdress,PortNumber)输入参数输入参数URLyahoo网站网址网站网址IPAdress代理服务器代理服务器IP地址地址PortNumber代理服务器端口代理服务器端口例子例子Connect=yahoo(http:/,111.222.33.444,5678)MATLAB与财经网站数据连接与财经网站数据连接获得获得Yahoo网站数据网站数据 获得获得Yahoo网站数据网站数据调调用方式用方式data=fetch(Connect,.)例子例子Connect=yahooClosePrice=fetch(Connect,ko,clos

25、e,Apr 6 00)ClosePrice=fetch(Connect,IBM,last)Price=fetch(Connect,000001.SZ)Price=fetch(Connect,601168.SS)MATLAB与财经网站数据连接与财经网站数据连接获得获得bloomberg网站数据网站数据 著名财经数据公司著名财经数据公司 连接函数连接函数bloomberg 调用方式调用方式方式方式1Connect=bloomberg默认端口(默认端口(8194)、默认网址)、默认网址方式方式2Connect=bloomberg(PortNumber,IPAddress)输入参数:机器端口、网址输入

26、参数:机器端口、网址输出参数:用端口建立和输出参数:用端口建立和bloomberg数据服务器的连接数据服务器的连接MATLAB与财经网站数据连接与财经网站数据连接获得获得bloomberg网站数据网站数据 接受数据函数接受数据函数fetch 调调用方式用方式data=fetch(Connect,)例子例子获获取取IBM股票股票1999年年11月月16日日时间时间序列序列c1=bloombergdata=fetch(c1,IBM US Equity,TIMESERIES,11/16/99)获获取取IBM股票股票历历史上的收史上的收盘盘价,价,时间时间从从1999年年7月月15日到日到8月月2日日

27、data=fetch(c1,IBM US Equity,HISTORY,.Last_Price,07/15/99,08/02/99)确定是否已确定是否已经连经连接接 x=isconnection(Connect)关关闭连闭连接接 close(Connect)MATLAB和财经网站和财经网站数据接口数据接口GUI命令命令dftoolMATLAB和财经网站和财经网站数据接口数据接口GUI命令命令dftoolMATLAB和和Word接口接口启动启动Notebook notebook-setup从从Word中启动中启动Notebook 方法方法1:打开:打开MATLABnotebookpc文件夹下文件

28、夹下M-book文件,直接进入编辑状态文件,直接进入编辑状态方法方法2:在:在Word菜单中选中菜单中选中“工具工具”菜单下的菜单下的“模模板和加载项板和加载项”菜单项,然后打开菜单项,然后打开“模板和加载项模板和加载项”对话框菜单,单击对话框菜单,单击“选用选用”按钮,在弹出的对话框按钮,在弹出的对话框中选中中选中M-book即可即可上机练习上机练习1.将中国石油将中国石油(601857)2008年年2月月15日至日至2008年年9月月26日的日收益率数据保存到日的日收益率数据保存到zgsy.txt文件中文件中.计算期间的最大跌幅计算期间的最大跌幅.2.计算中国石油计算中国石油(601857)2008年年2月月15日至日至2008年年9月月26日的日收益率均值、标准差及夏普比日的日收益率均值、标准差及夏普比率。把结果分别用率。把结果分别用TXT文件和文件和Excel文件保存。文件保存。上机练习上机练习3.将金牛股份(将金牛股份(000937)2005年年10月月14日至日至2006年年1月月10日的股价数据保存在日的股价数据保存在Excel中,然中,然后通过后通过Excllink将收盘价保存到将收盘价保存到MATLAB中。中。计算收益率的均值、方差和夏普比率,然后传计算收益率的均值、方差和夏普比率,然后传回回Excel中。中。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!