3.44k likes | 3.65k Views
金融模型、计算与软件实现. 教材: 《 金融数量方法 》 金融计算软件: Matlab6.5 主讲人:曹志广 博士 上海财经大学金融学院. 中国股市 (1990/12-2005/6). 投资中国股市 - 平均年回报 ( 投资期限为 1 个月 ). 投资中国股市 - 平均年回报 ( 投资期限为 3 个月 ). 投资中国股市 - 平均年回报 ( 投资期限为 1 年 ). 投资中国股市 - 平均年回报 ( 投资期限为 3 年 ). 投资中国股市 - 平均年回报 ( 投资期限为 5 年 ). 投资中国股市 - 平均年回报 ( 投资期限为 10 年 ).
E N D
金融模型、计算与软件实现 • 教材:《金融数量方法》 • 金融计算软件:Matlab6.5 主讲人:曹志广 博士 上海财经大学金融学院
下列2幅图中有一个是真实的股票收益,是哪一个呢?下列2幅图中有一个是真实的股票收益,是哪一个呢?
第一章 Matlab 简介 • MATLAB软件是由美国Mathworks公司推出的用于数值计算和图形处理的科学计算系统环境。MATLAB是英文MATrix LABoratory(短阵实验室)的缩写。它的第1版(DoS版本1.0)发行于1984年。 MATLAB集中了日常数学处理中的各种功能,包括高效的数值计算、矩阵运算、信号处理和图形生成等功能。在MATLAB环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。
与利用c语言或FoRTRAN语言作数值计算的程序设计相比,利用MATLAB可以节省大量的编程时间。在美国的一些大学里,MATLAB正在成为对数值线性代数以及其他一些高等应用数学课程进行辅助教学的有益工具。在工程技术界,MATLAB也被用来解决一些实际课题和数学模型问题。典型的应用包括数值计算、算法预设计与验证,以及一些特殊的短阵计算应用,如自动控制理论、统计、数字信号处理(时间序列分析)等。进入20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。 到九十年代初期,在国际上30几个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头,而Mathematica和Maple则分居符号计算软件的前两名。
MATLAB 语言的优势 • 编程简单,类似于其他语言,如C • 集成度更高,扩展性更好 • 数学问题数值解能力强大 • 由Maple内核构成的符号运算工具箱可以继承Maple所有解析解的求解能力 • 在数学、工程领域各种“工具箱” • 强大的系统仿真能力,Simulink建模 • 在控制界是国际首选的计算机语言
金融建模为什么要学习计算机数学语言? • 金融建模离不开数学和统计 • 金融建模往往要处理大量的数据 • 金融建模往往要进行复杂的计算
先考虑下面一些例子 高等数学问题:已知函数,如何 求导及高阶导数? 思路:① 由分式求导公式,得出 ② 逐次求导则可以得出 问题:求导过程很繁杂,容易出错 使用Matlab: syms x; y=sin(x)/(x^2+4*x+3); diff(y,4) pretty(ans)
计算机求解结果 不是最简
代数方程求根 • 具体实例 • a=[1,9,135/4,135/2,1215/16,729/16,729/64]; • roots(a) • ans = -1.5056 + 0.0032i • -1.5056 - 0.0032i • -1.5000 + 0.0065i • -1.5000 - 0.0065i • -1.4944 + 0.0032i -1.4944 - 0.0032i
MATLAB 语言程序设计基础 • MATLAB 语言的变量名规则 • 由一个字母引导,后面可以为其他字符 • 区分大小写 Abc不等于ABc 不要超过31个字符 不要包含空格,标点等但可用连接符_ • 有效 MYvar12, MY_Var12和 MyVar12_ • 错误的变量名 12MyVar, _MyVar12 • MATLAB 的保留常量 比如eps, i, j, pi, NaN, Inf, i=sqrt(-1)
符号型变量数据类型 • 符号型,sym(A), 常用于公式推导 • 变量声明 • 采用变精度函数求值 求出 p的 300 位有效数字
MATLAB 的基本语句结构 • 直接赋值语句 表示矩阵
试输入复数矩阵 需要避免的语句
函数调用语句 • 冒号表达式
子矩阵提取 • 基本语句格式 • 子矩阵提取 • 提取 A矩阵全部奇数行,所有列 • 提取 A矩阵 3,2,1 行、2,3,4 列构成子矩阵 • 将 A矩阵左右翻转
基本数学运算 • 代数运算 • 逻辑运算 • 比较运算 • 解析结果的化简与变换 • 基本数论运算
矩阵的代数运算 • 矩阵表示 • 矩阵转置 • 数学表示 • MATLAB 求解B=A’
矩阵加减法 • 注意其一为标量的情形 • 矩阵乘法 • 数学表示 • MATLAB 表示 • 注意相容性
矩阵除法 • 矩阵左除:AX = B,求 X • MATLAB 求解:X=A\B • 最小二乘解 • 矩阵右除:XA = B,求 X • MATLAB求解:X=B/A • 最小二乘解
矩阵翻转 • 左右翻转 • 上下翻转 • 旋转 90o • 如何旋转180o? • 矩阵乘方 • A为方阵,求 • MATLAB 实现:
点运算 • 矩阵对应元素的直接运算 • 例如
矩阵的逻辑运算 • 逻辑运算(相应元素间的运算) • 与运算 • 或运算 • 非运算 • 异或运算
矩阵的比较运算 • 各种允许的比较关系 >, >=, <, <=, ==,~=, find(), all(), any() • 实例
变量替换 • syms x y • c=x^2+y • subs(c,[x,y],[2,3]) • ans = 7