下载此文档

蒙特卡罗算法与matlab(精品教程).doc


文档分类:IT计算机 | 页数:约37页 举报非法文档有奖
1/37
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/37 下载此文档
文档列表 文档介绍
第一章: Monte Carlo 方法概述讲课人: Xaero Chang | 课程主页: /notes/intro2mc 本章主要概述 Monte Carlo 的一些基础知识,另外包括一个最简单的用 Monte Carl o 方法计算数值积分的例子。一、 Monte Carlo 历史渊源 Monte Carlo 方法的实质是通过大量随机试验,利用概率论解决问题的一种数值方法, 基本思想是基于概率和体积间的相似性。它和 Simulation 有细微区别。单独的 Simulation 只是模拟一些随机的运动,其结果是不确定的; Monte Carlo 在计算的中间过程中出现的数是随机的,但是它要解决的问题的结果却是确定的。历史上有记载的 Monte Carlo 试验始于十八世纪末期(约 1777 年), 当时布丰( Buffon ) 为了计算圆周率, 设计了一个“投针试验”。( 后文会给出一个更加简单的计算圆周率的例子)。虽然方法已经存在了 200 多年,此方法命名为 Monte Carlo 则是在二十世纪四十年, 美国***计划的一个子项目需要使用 Monte Carl o 方法模拟中子对某种特殊材料的穿透作用。出于保密缘故, 每个项目都要一个代号, 传闻命名代号时, 项目负责人之一 von Neuman n 灵犀一点选择摩洛哥著名赌城蒙特卡洛作为该项目名称, 自此这种方法也就被命名为 Monte Carlo 方法广为流传。十一、 Monte Carlo 方法适用用途(一)数值积分计算一个定积分,如,如果我们能够得到 f(x) 的原函数 F(x) ,那么直接由表达式: F(x1)-F(x0) 可以得到该定积分的值。但是, 很多情况下, 由于 f(x) 太复杂, 我们无法计算得到原函数 F(x) 的显示解, 这时我们就只能用数值积分的办法。如下是一个简单的数值积分的例子。数值积分简单示例如图, 数值积分的基本原理是在自变量 x 的区间上取多个离散的点, 用单个点的值来代替该小段上函数 f(x) 值。常规的数值积分方法是在分段之后,将所有的柱子(粉红色方块)的面积全部加起来, 用这个面积来近似函数 f(x) ( 蓝色曲线)与x 轴围成的面积。这样做当然是不精确的, 但是随着分段数量增加,误差将减小,近似面积将逐渐逼近真实的面积。 Monte Carlo 数值积分方法和上述类似。差别在于, Monte Carlo 方法中,我们不需要将所有方柱的面积相加, 而只需要随机地抽取一些函数值, 将他们的面积累加后计算平均值就够了。通过相关数学知识可以证明,随着抽取点增加,近似面积也将逼近真实面积。在金融产品定价中, 我们接触到的大多数求基于某个随机变量的函数的期望值。考虑一个欧式期权, 假定我们已经知道在期权行权日的股票服从某种分布( 理论模型中一般是正态分布),那么用期权收益在这种分布上做积分求期望即可。(五)随机最优化 Monte Carlo 在随机最优化中的应用包括:模拟退火(Simulated Annealing) 、进化策略(Evolution strategy) 等等。一个最简单的例子是,已知某函数,我们要求此函数的最大值,那么我们可以不断地在该函数定义域上随机取点,然后用得到的最大的点作为此函数的最大值。这个例子实质也是随机数值积分, 它等价于求此函数的无穷阶范数( -Norm ) 在定义域上的积分。由于在金融产品定价中, 这部分内容用的相对较不常见, 所以此课程就不介绍随机最优化方法了。十二、 Monte Carlo 形式与一般步骤(一)积分形式做 Monte Carlo 时,求解积分的一般形式是: X 为自变量, 它应该是随机的, 定义域为(x0, x1) , f(x) 为被积函数,ψ(x) 是x 的概率密度。在计算欧式期权例子中,x 为期权到期日股票价格, 由于我们计算期权价格的时候该期权还没有到期,所以此时 x 是不确定的(是一随机变量),我们按照相应的理论,假设 x 的概率密度为ψ(x) 、最高可能股价为 x1( 可以是正无穷)、最低可能股价为 x0( 可以是 0), 另外,期权收益是到期日股票价格 x 和期权行权价格的函数,我们用 f(x) 来表示期权收益。(二)一般步骤我将 Monte Carlo 分为三加一个步骤: 1. 依据概率分布ψ(x) 不断生成随机数 x, 并计算 f(x) 由于随机数性质, 每次生成的 x 的值都是不确定的, 为区分起见, 我们可以给生成的 x 赋予下标。如 x i 表示生成的第 i个x 。生成了多少个 x ,就可以计算出多少个 f(x) 的值 2. 将这些 f(x) 的值累加,并求平均值例如我们共生成了 N个x ,这个步骤用数学式子表达就是 3. 到达停止条件后退出常用的停止条件有两

蒙特卡罗算法与matlab(精品教程) 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数37
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xxj16588
  • 文件大小824 KB
  • 时间2016-08-16