TI-Basic Z80 Programming/Mathematical Finance Programming
TI-BASIC is a simple programming language used on Texas Instruments graphing calculators. This module shows you how to program some standard financial calculations:
TI-BASIC programs
[edit | edit source]Ito's lemma
[edit | edit source]Let's begin defining a stochastic process through its Ito's definition:
:defsto(t,x) :Func :{t,x} :EndFunc
So for our TI-calculator, a diffusion process formally defined by:
is defined by a set of two terms:
{ f(S,t), g(S,t) }
For an exponential brownian motion, we define:
defsto(m*s, sigma*s) → ds(s)
Now we want to use Ito's lemma on functions of and :
: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
This can now be used to apply Ito's lemma to :
dsto(ln(S),S,t,ds(S)) >> { m - sigma^2/2 , sigma }
this tell us that:
Black-Scholes Equation
[edit | edit source]Now we can try to prove the Black-Scholes equation.
Define a portfolio with an option and shares of :
V(S,t) - Delta * S → Pi
and apply Ito's lemma to obtain :
dsto(Pi, S, t, ds(S)) → dPi
we now want to nullify the stochastic part of by chosing an appropriate value for :
solve( dPi[2]=0, Delta) >> Delta = d(V(S,t), S) or sigma S = 0
we now know that the correct value for is:
On another side, we have:
which leads us to the equation:
At first we need to replace by its value into , and then equalize with
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 }
and now we've got the Black-Schole Differential Equation into the variable BS_equation[1]!