跳转到内容

TI-Basic Z80 编程/数学金融编程

来自维基教科书,开放的书籍,为开放的世界

TI-BASIC 是一种简单的编程语言,用于德州仪器图形计算器。本模块向您展示如何对一些标准的财务计算进行编程

TI-BASIC 程序

[编辑 | 编辑源代码]

伊藤引理

[编辑 | 编辑源代码]

让我们开始通过伊藤的定义来定义一个随机过程

:defsto(t,x)
:Func
:{t,x}
:EndFunc

所以对于我们的 TI 计算器,由以下公式正式定义的扩散过程:

由两组定义

{ f(S,t), g(S,t) }

对于指数布朗运动,我们定义

defsto(m*s, sigma*s) → ds(s)

现在我们想要对 的函数使用伊藤引理

:dsto(f,x,t,ds)
:Func
:{d(f,t)+ds[1]*d(f,x)+ds[2]^2*d(d(f,x),x)/2 , ds[2]*d(f,x)}
:EndFunc

这现在可以用来将伊藤引理应用于

dsto(ln(S),S,t,ds(S))
>> { m - sigma^2/2 , sigma }

这告诉我们

布莱克-斯科尔斯方程

[编辑 | 编辑源代码]

现在我们可以尝试证明布莱克-斯科尔斯方程。

定义一个包含期权和 的投资组合

V(S,t) - Delta * S → Pi

并使用伊藤引理来获得

dsto(Pi, S, t, ds(S)) → dPi

我们现在想要通过选择 的适当值来使 的随机部分为零

solve( dPi[2]=0, Delta)
>> Delta = d(V(S,t), S) or sigma S = 0

我们现在知道 的正确值是

另一方面,我们有

这导致我们得到以下方程

首先,我们需要将 的值代入 中,然后与

solve( dPi[2]=0, Delta) | sigma > 0 and S > 9 → sol
>> Delta = d(V(S,t), S)
dPi | sol → dPi
>> {sigma^2 d^2(V(S,t), S^2) S^2 /2 + d(V(S,t), t) , 0 }
dPi = defsto( r(V(S,t) - Delta S) ) | sol → BS
>> { BS_equation , true }

现在我们得到了变量 BS_equation[1] 中的 **Black-Scholes 微分方程**!

华夏公益教科书