Documente Academic
Documente Profesional
Documente Cultură
4
3 20
2
1 15
0
10
5
10
5
15
20
Figura 1:
ISEG
2009
i
ii
Conteúdo
Introdução vii
1 Conceitos básicos 1
1.1 Formulação do problema . . . . . . . . . . . . . . . . . . . . . 1
1.2 Arbitragem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Tipos de investidores e utilidade das opções . . . . . . . . . . 6
1.4 Outros tipos de opções . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Taxas de juro e valor actual . . . . . . . . . . . . . . . . . . . 7
1.6 Noções básicas de opções . . . . . . . . . . . . . . . . . . . . 8
1.6.1 O valor de uma opção . . . . . . . . . . . . . . . . . . 8
1.6.2 Estratégias e diagramas de payoff . . . . . . . . . . . . 9
1.6.3 Paridade Put - Call . . . . . . . . . . . . . . . . . . . 10
iii
iv CONTEÚDO
5 Opções americanas 87
5.1 O problema de fronteira livre e as opções americanas . . . . . 88
5.2 Problema do obstáculo e as opções americanas . . . . . . . . 90
5.2.1 O problema do obstáculo . . . . . . . . . . . . . . . . 91
5.2.2 A formulação linear de complementaridade . . . . . . 92
5.2.3 Opções americanas e a equação de difusão . . . . . . . 93
5.2.4 Opções americanas e a formulação de complementari-
dade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
A Apêndice 157
A.1 Convergência de variáveis aleatórias . . . . . . . . . . . . . . 157
A.2 Lei Forte dos Grandes Números. Teorema do Limite Central 158
B Bibliografia 161
vi CONTEÚDO
Introdução
vii
viii INTRODUÇÃO
ISEG, 2009
Maria do Rosário Grossinho
Capítulo 1
Conceitos básicos
1
2 CAPÍTULO 1. CONCEITOS BÁSICOS
Assim, se o preço dos activos cair abaixo do preço de exercício, ele poderá
vender esses activos pelo preço de exercício, o que, de acordo com a avaliação
da situação previamente feita, lhe permitirá cumprir o compromisso com os
seus clientes sem ter prejuízo. Mais uma vez há que ter em conta a despesa
fixa que constitui a aquisição do direito de venda (o prémio).
1.1. FORMULAÇÃO DO PROBLEMA 3
Poderemos dizer que a compra de opções pode ser uma forma de criar
um mecanismo de cobertura para o risco assumido.
isto é, ⎧
⎪
⎨ E − S se S ≤ E
P (S, T ) =
⎪
⎩
0 se S > E
4 CAPÍTULO 1. CONCEITOS BÁSICOS
• Opções americanas
• Futuros
• Obrigações
• Pricing – apreçamento
1.2 Arbitragem
Um dos conceitos fundamentais inerentes à teoria de option pricing é o de
arbitragem. Ausência de arbitragem consiste em afirmar que não existem
oportunidades de lucro instantâneo sem risco, ou mais correctamente, a sua
existência será sempre num período de tempo não significativo pois a actu-
ação dos agente intervenientes levará a que os preços se movam no mercado
de forma a eliminarem essa situação.
O conceito de risk-free – sem risco – é um elemento base na teoria
actual dos modelos das finanças. Um investimento sem risco é aquele cujo
retorno é dado pelo que decorre da aplicação da taxa de juro ao montante
investido quando colocado no banco.
Em arbitragem as palavras chave são "instantâneo"e "risk-free". Num
investimento, poderemos vir a obter um retorno superior ao que o banco
daria pelo valor investido, mas não o sabemos à partida. Quanto maior for
o lucro que procurarmos obter maior será o risco a correr. Com efeito, se
soubessemos de antemão que o retorno seria superior ao da aplicação da
taxa de juro bancário, valeria a pena, de forma garantida, que contraísse-
mos empréstimos junto da banca para aplicar no referido investimento. Este
facto, pela certeza inerente, levaria muitos investidores a fazer o mesmo. O
aumento da procura de empréstimos bancários conduziria ao aumento da
taxa de juro, o que a certa altura faria com que já não fosse vantajoso,
recorrer ao crédito para investir. O mercado tinha corrigido naturalmente a
situação.A não existência de oportunidades de lucros instântaneos sem risco
remete-nos para a conhecida expressão "não há almoços grátis". O exem-
plo apresentado documenta o facto de a existência de tais oportunidades
6 CAPÍTULO 1. CONCEITOS BÁSICOS
• Quanto deverá ser pago agora, t = 0, para que num tempo futuro T
seja recebida garantidamente a quantia K?
K = cerT
donde
c = Ke−rT
e, portanto,
M (t) = Ke−r(T −t) .
Se a taxa de juro não for constante mas seguir uma evolução dada por um
função r(t), a resolução da equação diferencial de primeira ordem leva a que
UT
M (t) = Ke− t r(s)ds
.
Por exemplo, aplicando à opções put, poderemos dizer que, sob a condição
de a taxa de juro r permanecer constante, temos
• r, a taxa de juro
Call
Suponhamos que o investidor compra uma call com preço de exercício
100 euros para adquirir, passados quatro meses, 100 shares de acções de
uma empresa X de computadores. Suponhamos que o preço actual de cada
share é de 98 euros e que o preço de uma opção para adquirir 1 share é
5 euros, o que corresponde a um investimento inicial de 500 euros. Se, na
maturidade, o valor de cada share for inferior a 100 euros, não vale a pena
exercer o direito de compra, pois pagaria directamente no mercado, pelo
mesmo share, um valor inferior. Nesse caso, contudo, o investidor perderia
o investimento inicial de 500 euros
Se na maturidade o preço for superior a 100 euros, a opção deverá ser
exercida. Por exemplo se for de 115 euros, o investidor exerce o seu direito
comprando cada share por 100 euros e pode vender de imediato no mercado
por 115, com um diferencial positivo de 15 euros em cada e, na totalidade,
de 1500. Subtraindo o investimento inicial, e esquecendo eventuais taxas de
transacção, o lucro final será de 1000 euros.
O exemplo anterior ilustra a fórmula já apresentada no início
⎧
⎪
⎨ S − K se S ≥ K
C (S, T ) =
⎪
⎩
0 se S < K.
Put
Contrariamente ao que acontece com o investidor numa call, cujo desejo
é que o valor do activo subjacente suba, o investidor numa put espera que
10 CAPÍTULO 1. CONCEITOS BÁSICOS
ele decresça. Com efeito, suponhamos que um investidor compra uma put
para vender 100 shares de uma empresa Y por um preço de exercício 70
euros. Suponhamos que o preço actual de cada share é de 65 euros, o preço
de cada opção é de 7 euros e a maturidade é de 3 meses. O investimento
inicial é de 700 euros. Na maturidade, a opção só deverá ser exercida se o
preço de cada share for inferior a 70 euros, pois, se for superior, é preferível
ir vender directamente no mercado. Repare-se que neste caso, o investidor
perde o investimento inicial, ou seja, 700 euros.
Suponhamos que, pelo contrário, no exercício o preço de cada share é
de 55 euros. Então, exercendo o direito de opção, isto é, vendendo por 70
euros, há um diferencial de 15 euros em cada e, portanto, 1500 na totalidade.
Descontando, novamente o investimento inicial, e não entrando em conta
com eventuais taxas de transacção, o lucro será de 800 euros.
Exercício antecipado
Nos exemplos que acabámos de expor, as opções consideradas eram eu-
ropeias, isto é, só podiam ser exercidas na maturidade. As opções ameri-
canas podem ser exercidas até à maturidade. Ver-se-á mais tarde que exis-
tem circunstâncias que aconselham ao exercício da opção americana antes
da maturidade
C − P = S − K · e−r(T −t) .
= K,
K · e−r(T −t) ,
- condição de fronteira
C (0, t) = 0 (2.3)
C (S, t)
lim = 1. (2.5)
S→∞ S
Referimos ainda que o tempo é medido em qualquer unidade (de tempo),
mas com preferência absoluta pela unidade ano 1
1
O ano é a unidade de tempo mais usada em análise financeira, a começar pela taxa
de juro que exprime uma fracção de capital a pagar por ano.
13
14 CAPÍTULO 2. OPÇÕES EUROPEIAS. SOLUÇÃO EXACTA
S = K · ex
τ
t = T− 1 2
2σ
e escrevamos
τ
C(S, t) = C(K · ex , T − 1 2) = K · v (x, τ ) (2.6)
2σ
ou, reciprocamente,
µ ¶
S
x = log (2.7)
K
1 2
τ = σ (T − t)
2
tendo-se
C (S, t)
v= .
K
É claro que (S, t) ∈]0, +∞[ ×]0, T [ se e só se (x, τ ) ∈] − ∞, +∞[ ×]0, 12 σ 2 T [.
Em consequência, iremos reescrever a equação (2.1). Comecemos por
exprimir as derivadas usando como habitualmente a regra da cadeia:
∂C ∂v dτ ∂v 1 2
= K· = −K · σ
∂t ∂τ dt ∂τ 2
∂C ∂v dx ∂v 1
= K· =K· ·
∂S ∂x dS ∂x S
µ ¶
∂2C ∂ 2 v dx 1 ∂v 1
= K· · · − ·
∂S 2 ∂x dS S ∂x S 2
2
µ 2 ¶
∂ v 1 ∂v 1
= K· · − ·
∂x2 S 2 ∂x S 2
2.1. TRANSFORMAÇÃO DA EQUAÇÃO DE BLACK-SCHOLES 15
Substituindo ficará
µ ¶
∂v 1 2 1 2 2 ∂2v 1 ∂v 1 ∂v 1
−K · σ + σ S K· 2
· 2− · + rSK · · − rKv = 0
∂τ 2 2 ∂x S ∂x S 2 ∂x S
ou seja,
1 ∂v 1 2 ∂ 2 v 1 2 ∂v ∂v
− σ2 + σ · 2− σ · +r· − rv = 0,
2 ∂τ 2 ∂x 2 ∂x ∂x
ou ainda
∂v ∂2v ∂v r ∂v r
− 2+ − 1 2· + 1 2 v = 0,
∂τ ∂x ∂x 2σ
∂x 2σ
o que pode escrever-se
à !
∂v ∂2v r ∂v r
− 2+ 1− 1 2 · + 1 2 v = 0.
∂τ ∂x 2σ
∂x 2σ
Se definirmos a quantidade
r
k1 = 1 2 (2.8)
2σ
encontra-se finalmente
∂v ∂2v ∂v
= + (k1 − 1) − k1 v, (2.9)
∂τ ∂x2 ∂x
com (x, τ ) ∈] − ∞, +∞[ ×]0, 12 σ 2 T [, que é a forma que a equação (2.1) toma
após a mudança de variáveis.
Prosseguiremos a simplificação da equação. Porém, de imediato teremos
que ver qual o efeito desta mudança de variáveis nas condições inicial e de
fronteira.
ou seja,
v (x, 0) = max {ex − 1, 0} (2.10)
16 CAPÍTULO 2. OPÇÕES EUROPEIAS. SOLUÇÃO EXACTA
donde
C (0, t) = 0
é equivalente a
à !
τ
lim C (S, t) = lim C Kex , T − 1 2 =0
2σ
S→0 x→−∞
v (x, τ )
lim =1 (2.12)
x→+∞ ex
dim [C] = P
dim [S] = P
dim [t] = T
r = (q/Q) /p
ou seja
q
Q q
r= =
p Q·p
o que nos indica qual a dimensão de r:
P
dim [r] = = T−1
P×T
Para determinar a dimensão da volatilidade σ vamos atender à definição
desta. Sabemos que a variância da variável aleatória
µ ¶
S (y + h)
X = log (2.13)
S (y)
√
é igual a hσ 2 , logo o desvio-padrão respectivo vale σ h. Por outro lado,
a variável (2.13) é adimensional, o mesmo acontecendo com o seu desvio-
padrão. Sendo assim, h √ i
dim σ h = 1
logo, em conclusão,
£ ¤
dim σ 2 = T−1
porque ∂C
∂t é o quociente entre um “preço” e um “tempo”. Por razões análo-
gas tem-se ∙ ¸
∂C P
dim = = P0 = 1
∂S P
(quantidade adimensional) e
∙ ¸
∂2C P
dim 2
= 2 = P−1
∂S P
Sendo assim,
∙ 2
¸
2 2∂ C
dim σ S = T−1 × P2 × P−1 = T−1 × P
∂S 2
∙ ¸
∂C
dim rS = T−1 × P × P0 = T−1 × P
∂S
dim [rC] = T−1 × P
C (S, t)
v=
K
2.1. TRANSFORMAÇÃO DA EQUAÇÃO DE BLACK-SCHOLES 19
0≤t≤T
Expressão final
e
∂v ∂u
= α · eα·x+β·τ · u (x, τ ) + eα·x+β·τ
∂x ∂x
µ ¶
α·x+β·τ ∂u
= e α · u (x, τ ) +
∂x
∂u ∂ 2u
+α · eα·x+β·τ · + eα·x+β·τ · 2 ,
∂x ∂x
cuja forma final fica
µ ¶
∂2v ∂u ∂ 2 u
= eα·x+β·τ 2
α · u + 2α · + .
∂x2 ∂x ∂x2
donde
∂u ∂ 2u ∂u £ 2 ¤
= + [2α + (k1 − 1)] · + α + (k1 − 1) · α − k1 − β · u.
∂τ ∂x2 ∂x
A expressão anterior mostra que podemos escolher α e β de modo a eliminar
∂u
as parcelas contendo u e . Bastará que sejam respectivamente cumpridas
∂x
as seguintes igualdades:
α2 + (k1 − 1) · α − k1 − β = 0
2α + (k1 − 1) = 0
ou seja,
³ ´
u (x, τ ) = exp 1
2 (k1 − 1) x + 14 (k1 + 1)2 τ · v (x, τ ) (2.15)
∂u ∂2u
= . (2.16)
∂τ ∂x2
em que ½ ¾
1 1
u0 (x) = max e 2 (k1 +1)x − e 2 (k1 −1)x , 0
- condição assintótica em −∞
∙ ¸
1 1 2
lim e− 2 (k1 −1)x− 4 (k1 +1) τ · u (x, τ ) = 0, (2.18)
x→−∞
- e condição assintótica em +∞
u (x, τ )
lim = 1. (2.19)
x→+∞ 1
(k +1)x+ 14 (k+1)2 τ
e 2 1
e, visto que
1
e 2 (k1 −1)x · v (x, 0) = u (x, 0) ,
teremos ½ ¾
1 1
(k1 +1)x (k1 −1)x
u (x, 0) = max e 2 − e2 ,0 .
u (x, 0) = u0 (x)
se e só se
1 1 1 1
k1 x + x ≥ k1 x − x,
2 2 2 2
isto é,
1 1
x≥− x
2 2
o que se verifica se e só se
x ≥ 0.
15
10
µ ¶
1 1
− 2 (k1 −1)x− 4 (k1 +1)2 τ
lim e · u (x, τ ) = 0
x→−∞
lim u (x, τ ) = 0,
x→−∞
1 1 2
lim e− 2 (k1 −1)x− 4 (k1 +1) τ
= +∞.
x→−∞
Em contrapartida, o facto de
lim u (x, τ ) = 0
x→−∞
não implica, por si só, a condição (2.18). Deste modo, a função u (x, τ ),
solução da equação de difusão (2.16), terá que satisfazer no quadro do mo-
delo de Black-Scholes à condição assintótica (2.18).
ou seja,
u (x, τ )
lim = 1,
x→+∞ 1
(k −1)x+ 14 (k+1)2 τ
ex ·e 2 1
u (x, τ )
lim = 1,
x→+∞ 1
(k +1)x+ 14 (k+1)2 τ
e 2 1
∂u ∂2u
= ,
∂t ∂τ 2
com a condição inicial respectiva
- em +∞
u (x, τ )
lim = 1.
x→+∞ 1
(k +1)x+ 14 (k+1)2 τ
e 2 1
Teorema 1 Seja u0 (x) uma função contínua em R tal que, para certas
constantes M0 ≥ 0 e b ≥ 0, se verifique
Então a função
Z ∞
1 (s−x)2
u (x, t) = √ u0 (s) · e− 4a2 t ds (2.22)
2a πt −∞
u (x, t) = u0 (x)
√
ds = 2at dy,
26 CAPÍTULO 2. OPÇÕES EUROPEIAS. SOLUÇÃO EXACTA
tem-se
s−x
y= √ ,
2at
donde,
y2 (s − x)2
= .
2a 4a2 t
Em consequência, a partir de (2.23)
Z ∞
1 (s−x)2
u (x, t) = √ u0 (s) .e− 4a2 t ds
2a πt −∞
Z ∞ ³ √ ´
1 y2 √
= √ u0 x + y 2at .e− 2a . 2at dy,
2a πt −∞
isto é, Z
1 ∞ ³ √ ´ y2
u (x, t) = √ u0 x + y 2at .e− 2a dy, (2.24)
2aπ −∞
⎧ 1 √ √ x
⎪
⎪ e[ 2 (k1 +1)·(x+y 2τ )] − e[ 12 (k1 −1)·(x+y 2τ )] , se y ≥ − √
⎪
³ √ ´ ⎨ 2τ
u0 x + y 2τ =
⎪
⎪ x
⎪
⎩ 0, se y < − √ ,
2τ
¡ √ ¢
Esta expressão de u0 x + y 2τ , substituída em (2.25), conduz-nos a es-
crever
u (x, τ ) = I1 (x, τ ) − I2 (x, τ ) (2.26)
sendo
Z +∞ √
1 1 y2
I1 (x, τ ) = √ √ e 2 (k1 +1)·(x+y 2τ )
· e− 2 · dy,
2π −x/ 2τ
Z +∞ √
1 1 y2
I2 (x, τ ) = √ √ e 2 (k1 −1)·(x+y 2τ )
· e− 2 · dy.
2π −x/ 2τ
e
x 1 √
q1 = √ + (k1 + 1) · 2τ ,
2τ 2
x 1 √
q2 = √ + (k1 − 1) · 2τ .
2τ 2
Tratamento de I1
Mostremos que
Z +∞ √ 2
1 1
2τ )− y2
I1 (x, τ ) = √ √ e 2 (k1 +1)·(x+y dy
2π −x/ 2τ
Z +∞ 1
1 √ 2
1 1 1 2 − 2 y− 2 (k1 +1) 2τ
= √ e 2 (k1 +1)x · e 4 (k1 +1) τ · √ e dy.
2π −x/ 2τ
(2.28)
28 CAPÍTULO 2. OPÇÕES EUROPEIAS. SOLUÇÃO EXACTA
1 ³ √ ´ y2
(k1 + 1) x + y 2τ − =
2 2
h √ i
= 1
2 (k1 + 1) x + 1
2 (k1 + 1) y 2τ − y 2
h √ i
= 1
2 (k1 + 1) x − 1
2 y2 − (k1 + 1) y 2τ
h √ i
= 1
2 (k1 + 1) x − 1
2 y2 − (k1 + 1) y 2τ + 14 (k1 + 1)2 2τ − 14 (k1 + 1)2 2τ ,
1
(k1 + 1)2 · 2τ .
4
Continuando,
1 ³ √ ´ y2
(k1 + 1) · x + y 2τ − =
2 2
∙³ ¸
1 11
√ ´2 1 2
= 2 (k1 + 1) · x − y − 2 (k1 + 1) 2τ − 2 (k1 + 1) · τ
2
³ √ ´2
= 1
2 (k1 + 1) · x + 14 (k1 + 1)2 · τ − 1
2 y − 12 (k1 + 1) 2τ ,
isto é,
√
y = q + 12 (k1 + 1) 2τ .
dq = dy
2.1. TRANSFORMAÇÃO DA EQUAÇÃO DE BLACK-SCHOLES 29
Tratamento de I2
chegamos a
1 1 2
I2 (x, τ ) = e 2 (k1 −1)x+ 4 (k1 −1) τ
· N (q2 ) . (2.30)
N (y) = 1 − N (−y)
1 1 2
I1 (x, τ ) = e 2 (k1 +1)x+ 4 (k1 +1) τ
· N (q1 )
1 1 2
I2 (x, τ ) = e 2 (k1 −1)x+ 4 (k1 −1) τ
· N (q2 ) ,
e
x 1 √
q1 = √ + (k1 + 1) · 2τ ,
2τ 2
x 1 √
q2 = √ + (k1 − 1) · 2τ .
2τ 2
Tem-se, evidentemente
L− −
1 = L2 = 0,
µ ¶
1 1
− 2 (k1 −1)x− 4 (k1 +1)2 τ
= lim e · I1 (x, τ )
x→−∞
µ ¶
1
− 12 (k1 −1)x− 4 (k1 +1)2 τ
− lim e · I2 (x, τ )
x→−∞
= L− −
1 − L2
= 0.
Ora,
µ ¶
1 1
− 2 (k1 −1)x− 4 (k1 +1)2 τ
L−
1 = lim e · I1 (x, τ )
x→−∞
µ ¶
1 1 1 1
− 2 (k1 −1)x− 4 (k1 +1)2 τ (k1 +1)x+ 4 (k1 +1)2 τ
= lim e ·e 2 · N (q1 )
x→−∞
= 0·0=0
e
2.1. TRANSFORMAÇÃO DA EQUAÇÃO DE BLACK-SCHOLES 33
µ ¶
1 1 2
L−
2 = lim e− 2 (k1 −1)x− 4 (k1 +1) τ · I2 (x, τ )
x→−∞
µ ¶
1 1 1 1
− 2 (k1 −1)x− 4 (k1 +1)2 τ (k1 −1)x+ (k1 −1)2
τ
= lim e · e2 4 · N (q2 )
x→−∞
= e−k1 · 0 = 0
pelo que a condição assintótica em −∞ é verificada.
= 1
e
1 1 2
I2 (x, τ ) e 2 (k1 −1)x+ 4 (k1 −1) τ
· N (q2 )
lim 1 = lim 1
x→+∞ 1
(k +1)x+ 4 (k+1)2 τ
2 1
x→+∞ 1
(k +1)x+ 4 (k+1)2 τ
2 1
e e
1 1 2
e 2 (k1 −1)x e 4 (k1 −1) τ
= lim × 1 × N (q2 )
x→+∞ e 12 (k1 +1)x 2
e 4 (k+1) τ
1 2
e 4 (k1 −1) τ
= 1 2
× lim e−x × lim N (q2 )
x→+∞ x→+∞
e 4 (k+1) τ
= 0.
34 CAPÍTULO 2. OPÇÕES EUROPEIAS. SOLUÇÃO EXACTA
Logo
= 1 − 0 = 1.
∂u ∂2u
= 2
∂t ∂t
com condição inicial
⎧ 1 1
(k1 +1)x
⎪
⎨ e2 − e 2 (k1 −1)x se x ≥ 0
u0 (x) =
⎪
⎩
0 se x < 0
2.2. RETORNO À EQUAÇÃO DE BLACK-SCHOLES 35
sendo
1 1 2
I1 (x, τ ) = e 2 (k1 +1)x+ 4 (k1 +1) τ
· N (q1 )
1 1 2
I2 (x, τ ) = e 2 (k1 −1)x+ 4 (k1 −1) τ
· N (q2 )
e
x 1 √
q1 = q1 (x, τ ) = √ + (k1 + 1) · 2τ
2τ 2
x 1 √
q2 = q2 (x, τ ) = √ + (k1 − 1) · 2τ .
2τ 2
- condição assintótica em −∞
∙ ¸
1 1
− 2 (k1 −1)x− 4 (k1 +1)2 τ
lim e · u (x, τ ) = 0,
x→−∞
- condição assintótica em +∞
u (x, τ )
lim = 1.
x→+∞ 1
(k +1)x+ 14 (k+1)2 τ
e 2 1
1 1 2
= e− 2 (k1 −1)x− 4 (k1 +1) τ
· (I1 (x, τ ) − I2 (x, τ ))
1 1 2 1 1 2
= e− 2 (k1 −1)x− 4 (k1 +1) τ
· e 2 (k1 +1)x+ 4 (k1 +1) τ
· N (q1 )
1 1 2 1 1 2
−e− 2 (k1 −1)x− 4 (k1 +1) τ
· e 2 (k1 −1)x+ 4 (k1 −1) τ
· N (q2 )
donde
2r 1 2
k1 τ = · σ (T − t) = r (T − t) ,
σ2 2
e, portanto,
µ µ ¶ ¶
S 1 2 S 2r 1 2
v log , σ (T − t) = elog( E ) · N (q1 ) − e− σ2 · 2 σ (T −t) · N (q2 )
K 2
S
= · N (q1 ) − e−r(T −t) · N (q2 ) .
K
Usando (2.14), obtemos
µ µ ¶ ¶
S 1
C (S, t) = K · v log , σ 2 (T − t)
K 2
µ ¶
S −r(T −t)
= E· · N (q1 ) − e · N (q2 )
K
¡ ¢
log (S/K) + r − 12 σ 2 (T − t)
q2 = √
σ T −t
∂C 1 2 2 ∂ 2 C ∂C
+ σ S 2
+ rS − rC = 0,
∂t 2 ∂S ∂S
com
- condição final
C (S, T ) = max {S − K, 0}
- condição de fronteira
C (0, t) = 0
- condição assintótica
C (S, t) v S quando S → ∞,
é dado por
C (S, t) = S · N (q1 ) − K · e−r(T −t) · N (q2 ) , (2.32)
e ¡ ¢
log (S/K) + r + 12 σ 2 (T − t)
q1 = √
σ T −t
¡ ¢
log (S/K) + r − 12 σ 2 (T − t)
q2 = √
σ T −t
A expressão (2.32) é conhecida por Fórmula de Black-Scholes.
38 CAPÍTULO 2. OPÇÕES EUROPEIAS. SOLUÇÃO EXACTA
C − P = S − K · e−r(T −t)
donde
P = C − S + K · e−r(T −t) . (2.33)
e µ µ ¶ ¶
S 1
C (S, t) = K · v log , σ 2 (T − t) .
K 2
Na formulação da teoria, T aparece como um parâmetro indicador da
data de exercício da opção contada a partir do dia zero, ou seja do dia em
que se inicia o contrato respectivo. Para ser coerente com os sistema de
unidades T é expresso em anos e tipicamente será uma fracção do ano. Por
outro lado, t é uma variável que indica o dia para o qual se calcula o valor
da opção tendo em conta o preço do activo subjacente.
Quando passamos à transformação da equação de Black-Scholes nós ve-
rificamos que a solução depende de T e de t apenas pela diferença destes,
T − t. Ou seja, ceteris paribus o valor da opção depende do tempo que falta
para o exercício.
S x u C P
2, 0 −1, 6094 0, 0000 0, 0000 7, 7531
3, 0 −1, 2040 0, 0000 0, 0000 6, 7531
4, 0 −0, 9163 0, 0000 0, 0000 5, 7531
5, 0 −0, 6931 0, 0000 0, 0000 4, 7531
6, 0 −0, 5108 0, 0000 0, 0001 3, 7532
7, 0 −0, 3567 0, 0003 0, 0037 2, 7568
8, 0 −0, 2231 0, 0040 0, 0456 1, 7987
9, 0 −0.1054 0, 0224 0, 2349 0, 9880
10, 0 0, 0000 0, 0710 0, 6889 0, 4420
11, 0 0, 0953 0, 1559 1, 4075 0, 1606
12, 0 0, 1823 0, 2713 2, 2952 0, 0483
13, 0 0, 2624 0, 4091 3, 2593 0, 0124
14, 0 0, 3365 0, 5640 4, 2497 0, 0028
15, 0 0, 4055 0, 7334 5, 2475 0, 0006
16, 0 0, 4700 0, 9164 6, 2470 0, 0001
seguinte:
S = 12 T − t = 0, 25
↓ ↓
x = 0, 1823 τ = 0, 005 −→ u = 0, 2485
↓
v = 0, 21348
↓
C = 2, 1348
2.3 Códigos em C
Apresentam-se os programas em C que foram usados para o cálculo das
tabelas 2.1 e 2.2.
2.3.1 Prog21
Dados o parâmetro k1 e os valores de x e de τ , o programa calcula o cor-
respondente valor de u (x, τ ). O programa está estruturado tomando como
base as seguintes funções:
Código
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
float q1(float z, float s, float k);
float q2(float z, float s, float k);
float fac1(float z, float s, float k);
float fac2(float z, float s, float k);
float normal(float z);
void main() {
float tau, x, k1, I1, I2;
float u, z1, z2;
printf("SOLUCAO DA EQUACAO DE DIFUSAO\n");
printf("valores a entrar: k1, x, tau\n\n");
printf("k1 = ");
2.3. CÓDIGOS EM C 41
scanf("%f", &k1);
printf("x = ");
scanf("%f", &x);
printf("tau = ");
scanf("%f", &tau);
printf("\n");
z1 = q1(x,tau,k1);
z2 = q2(x,tau,k1);
I1 = fac1(x,tau,k1) * normal(z1);
I2 = fac2(x,tau,k1) * normal(z2);
u = I1 - I2;
printf("x = %f tau = %f u = %f\n",x, tau, u);
}
float normal(float z) {
42 CAPÍTULO 2. OPÇÕES EUROPEIAS. SOLUÇÃO EXACTA
2.3.2 Prog22
Dados os parâmetros T − t, σ, r, e os valores de S e de t, o programa
calcula os correspondentes valores de C (x, τ ) e de P (S, t). O programa está
estruturado tomando como base as mesmas funções do programa prog21 e
mais as seguintes:
Código
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
2.3. CÓDIGOS EM C 43
#include <math.h>
void main() {
float sigma, r, E, S, Tt, C, P;
float tau, x, k1, I1, I2, u;
printf("CALL/PUT EUROPEIAS--SOLUCAO DA EQUACAO DE BLACK-SCHOLES\n\n");
printf("Parametros a entrar: taxa de juro, volatilidade,
custo de exercicio\n\n");
printf("Valores a entrar: precco do activo, tempo que falta
para o exercicio\n\n");
printf(- - - - - - - - - - - - - - - - - \n\n");
printf("volatilidade ’sigma’ = ");
scanf("%f", &sigma);
printf("taxa de juro ’r’ = ");
scanf("%f", &r);
printf("custo do exercicio ’E’ = ");
scanf("%f", &E);
printf("precco do activo ’S’ = ");
scanf("%f", &S);
printf("tempo restante para o exercicio, em anos, ’T-t’
= ");
scanf("%f", &Tt);
printf("\n");
k1 = r/(.5 * sigma * sigma);
x = log(S/E);
tau = .5 * sigma *sigma * Tt;
u = difus(x,tau,k1);
C = E * reg(x,tau,k1) * u;
P = C - S + E * exp(-r * Tt);;
printf(- - - - - - - - - - - - - - - - - \n\n");
44 CAPÍTULO 2. OPÇÕES EUROPEIAS. SOLUÇÃO EXACTA
printf("Equaccao de difusao\n\n");
printf("x = %f tau = %f u = %f\n\n",x, tau, u);
printf("Equaccao de Black-Scholes\n\n");
printf("S = %f T-t = %f C = %f P = %f\n\n",S, Tt, C, P);
}
float normal(float z) {
float const pi = 3.14159265;
float const a1 = .319381530, a2 =-.356563782;
float const a3 = 1.781477937;
float const a4 = -1.821255978, a5 = 1.330274429;
float zu, gauss, y, p1, pol, FI;
if(z<0) zu = -z;
2.3. CÓDIGOS EM C 45
else zu = z;
gauss = 1/sqrt(2*pi) * exp(-0.5 * zu*zu);
y = 1 / (1 + .2316419 *zu);
p1 = a1* y + a2*y*y + a3* y*y*y + a4* y*y*y*y;
pol = p1 + a5* y*y*y*y*y;
FI = 1 - gauss * pol;
if(z>=0) return FI;
else return 1-FI;
}
∂u ∂2u
=
∂τ ∂x2
sujeita às condições inicial e assintóticas
47
48 CAPÍTULO 3. SOLUÇÕES NUMÉRICAS. MÉTODO EXPLÍCITO
0, 004001
= = 4, 001,
0, 001
valor próximo do valor exacto da derivada e que é 4. Se tivéssemos feito
h = 0, 0001 a aproximação encontrada seria 4, 0001, etc.
Este processo baseia-se na fórmula de Taylor cuja expressão pode ser
escrita no modo seguinte
sendo
lim O (h; x0 ) = 0
h→0
A equação (3.4) pode ainda escrever-se, passando φ (x0 ) ao 1o membro
e dividindo ambos os membros por h,
φ (x0 + h) − φ (x0 )
= φ0 (x0 ) + O (h; x0 ) , (3.5)
h
3.1. DERIVAÇÃO NUMÉRICA 49
Equação diferencial
dy
=2·y (3.7)
dx
cuja solução y (x), com y (0) = 3, pretendemos determinar para o valor
x = 1. Consideremos o intervalo [0, 1] que dividimos em 100 sub-intervalos
através dos valores
x1 = h
x2 = x1 + h = 2 · h
x3 = x2 + h = 3 · h
··· (3.8)
xi = xi−1 + h = i · h
xi+1 = xi + h = (i + 1) · h
···
Seja y (x) a solução que sabemos que existe mas que é desconhecida a
priori. Ela satisfaz à identidade
y 0 (x) ≡ 2 · y (x)
y (xi + h) − y (xi )
y0 (xi ) ≈
h
ou
y (xi+1 ) − y (xi )
y 0 (xi ) ≈
h
50 CAPÍTULO 3. SOLUÇÕES NUMÉRICAS. MÉTODO EXPLÍCITO
dado que xi e xi+1 são dois pontos contíguos da partição. Deste modo, para
conseguir uma solução aproximada, a equação (3.7) pode ser substituída
pela equação finita
y (xi+1 ) − y (xi )
= 2 · y (xi )
h
ou
y (xi+1 ) = (2h + 1) · y (xi )
Adoptaremos a seguinte designação
sendo
α = 2h + 1
o qual deverá ser executado 100 vezes até se conseguir o resultado final
pretendido, a saber, uma aproximação do valor de y (1). Teremos, uma vez
que
α = 2h + 1 = 1, 02
a sequência:
u(0) = 3
u(1) = α · u(0)
³ ´
u(2) = α · u(1) = α · α · u(0) = α2 · u(0)
³ ´
u(3) = α · u(2) = α · α2 · u(0) = α3 · u(0)
···
³ ´
(100)
u = α · u(99) = α · α99 · u(0) = α100 · u(0)
20
15
10
y (x) = 3 · e2x .
ya (1;h)−y(1)
y (1) = 3 · e2 ya (1; h) h y(1)
22, 167168 18, 575209 0, 1 −16, 2%
22, 167168 21, 733931 0, 01 −1, 95%
22, 167168 22, 122923 0, 001 −0, 20%
22, 167168 22, 162769 0, 0001 −0, 02%
Algoritmo
1. Escolhe-se uma aproximação h0 ao passo.
2. Calcula-se o quociente
x∗ − x0
q=
h0
e designa-se por N o maior inteiro contido em q.
u(k+1) = α · u(k)
u(0) = y0
u(1) = α · u(0)
u(2) = α · u(1)
···
(N)
u = α · u(N−1)
3.1. DERIVAÇÃO NUMÉRICA 53
u(N) = αN · u(0)
y (0) = 0
y 0 (0) = 2
e substituindo em (3.12),
y (x) − y (x + h) y (x − h) − y (x)
−
y00 (x) ≈ −h −h (3.14)
h
ou seja,
y (x + h) − y (x) y (x) − y (x − h)
−
y 00 (x) ≈ h h
h
y (x + h) − 2 · y (x) + y (x − h)
≈ h
h
o que permite escrever
y (x + h) − 2 · y (x) + y (x − h)
y 00 (x) ≈ . (3.15)
h
De acordo com o que foi dito anteriormente, a equação ficará
Arrumando as parcelas,
ou seja,
¡ ¢
(1 + h) · u(k+1) − 2 + h − h2 · u(k) + u(k−1) = 0. (3.18)
donde, µ ¶
(k+1) 2 + h − h2 1
u = · u(k) − u(k−1) .
1+h 1+h
3.1. DERIVAÇÃO NUMÉRICA 55
Escrevendo
2 + h − h2
α =
1+h
1
β = ,
1+h
ficará finalmente
u(k+1) = α · u(k) − β · u(k−1) . (3.19)
Este processo permite calcular cada iteração a partir dos valores das duas
iterações anteriores. De acordo, com as definições temos
2. Calcula-se o quociente
0, 931 − 0
q= = 93, 1
0, 01
e designa-se por N o maior inteiro contido em q, isto é N = 93.
h = 0, 010011
y (0) = 0
y (0, 01) = h × 2 = 0, 020022
α = 1, 989989
β = 0, 990088
56 CAPÍTULO 3. SOLUÇÕES NUMÉRICAS. MÉTODO EXPLÍCITO
k xk y (xk ) = uk
0 0, 000000 0, 000000
1 0, 010011 0, 020022
2 0, 020022 0, 039844
3 0, 030032 0, 059463
4 0, 040043 0, 078884
.. .. ..
. . .
91 0, 910978 1, 047139
92 0, 920989 1, 050876
93 0, 931000 1, 054471
Tabela 3.2: Primeiras e últimas linhas da folha Excel para o cálculo numérico
do valor aproximado da solução y(x) da equação linear y00 + y 0 + y = 0, para
x = 0, 931. O valor procurado encontra-se na última célula, u93 = 1, 054471.
u (x, τ + h) − u (x, τ ) ∂u
= (x, τ ) + O (h; x, τ ) ,
h ∂τ
e
u (x + k, τ ) − u (x, τ ) ∂u
= (x, τ ) + O (k; x, τ ) , (3.22)
k ∂x
3.2. RESOLUÇÃO NUMÉRICA DA EQUAÇÃO DE DIFUSÃO 57
respectivamente, com
lim O (h; x, τ ) = 0
h→0
lim O (k; x, τ ) = 0
k→0
donde
∂u u (x, τ + h) − u (x, τ )
(x, τ ) ≈
∂τ h
(3.23)
∂u u (x + k, τ ) − u (x, τ )
(x, τ ) ≈ .
∂x k
Na equação de difusão surge também a 2a derivada. Considerações
semelhantes às anteriores levam a escrever, relativamente a u(., τ ),
∂2u u (x + k, τ ) − 2u (x, τ ) + u (x − k, τ )
2
(x, τ ) = + k 2 · O (k; x, τ ) (3.24)
∂x k2
donde poderemos resumir as aproximações às derivadas parciais:
∂u u (x, τ + δτ ) − u (x, τ )
(x, τ ) ≈
∂τ δτ
∂u u (x + δx, τ ) − u (x, τ )
(x, τ ) ≈ (3.25)
∂x δx
−1 ≤ x ≤ 1
0 ≤ τ < +∞
58 CAPÍTULO 3. SOLUÇÕES NUMÉRICAS. MÉTODO EXPLÍCITO
com as condições
u (x, 0) = u0 (x) = x2
u (−1, τ ) = f (τ ) = cos2 τ
u (1, τ ) = g (τ ) = τ + 1
−1 ≤ x ≤ 1
0 ≤ τ < τ∗
0 ≤ m≤M
−N ≤ n≤N
e, no caso vertente,
−N · δx = −1
N · δx = 1
M · δτ = τ∗
1
De facto, se este quociente for maior do que 0,5 o método apresenta um comportamento
errático.
3.2. RESOLUÇÃO NUMÉRICA DA EQUAÇÃO DE DIFUSÃO 59
0.5
1 2 3 4
-0.5
-1
em que
δτ
α=
(δx)2
mantendo-se a presunção de que
1
α< .
2
3.2. RESOLUÇÃO NUMÉRICA DA EQUAÇÃO DE DIFUSÃO 61
−N < n < N
(0)
u−N = cos2 (0) = 1
(0)
un = (n · δx)2
(0)
uN = 0 + 1 = 1
62 CAPÍTULO 3. SOLUÇÕES NUMÉRICAS. MÉTODO EXPLÍCITO
(1)
u−N = cos2 (δt)
³ ´
(1) (0) (0) (0) (0)
un = un + α un+1 − 2un + un−1
(1)
uN = δτ + 1
(2)
u−N = cos2 (2 · δt)
³ ´
(2) (1) (1) (1) (1)
un = un + α un+1 − 2un + un−1
(2)
uN = 2 · δt + 1
(M)
u−N = cos2 (M · δt)
³ ´
(M) (M−1) (M−1) (M−1) (M−1)
un = un + α un+1 − 2un + un−1
(M)
uN = M · δt + 1.
Este processo foi aplicado para calcular alguns valores da solução aproxi-
mada, apresentados na tabela 3.4. Usou-se sempre
δx = 0, 01
τ∗ δx 2·N δτ M α
1, 0 0, 01 200 0, 000036 27.777 0, 36001
2, 3 0, 01 200 0, 000036 63.888 0, 36005
3, 6 0, 01 200 0, 000036 100.000 0, 36000
x τ∗ = 1 τ ∗ = 2, 3 τ ∗ = 3, 6
−1, 0 0, 2919 0, 4439 0, 8042
−0, 8 0, 4721 0, 5867 1, 1559
−0, 6 0, 6257 0, 7652 1, 4896
−0, 4 0, 7629 0, 9761 1, 8172
−0, 2 1, 8938 1, 2171 2, 1489
0, 0 1, 0276 1, 4870 2, 4929
0, 2 1, 1727 1, 7858 2, 8561
0, 4 1, 3366 2, 1145 3, 2441
0, 6 1, 5255 2, 4747 3, 6616
0, 8 1, 7450 2, 8689 4, 1124
1, 0 2, 0000 3, 3000 4, 6000
Tabela 3.4: Tabela das soluções da equação de difusão para diferentes valo-
res de τ ∗ , com as condições inicial e de fronteiras indicadas acima. Cálculos
efectuados com o programa prog31 cujo código se encontra no fim do capí-
tulo.
64 CAPÍTULO 3. SOLUÇÕES NUMÉRICAS. MÉTODO EXPLÍCITO
4
3 20
2
1 15
0
10
5
10
5
15
20
.
3.3. APLICAÇÃO AO CASO BLACK-SCHOLES (CALL EUROPEIA)65
sendo
⎧ ¡1 ¢ ¡1 ¢
⎪
⎨ exp 2 (k1 + 1) x − exp 2 (k1 − 1) x se x ≥ 0
u0 (x) =
⎪
⎩
0 se x < 0
e
³ ³ ´´
1 1 2
f (x, τ ) = o exp 2 (k1 − 1) x + 4 (k1 + 1) τ em − ∞
µ ¶
1 1
g (x, τ ) = exp (k1 + 1) x + (k + 1)2 τ
2 4
Basicamente existem dois modos de dar um significado rigoroso ao com-
portamento assintótico, a saber,
ou
u (x, τ )
lim = 1. (3.36)
x→+∞ f (x, τ )
(0)
u−N = u0 (−N · δx)
(0)
un = u0 (n · δx)
(0)
uN = u0 (N · δx)
3.4. CÓDIGOS 67
(m+1)
u−N = f (−x̄, (m + 1) · δt)
³ ´
(m+1) (m) (m) (m) (m)
un = un + α un+1 − 2un + un−1 ; −N < n < +N
(m+1)
uN = g (x̄, (m + 1) · δt)
S t x τ Ca (aproximada) Cr (exacta)
24, 596 0, 75 0, 9000 0, 015 14, 964319 14, 964100
É claro que
³ ´
Ca = K · exp − 12 (k1 − 1) x − 14 (k1 + 1)2 τ · 3, 077200
= 10 × 0, 486297 × 3, 077200
= 14, 964319
3.4 Códigos
O programa prog41 que calculou a solução da equação de difusão com as
condições (??) é semelhante em tudo ao programa prog42 cujo código se
apresenta a seguir.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <math.h>
int n, Na, Nb;
long int m=0, M;
float sup=10.0, inf= -10.0;
float dt, alf=.25, k, dx, sig=0.2, r=0.05;
float U[10100], U1[10100];
float x, u, t;
int a(int j);
float u0(float z);
float f(float z, float s);
float g(float z, float s);
void iterar();
70 CAPÍTULO 3. SOLUÇÕES NUMÉRICAS. MÉTODO EXPLÍCITO
void preparar();
void titulo();
FILE *fp;
void main() {
titulo();
preparar();
for(n=Na; n<=Nb; n++) U[a(n)] = u0(x + (float)n*dx);
while(m<M) iterar();
printf("m = %d\n", m);
printf("x = %f u = %f \n", x, U[a(0)]);
if((fp = fopen("ce_expli", "a")) == NULL) {
printf("Cannot open file\n");
exit(1);
}
fprintf(fp, "Sigma = %f r = %f \n", sig, r);
fprintf(fp, "t = %f x = %f u = %f \n", t, x, U[a(0)]);
fprintf(fp, ----------------\n\n");
fclose(fp);
}
float u0(float z) {
k = r/(.5 * sig* sig);
if(z>=0) return exp(.5 *(k+1)*z) - exp(.5* (k-1)*z);
else return 0;
}
float f(float z, float s) {
return 0;
}
float g(float z, float s) {
k = r/(.5 * sig* sig);
return exp(0.5 *(k+1)*z + 0.25* (k+1)*(k+1)* s);
}
int a(int j) {
return j-Na;
}
void iterar() {
m = m+1;
for(n=Na-1; n < Nb; n++)
3.4. CÓDIGOS 71
inicial e de\n");
printf("fronteira que proveem da equaccao de Black-Scholes
∂u u (x, τ + h) − u (x, τ )
≈
∂τ h
mas também que
∂u u (x, τ ) − u (x, τ − h)
≈ .
∂τ h
Sendo assim, a equação de difusão pode escrever-se, de modo aproximado,
na forma
u (x, τ ) − u (x, τ − δτ ) u (x + δx, τ ) − 2u (x, τ ) + u (x − δx, τ )
= . (4.1)
δτ (δx)2
73
74 CAPÍTULO 4. DIFERENÇAS FINITAS: MÉTODO IMPLÍCITO
x = n · δx
τ = m · δτ
e
un(m) = u (n · δx, m · δτ ) ,
o que permite escrever a equação (4.1) como
(m) (m−1) (m) (m) (m)
un − un un+1 − 2un + un−1
= . (4.2)
δτ (δx)2
Logo ³ ´
(m) (m)
un(m) − u(m−1)
n = α · un+1 − 2un(m) + un−1 (4.3)
δτ
(pondo α = ), ou seja,
(δx)2
³ ´
(m) (m)
un(m) − α · un−1 − 2un(m) + un−1 = u(m−1)
n
e ainda
(m) (m)
(1 + 2α) · u(m) (m−1)
n − α · un+1 − α · un−1 = un . (4.4)
(m−1)
Nesta equação os dados são (1 + α), α e un , enquanto que as incógnitas
são
(m) (m)
un(m) , un+1 , un−1 .
Sendo m constante em cada passo, n varia desde −N + 1 até N − 1 de forma
(m) (m) (m)
a que un+1 e un−1 tenham significado. Por sua vez, os valores extremos u−N
(m)
e uN provêm das condições numéricas de fronteira:
(m)
u−N = f (−N · dx, m · dτ )
(4.5)
(m)
uN = g (N · dx, m · dτ ) .
4.2.1 Decomposição L · U
Suponhamos que a matriz quadrada (n × n) A = [aij ] se decompõe no
produto de uma matriz L = [lij ] triangular inferior com uma matriz U =
[uij ] triangular superior :
A=L·U
4.2. RESOLUÇÃO DO SISTEMA 77
isto é,
⎡ ⎤ ⎡ ⎤⎡ ⎤
a11 a12 · · · a1n l11 0 ··· 0 u11 u12 · · · u1n
⎢ ⎥ ⎢ ⎥⎢ ⎥
⎢ a21 a22 · · · a2n ⎥ ⎢ l21 l22 ··· 0 ⎥⎢ 0 u22 · · · u2n ⎥
⎢ . .. .. ⎥=⎢ .. .. .. ⎥·⎢ .. .. .. ⎥
⎢ . ..
. ⎥ ⎢ ..
. ⎥⎢ ..
. ⎥
⎣ . . . ⎦ ⎣ . . . ⎦⎣ . . . ⎦
an1 an2 · · · ann ln1 ln2 · · · lnn 0 0 ··· unn
Se tivermos o sistema
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
a11 a12 · · · a1n x1 q1
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ a21 a22 · · · a2n ⎥ ⎢ x2 ⎥ ⎢ q2 ⎥
⎢ . .. .. ⎥·⎢ .. ⎥=⎢ .. ⎥
⎢ . ..
. ⎥ ⎢ ⎥ ⎢ ⎥
⎣ . . . ⎦ ⎣ . ⎦ ⎣ . ⎦
an1 an2 · · · ann xn qn
ou seja
A·x=q
podemos resolvê-lo em duas etapas. Atendemos a que
(L · U) · x = q
ou
L· (U · x) = q
e desgnando
y =U·x
esta será a nova incógnita. Sendo assim, a primeira etapa consiste em re-
solver os sistema
L·y =q
o que é fácil visto que L é triangular inferior. A solução designa-se por y∗ .
A segunda etapa consiste em resolver o sistema
U · x = y∗
cuja solução é
h iT
y1∗ y2∗ · · · yn∗
obtida por cálculo recorrente de cima para baixo
q1
y1∗ = , etc.
l11
Em dimensão 4 seria
⎧
⎪
⎪ l11 · y1 = q1
⎪
⎨ l ·y + l ·y
21 1 22 2 = q2
⎪
⎪ l31 · y1 + l32 · y2 + l33 · y3 = q3
⎪
⎩
l41 · y1 + l42 · y2 + l43 · y3 + l44 · y4 = q4
logo,
q1
y1∗ =
l11
1
y2∗ = (q2 − l21 · y1∗ )
l22
1
y3∗ = (q3 − l31 · y1∗ − l32 · y2∗ )
l33
1
y4∗ = (q4 − l41 · y1∗ − l42 · y2∗ − l43 · y3∗ )
l44
o que dá
y4∗
x4 =
u44
1
x3 = (y ∗ − u34 · x4 )
u33 3
1
x2 = (y ∗ − u12 · x3 − u24 · x4 )
u22 2
1
x1 = (y ∗ − u12 · x2 − u13 · x3 − u14 · x4 )
u11 1
Exemplo
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
4 5 −1 −2 x1 1
⎢ 12 13 13 −16 ⎥ ⎢ x2 ⎥ ⎢ −2 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥·⎢ ⎥=⎢ ⎥
⎣ 8 17 −50 19 ⎦ ⎣ x3 ⎦ ⎣ −3 ⎦
20 22 35 −56 x4 3
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
4 5 −1 −2 1 0 0 0 4 5 −1 −2
⎢ 12 13 13 −16 ⎥ ⎢ 3 −2 0 0 ⎥ ⎢ 0 1 −8 5 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥=⎢ ⎥·⎢ ⎥
⎣ 8 17 −50 19 ⎦ ⎣ 2 7 4 0 ⎦ ⎣ 0 0 2 −3 ⎦
20 22 35 −56 5 −3 8 7 0 0 0 −1
A solução de L · y = q é
5 45 101
y1∗ = 1; y2∗ = ; y3∗ = − ; y4∗ =
2 8 14
e a solução de U · x = y∗ é
teremos
⎡ ⎤ ⎡ ⎤
u1 z1 0 0 a1 c1 0 0
⎢ l1 · u1 u2 + l1 · z1 z2 0 ⎥ ⎢ b1 a2 c2 0 ⎥
⎢ ⎥ ⎢ ⎥
L·U=⎢ ⎥=⎢ ⎥
⎣ 0 l2 · u2 u3 + l2 · z2 z3 ⎦ ⎣ 0 b2 a3 c3 ⎦
0 0 l3 · u3 u4 + l3 · z3 0 0 b3 a4
u1 = a1 ; z1 = c1 ;
l1 · u1 = b1 ; u2 + l1 · z1 = a2 ; z2 = c2
(4.14)
l2 · u2 = b2 ; u3 + l2 · z2 = a3 ; z3 = c3
l3 · u3 = b3 ; u4 + l3 · z3 = a4 ;
u1 = a1
z1 = c1
b1
l1 =
a1
b1 · c1
u2 = a2 −
u1
z2 = c2
b2
l2 =
u2
b2 · c2
u3 = a3 −
u2
z2 = c2
etc.,
u1 = a1
zi = ci 1≤i≤n−1
ci · bi
ui+1 = ai − 1≤i≤n−1
ui
bi
li = 1≤i≤n−1
ui
82 CAPÍTULO 4. DIFERENÇAS FINITAS: MÉTODO IMPLÍCITO
ai = 1 + 2α ; bi = −α ; ci = −α ; 2≤i≤n−1
γ = 1 + 2α
u1 = γ ; z1 = −α ;
l1 · u1 = −α ; u2 + l1 · z1 = γ ; z2 = −α
l2 · u2 = −α ; u3 + l2 · z2 = γ ; z3 = −α
l3 · u3 = −α ; u4 + l3 · z3 = γ ;
donde
u1 = γ
zi = γ 1≤i≤n−1
(4.15)
α2
ui+1 = γ − 1≤i≤n−1
ui
−α
li = 1≤i≤n−1
ui
un(m+1) − un(m) =
α ³ (m) (m)
´ α³
(m+1) (m+1)
´
= · un+1 − 2 · un(m) + un−1 + · un+1 − 2 · un(m+1) + un−1
2 2
Esta equação pode ser arrumada segundo o índice superior de u:
α ³ (m+1) (m+1)
´
un(m+1) − · un+1 − 2 · u(m+1) n + un−1 =
2
α ³ (m) (m)
´
= u(m)
n + · un+1 − 2 · u (m)
n + un−1
2
o que permite a passagem da ordem (m) para a ordem (m + 1) tal como na
situação anterior. De facto, ponhamos
α ³ (m) (m)
´
Zn(m) = un(m) + · un+1 − 2 · un(m) + un−1 (4.17)
2
84 CAPÍTULO 4. DIFERENÇAS FINITAS: MÉTODO IMPLÍCITO
α ³ (m+1) (m+1)
´
u(m+1)
n − · un+1 − 2 · u(m+1)
n + un−1 = Zn(m) (4.18)
2
α (m+1) α (m+1)
− · un−1 + (1 + α) · un(m+1) − · un+1 = Zn(m) (4.19)
2 2
4.3.1 O método θ
Este método é uma generalização do anterior. Em vez de somar directamente
as expressões (4.16) faz-se uma soma ponderada através de um parâmetro θ
cujo valor se situa no intervalo 0 ≤ θ ≤ 1. Isto é, considera-se
³ ´
(m) (m)
(1 − θ) · un(m+1) − (1 − θ) · u(m)
n = (1 − θ) · α · un+1 − 2 · u(m)
n + un−1
(4.20)
³ ´
(m+1) (m+1)
θ · un(m+1) −θ · u(m)
n
(m+1)
= θ · α · un+1 − 2 · un + un−1
e soma-se, membro a membro,
un(m+1) − u(m)
n =
³ ´ ³ ´
(m) (m) (m+1) (m+1)
= (1 − θ) α un+1 − 2un(m) + un−1 + θα un+1 − 2u(m+1)
n + un−1 ,
chegamos finalmente a
³ ´
(m+1) (m+1)
un(m+1) − θ · α · un+1 − 2 · un(m+1) + un−1 = Zn(m) .
Os diferentes valores de θ reproduzem os diferentes métodos conhecidos:
4.3. MÉTODO DE CRANK-NICHOLSON 85
donde
³ ´
(m+1) (m+1)
(1 + 2 · α) u(m+1)
n − α · un+1 + u n−1 = un(m) .
1
• θ= 2 : método de Crank-Nicholson. Com efeito, (4.21) ficará
α ³ (m) (m)
´
un(m+1) − · un+1 − 2 · un(m) + un−1 =
2
α ³ (m+1) (m+1)
´
= un(m) + · un+1 − 2 · un(m+1) + un−1 ,
2
donde
α (m+1) α (m+1)
− · un−1 + (1 + α) · un(m+1) − · un+1 =
2 2
α ³ (m) (m)
´
= u(m)
n + · un+1 − 2 · un(m) + un−1 .
2
A estabilidade do método depende da relação entre θ e α:
1
• Se 2 ≤ θ ≤ 1 estável para qualquer α > 0.
1
• Se 0 ≤ θ < 2 estável se
1
0<α≤ . (4.22)
2 · (1 − 2θ)
86 CAPÍTULO 4. DIFERENÇAS FINITAS: MÉTODO IMPLÍCITO
Capítulo 5
Opções americanas
As opções americanas, tal como foi referido no Capítulo 1, podem ser exer-
cidas em qualquer momento t até à maturidade T , em contraste com as
opções europeias cujo exercício só é possível na maturidade. Portanto, o
estudo destas opções não só tem de ter em conta a determinação do valor
da opção mas também a determinação do melhor momento para o seu exer-
cício. Esta situação gera um problema conhecido por problema de fronteira
livre. Tipicamente, em cada instante t ≤ T existe um valor do activo, que
se denota por Sf (t) , que separa duas regiões: uma em que a opção deve ser
mantida e outra em que deve ser exercida. Este valor não é conhecido a priori
o que leva a que a que não se saiba a priori onde colocar as condições de
fronteira, enquadrando-se numa classe de problemas cujo exemplo canónico
é o do problema do obstáculo que referiremos adiante.
P (S, t) ≥ max (K − S, 0) ,
C (S, t) ≥ max (S − K, 0) .
87
88 CAPÍTULO 5. OPÇÕES AMERICANAS
sendo
P (S, t) > max {K − S, 0} se S > Sf (t)
P (S, t) = K − S
∂ (K − S) 1 2 2 ∂ 2 (K − S) ∂ (K − S)
+ σ S 2
+ rS − r (K − S)
∂t 2 ∂S ∂S
= 0 + 0 − rS − r (K − S)
= −rK < 0
5.1. O PROBLEMA DE FRONTEIRA LIVRE E AS OPÇÕES AMERICANAS89
Figura 5.1: A curva a traço grosso refere-se ao valor de uma put americana
no período anterior ao exercício, em comparação com o valor de uma put
europeia no mesmo período (abaixo e em traço fino).
P (S (T ) , T ) = max {K − S (T ) , 0}
- de fronteira
lim P (S, t) = 0, ∀t ∈ [0, T ]
S→∞
0.7
0.6
0.5
0.4
0.3
0.2
0.1
-1 -0.5 0.5 1
Figura 5.2: Esta figura reproduz o exemplo de uma corda em equilíbrio com
obstáculo em que os extremos da corda estão ligados nos pontos (−1, 0) e
(1, 0) e o obstáculo é descrito pela função f (x) = −α(x − a)2 + h.
u (x) = f (x) , se A ≤ x ≤ B
u00 (x) = 0, se − 1 < x < A ou B < x < 1.
u (−1) = 0 = u (1)
u00 (x) = 0, se − 1 < x < A ou B < x < 1
u (x) = f (x) , se A ≤ x ≤ B
u0 (A) = f 0 (A)
u0 (B) = f 0 (B) .
É sabido da teoria de problemas de fronteira livre que para cada função f (x)
de tipo dado, a solução u (x) e A e B existem e são únicos. Quanto à sua
determinação exacta, em geral, só é possível para exemplos de f (x) muito
simples, pelo que se recorre à sua determinação numérica. Esta, sendo já
complicada, pode, contudo tornar-se ainda mais difícil se f 00 não for sempre
inferior ou igual a zero, pois isso significa que podem existir várias regiões de
contacto. De qualquer modo, do ponto de vista numérico, o maior problema
com fronteiras livres advém do facto de não estas serem conhecidas a priori.
De entre as várias estratégias possíveis, utizaremos o método envolvendo
problemas lineares de complementaridade. Trata-se de um dos modos de
reduzir o problema a um problema de fronteira fixa do qual se pode derivar
a fronteira livre posteriormente.
Um outro método consiste na utilização de resultados teóricos de Análise
Funcional, mais precisamente na formulação do problema em termos de de-
sigualdades variacionais, assentando a resolução na minimização de um fun-
cional energia adequado num conjunto convexo de funções. Esta abordagem
não será contudo feita neste texto,
u00 (u − f ) = 0, −u00 ≥ 0, (u − f ) ≥ 0
sob as condições
τ 1
t=T − 1 2 ou, reciprocamente, τ = σ 2 (T − t)
2σ
2
C (S, t)
P = K · v (x, τ ) v=
K
94 CAPÍTULO 5. OPÇÕES AMERICANAS
Em consequência temos
∂P ∂v dτ ∂v 1 2
= K· = −K · σ
∂t ∂τ dt ∂τ 2
∂P ∂v dx ∂v 1
= K· =K· ·
∂S ∂x dS ∂x S
µ 2 ¶ µ 2 ¶
∂2P ∂ v dx 1 ∂v 1 ∂ v 1 ∂v 1
= K· · · − · = K · · − · .
∂S 2 ∂x2 dS S ∂x S 2 ∂x2 S 2 ∂x S 2
A equação ficará, após substituição,
µ ¶
∂v 1 2 1 2 2 ∂2v 1 ∂v 1
−K · σ + σ S K· · − · +
∂τ 2 2 ∂x2 S 2 ∂x S 2
∂v 1
+ (r − D0 ) S K · · − rKv = 0,
∂x S
ou seja,
1 ∂v 1 2 ∂ 2 v 1 2 ∂v ∂v
− σ2 + σ · 2− σ · + (r − D0 ) · − rv = 0,
2 ∂τ 2 ∂x 2 ∂x ∂x
ou ainda
∂v ∂2v ∂v (r − D0 ) ∂v r
− 2+ − 1 2 · + 1 2 v = 0,
∂τ ∂x ∂x 2σ
∂x 2σ
o que pode escrever-se
à !
∂v ∂2v (r − D0 ) ∂v r
− 2+ 1− 1 2 · + 1 2 v = 0.
∂τ ∂x 2σ
∂x 2σ
Se definirmos as quantidades
r (r − D0 )
k1 = 1 2 e k2 = 1 2
2σ 2σ
donde
v (x, 0) = max {1 − ex , 0} . (5.6)
Quanto à condição de fronteira (5.4), a primeira mudança de variáveis
leva a que P (S, t) se escreva como
à !
x τ
P Ke , T − 1 2 .
2σ
S −→ ∞ ⇐⇒ Kex −→ ∞ ⇐⇒ x −→ ∞
donde à !
x τ
lim P Ke , T − 1 2 =0
2σ
x→∞
Façamos
v (x, τ ) = eα·x+β·r · u (x, τ ) (5.8)
onde α e β serão escolhidos posteriormente de forma adequada. Então
∂v ∂u
= β · eα·x+β·r · u (x, τ ) + eα·x+β·r
∂τ ∂τ
µ ¶
α·x+β·r ∂u
= e β · u (x, τ ) +
∂τ
e
∂v ∂u
= α · eα·x+β·r · u (x, τ ) + eα·x+β·r
∂x ∂x
µ ¶
α·x+β·r ∂u
= e α · u (x, τ ) +
∂x
donde se calcula a segunda derivada
∂2v ∂u
= α2 · eα·x+β·r · u (x, τ ) + α · eα·x+β·r · +
∂x2 ∂x
∂u ∂2u
+α · eα·x+β·r · + eα·x+β·r · 2
∂x ∂x
96 CAPÍTULO 5. OPÇÕES AMERICANAS
α2 + (k2 − 1) · α − k1 − β = 0
2α + (k2 − 1) = 0
∂u ∂2u
=
∂τ ∂x2
Na condição (5.6), dividamos ambos os membros por
1
e− 2 (k2 −1)x .
Obtemos
1
n 1 1
o
e 2 (k2 −1)x · v (x, 0) = max e 2 (k2 −1)x − e 2 (k2 −1)x · ex , 0
5.2. PROBLEMA DO OBSTÁCULO E AS OPÇÕES AMERICANAS 97
e, visto que
1
e 2 (k2 −1)x · v (x, 0) = u (x, 0) ,
teremos
n 1 1
o
u (x, 0) = max e 2 (k2 −1)x − e 2 (k2 +1)x , 0 .
se e só se
1 1 1 1
k2 x − x ≥ k2 x + x
2 2 2 2
logo,
1 1
− x≥ x
2 2
o que se verifica se e só se
x ≤ 0.
P (S, t) ≥ max {K − S, 0}
dá origem a
1 2
n 1 1
o
u (x, τ ) ≥ e 4 ((k2 −1) +4k1 )τ
max e 2 (k2 −1)x − e 2 (k2 +1)x , 0
98 CAPÍTULO 5. OPÇÕES AMERICANAS
³ ´
τ
1 1 2
P Kex , T − 1 2
σ
= e 2 (k2 −1)x+( 4 (k2 −1) +k1 )τ 2
K
1 1 2 max {K − Kex , 0}
≥ e 2 (k2 −1)x+( 4 (k2 −1) +k1 )τ
K
1 1 2
= e 2 (k2 −1)x+( 4 (k2 −1) +k1 )τ
max {1 − ex , 0}
1 1 2
n 1 1
o
= e 2 (k2 −1)x+( 4 (k2 −1) +k1 )τ
max e 2 (k2 −1)x − e 2 (k2 +1)x , 0 .
u (x, τ ) − g (x, τ ) ≥ 0,
u (x, 0) = g (x, 0) ,
∂u ∂g
u (x, τ ) e (x, τ ) têm a mesma regularidade de g (x, τ ) e (x, τ )
∂x ∂x
1 2
u (x, τ ) ≥ e 4 ((k2 −1) +4k1 )τ
u (x, 0) ,
lim u (x, τ ) = 0.
x→−∞
(u (x, τ ) − g (x, τ )) ≥ 0
com as condições inicial, fixa e de fronteira livre
u (x, 0) = g (x, 0) ,
∂u ∂g
u (x, τ ) e (x, τ ) têm a mesma regularidade de g (x, τ ) e (x, τ )
∂x ∂x
sendo que o “obstáculo”, isto é, a restrição payoff é dada para a call option
pela função
1 2
n 1 1
o
g (x, τ ) = e 4 ((k2 −1) +4k1 )τ max e 2 (k2 +1)x − e 2 (k2 −1)x , 0 .
100 CAPÍTULO 5. OPÇÕES AMERICANAS
u (x, τ ) − g (x, τ ) ≥ 0
µ ¶
∂u ∂ 2 u
− 2 · (u (x, τ ) − g (x, τ )) = 0
∂τ ∂x
- a função g (x, τ ) depende da opção considerada de acordo com os casos
seguintes:
1. Put.
µ ³ ´ ¶ n 1 o
1 2 1
g (x, τ ) = exp (k2 − 1) + 4k1 τ ·max e 2 (k2 −1)x − e 2 (k2 +1)x , 0
4
2. Call.
µ ³ ´ ¶ n 1 o
1 2 1
g (x, τ ) = exp (k2 − 1) + 4k1 τ ·max e 2 (k2 +1)x − e 2 (k2 −1)x , 0
4
u (x, 0) = g (x, 0)
As seguintes funções são contínuas:
u (x, τ )
∂u
(x, τ )
∂x
g (x, τ )
∂g
(x, τ )
∂x
5.2. PROBLEMA DO OBSTÁCULO E AS OPÇÕES AMERICANAS 101
u (X (τ ) , τ ) = g (X (τ ) , τ )
102 CAPÍTULO 5. OPÇÕES AMERICANAS
Capítulo 6
Modelo binomial
6.1 Introdução
Nos modelos estudados anteriormente, o preço S de um activo era consi-
derado como uma função contínua do tempo. Porém, dita a prática que
este preço S somente é registado de forma discreta, isto é, em certas datas
correspondentes a certos intervalos de tempo. Este facto permite encarar
o problema sob outro ponto de vista, considerando a variação de S não é
contínua mas sim discreta e manifestando-se através dos valores observáveis,
necessariamente em número finito. Estes valores, designados por
103
104 CAPÍTULO 6. MODELO BINOMIAL
6.2.1 Determinação de p, u e d
Uma vez que estamos a assumir que a taxa de juro r representa a remunera-
ção do capital livre de risco, podemos dizer que para cada valor possível do
instante m · δt, genericamente designado por Sm , o valor esperado do activo
no instante seguinte (m + 1) · δt é igual a
Sm · erδt
E[Sm+1 ] = Sm · erδt = p · Sm · u + (1 − p) · Sm · d
6.2. MODELO BINOMIAL 105
ou seja,
er·δt = p · u + (1 − p) · d
erδt − d
p= (6.1)
u−d
sendo necessário tomar em conta outras equações para encontrar os valores
de u e d.
De acordo com o modelo browniano geométrico subjacente a variável
aleatória µ ¶
S (t + h)
log
S (t)
segue uma distribuição normal com variância igual a σ 2 h, sendo σ a volati-
lidade do activo (vd. Hull [4]). No caso vertente,
logo µ ¶
Sm+1
log
Sm
segue uma distribuição normal com variância σ 2 δt. Por outro lado, uma vez
que a diferença Sm+1 − Sm é pequena, pela fórmula de Taylor,
µ ¶
Sm+1 1
log = log (Sm+1 ) − log (Sm ) ≈ (Sm+1 − Sm ) (6.2)
Sm Sm
⎧
⎪ u · Sm − Sm
⎪
⎪ =u−1
⎪
⎪ Sm
⎪
⎪
⎪
⎨
1
(Sm+1 − Sm ) = ou (6.3)
Sm ⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎩ d · Sm − Sm = d − 1
⎪
Sm
A variável aleatória cujos valores são u − 1 e d − 1, com probabilidades p
e 1−p também tem variância σ 2 δt. O mesmo sucede à variável aleatória que
toma os valores u e d, com as correspondentes probabilidades. Atendendo a
que a variância de uma variável aleatória X é calculável por
£ ¤
Var [X] = E X 2 − E [X]2 ,
106 CAPÍTULO 6. MODELO BINOMIAL
podemos escrever
p · u2 + (1 − p) · d2 − [p · u + (1 − p) · d]2 = σ 2 δt.
ou seja,
S · u2 · d = S · u (6.10)
S.u^
S.u^2
S.u
S S
S.d
S.d^2
S · u5
S · u4
S · u3 S · u3
S · u2 S · u2
S·u S·u S·u
S S S
S·d S·d S·d
S · d2 S · d2
S · d3 S · d3
S · d4
S · d5
conforme a representação das tabelas 6.1 e 6.2. Nós podemos chamar triân-
gulo dos preços futuros a qualquer destas "matrizes".
Designamos qualquer um dos triângulos dos preços futuros por hSm,n ].
Designamos genericamente por Sm,n o elemento deste triângulo que se situa
na coluna m e na linha n desta coluna, n ≤ m. Pela observação da estrutura
0 1 2 3 4 5
S · u5 5
S · u4 S · u3 4
S · u3 S · u2 S·u 3
S · u2 S·u S S·d 2
S·u S S·d S · d2 S · d3 1
S S·d S · d2 S · d3 S · d4 S · d5 0
isto é, ⎧
⎪ 2n−m , se 2n > m
⎨ S·u
Sm,n = (6.14)
⎪
⎩
S · dm−2n , se 2n ≤ m
Esta expressão mostra que no caso de haver mais subidas do que descidas
apenas conta o número de subidas que excede o número de descidas. Recip-
rocamente, no caso de haver mais descidas do que subidas apenas conta
o número de descidas que excede o número de subidas. Obviamente, se o
número for igual, o valor do activo mantém-se. A árvore seguinte esquema-
tiza o que acabámos de dizer.
0 1 2 3 4 5
V5,5 5
V4,4 V5,4 4
V3,3 V4,3 V5,3 3
V2,2 V3,2 V4,2 V5,2 2
V1,1 V2,1 V3,1 V4,1 V5,1 1
V0,0 V1,0 V2,0 V3,0 V4,0 V5,0 0
Tabela 6.3: Triângulo dos valores da opção apresentado sob a forma de triân-
gulo rectângulo. Os valores irão sendo calculados da direita para a esquerda
através da fórmula iterativa conveniente para cada caso. O resultado final
do cálculo é V0,0 , valor da opção na data de início do contrato, t = 0.
max {K − ST , 0}
Dado que
E[Vm+1,k ] = p · Vm+1,n+1 + (1 − p) · Vm+1,n
ou seja,
erδt · Vm,n = p · Vm+1,n+1 + (1 − p) · Vm+1,n
obtem-se
Vm,n = e−rδt · (p · Vm+1,n+1 + (1 − p) · Vm+1,n ) . (6.18)
Esta igualdade permite calcular o valor da opção no instante m a partir
dos dois valores correspondentes no instante m + 1. Deste modo, recuando
no triângulo podemos obter os possíveis valores da opção em cada instante
T − m · δt até ao valor no instante inicial.
6.3.1 Algoritmo
Resumindo o procedimento enunciado temos a executar os seguintes passos.
Sejam dadas as seguintes quantidades:
S, σ, T, K, r, M
Sm,n = S · un · dm−n
6.3. OPÇÕES EUROPEIAS 113
SM,n , n = 0, 1, ..., M
com n = 0, ..., M .
Exemplo
Vamos apresentar um exemplo com uma call europeia com prazo de maturi-
dade de 0, 5 meses, M = 5, S = 10 euros, r = 12%, σ = 0, 5. Com estes
valores podem calcular-se os parâmetros necessários a este cálculo, isto é,
T S r σ M K
0, 0417 10 0, 12 0, 5 5 10
δt u d p e−r·δt
0, 0083 1, 0467 0, 9554 0, 4995 0, 9990
Começamos com o triângulo dos preços futuros, Tabela 6.4. Dado que
necessitamos apenas da última coluna esta poderia ter sido calculada direc-
tamente pela fórmula
SM,n = S · un · dM−n
114 CAPÍTULO 6. MODELO BINOMIAL
12, 5636
12, 0030 11, 4675
11, 4675 10, 9558 10, 4670
10, 9558 10, 4670 10, 000 9, 5538
10, 4670 10, 0000 9, 5538 9, 1276 8, 7203
10, 0000 9, 5538 9, 1276 8, 7203 8, 3312 7, 9595
2, 5636
2, 0130 1, 4675
1, 4875 0, 9658 0, 4670
1, 0415 0, 5985 0, 2331 0, 0000
0, 6982 0, 3568 0, 1163 0, 0000 0, 0000
0, 4520 0, 2071 0, 0580 0, 0000 0, 0000 0, 0000
Tabela 6.5: Triângulo dos valores ou payoff da call. A última coluna calcula-
se pela fórmula (6.20) e as restantes, da direita para esquerda, pela aplicação
sucessiva da fórmula (6.21), até chegar ao vértice onde se encontra o valor
da opção no início do contrato.
S + P − C = K · exp (−rT )
ou seja
10 + 0, 4021 − 0, 4520 = 10 × exp (−0, 12 × 0, 0417)
ou
9, 9501 = 9, 9501
0, 0000 5
0, 0000 0, 0000 4
0, 0000 0, 0000 0, 0000 3
0, 0558 0, 1115 0, 2231 0, 4462 2
0, 1913 0, 3269 0, 5425 0, 8624 1, 2797 1
0, 4021 0, 6134 0, 9005 1, 2597 1, 6588 2, 0405 0
Solução Binomial
T (meses) exacta M = 16 M = 32 M = 64 M = 128 M = 256
1 4, 9005 4, 9005 4, 9005 4, 9005 4, 9005 4, 9005
3 4, 7066 4, 7060 4, 7062 4, 7063 4, 7065 4, 7065
6 4, 4526 4, 4472 4, 4519 4, 4516 4, 4520 4, 4525
9 4, 2465 4, 2394 4, 2461 4, 2461 4, 2451 4, 2462
12 4, 0733 4, 0691 4, 0665 4, 0734 4, 0722 4, 0724
Tabela 6.7: Tabela com os valores de uma put europeia calculados pelo
método binomial, usando um número variado M de intervalos. Usou-se o
programa Bin.europ. A solução encontrada por este método é comparada
com a solução exacta. Valores: K = 10, S = 5, r = 0, 12, σ = 0, 5.
Comparar também os resultados obtidos com Wilmott [10], pág. 394.
obtidos podem ser comparados com os valores exactos obtidos pela fórmula
das opções europeias. Com esta e com Bin_europ se pode escrever a tabela
6.7.
SM,n = S · un · dM−n
u d d u d
Porém, este valor pode ser comparado com o payoff nesse instante
K − Sm,n
uma vez que este payoff pode realizado visto que o tomador pode exercer a
opção. Assim, o valor da put americana é a maior quantidade entre
ou seja,
n o
Pm,n = max K − Sm,n , e−rδt · (pPm+1,n + (1 − p) Pm+1,n+1 ) (6.24)
6.4.1 Algoritmo
Resumindo o procedimento enunciado temos a executar os seguintes passos.
Sejam dadas as seguintes quantidades:
S, σ, T, K, r, M
1. Divisão do intervalo [0, T ] em M subintervalos, sendo T expresso em
anos. Cálculo dos parâmetros
T
δt =
M√
u = eσ δt
√
d = e−σ δt (6.26)
erδt − d
p =
u−d
2. Construção do triângulo dos preços futuros Sm,n , a partir do preço
inicial S0,0 = S segundo a fórmula 6.11:
Sm,n = S · un · dm−n
prosseguindo até ao cálculo da última coluna dos M + 1 valores na
data T da maturidade:
SM,n , n = 0, 1, ..., M
Introdução ao Método de
Monte Carlo
7.1 Introdução
1
Ver Apêndice. Para esclarecimento de questões probabilísticas subjacentes, consultar
Hogg, R. V. e A. Tanis [3]; Murteira [5]; Taha [7].
121
122 CAPÍTULO 7. INTRODUÇÃO AO MÉTODO DE MONTE CARLO
C = {(x, y) ∈ R2 : x2 + y 2 ≤ 1}.
C ∗ = {(x, y) ∈ C : x ≥ 0 , y ≥ 0}.
Q = {(x, y) ∈ R2 : 0 ≤ x ≤ 1 , 0 ≤ y ≤ 1}
de pontos de Q.
Esta sequência finita é uma amostra dos pontos do quadrado. De en-
tre os pontos gerados, s pontos pertencem ao quarto de círculo C ∗ , isto é,
satisfazem à condição
(xj )2 + (yj )2 ≤ 1,
enquanto os restantes n − s não pertencem a C ∗ . A aplicação do método de
Monte Carlo baseia-se na assunção de que o quociente
s
n
n−s
é proporcional à área de C ∗ , enquanto que o quociente é proporcional
∗
n
à área da região complementar Q r C . No caso presente, uma vez que a
s
área de Q é igual 1, então será igual, melhor, aproximadamente igual, à
∗
n
área de C . Na Tabela 7.1 apresentam-se estimativas da área do quarto de
círculo calculadas pelo programa AreaCirculo.
Naturalmente que não podemos esperar que este método dê um valor
“exacto”, entendido este como correspondendo a um número fixado de casas
decimais exactas que se obtêm com a fórmula 14 πr2 . Sendo assim, é indis-
pensável estimar o erro cometido
Em todo o caso, veremos mais adiante que, lidando com probabilidades,
poderemos usar o método de Monte Carlo de outra maneira, obtendo assim
um valor aproximado e uma estimativa do erro.
mente pelo gráfico da função y = x. Pelo cálculo clássico, o valor desta área
é o valor do integral
Z 1 ¯1
x2 ¯¯ 1
xdx = ¯ =2
0 2 0
Por outro lado, consideremos a variável aleatória uniforme U no espaço
amostral [0, 1], U ∼ U[0,1] . A sua função densidade é f (u) , assim definida:
⎧
⎪
⎨ 0 se − ∞ < u < 0
f (u) = 1 se 0 ≤ u ≤ 1 (7.1)
⎪
⎩
0 se 1 < u < +∞.
Caso mais geral Do que vimos anteriormente, podemos intuir que a área
limitada pelo gráfico de uma função y(x), não negativa, pelo eixo dos xx e
pelas rectas x = 0 e x = 1, que, como sabemos, é calculável pelo integral
definido Z 1
y(x)dx,
0
pode também ser encarada como o valor esperado de uma função Y (U ) da
variável aleatória U ∼ U[0,1] , isto é,
Z +∞ Z 1
E[Y (U )] = y(u)f (u)du = y(u) du.
−∞ 0
θ = E[y(X)]
126 CAPÍTULO 7. INTRODUÇÃO AO MÉTODO DE MONTE CARLO
onde X é uma variável aleatória, y uma função mensurável tal que E[|y(X)|] <
+∞.
Seja X1 , X2 , . . . , Xn uma amostra da variável aleatória X, de variáveis
mutuamente independentes e identicamente distribuídas (i.i.d.) com X, de
valor médio μ e variância σ 2 6= 0 (finitos) ou seja
para cada i = 1, 2, . . . , n.
Seja y uma função mensurável e consideremos
y (X1 ) + y (X2 ) + . . . + y (Xn )
Y ≡ Yn =
n
n
1 X¡ ¢2
σ 2n = y (Xi ) − Y .
n−1
i=1
Tem-se que:
x1 , x2 , . . . , xn .
y (xi ) .
• Calcula-se
y (x1 ) + y (x2 ) + . . . + y (xn )
y= .
n
Pelo que foi visto anteriormente Y é um bom estimador de E[y(X)].
e a variância é
Z 1
σ 2
= (u − μ)2 · f (u) du
0
Z 1µ ¶2 µ ¶ #1
1 1 1 3 1
= u− du = u− = .
0 2 3 2 12
0
isto é,
Z b
P [a ≤ U ≤ b] = du = b − a,
a
σ 2U 1
• a variância de U é σ 2U = = visto que
n 12 · n
¡ ¢ 1
σ 2U = Var U = 2 Var (U1 + U2 + · · · + Un )
n
n
1 X 1 n 1
= 2
Var [Ui ] = 2 · = ;
n n 12 12 · n
i=1
Logo,
Erro
Dimensão Monte Carlo absoluto
100 0, 49481 0, 00519
500 0, 49749 0, 00251
1000 0, 50042 0, 00042
1
Ū = (U1 + U2 + · · · + Un ) ,
n
em que Ui ∼ U[0,1] , i = 1, ..., n.
A Tabela 7.2 contém os valores aproximados da área do triângulo se-
gundo a dimensão n da amostra.
sendo q
Yi = Y (Ui ) = 1 − (Ui )2
Y1 + Y2 + · · · + Yn
Ȳ = .
n
donde √
1 2
S (T ) = S (0) · e[r− 2 σ ]T ·σZ T
.
gerar Zi ³£ ¤ √ ´
calcular Si (T ) = S (0) · exp r − 12 σ 2 T ∗ σZi T
calcular Ci = e−rT (S (T ) − K)+
..
··· .
C1 + C2 + · · · + Cn
calcular C=
n
Este algoritmo é executado no programa MC_Calleurop, para uma call
a 3 ou 6 meses (0, 25 ou 0, 5 do ano). Os resultados estão na Tabela 7.4.
Φ (zα ) = 1 − α,
α = 0, 05 e zα/2 = 1, 96,
µ ¸ ∙¶
σn σn
P C ∈ C − 1, 96 √ , C + 1, 96 √ = 0, 95.
n n
Ou, analogamente, para
α = 0, 0027 e zα/2 = 3,
µ ¸ ∙¶
νn νn
P C ∈ C − 3√ , C + 3√ = 0, 9973.
n n
Vd. por exemplo Glasserman [2], p. 5.
ou seja √
1 2
S (t) = S (0) · e[r− 2 σ ]t·σZ t
(7.4)
sendo
√
t · Z = W (t) em que Z ∼ N (0, 1).
Considere-se a média
m
1 X
S̄ = S (tj ) .
m
j=1
1 2 √
S (t2 ) = S (t1 ) · e[r− 2 σ ](t2 −t1 )+σZ t2 −t1
1 2 √
S (t3 ) = S (t2 ) · e[r− 2 σ ](t3 −t2 )+σZ t3 −t2
(7.5)
..
.
1 2
√
S (tj+1 ) = S (tj ) · e[r− 2 σ ](tj+1 −tj )+σZ tj+1 −tj
..
.
7.5. OPÇÕES FINANCEIRAS 135
(d) Escrever
© ª
Vi = e−rT · max S̄ − K, 0
Calcular a média
V1 + V2 + · · · + Vn
V = .
n
A obtenção do intervalo de confiança correspondente faz-se da forma habi-
tual.
Vejamos uma ilustração deste algoritmo. A Figura 7.3 mostra uma tra-
jectória possível representando a evolução do activo cuja dinâmica é dada
por
√
dS = S · (rdt + σ dtZ), (7.6)
Para efeito do cálculo do payoff não basta o preço do activo na data da ma-
turidade da opção, é preciso ter em conta o preço nestas datas de referência,
isto é, acompanhar a trajectória (representada na Figura 7.4).
O algoritmo 1 irá calcular uma trajectória de cada vez e determinar o
payoff correspondente a esta trajectória. Construindo-se n payoffs faz-se
depois a média destes valores, na parte 2 do algoritmo.
7.6 Conclusão
Pelas ilustrações anteriores, vemos que o método de Monte Carlo pode
fornecer valores aproximados da solução de certos problemas de que não
se conhece solução analítica, ou forma fechada, o que põe em evidência a
sua utilidade, nomeadamente em questões financeiras.
Contudo, o método de MC tem limitações, algumas dos quais já apare-
ceram neste capítulo. A aplicação do método assenta na possibilidade de
gerar uma amostra
z1 , z2 , ...zn ,
7.6. CONCLUSÃO 137
Figura 7.4: Representação de S(t1 ), S(t2 ), S(t3 ), S(t4 ), S(t5 ), S(t6 ), S(t7 ), S(t8 ),
S(t9 ), S(t10 ), em duas trajectórias discretas, ligados por segmentos de recta.
sendo
zi − m
zi0 =.
s
Para tratar esta questão existem testes que medem a imperfeição da
amostra em relação à situação ideal, por exemplo o conhecido teste de
Kolmogorov-Smirnov.
H1 : F̂ (x) 6= Φ (x) .
Note-se que
© ª
Dn = max (Dn )+ , (Dn )− .
Séries Pseudo-Aleatórias
139
140 CAPÍTULO 8. SÉRIES PSEUDO-ALEATÓRIAS
i xi inteiro 0 ≤ ui < 1
0 130 0.003967
1 10982 0.335154
2 1090 0.033265
3 11656 0.355724
4 7117 0.217200
5 17595 0.536973
6 6415 0.195776
7 22948 0.700339
8 31126 0.949919
9 9004 0.274789
10 14558 0.444288
11 3571 0.108982
12 22879 0.698233
13 18492 0.564348
14 1360 0.041505
• q, o quociente; e
x = m · q + r. (8.1)
Se r = 0 diremos que a divisão é inteira ou que x é divisível por m. Em
C++ existe um operador, designado por %, que determina directamente o
resto da divisão de dois números inteiros:
x%m.
Fixemos um número m > 0 a que chamamos módulo m.
Sejam x e y dois números inteiros. Diremos que x é congruente com y
(módulo m) se a diferença x − y for divisível por m.
Esta definição é equivalente a outra. Por (8.1) teremos
x = m·q+r
y = m · q0 + r0
x = m×q+r
y = m × q 0 + r0
z = m × q 00 + r00 .
1. Associativa
2. Comutativa
3. O zero é neutro
x + x0 ≡ 0 (mod m)
1. Associativa
2. Comutativa
8.1. GERADOR DE NÚMEROS ALEATÓRIOS 143
3. O 1 é neutro
xi+1 ≡ a · xi + c (mod m)
• Se c = 0,
1. x0 6= 0;
144 CAPÍTULO 8. SÉRIES PSEUDO-ALEATÓRIAS
i xi inteiro 0 ≤ ui ≤ 1 i xi inteiro 0 ≤ ui ≤ 1
0 3 0, 1875 10 10 0, 625
1 15 0, 9375 11 16 1
2 7 0, 4375 12 12 0, 75
3 1 0, 0625 13 9 0, 5625
4 5 0, 3125 14 11 0, 6875
5 8 0, 5 15 4 0, 25
6 6 0, 375 16 3 0,1875
7 13 0, 8125 17 15 0,9375
8 14 0, 875 18 7 0,4375
9 2 0, 125 19 1 0,0625
2. am−1 é múltiplo de m;
3. aj − 1 não é múltiplo de m, para j = 1, 2, . . . , m − 2.
srand(unsigned int n)
1, 2, 3, 4, 5, . . . , Rm = 32.767
C0 , C1 , C2 , . . . , C6
cada uma destas classes contém 4681 valores da sequência. Recordemos que
dado o inteiro x, com 1 ≤ x ≤ Rm , x pertence à classe Ck se o resto da
divisão de x por 7 der k, isto é,
x%7 = k.
donde
£ ¤
P F −1 (U ) ≤ x = F (x).
.
O resultado anterior pode ser sempre aplicado nos intervalos em que F seja
estritamente crescente. Ou então poderemos utilizar uma formulação mais
geral da proposição anterior. Com efeito, se F (x) não for estritamente
crescente, o resultado permanece válido se considerarmos para cada x ∈ [0, 1]
X = F −1 (U )
em que U é a v. a. uniforme.
Este resultado permite construir o seguinte algoritmo.
148 CAPÍTULO 8. SÉRIES PSEUDO-ALEATÓRIAS
Algoritmo
1. Gerar n números pseudo-aleatórios seguindo a distribuição uniforme:
u1 , u2 , u3 , . . . , un
2. Calcular os valores
x1 = F −1 (u1 ) , x2 = F −1 (u2 ) , x3 = F −1 (u3 ) , . . . , xn = F −1 (un )
3. A amostra
x1 , x2 , x3 , . . . , xn
é uma amostra aleatória simulada da população X.
1. Sejam as constantes:
149
150 CAPÍTULO 9. VECTORES ALEATÓRIOS NORMAIS
Φ (x) = 1 − Φ (−x) .
X = (X1 , X2 , . . . , Xn ) .
F (x, y) = P [X ≤ x, Y ≤ y] .
[−∞, x] × [−∞, y] .
1 − x2 +y2 1 x2 1 y2
e 2 = √ e− 2 × √ e− 2
2π 2π 2π
então,
Z x Z y
1 x2 1 y2
F (x, y) = √ e− 2 dx × √ e− 2 dy,
−∞ 2π −∞ 2π
R = X 2 + Y 2.
r
P [R ≤ r] = 1 − e− 2 , r ≥ 0.
9.2. GERAÇÃO DE VECTORES ALEATÓRIOS NORMAIS 153
Com efeito
£ ¤
FR (r) = P [R ≤ r] = P X 2 + Y 2 ≤ r
h √ √ p p i
= P − r ≤ X ≤ r , − r − X2 ≤ Y ≤ r − X2
Z √ ÃZ √ !
r r−x2
1 − x2 +y2
= √ √ e 2 dy dx
− r − r−x2 2π
Z √r ÃZ √r−x2 !
1 − x2 +y2
= 4 e 2 dy dx
0 0 2π
Z π µZ r ¶
2 1 −R
= 4 e 2 dR dV
0 0 4π
1 π³ r
´
= 4 −2e− 2 + 2
4π 2
r
= 1 − e− 2 .
Estes factos são suficientes para criar o algoritmo seguinte que gera vec-
tores pseudo aleatórios normais de dimensão 2.
2. Escrever r = −2 ln (u1 ) .
4. Escrever v = 2π · u2 .
√ √
5. Considerar x = r · cos (v) e y = r · sin (v) .
onde
Z +∞ Z +∞ ¡ ¢
σ ij = Cov (Xi , Xj ) = ··· (xi − μi ) · xj − μj · f (x) dx
−∞ −∞
e, analogamente a (9.1),
1 S
− 12 (x−μ)T −1 (x−μ)
f (x) = e , x =(x1 , ..., xn ) ∈ Rn . (9.3)
(2π)(det Σ)1/2
Tem-se
σ ij = σ ji e σ 2i = V ar(Xi ).
Se as variáveis (X1 , X2 , . . . , Xn ) forem mutuamente independentes então
logo,
Cov (Xi , Xj ) = 0, i 6= j
e nesse caso a matriz das covariâncias assume a forma
⎡ ⎤
σ 21 0 ··· 0
⎢ ⎥
⎢ 0 σ 22 · · · 0 ⎥
Σ=⎢ ⎢ ..
⎥
⎥
⎣ ··· ··· . ··· ⎦
0 0 ··· σ 2n
Se as variáveis tiverem variâncias unitárias
⎡ ⎤
1 0 ··· 0
⎢ ⎥
⎢ 0 1 ··· 0 ⎥
Σ=I=⎢ ⎢ ..
⎥.
⎥
⎣ ··· ··· . ··· ⎦
0 0 ··· 1
9.2. GERAÇÃO DE VECTORES ALEATÓRIOS NORMAIS 155
o que conduz a uma solução. Com efeito, do produto das duas matrizes
obtem-se o sistema
A211 = Σ11
A21 A11 = Σ21
..
.
A2n1 + A2n2 + · · · + A2nn = Σnn
Apêndice
Convergência em distribuição
Seja F1 , F2 , ..., Fn ,...uma sucessão de funções distribuição correspon-
dentes a variáveis aleatórias X1 , X2 , ... Xn ,... e seja F a função distribuição
da variável aleatória X. Diz-se que a sucessão Xn converge para X em
distribuição quando
lim Fn (x) = F (x)
x→∞
nos pontos x em que F é contínua.
d •
Notação: Xn −→ X ou Xn ∼ X
Convergência em probabilidade
Diz-se que uma sucessão de variáveis aleatórias Xn converge para uma
variável aleatória X em probabilidade quando
157
158 APÊNDICE A. APÊNDICE
E [Xi ] = μ, ∀i ∈ N
X1 + X2 + . . . + Xn − nμ ·
Zn = √ ∼ N (0, 1).
σ n
.
X −μ d
−→ N (0, 1),
√σ
n
X −μ ·
∼ N (0, 1)
√σ
n
X1 +X2 +...+Xn
onde X = n .
X −μ d
σn −→ N (0, 1).
√
n
.
160 APÊNDICE A. APÊNDICE
Apêndice B
Bibliografia
.
[1] Bjork, Tomas, Arbitrage Theory in Continuous Time, Oxford Uni-
versity Press, 2nd edition, 2004.
[2] Glasserman, Paul. Monte Carlo Methods in Financial Engineering-
Stochastic Modelling and Applied Probability. Springer 2003.
[3] Hogg, R. V. e A. Tanis. Probability and statistical inference, 7th
edition, Prentice-Hall 2005.
[4] Hull, John. Options, Futures & Other Derivatives. 7th Edition Pa-
perback, Prentice Hall of India, 2008
[5] Murteira, Bento (1999). Probabilidades e Estatística, volume I, 2a
edição revista, McGraw-Hill.
[6] Rohatgi, Vijay K. . Statistical Inference. Dover 2003.
[7] Taha, H. A. (2003). Operations research: an introduction, 7th edi-
tion, Prentice-Hall.
[8] Tavella, Domingo. Quantitative Methods in Derivatives Pricing: An
Introduction to Computational Finance. Wiley 2000.
[9] Tavella, Domingo & Randall, Kurt. Pricing Financial Instruments:
The Finite Difference Method. Wiley 2000.
[10] Willmot, Paul, Dewynne, J. & Howison. S. Option Pricing - Math-
ematical models and computation. Oxford Financial Press,1993 (last reprint
1998).
161