Por que Black-Scholes é a equação do calor disfarçada
A afirmação aparece em quase todo livro de finanças quantitativas, quase sempre sem a conta. Aqui está a dedução inteira, sem pular passo, incluindo aquele em que quase todo mundo escorrega.
De onde vem essa equação? Da aplicação do lema de Itô ao preço de uma opção.
Você provavelmente já leu que a equação de Black-Scholes "se reduz à equação do calor por uma mudança de variáveis". É verdade, e conecta um modelo de preço de opção a uma equação que Fourier estudou em 1807 para descrever temperatura numa barra de metal.
O problema é que a frase costuma vir sozinha. O leitor aceita, segue em frente, e fica sem entender o que a transformação de fato faz. É o que esta página resolve, com a conta inteira.
O caminho
- O ponto de partida e o que atrapalha nele
- Primeira substituição, trocar preço por log-preço
- Segunda substituição, inverter o tempo
- Terceira substituição, o passo da regra da cadeia dupla
- O que a equação final está dizendo
- Quando a taxa de juros não é zero
1. O ponto de partida
A equação de Black-Scholes para o preço \( V(S,t) \) de um derivativo, com taxa de juros nula, é esta.
Vamos assumir \( r = 0 \) até a seção 6. Não é preguiça, é pedagogia. A estrutura da transformação fica visível sem o entulho algébrico, e o caso geral aparece no final.
Junto com a equação vem uma condição no fim, não no começo. No vencimento \( T \), o preço é conhecido, porque é o payoff.
Compare com a equação do calor, que é o nosso destino.
Três coisas atrapalham. Existe um \( S^{2} \) multiplicando a segunda derivada, e na equação do calor o coeficiente é constante. O sinal do termo temporal está trocado. E a condição é dada no fim do intervalo, enquanto difusão caminha para frente a partir de uma condição inicial.
O mapa do que vem pela frente
As duas primeiras substituições resolvem esses três problemas. Mas a primeira, ao consertar o \( S^{2} \), cria um problema novo, um termo de arrasto que não existia no ponto de partida. A terceira substituição existe só para matá-lo, e é a mais delicada das três.
2. Primeira substituição, do preço para o log-preço
O \( S^{2} \) aparece porque estamos usando a variável errada. Preço de ativo se move de forma multiplicativa, não aditiva. Uma ação de 10 reais e uma de 1000 não sobem 1 real com a mesma facilidade, mas sobem 1% com facilidade parecida. A variável natural é o logaritmo.
A primeira derivada sai da regra da cadeia, com \( \frac{\partial x}{\partial S} = \frac{1}{S} \).
Para a segunda derivada, precisamos derivar \( \frac{v_x}{S} \) em relação a \( S \). É um quociente, então vem a regra do quociente. Só que o numerador \( v_x \) também depende de \( S \), através de \( x \), e derivá-lo exige aplicar a regra da cadeia de novo, exatamente como fizemos acima.
Agora sim, a regra do quociente.
Substituindo na equação original, o \( S^{2} \) do numerador cancela com o do denominador.
O que ganhamos e o que perdemos
O coeficiente virou constante, e a equação deixou de depender do nível do preço. Em compensação, apareceu um termo que antes não existia, o \( -\tfrac{1}{2}\sigma^{2}v_x \). Ele é o arrasto anunciado na seção 1, e sai na seção 4.
3. Segunda substituição, inverter o tempo
O sinal errado e a condição no fim são o mesmo problema visto de dois ângulos. Ambos somem se você parar de medir o tempo que passou e passar a medir o tempo que falta.
Como \( \frac{d\tau}{dt} = -1 \), a derivada temporal troca de sinal.
O que ganhamos
O sinal está certo e a condição terminal virou condição inicial, porque \( t = T \) corresponde a \( \tau = 0 \). Agora \( w(x,0) = \text{payoff}(e^{x}) \). A equação evolui para frente em \( \tau \), que é para trás no calendário. É a primeira aparição da ideia central, que precificar é difundir o payoff para trás no tempo.
4. Terceira substituição, remover o arrasto
Falta eliminar o \( -\tfrac{1}{2}\sigma^{2}w_x \). Um termo de primeira ordem numa equação de difusão significa que o perfil, além de se espalhar, está andando de lado. A solução é acompanhar o movimento, trocando para um referencial que anda junto.
Atenção, é aqui que quase todo mundo erra
Nas duas substituições anteriores cada variável nova dependia de uma variável velha só. Agora não. O \( \tau \) aparece em dois lugares, no segundo argumento de \( u \) e dentro do próprio \( z \).
Quem escreve \( w_\tau = u_\tau \) e segue em frente perde um termo, e a conta não fecha.
Vamos com calma, sem precisar de cálculo multivariável formal. A notação \( \frac{\partial w}{\partial \tau}\big|_{x} \) significa apenas "variar \( \tau \) mantendo \( x \) parado". Então avance o tempo de \( \tau \) para \( \tau + \Delta\tau \), com \( x \) fixo, e veja o que acontece com os dois argumentos de \( u \).
- O segundo argumento é o próprio \( \tau \), que vira \( \tau + \Delta\tau \).
- O primeiro argumento é \( z = x - \tfrac{1}{2}\sigma^{2}\tau \). Com \( x \) parado, ele vira \( z - \tfrac{1}{2}\sigma^{2}\Delta\tau \).
Os dois se moveram, então \( u \) muda por duas causas somadas. Pela aproximação linear, que é a mesma ideia da derivada de Cálculo 1,
Dividindo por \( \Delta\tau \) e fazendo \( \Delta\tau \to 0 \),
Nas derivadas espaciais não há mistério, porque \( \frac{\partial z}{\partial x} = 1 \).
Levando tudo para a equação do passo anterior.
O termo \( -\tfrac{1}{2}\sigma^{2}u_z \) aparece dos dois lados e vai embora.
Calor puro. Repare no que aconteceu. O termo extra que a mudança de referencial produziu foi exatamente o que cancelou o arrasto. Se você tivesse escrito \( w_\tau = u_\tau \), ele não teria aparecido, e o arrasto ficaria lá para sempre.
5. O que a equação final está dizendo
Juntando as três trocas, a variável final é esta.
E a condição inicial da difusão, em \( \tau = 0 \), é o payoff no vencimento. Ou seja, o preço de uma opção é o seu payoff difundido para trás no tempo. Quanto mais tempo falta para o vencimento, mais a difusão agiu, e mais suave fica o perfil.
Três consequências que saem de graça dessa leitura.
O bico do call derretendo é o valor temporal
No vencimento, o payoff de um call tem um bico em \( S = K \). Difusão detesta bico, e o primeiro efeito dela é arredondar cantos. A distância vertical entre o payoff e a curva de preço, que é o valor temporal da opção, é literalmente o quanto a difusão já suavizou aquele bico.
Só a variância total importa
Na equação, \( \sigma \) e \( \tau \) nunca aparecem separados de verdade. O que governa a solução é o produto \( \sigma^{2}\tau \). Volatilidade de 20% com quatro anos produz exatamente a mesma curva que volatilidade de 40% com um ano. Não é o tempo nem a vol, é a variância acumulada.
Detalhe fino do payoff não sobrevive
Resolvendo por Fourier, cada modo de frequência \( k \) decai como \( e^{-\sigma^{2}k^{2}\tau/2} \). O quadrado no expoente faz as ondas curtas morrerem muito antes das longas. Difusão é um filtro passa-baixa, e é por isso que uma opção com vencimento longo é quase insensível aos detalhes finos do payoff.
Veja acontecendo, em vez de acreditar
Construí um simulador que integra exatamente a equação da caixa acima, \( u_\tau = \tfrac{1}{2}\sigma^{2}u_{zz} \) com \( r = 0 \), por diferenças finitas no navegador. Você escolhe o payoff, arrasta o tempo até o vencimento e vê a difusão precificar a opção, com a fórmula fechada de Black-Scholes sobreposta para conferir que os números coincidem. Gratuito e sem cadastro.
Abrir o laboratório6. Quando a taxa de juros não é zero
Com \( r \neq 0 \), a equação ganha dois termos.
As variáveis mudam de significado aqui
Para chegar à forma mais limpa, o caminho tradicional usa variáveis um pouco diferentes das seções 2 a 5. Para não confundir, vou chamá-las de \( y \) e \( \theta \). Elas não são o \( x \) e o \( \tau \) de antes. O \( y \) traz um \( K \) dentro do logaritmo e o \( \theta \) vem reescalado por \( \tfrac{1}{2}\sigma^{2} \).
Definindo \( k = \dfrac{2r}{\sigma^{2}} \) e escrevendo \( V = K\,v(y,\theta) \) com
as mesmas contas das seções 2 e 3 levam a esta equação intermediária.
Agora dá para ver o que falta. Sobrou um termo de primeira ordem, \( (k-1)v_y \), e um de ordem zero, \( -kv \). O truque do referencial que anda junto mata só o primeiro. Para matar os dois de uma vez, usa-se um fator exponencial.
Derivando o produto e cancelando a exponencial, que nunca é zero,
Os dois colchetes são o que atrapalha. Escolhemos \( \alpha \) e \( \beta \) justamente para zerá-los, o que dá duas equações simples.
Com essa escolha, os dois colchetes somem e sobra a forma mais limpa possível da equação do calor.
Para um call, a condição inicial em \( \theta = 0 \) fica \( u(y,0) = \max\!\left(e^{(k+1)y/2} - e^{(k-1)y/2},\, 0\right) \). A forma \( \beta = -\tfrac{(k+1)^{2}}{4} \) é a que aparece na maioria dos livros, e serve para você conferir contra outras fontes.
Conferido numericamente
Antes de publicar, resolvi essa forma por diferenças finitas num script à parte, não no simulador do site, e comparei com a fórmula fechada de Black-Scholes para taxas de 0% a 15%, volatilidades de 20% a 45% e prazos de seis meses a um ano. O maior desvio encontrado foi de 0,005% do strike. As duas rotas chegam ao mesmo número porque são a mesma matemática.
Vale a pena fazer o caso com \( r = 0 \) primeiro. Ele contém toda a ideia. O caso geral acrescenta contabilidade, não entendimento.
Para fixar
Se você quer sair desta página sabendo a passagem, e não apenas tendo lido sobre ela, feche a aba e refaça no papel. São três perguntas.
- Por que trocar \( S \) por \( \ln S \) faz o \( S^{2} \) sumir, e que termo novo isso cria?
- O que a inversão do tempo resolve, além do sinal?
- De onde vem o termo extra no passo 4, e o que ele cancela?
Se travar na terceira, você está em boa companhia. É a única das três em que uma variável nova depende de duas velhas ao mesmo tempo, e é o motivo de esta página existir.