分类
期权策略

期权定价问题的有限元Richardson外推法

数值积分常用方法

(1) 式的几何意义即为:底为 b-a 而高为 f(\xi) 的矩形的面积恰等于所求曲边梯形的面积 I 。因此,要想求出 (1) 式左端积分,我们只需要知道三个值: a,b,f(\xi) 即可,这里 a,b 是显然的,问题在于 \xi 的具体位置一般是不清楚的,从而 f(\xi) 未知。我们暂且将 f(\xi) 称为区间 [a,期权定价问题的有限元Richardson外推法 期权定价问题的有限元Richardson外推法 b] 上的平均高度,我们的目标就是寻求一种求出平均高度 f(\xi) 的算法,这样我们的问题也就解决了。

首先我们想到的是用区间两端点的“高度” f(a) 与 f(b) 期权定价问题的有限元Richardson外推法 的算术平均值作为平均高度 f(\xi) 的近似值,从而导出下述求积公式

\int_a^b f(x)\mathrmx\approx\frac[f(a)+f(b)] \\ (2)

(2) 式即为我们我们熟知的梯形公式。写出MATLAB函数为

而若用区间中点 \frac 的“高度” f(\frac) 近似取代平均高度 f(\xi) ,则可导出中矩形公式(简称矩形公式

总结:更一般地,我们可以在区间 [a,b] 上适当选取某些节点 x_k ,然后用 f(x_k) 的加权平均得到平均高度 f(\xi) 的近似值,这样构造出来的求积公式具有下列通式

其中 x_k 称为求积节点, A_k 称为求积系数,也称作伴随节点 x_k 的

这种数值积分方法通常称为机械求积,其优势在于将积分求值问题归结为被积函数值的计算,很适合在计算机上使用。

前面提到的梯形公式 (2) 和矩形公式 (3) 均具有一次代数精度。

求积公式的收敛性与稳定性

在求积公式 (4) 中,若 \lim_\sum\limits_^A_kf(x_k)=\int_a^bf(x)\mathrmx,\\ (5) 其中 h=\max\limits_<1\leqslant i\leqslant n>\\> ,则称求积公式 (4) 是收敛的。
对任给 \varepsilon>0 ,若 \exists \delta>0 ,只要 |f(x_k)-\tilde_k|\leqslant \delta(k=0,1,2,\cdots,n) 就有 |I_n(f)-I_n(\tilde)|=\left|\sum\limits_^A_k[f(x_k)-\tilde_k]\right|\leqslant \varepsilon,\\ (6) 成立,其中 \tilde_k 为计算 f(x_k) 时产生误差 \delta_k 后实际得到的值,即 f(x_k)=\tilde_k+\delta_k ,则称求积公式 (4) 是稳定的。

定理 \mathbf 若求积公式 (4) 期权定价问题的有限元Richardson外推法 中系数 A_k>0(k=0,1,\cdots,n) ,则此求积公式是稳定的。

牛顿-柯特斯(Newton-Cotes)公式

将积分区间 [a,b] 划分为 n 等份,此时步长为 h=\frac ,选取等距节点 x_k=a+kh 构造出的插值型求积公式

称为牛顿-柯特斯(Newton-Cotes)公式,其中 C_k^ 称为柯特斯系数。可以通过下式确定

  • 当 n=1 时, C_0^=C_1^=\frac12, 这时的求积公式便是之前的梯形公式 (2) 。
  • 当 n=2 时, C_0^=\frac14\int_0^2(t-1)(t-2)\mathrmt=\frac16,\\ C_1^=-\frac12\int_0^2t(t-2)\mathrmt=\frac46,\\ C_2^=\frac14\int_0^2t(t-1)\mathrmt=\frac16. \\ (9) 此时对应的求积公式便是辛普森(Simpson)公式: S=\frac\left[f(a)+4f\left(\frac\right)+f(b)\right]. \\ (10) 写成MATLAB函数为
  • 当 n=4 时的牛顿-柯特斯公式则特别称为柯特斯公式,其形式为 期权定价问题的有限元Richardson外推法 C=\frac[7f(x_0)+32f(x_1)+12f(x_2)+32f(x_3)+7f(x_4)]. \\ (11) 这里 h=\frac,x_k=a+kh(k=0,1,2,3,4) 。

复合求积公式

由于牛顿-柯特斯公式在 n\geqslant 8 时不具有稳定性,故不可能再通过提高阶的方法来提高求积精度。复合求积法便是通过把积分区间分成若干个子区间(通常是等分),再在每个子区间上使用低阶求积公式的方法来提高精度的。

其实细心的同学可以发现,前面我所展示的MATLAB代码使用的便是对每个求积公式使用复合法完成的。常用的有复合梯形公式复合辛普森公式

龙贝格(Romberg)求积公式

其中 T_ 表示在 T_n 基础上步长 h 减半后的积分值。

定理 \mathbf 设 f(x)\in C^\infty[a,b] ,则有

T(h)=I+\alpha_1h^2+\alpha_2h^4+\cdots+\alpha_l h^+\cdots, \\ (12) 其中 T(h)=T_n ,系数 \alpha_l(l=1,2 ,\cdots) 与 h 无关。

(12) 式可以看出, T(h)\approx I 是 O(h^2) 阶,若用 \frac h2 代替 期权定价问题的有限元Richardson外推法 h ,有
T(\frac h2)=I+\alpha_1\frac4+\alpha_2\frac+\cdots+\alpha_l\left(\frac h2\right)^+\cdots, \\ (13)

再用 4 乘 (13) 式再减去 (12) 式后再除以 3 得

这里 \beta_1,\beta_2,\cdots 是与 h 无关的系数。

从 (14) 式可看出,用近似积分值 I ,其误差阶为 O(h^4) ,显然误差阶是提高了。类似这种将计算 I 的近似值的误差阶由 O(h^2) 提高到 O(h^4) 的方法称为外推算法,也称为理查德森(Richardson)外推算法

龙贝格(Romberg)算法

此方法常称为理查德森外推加速方法

设用 T_0^ 表示二分 k 次后求得的梯形值,且以 T_m^ 表示序列 \ 的 m 次加速值,则由递推公式 (15) 可得

上次则称为龙贝格求积算法,计算过程如下:

  1. 取 k=0,h=b-a ,求 期权定价问题的有限元Richardson外推法 T_0^=\frac h2[f(a)+f(b)] 。令 1\rightarrow k ( k 记区间 [a,b] 的二分次数)。
  2. 求梯形值 T_0\left(\frac\right) ,即按递推公式 (11) 计算 T_0^ 。
  3. 求加速值。
  4. 若 |T_k^-T_|<\varepsilon (预先给定的精度),则终止计算,并且 T_k^\approx I ;否则令 k+1\rightarrow k 转 2. 继续计算。

自适应积分方法

复合求积方法通常适用于被积函数变化不太大的积分,如果在求积区间中被积函数变化很大,有的部分函数值变化剧烈,另一部分却变化平缓。这时如果统一将区间等分再用复合求积公式计算积分将会导致计算量很大,我们想实现的是在满足误差要求的前提下,对变化剧烈部分将区间细分,而平缓部分则可使用大步长,也即针对被积函数在区间上不同情形采用不同的步长,使得再满足精度前提下积分计算工作量尽可能小。其算法技巧是在不同区间上预测被积函数变化的剧烈程度确定相应步长。这就是自适应积分方法的基本思想。

理查德森外推法 -->

> > This page is based on a Wikipedia article written by contributors (read/edit).
Text 期权定价问题的有限元Richardson外推法 期权定价问题的有限元Richardson外推法 is available under the CC BY-SA 4.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.

Tell your friends about Wikiwand!

Suggest as cover photo

Would you like to suggest this photo as the cover photo for this article?

Thank you for helping!

Your input will 期权定价问题的有限元Richardson外推法 期权定价问题的有限元Richardson外推法 affect cover photo selection, along with input from other users.

Thanks for reporting this video!

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order 期权定价问题的有限元Richardson外推法 to provide you with the best reading experience.
Please download 期权定价问题的有限元Richardson外推法 and use one of the following browsers:

An extension you use may be preventing Wikiwand articles from loading properly.

期权定价问题的有限元Richardson外推法
If you're using HTTPS Everywhere or you're unable to access any article on Wikiwand, please consider switching to HTTPS (https://www.wikiwand.com).

An extension you use may be preventing Wikiwand articles from loading properly.

If you are using an Ad-Blocker, it might have mistakenly blocked our content. You will need to temporarily disable your Ad-blocker to view this page.

Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install

外推原理和Romberg求积法.ppt

第三章 数值积分与数值微分 3.3 外推原理与Romberg求积法 3.3.2 Romberg 求积法 3.3.1 外推原理 3.3 外推原理与Romberg求积法 学习目标: 理解外推原理,会运用Romberg求积法。 在科学与工程计算中,很多算法与步长h有关,特别是数值积分、数值微分和微分方程数值解的问题。对于这些算法,我们可以通过外推技巧提高计算精度。先看一个计算π的近似值的例子,由函数sinx的Taylor展开式有 若记 则有 3.3.1 外推原理 3.3 外推原理与Romberg求积法 由此构造新的表达式: 可见,计算π的近似值的算法F(h)的截断误差是 ,而算法 的截断误差是 。外推一次,精度提高了。这就是外推法的基本 思想。 若重复以上过程,不断外推,即不断折半步长h,得到计算π的 算法序列 。随着k的增加,算法的截断误差越来越高,计算精 度越来越好。 可将外推思想推广到一般情况。设F(h) 是计算F(0)的一种近似算式, 带截断误差的表示式为 其中, 与p无关。 如果我们用h和h/q(q>1)两种步长分别计算F(h)和(h/q),则有 消去截断误差的主项,得新的算法 我们称这个过程为Richardson外推法。这里, 逼近F(0)的截断误 差是 。 只要知道 F(h)的更加完整的关于h幕的展开式,而无需知道展 开式中各个系数的具体数值,就能重复使用Richardson 外推法,直 到截断误差达到容许误差。用归纳法可以证明下面更一般的定理。 定理 3.4 假设F(h)逼近F(期权定价问题的有限元Richardson外推法 0)的余项为 其中, 是与h 无关的非零常数, 则由 (3.3.1) 定义的序列 有 其中 与h无关,q>1。 Richardon外推法应用非常广泛和有效,下面应用于数值积分. 3.3.2 Romberg 求积法 先给出Romberg求积法的基础,即对于计算积分I=I[f]的复化梯形公式T(h),其余项为 (3.3.2) 其中, 为Bernoulli常数 。 在外推算法(3.3.1)中,取 由余项(3.3.2)可得著名的 Romberg求积方法: 其中, 表示将积分区间[a,b]作 等分相应的的复化梯形公式, 求和项包括了每次等份后新增加点上的函数值 。 表示第m次外 推所得的计算值。 可以验证,m=1时,所得外推值就是复化Simpson 公式的计算值。对给定的精确标准ε,我们可由 作为计算终止的标准。表3-3给出了计算过程,i表示第i步计算。

蒙特卡洛方法

BUG从入门到精通 于 2018-02-01 21:30:38 发布 36757 收藏 60

蒙特卡洛方法(Monte Carlo method,也有翻译成“蒙特卡罗方法”)是以 期权定价问题的有限元Richardson外推法 概率 和 统计 的理论、方法为基础的一种 数值计算方法 ,将所求解的问题同一定的 概率模型 相联系,用计算机实现 统计模拟 或 抽样 ,以获得问题的 近似解 ,故又称 随机抽样法 或 统计试验法 。上述就是蒙特卡洛方法的基本概念 , 比较抽象, 下面结合实际工作中的理解,谈一谈对蒙特卡洛方法的一些认识。

(1)首先,蒙特卡洛不是个人名,而是个地名,说明该方法与概率有着密切的关联。

(2)蒙特卡洛没有什么高深的理论,它只是一种方法或者说策略。

蒙特卡洛方法并没有什么高深的理论支撑,如果一定要说有理论也就只有概率论或统计学中的大数定律了。蒙特卡洛的 基本 原理 简单描述 是 先 大量 模拟 , 然后 计算一个事件发生的次数 , 再通过这个发生次数除以总模拟次数,得到想要的结果。比如投3个骰子,计算3个骰子同时是6的概率,可以模拟投N次(随机样本数),统计同时是6出现的次数C,然后C除以N即是计算结果 。

(3)蒙特卡洛方法可以应用在很多场合,但求的是近似解,在模拟样本数越大的情况下,越接近与真实值,但样本数增加会带来计算量的大幅上升。

蒙特卡洛方法不仅仅是算概率哦,再 看 一个稍复杂点的 实例:求函数y=x 2 在[0, 2 ]区间的积分,即求如下图所示的红色区域的面积。 当然直接用数学中的定积分公式算更简单精确,这里主要是举例说明下蒙特卡洛方法的使用过程。

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace( 0 , 2 , 1000 )
y = x ** 2
plt.plot(x , y)
plt.fill_between(x , y , where =(y > 0 ) , color = 'red' , alpha = 0.5 )
plt.show()

N N = 1000
points = [[xy[ 0 ] * 2 , xy[ 1 ] * 4 ] for xy in np.random.rand(N , 2 )]
plt.scatter([x[ 0 ] for x in points] , [x[ 1 ] for x in points] , s = 5 , c =np.random.rand(N) , alpha = 0.5 )

count = 0 期权定价问题的有限元Richardson外推法
for xy in points:
if xy[ 1 ] < xy[ 0 ] ** 2 :
count += 1
print (( count / N) * ( 2 * 4 ))

这与精确值( 期权定价问题的有限元Richardson外推法 2.666666 )的差距只有 6 . 2 %,而对于更大规模的模拟, N=100万 , 输出结果为: 2.66528 ,这与精确值的差距只有0. 051975 %( 万 分之 五 )。 可以看出,蒙特卡洛方法有一定的误差,误差的大小与模拟的样本大小直接相关,模拟样本越大,误差越小,但计算量也会 大幅 上升。

期权定价问题的有限元Richardson外推法 ( 4 )对于简单问题来说,蒙特卡洛是个“笨”办法。但对许多问题来说,它往往是个有效,有时甚至是唯一可行的方法。

print (scipy.integrate.quad( lambda x: x ** 2 , 0 , 2 )[ 0 ])

iimport matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import numpy as np
circle_target = mpatches.Circle([ 0 , 0 ] , radius = 5 , edgecolor = 'r' , fill = False )
plt.xlim(- 80 , 80 )
plt.ylim(- 80 , 80 )
plt.axes().add_patch(circle_target)

N = 1000
u , sigma = 0 , 20
points = sigma * np.random.randn( N , 2 ) + 期权定价问题的有限元Richardson外推法 u

plt.scatter([x[ 0 ] for x in points] , [x[ 1 ] for x in points] , c =np.random.rand(N) , alpha = 0.5 )

print ( len ([xy for xy in points if xy[ 0 ] ** 2 + xy[ 1 ] ** 2 < ( 8 - 5 ) ** 2 ]) / N)

( 5 )蒙特卡洛方法本身不是优化方法,与遗传算法、粒子群等优化算法有着本质的区别。

蒙特卡洛方法与遗传算法、粒子群算法等智能优化算法有相似之处,比如都属于随机近似方法,都不能保证得到最优解等,但它们也有着本质的差别。 一是层次不一样 ,蒙特卡洛只能称之为方法,遗传算法等则属于仿生智能算法,比蒙特卡洛方法要复杂。 二是应用领域不同 ,蒙特卡洛是一种模拟统计方法,如果问题可以描述成某种统计量的形式,那么就可以用蒙特卡洛方法来解决;遗传算法等则适用于大规模的组合优化问题(选址问题、排班问题、管理调度、路线优化)等,以及复杂函数求最值、参数优化等。