第1章-MATLAB数值计算及金融运用_第1页
第1章-MATLAB数值计算及金融运用_第2页
第1章-MATLAB数值计算及金融运用_第3页
第1章-MATLAB数值计算及金融运用_第4页
第1章-MATLAB数值计算及金融运用_第5页
已阅读5页,还剩36页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB金融计算MATLAB金融界主要用户金融服务银行中央银行资产管理保险能源贸易金融分析与建模流程图数据获取文件数据库网上数据研究和量化数据分析与可视化金融建模应用开发发布报告应用产品金融计算工具箱数据获取文件数据库网上数据研究和量化数据分析与可视化金融建模应用开发发布报告应用产品FixedincomeFinancialDerivativesEconometricsSpreadsheetLinkEXDatabaseDatafeedFinancialStatisticsOptimizationBuilderExBuilderNEBuilderJAMATLABCompilerReportGeneratorMATLABParallelComputingMATLABDistributedComputingServer创立时间序列变量时间序列数组的创立和读取利用fints函数创立日期型数组price=[1:6]’dates=[today:today+5]’Tsobjkt=fints(dates,price)金融时间序列文件读取

Tsobjkt=ascii2fts(’at.dat’)16-Oct-2008 117-Oct-2008 218-Oct-2008 319-Oct-2008 420-Oct-2008 521-Oct-2008 6时间序列数组运算查询星期[n,s]=weekday(’22-Jan-2007’)查询月份[n,s]=month(D)将字符型日期以向量形式输出V=datevec(N)计算日期间隔daysact(’27-feb-2008’,’08-aug-2008’)时间序列数据合并newfts=merge(fts1,fts2,…,Method,RefObj)特定日期抽取函数todaily,toweekly,tomonthly,toquarterly,tosemi,toannual时间序列数组运算以招商银行(600036)为例,说明如何将分析家软件数据导入到MATLAB中,然后进行相关操作.可从分析家网站()下载步骤1:打开分析家软件,输入代码600036,出现招商银行股价图时间序列数组运算步骤2:单击鼠标右键,在弹出的快捷菜单中选择“复制数据”命令,弹出一个提示框时间序列数组运算步骤3:打开Excel,将数据粘贴到Excel文件中时间序列数组运算步骤4:由于日期型格式是yyyy-mm-dd,不符合MATLAB默认格式,单击“A”列,单击鼠标右键,选择“设置单元格格式”菜单项,出现对话框时间序列数组运算步骤5:对日期型数据进行修改,选择“14-Mar-01”的格式,单击“确定”按钮,日期显示格式发生变化时间序列数组运算步骤6:拖动鼠标把所要复制的内容确定下来,单击鼠标右键,选择“复制”菜单项,打开Windows记事本,把复制的内容粘贴到记事本中,注意把汉字译成英文,以便MATLAB识别时间序列数组运算步骤7:将数据保存到MATLAB7/work目录下的at.txt文件步骤8:用ascii2fts函数将at.txt中的数据读入MATLAB中,命令如下:zhaohang=ascii2fts(‘at.txt’,2,2)时间序列数组运算时间序列数据转化为其他类型数据时间序列数据保存为文本文件stat=fts2ascii(filename,tsobj,exttext)filename——新文件名tsobj——需要转化的fints型格式数据exttext——不需要的描述项的行数,也可以不输入时间序列数据转化为矩阵数据tsmat=fts2mat(tsobj,datesflag)tsobj——需要转化的fints型格式数据datesflag——0(默认值)表示不输出日期到矩阵中,1表示日期也转换时间序列数组运算fints型数据求最大值、最小值、均值、标准差及排序max,min,mean,std,sortfts实现时间序列的转换newfts=convertto(oldfts,newfreq)oldfts——需要转换的数据newfreq——转换的目标,具体如下:’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将价格序列转化为收益率序列price2ret将收益率序列转化为价格序列ret2price时间序列数组运算处理时间序列中的缺失数据newfts=fillts(oldfts,method)method:’linear’或’le’——线性插值法’cubic’或’c’——三次插值法’spline’或’s’——样条法’nearest’或’n’——最近法’pchip’或’p’——逐段光滑的三次Hemite多项式法MATLAB和Excel数据连接打开Excel软件,单击“工具”菜单,选择“加载宏”菜单项,弹出“加载宏”对话框。在“加载宏”对话框中,单击“浏览”按钮,在MATLAB/toolbox/exlink文件夹下选中Excllink文件,单击“确定”按钮。重新回到Excel中“加载宏”对话框,在“ExcelLink2.2forusewithMATLAB”选项前打钩加载ExcelLinkMATLAB和Excel数据连接启动MATLAB将变量输入MATLAB把MATLAB中变量输入Excel中执行MATLAB命令MATLAB和Excel数据连接MATLAB自动启动和Excel连接设置鼠标在桌面MATLAB图标上右击,弹出“属性”快捷菜单,在对话框“目标”文本框的“Matlab\bin\win32\MATLAB.exe”后面加上“/automation”MATLAB和Excel数据连接ExcelLink的使用连接管理函数函数作用函数作用MATLABinit初始化ExcelLink,启动MATLABMLClose终止MATLABMLAutoStart自动启动MATLABMLOpen启动MATLABMATLAB和Excel数据连接ExcelLink的使用数据管理函数函数作用函数作用MATLABfcn对于给定的Excel数据运行MATLAB命令MLAppendMatrix向MATLAB工作区添加Excel数据表MATLABsub对于给定的Excel数据运行MATLAB命令,并制定输出位置MLPutMatrix用Excel数据表创建或覆盖MATLAB数据MLEDeleteMatrix删除MATLAB矩阵MLPutVar用Excel数据表VBA创建或覆盖MATLAB数据MLEvalString执行MATLAB命令MLGetVar向Excel数据表VBA写MATLAB数据内容MLGetMatrix向Excel数据表写入MATLAB数据MATLAB和Excel数据连接ExcelLink的使用直接把数据输入到MATLAB中把Excel中盐田港(000088)从2008年8月1日到9月30日数据录入MATLAB中,保存变量名为ytg_000088Excel中盐田港数据分别为日期、收盘价和成交量单击“startmatlab”按钮启动MATLABMATLAB和Excel数据连接ExcelLink的使用直接把数据输入到MATLAB中3.单击“putmatrix”按钮弹出一个菜单,根据菜单提示将Excel中数据用鼠标选定,传输到MATLAB中变量名为ytg_000088,然后单击“确定”按钮MATLAB和Excel数据连接ExcelLink的使用直接把数据输入到MATLAB中MATLAB和Excel数据连接ExcelLink的使用MATLAB中自带Excel文件介绍打开MATLAB的toolbox中exlink目录下的ExliSamp.xls文件MATLAB和Excel数据连接ExcelLink的使用MATLAB中自带Excel文件介绍打开sheet1,将Excel中DATA数据传给MATLAB工作区中变量data(存储了3个变量25个观察值)MLPutMatrix(”data”,DATA)在Excel中执行MATLAB命令MLEvalString(“y=data(:,3)”)MLEvalString(“e=ones(length(data),1)”)MLEvalString(“A=[edata(:,1:2)]”)计算回归系数MLEvalString(“beta=A\y”)计算回归结果MLEvalString(“bfit=A*beta”)将原结果和回归结果相比较MLEvalString(“[y,k]=sort(y)”)MLEvalString(“fit=fit(k)”)MLEvalString(“n=size(data,1)”)用MATLAB中多项式进行拟合MLEvalString(“[p,S]=polyfit(1:n,y’,5)”)MLEvalString(“newfit=polyval(p,1:n,S)”)对拟合结果作图MLEvalString("plot(1:n,y,'bo',1:n,fit,'r:',1:n,newfit,'g')MATLAB和Excel数据连接ExcelLink的使用MATLAB中自带Excel文件介绍用二叉树方法计算欧式看跌期权价格打开”sheet4”,数据B4:B10名称是bindata,分别存放股票价格、行权价、无风险利率、期权存续期(5/12)、时间离散步长(1/12)、股票标准差以及是否是欧式(美式)期权,B15开始存放二叉树各节点价格asset_tree,B23开始存放现金流value_tree激活D5单元,将Excel中bindata传到MATLAB变量b中,激活D12单元,调用MATLAB中计算二叉树函数binprice,其二叉树数据结果保存在变量p中,价格保存在变量o中。激活D11、D12,分别保存在MATLAB变量asset_tree与value_tree中,注意B15与B23分别是asset_tree与value_tree的起点。MATLAB和Excel数据连接ExcelLink的使用简易方法将Excel数据导入MATLAB在Excel中建立一个数据文件MATLAB和Excel数据连接ExcelLink的使用简易方法将Excel数据导入MATLAB在MATLAB文件目录浏览器下找到magic文件,将鼠标移动到magic文件上,右击,弹出菜单MATLAB和Excel数据连接ExcelLink的使用简易方法将Excel数据导入MATLAB单击数据输入选项。选择变量名。MATLAB和Excel数据连接ExcelLink的使用将Excel日期转化为MATLAB日期函数——x2mdate调用方法MATLABDate=x2mdate(ExcelDateNumber,Convention)输入参数xcelDateNumber——Excel日期Convention——转化方式0(默认)——起始日期为1900年1月1日1——起始日期为1904年1月1日>>qw=39083qw=39083>>x2mdate(qw)ans=733043MATLAB与财经网站数据连接获得Yahoo网站数据

建立和yahoo网站服务器连接调用方式Connect=yahooConnect=yahoo(‘URL’,’IPAdress’,PortNumber)输入参数URL——yahoo网站网址IPAdress——代理服务器IP地址PortNumber——代理服务器端口例子Connect=yahoo(‘’,’44’,5678)MATLAB与财经网站数据连接获得Yahoo网站数据

获得Yahoo网站数据调用方式data=fetch(Connect,...)例子Connect=yahooClosePrice=fetch(Connect,’ko’,’close’,’Apr600’)ClosePrice=fetch(Connect,’IBM’,’last’)Price=fetch(Connect,’000001.SZ’)Price=fetch(Connect,’601168.SS’)MATLAB与财经网站数据连接获得bloomberg网站数据

著名财经数据公司连接函数——bloomberg调用方式方式1——Connect=bloomberg默认端口(8194)、默认网址方式2——Connect=bloomberg(PortNumber,IPAddress)输入参数:机器端口、网址输出参数:用端口建立和bloomberg数据服务器的连接MATLAB与财经网站数据连接获得bloomberg网站数据

接受数据函数——fetch调用方式data=fetch(Connect,…)例子获取IBM股票1999年11月16日时间序列c1=bloombergdat

温馨提示

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

评论

0/150

提交评论