Mathematical Finance Programming in TI-BASIC

From Wikipedia, the free encyclopedia

Edit - Copy icon This page is a candidate to be copied to Wikibooks using the Import process.
If the page can be re-written into an encyclopedic article, please do so and remove this message.

Before you move this content to Wikibooks, verify that it conforms to Wikibooks policies of acceptable content at What is Wikibooks?. Often content unacceptable to Wikipedia may not be acceptable on Wikibooks either; facilitate the copying of this article by listing it on Wikibooks:Requests for Import.

Contents

[edit] Financial background

Quantitative (mathematical) finance is based on stochastic calculus, and more specifically on the Ito's Lemma.

[edit] TI-BASIC programs

[edit] Ito's lemma

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:

dS = f(S,t)dt + g(S,t)dW

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 S and t:

: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 ln(S):

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

this tell us that:

d \ln(S) = \left(m-{1\over 2}\sigma^2\right) dt + \sigma dW, \;{\rm when}\; dS = m S dt + \sigma S dW

[edit] Black-Scholes Equation

Now we can try to prove the Black-Scholes equation.

Define a portfolio with an option and Δ shares of S:

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

and apply Ito's lemma to obtain dΠ:

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

we now want to nullify the stochastic part of dΠ 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:

\Delta = {\partial V(S,t)\over \partial S}

On another side, we have:

d\Pi = r \Pi dt = r ( V(S,t)-\Delta\cdot S) dt

which leads us to the equation:

(\partial_t V + {1\over 2}\sigma^2 S^2 \partial^2_S V) dt = r ( V(S,t)-\Delta S) dt

At first we need to replace Δ by its value into dΠ, 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]!