воскресенье, 17 июня 2018 г.

Opções de estoque de simulação monte carlo


Opções de preço usando simulações de Monte Carlo.
Anteriormente, apresentamos o conceito de simulações de Monte Carlo, e como construir um modelo básico que pode ser amostrado de forma estocástica. Agora vamos expandir nossa modelagem e mostrar como essas simulações podem ser aplicadas a alguns conceitos financeiros.
Uma opção é um contrato que dá ao comprador o direito de comprar ou vender um ativo a um preço específico, em um ponto no futuro. Esses contratos, conhecidos como derivativos, são negociados por uma série de razões, mas um uso comum é proteger a exposição ao preço de um ativo movendo-se de forma indesejável.
A opção, o direito de comprar ou vender também tem um preço. O modelo Black Scholes descreve uma maneira de determinar um preço justo para uma opção, mas também existem muitos outros métodos para determinar um preço.
Opções & amp; O que eles valem.
Uma opção de estilo europeu só pode ser usada (ou exercida) uma vez que a opção atingiu uma data predeterminada no futuro, conhecida como data de validade. Isso é referido com a letra \ (T \).
Uma opção de compra dá ao detentor da opção o direito de comprar a um preço conhecido. Uma chamada ganha dinheiro se o preço do activo no prazo de vencimento, denotado por \ (S_T \), está acima do preço de exercício \ (K \), caso contrário, não vale nada.
Da mesma forma, uma opção de venda é o direito de vender um ativo. Uma peça ganha dinheiro quando o ativo está abaixo do preço de exercício no vencimento, caso contrário não vale nada.
Abaixo estão os gráficos de recompensa de uma colocação e uma chamada na maturidade. Nosso preço de ativos é o eixo dos x e a remuneração é o eixo y.
Avaliação neutra do risco.
Para preço de uma opção usando uma simulação de Monte Carlo, usamos uma avaliação neutra ao risco, em que o valor justo de um derivativo é o valor esperado de sua recompensa futura.
Assim, em qualquer data antes do vencimento, denotado por \ (t \), o valor da opção é o valor presente da expectativa de sua recompensa no vencimento, \ (T \).
Sob a avaliação de risco neutro, assumimos que o ativo subjacente vai ganhar, em média, a taxa de juros livre de risco. Então, para calcular uma recompensa da opção por qualquer momento \ (t \), descontamos a recompensa por essa taxa de juros. Agora, temos uma maneira de calcular o valor atual \ (PV \).
Neste ponto, todas essas variáveis ​​são conhecidas, com exceção de \ (S_T \), que é o que a nossa simulação irá fornecer.
Para avaliar nossa opção, vamos criar uma simulação que nos fornece muitas observações para o preço final do ativo \ (S_T \). Com a média de todas as compensações, recebemos um valor para nossa expectativa de pagamento.
Simulando os preços dos ativos.
O modelo de comportamento do preço das ações usado no modelo de Black Scholes assume que temos uma volatilidade conhecida, temos uma taxa de juros livre de risco e que o preço de um ativo segue um movimento geométrico browniano.
Um movimento browniano geométrico é um processo aleatório em que o logaritmo da variável aleatória segue uma distribuição normal. Este tipo de processo distribui os preços em uma distribuição lognormal.
Então, agora temos um método para calcular os preços dos ativos no tempo \ (T \):
Para isso, precisamos saber:
r é a taxa de juros livre de risco para desconto. \ (\ sigma \) é a volatilidade, o desvio padrão anualizado dos retornos de uma ação. (T-t) nos dá o tempo anualizado até o vencimento. Por exemplo. Para uma opção de 30 dias, isso seria \ (30/365 = 0,082. \) S no tempo \ (t \). O preço do ativo subjacente. \ (\ epsilon \) é o nosso valor aleatório. Sua distribuição deve ser padrão normal (média de 0,0 e desvio padrão de 1,0)
Opções de preço.
Para preço de uma opção nesta simulação: geramos muitos preços que o ativo pode estar no vencimento, calculamos as recompensas da opção para cada um desses preços gerados, avaliamos e, em seguida, descontamos o valor final.
Antes de criar uma simulação completa, passaremos por um pequeno exemplo de 10 execuções. Suponhamos ter um activo com os seguintes valores: \ (S \) = $ 100.00 e \ (\ sigma \) = 20% e queremos tarifar uma opção de compra que expira em meio ano, com uma greve de $ 110.00, nós também temos nossa taxa de juros livre de risco, que é de 1%.
A média de nossos valores de recompensa com desconto dá um preço para nossa opção de compra de US $ 2,38. Quanto mais simulações realizamos, mais preciso o preço.
Agora podemos ver como a simulação gera um preço, vamos construir um pequeno script de python que pode cobrar uma opção e ver se ela corresponde ao mundo real. Vejamos uma opção na Vodafone.
Preço das opções do mundo real.
Na imagem abaixo, temos uma cotação para uma opção de compra no Google, com uma greve de US $ 860,00 que expira em 21 de setembro de 2018. Também podemos ver o último preço negociado, US $ 14,50, o que nos dá nosso objetivo quando tentamos e preço esta opção.
O que não está especificado aqui é a volatilidade, a taxa de juros livre de risco ou o preço atual das ações da Vodafone. A volatilidade é um tópico bastante complexo, então, para os propósitos deste artigo, vamos assumir que sabemos que a volatilidade dessa opção específica é de 20,76%.
O preço atual da Vodafone pode ser encontrado através de uma variedade de fontes, mas no momento da escrita, é de US $ 857,29.
Para a taxa de juros livre de risco, podemos usar a taxa LIBOR dos EUA com o mesmo prazo de vencimento que a nossa opção; nossa opção expira em cerca de três semanas, e como não há taxa de três semanas, vamos aproximá-la usando a taxa de duas semanas, que atualmente é de 0,14%.
O código-fonte para toda a simulação será dado na parte inferior, mas primeiro escreveremos como vamos gerar os preços dos ativos.
Conhecemos todos os valores de entrada, para que possamos conectá-los de modo que:
Agora precisamos calcular a recompensa deste preço gerado. Lembre-se anteriormente que dissemos que uma chamada vale \ (S_T - K \) ou \ (0 \) no final do período, expressamos isso como uma função e aplicamos o nosso preço de ativos gerado.
Simulação completa.
Agora vamos colar isso e preço nossa opção do Google.
O que nos dá o resultado de:
O que corresponde ao preço que observamos no mercado para esta opção do Google.
A opção do Google que acabamos de replicar é realmente uma opção de estilo americano, e nós apenas avaliamos isso como se fosse uma opção de estilo europeu. Não consideramos a possibilidade de que a opção possa ser exercida cedo, mas apesar disso ainda chegamos ao preço correto.
A razão pela qual isso funciona é que o preço de uma opção de compra de estilo americano em um estoque que não paga dividendos, como o Google, é o mesmo que o preço de uma opção de chamada de estilo europeu. Isso ocorre como não é, em teoria, sempre ótimo para se exercitar cedo quando o estoque não paga um dividendo. Se a opção nunca for exercida antecipadamente, seu preço pode ser calculado como uma opção de estilo europeu.

Monte Carlo Simulação Com GBM.
Uma das formas mais comuns de estimar o risco é o uso de uma simulação de Monte Carlo (MCS). Por exemplo, para calcular o valor em risco (VaR) de um portfólio, podemos executar uma simulação de Monte Carlo que tenta prever a pior perda provável para um portfólio dado um intervalo de confiança em um horizonte temporal especificado (sempre precisamos especificar dois condições para VaR: confiança e horizonte).
Neste artigo, analisaremos um MCS básico aplicado a um preço de ações usando um dos modelos mais comuns em finanças: movimento browniano geométrico (GBM). Portanto, enquanto a simulação de Monte Carlo pode se referir a um universo de diferentes abordagens de simulação, começaremos aqui com os mais básicos.
Onde começar.
Uma simulação de Monte Carlo é uma tentativa de prever o futuro muitas vezes. No final da simulação, milhares ou milhões de "ensaios aleatórios" produzem uma distribuição de resultados que podem ser analisados.
As etapas básicas são:
1. Especificar um modelo (por exemplo, GBM)
Para este artigo, usaremos o movimento geométrico Browniano (GBM), que é tecnicamente um processo de Markov. Isso significa que o preço das ações segue uma caminhada aleatória e é consistente com (pelo menos) a forma fraca da hipótese de mercado eficiente (EMH) - a informação de preços passados ​​já está incorporada e o próximo movimento de preços é "condicionalmente independente" do passado movimentos de preços.
A fórmula para GBM é encontrada abaixo, onde "S" é o preço das ações, "m" (o M grego) é o retorno esperado, "s" (sigma grego) é o desvio padrão dos retornos, "t" é o tempo, e "e" (epsilon grego) é a variável aleatória:
Se reorganizarmos a fórmula para resolver apenas a mudança no preço das ações, vemos que a GMB diz que a variação no preço das ações é o preço das ações "S" multiplicado pelos dois termos encontrados dentro dos parênteses abaixo:
O primeiro termo é uma "deriva" e o segundo termo é um "choque". Para cada período de tempo, nosso modelo assume que o preço irá "drift" até o retorno esperado. Mas a deriva ficará chocada (adicionada ou subtraída) por um choque aleatório. O choque aleatório será o desvio padrão "s" multiplicado por um número aleatório "e". Esta é simplesmente uma maneira de dimensionar o desvio padrão.
Essa é a essência do GBM, como ilustrado na Figura 1. O preço das ações segue uma série de etapas, em que cada passo é uma deriva mais / menos um choque aleatório (em si, uma função do desvio padrão do estoque):
2. Gerar testes aleatórios.
Armado com uma especificação do modelo, então procedemos a ensaios aleatórios. Para ilustrar, utilizamos o Microsoft Excel para executar 40 testes. Tenha em mente que esta é uma amostra pouco realista; A maioria das simulações ou "sims" executam pelo menos vários milhares de tentativas.
Neste caso, vamos assumir que o estoque começa no dia zero com um preço de US $ 10. Aqui está um gráfico do resultado onde cada etapa do tempo (ou intervalo) é um dia e a série é executada por dez dias (em resumo: quarenta ensaios com etapas diárias durante dez dias):
O resultado é de quarenta preços simulados de ações no final de 10 dias. Nada aconteceu para cair abaixo de US $ 9, e um está acima de US $ 11.
3. Processar a Saída.
A simulação produziu uma distribuição de resultados futuros hipotéticos. Podemos fazer várias coisas com o resultado.
Se, por exemplo, queremos estimar VaR com 95% de confiança, então precisamos apenas localizar o resultado do trinta oitavo lugar (o terceiro pior resultado). Isso porque 2/40 é igual a 5%, então os dois piores resultados estão nos 5% mais baixos.
Se empilharmos os resultados ilustrados em caixas (cada lixeira é um terço de US $ 1, então três caixas cobrem o intervalo de US $ 9 a US $ 10), obteremos o seguinte histograma:
Lembre-se de que nosso modelo GBM assume a normalidade - os retornos de preços são normalmente distribuídos com retorno esperado (média) "m" e desvio padrão "s". Curiosamente, nosso histograma não parece normal. Na verdade, com mais provações, isso não tenderá para a normalidade. Em vez disso, tenderá a uma distribuição lognormal: uma queda acentuada para a esquerda da média e uma "cauda longa" altamente distorcida à direita da média.
Isso muitas vezes leva a uma dinâmica potencialmente confusa para os alunos pela primeira vez:
Os rendimentos de preços são normalmente distribuídos. Os níveis de preços são log-normalmente distribuídos.
Pense nisso desta forma: um estoque pode retornar para cima ou para baixo 5% ou 10%, mas após um certo período de tempo, o preço das ações não pode ser negativo. Além disso, os aumentos de preços no lado positivo têm um efeito de composição, enquanto o preço diminui na desvantagem reduz a base: perca 10% e você fica com menos para perder na próxima vez.
Aqui está um gráfico da distribuição lognormal superposta em nossos pressupostos ilustrados (por exemplo, preço inicial de US $ 10):
The Bottom Line.
Uma simulação de Monte Carlo aplica um modelo selecionado (que especifica o comportamento de um instrumento) a um grande conjunto de testes aleatórios na tentativa de produzir um conjunto plausível de possíveis resultados futuros. No que diz respeito à simulação dos preços das ações, o modelo mais comum é o movimento geométrico browniano (GBM). GBM assume que uma deriva constante é acompanhada por choques aleatórios. Enquanto os retornos do período sob GBM são normalmente distribuídos, os níveis de preços subseqüentes de vários períodos (por exemplo, dez dias) são distribuídos de maneira lognormal.

Opções de estoque de simulação Monte carlo
Os métodos de Monte-Carlo são ideais para opções de preços onde o pagamento é dependente do caminho (por exemplo, opções de lookback, opções asiáticas e opções de spread) ou opções em que o pagamento depende de uma cesta de ativos subjacentes (em vez de apenas um único ativo).
Este tutorial discute os conceitos matemáticos fundamentais por trás dos métodos de Monte-Carlo. Outros tutoriais discutem técnicas de redução de variância para aumentar a eficiência da simulação de Monte-Carlo, opções de preços que dependem de uma cesta de ativos subjacentes e a abordagem de Longstaff-Schwartz para usar as técnicas de Monte-Carlo para preço de opções de estilo americano. Tutoriais que mostram como aplicar as técnicas de Monte-Carlo para avaliar vários tipos diferentes de opções, implementadas no MATLAB, podem ser encontradas na página de Tutoriais de Software.
Tal como acontece com outras técnicas de preços de opções, os métodos de Monte-Carlo são usados ​​para avaliar opções usando o que é essencialmente um processo de três passos. Os três passos são,
Calcule os potenciais preços futuros do (s) subjacente (s) subjacente (s). Calcule o retorno da opção para cada um dos possíveis caminhos de preços subjacentes. Descarte os retornos de volta a hoje e mande-os para determinar o preço esperado.
Os métodos de Monte-Carlo se diferenciam de outras técnicas de preços de opções da forma como os futuros preços de ativos futuros são gerados. A seguinte seção Simulating Asset Paths descreve como esses caminhos podem ser gerados para um modelo log-normal padrão de preços dos ativos equivalentes. No entanto, a técnica pode ser aplicada a qualquer recurso que acompanhe qualquer processo estocástico (onde existe uma distribuição aleatória associada a partir da qual as amostras podem ser obtidas).
Simulando caminhos de ativos.
O primeiro passo no uso dos métodos de Monte-Carlo é gerar (um grande número de) preços de ativos futuros potenciais. Isso é feito selecionando um modelo apropriado (estocástico) para a evolução do tempo do (s) subjacente (s) e simulando o modelo ao longo do tempo.
Por exemplo, o modelo padrão para a evolução dos preços das ações é dado pelo processo Weiner.
Equação 1: Equação de Evolução de Preços de Estoque.
S (0): o preço das ações hoje. S (& Delta; t): o preço das ações em um (pequeno) tempo para o futuro. & Delta; t: Um pequeno incremento de tempo. & mu ;: O retorno esperado. & sigma ;: A volatilidade esperada. & epsilon ;: Um número (aleatório) amostrado de uma distribuição normal normal.
O uso repetido da Equação 1 permite gerar vários possíveis trilhos de ativos futuros (entre agora e expiração). Um exemplo de 10 desses caminhos é dado na Figura 1. O preço subjacente em cada passo de tempo ao longo de cada caminho é gerado pela amostragem repetida de uma distribuição normal padrão e aplicando a Equação 1.
Normalmente, muitos milhares, senão dezenas de milhares, de caminhos simulados devem ser gerados para permitir calcular um preço de opção preciso. Quanto mais caminhos são gerados, mais longa será a simulação para ser executada e, portanto, quanto mais tempo for necessário para avaliar a opção. As técnicas de redução de variância foram desenvolvidas na tentativa de minimizar o número de simulações necessárias para gerar um preço de opção exato.
Figura 1: Equação de Evolução de Preços de Estoque.
Quando uma opção depende de uma cesta de ativos subjacente, vários caminhos de ativos correlacionados devem ser simulados. Como gerar caminhos correlatos adequados é discutido no tutorial de Caminhos de Simulação Correlacionados.
Preço da Opção.
Uma vez que os caminhos dos ativos foram simulados, eles são usados ​​para avaliar a opção de acordo com as fórmulas de recompensa da opção.
Por exemplo, considere uma opção asiática simples onde a recompensa é uma função do preço médio do ativo subjacente ao longo da vida da opção. Para opções de colocação e chamada, o pagamento é.
Equação 2: pagamento por uma opção asiática.
onde A é o valor médio do preço do ativo durante a vida da opção e X é a greve.
O preço de uma opção asiática é calculado usando a simulação Monte-Carlo executando as seguintes 4 etapas.
calculando a média do preço dos ativos para cada um dos caminhos simulados. aplicando a fórmula apropriada da Equação 2. a média dos retornos para todos os caminhos. descontando o resultado de forma usual.
Um exemplo de implementar o procedimento acima em MATLAB é fornecido no Pricing a Asian Option no tutorial MATLAB. Outros tutoriais de Monte-Carlo baseados em MATLAB estão ligados à página de Tutoriais de Software.

Preços de opções usando simulação de Monte Carlo.
Monte Carlo Simulation pode ser usado para avaliar vários instrumentos financeiros, como derivativos.
Neste artigo, aprenderemos a calcular o preço de uma opção usando a Simulação de Monte Carlo.
Embora o valor da opção possa ser facilmente calculado usando a fórmula de preços da Black-Scholes Option, podemos usar a técnica de Simulação de Monte Carlo para obter os mesmos resultados.
Vamos calcular o preço de uma opção de compra. Suponha que o preço do estoque subjacente (S) seja 195, o preço de exercício (X) é de 200, a taxa livre de risco (rf) é de 5%, a volatilidade (s) é de 30% eo tempo de expiração (t) é de 0,25.
O papel da simulação de Monte Carlo é gerar vários valores futuros do estoque com base nos quais podemos calcular o valor futuro da opção de compra. As mudanças nos preços das ações podem ser calculadas usando a seguinte fórmula:
Nesta equação, & epsilon; representa o número aleatório gerado a partir de uma distribuição de probabilidade normal padrão. No nosso exemplo, calcularemos esse número usando a função Rand () no excel. Uma variável normal padrão pode ser aproximada usando a fórmula do Excel "= Rand () + Rand () + Rand () + Rand () + Rand () + Rand () + Rand () + Rand () + Rand () + Rand () + Rand () + Rand () & # 8211; 6.0 ".
Para o propósito deste exemplo, vamos gerar 1000 caminhos aleatórios. Na realidade, quanto maior o número de testes, mais preciso será o resultado.
Se o número aleatório for 0.576548, & Delta; S será 19.29978.
Uma vez que temos o & Delta; S, podemos calcular o valor futuro do preço das ações (S + & Delta; S). Precisamos fazer isso para cada caminho.
O valor das ações no vencimento será 195 + 19.29978 = 214.29978.
O valor da opção no prazo de validade será dado pela fórmula = MAX (0, S-X)
= MAX (214.29978 - 200) = 14.29978.
As três etapas acima serão repetidas 1000 vezes para obter 1000 valores de opção.
Tomaremos a média desses 1000 valores de opção. No nosso exemplo, esse valor chega a aprox. 9.671. Observe que esse valor mudará sempre que a planilha for recalculada, então talvez você nunca obtenha a mesma resposta.
O valor da opção será descontado com o valor presente, multiplicando-o por exp (-r * t)
No nosso exemplo, esse valor chega a 9.95.
O resultado pode ser comparado com os resultados de uma calculadora Black-Scholes. Você notará que os resultados se aproximarão à medida que você aumentar sua quantidade de testes.
Deixe uma resposta Cancelar resposta.
Curso gratuito - Introdução à programação R.
Aprenda os fundamentos da linguagem de programação R e como começar a usá-lo para financiamento.

Opções de estoque de simulação Monte carlo
A FINCAD oferece as soluções mais transparentes na indústria, fornecendo extensa documentação com cada produto. Isso é complementado por uma extensa biblioteca de white papers, artigos e estudos de caso.
O FINCAD Analytics Suite 2009 para o Excel e o FINCAD Analytics Suite 2009 para desenvolvedores introduziram novas técnicas de Monte Carlo, incluindo: a capacidade de preços de vários instrumentos usando a simulação Monte Carlo, bem como simulação padrão de Monte Carlo; simulação de vários processos não lognormal; e o uso de cálculos multi-threaded para tornar as simulações mais rápidas.
O método de Monte Carlo recebeu seu nome pelos físicos que trabalham na bomba atômica em Los Alamos durante a segunda guerra mundial [5]. A amostragem aleatória envolvida no procedimento trouxe à mente o cassino em Mônaco e, portanto, o nome. Hoje, os métodos de Monte Carlo são amplamente utilizados em muitas áreas da matemática e da ciência. Em finanças, eles são usados ​​para avaliar derivados, simulando as mudanças aleatórias nos ativos subjacentes sobre os quais esses derivativos se baseiam e analisando várias noções e medidas de risco. A primeira vez que essa simulação foi utilizada em uma avaliação derivada foi em 1977 [2] e, desde então, as técnicas se tornaram generalizadas. Na verdade, para muitos derivados, a simulação de Monte Carlo é a única técnica de avaliação viável.
Considere uma opção de compra europeia em um único ativo subjacente S t, com vencimento no tempo T, e leve a taxa de juros sem risco a zero. Então, o valor justo da opção é apenas o tempo t expectativa do tempo T payoff:
É precisamente tais integrais que o método de Monte Carlo é usado para avaliar. Uma vez que S T é uma variável aleatória, pode-se usar a simulação de Monte Carlo para desenhar valores de S T a partir da distribuição relevante p (S T). Para cada valor de S T, um calcula a recompensa da opção e, em seguida, leva o retorno médio como o valor justo. Cada desenho pode ser pensado como um caminho e se N esses caminhos são usados, nós temos.
O passo não trivial é assegurar que o S T (i) seja extraído da distribuição correta, de acordo com a escolha do modelo que se faz. Na prática, um usa um gerador de números aleatórios que gera números tirados de uma distribuição uniforme e, se necessário, converte os números em uma distribuição normal padrão para usar na simulação.
Claro, a Equação (2) é apenas uma aproximação, embora os caminhos mais que se use (quanto maior o valor de N), melhor será a aproximação. A variação ou erro em uma simulação de Monte Carlo é O (1 / √ N), de modo a aumentar a precisão em um fator de 2, quatro vezes o número de caminhos devem ser usados. Mais precisamente, a discrepância - uma medida formal da uniformidade dos pontos - da simulação de Monte Carlo é O (1 / √ N). Para reduzir a discrepância, pode-se usar a simulação Monte-Carlo quase. Isso envolve o uso de chamadas sequências de discrepância baixa que têm discrepância de O (1 / N), sendo uma popular a seqüência de Sobol [6, 7]. Essa seqüência de números cobre o espaço de amostragem de forma mais uniforme. Para aumentar a precisão por um fator de 2 em uma simulação quase Monte Carlo, apenas duas vezes o número de caminhos são necessários.
É fácil generalizar essas idéias para incluir derivativos com recursos de exercício não europeus, com retornos dependentes do caminho e que dependem de uma cesta de preços de ativos subjacentes múltiplos. De fato, a simulação de Monte Carlo é realmente a única maneira de valorar os derivados com retornos dependentes do caminho [1], uma vez que, ao contrário de outros métodos numéricos, ele avança no tempo ao invés de retroceder. Para essa estrutura dependente do caminho, simplesmente discretiza o eixo do tempo e calcula valores intermediários de S T em cada ponto de tempo relevante. Um exemplo é uma opção asiática, cujo valor é baseado no preço médio do ativo subjacente no vencimento, onde a média é calculada pela amostragem do preço do ativo em alguns pontos de tempo determinados.
Além da dependência do caminho, o método de Monte Carlo é necessário para avaliar os derivativos com base em uma grande cesta de preços dos ativos subjacentes. Evita a chamada "maldição da dimensionalidade": se houver m ativos subjacentes na cesta, a simulação Monte Carlo com N caminhos apenas envolve cálculos Ο (N), ao contrário do Ο (m N) necessário para PDE - ou métodos baseados em árvores.
Modelos lognormal e não lognormal.
Todos os contratos derivados dependem do valor de alguns subjacentes em um conjunto de pontos de tempo t i, para i = 1, ..., n. Uma opção, por exemplo, depende dos preços S t de um ativo subjacente. Uma vez que o preço a prazo é uma martingale, é mais fácil trabalhar com isso que o próprio preço à vista. Denotando o preço a prazo t no tempo ti por F j (t i), precisamos calcular os valores.
dado os preços iniciais à frente F i (t 0). Esses valores iniciais podem estar disponíveis diretamente do mercado (por exemplo, no caso de taxas de swap de antecipação) ou podem precisar ser computados a partir de dados de mercado (por exemplo, no caso de um patrimônio).
Dado algum derivado, devemos decidir qual modelo usar para descrever a evolução do preço do recurso subjacente - isto é, devemos escolher um processo estocástico mais adequado ao caso em questão. Uma vez que nem sempre é possível resolver a equação diferencial estocástica escolhida (SDE), os métodos de discretização devem às vezes ser usados. Nesse caso, discretizamos usando uma das várias técnicas (a discretização de Euler é freqüentemente usada [3]), e esse processo introduz erros de discretização além das fontes usuais de erro em uma simulação de Monte Carlo.
No FINCAD Analytics Suite 2009 para Excel e FINCAD Analytics Suite 2009 para desenvolvedores, introduzimos funções que podem simular os seguintes processos estocásticos: lognormal, deslocamento lognormal (ou difusão deslocada), normal e constante elasticidade de variância (CEV). Nada disso precisa de tais métodos de discretização. Os três primeiros processos podem ser resolvidos exatamente e a função de transição de probabilidade conhecida para o processo CEV pode ser usada para simular os preços a prazo.
Geradores de números pseudo e quase-aleatórios.
No coração de uma simulação de Monte Carlo é um gerador de números aleatórios, que gera um conjunto de números extraídos de uma distribuição uniforme. Para o processo CEV, isso é tudo o que se precisa. Para os outros processos listados acima, no entanto, um usa os números uniformemente distribuídos para gerar um conjunto de números extraídos de uma distribuição normal padrão através do uso da função normal padrão cumulativa inversa.
Claro que na prática, uma seqüência de números que parece suficientemente "aleatória" é gerada de forma no entanto determinista. Em termos estritos, o gerador de números aleatórios é realmente um gerador de números pseudo-aleatórios, e há uma variedade de geradores usados ​​na literatura. No FINCAD Analytics Suite 2009 para Excel e FINCAD Analytics Suite 2009 para desenvolvedores, implementamos o gerador de números aleatórios Mersenne-Twister, como em [4]. O gerador toma uma semente, a partir da qual calcula o valor inicial da seqüência, e esta semente é, por sua vez, configurada internamente para ser diferente em cada cálculo. No entanto, também permitimos que os cálculos de Monte Carlo sejam realizados com uma semente fixa, então a mesma seqüência de números pode ser usada para cada cálculo.
No FINCAD Analytics Suite 2009 para Excel e FINCAD Analytics Suite 2009 para desenvolvedores, também implementamos a simulação quase-Carlo Carlo utilizando a seqüência de Sobol [6, 7]. Quasi Monte Carlo, como o nome sugere, é ainda menos "aleatório" do que Monte Carlo. De fato, uma simulação quase Monte Carlo faz uso de um conjunto de números extraídos da distribuição uniforme que nem sequer tem aparência de aleatoriedade, de modo a "cobrir o espaço" de forma mais uniforme. Matematicamente, isso significa um conjunto de números com baixa discrepância: uma sequência de baixa discrepância. A seqüência de Sobol é uma dessas seqüências de números. Em uma dimensão, este conjunto de números é dado por.
que obviamente cobre o espaço de forma uniforme.
A vantagem de usar a simulação Monte Carlo, em oposição a Monte Carlo, é que se precisa de menos caminhos com quase Monte Carlo para obter o mesmo grau de precisão. Então, se um executa ambas as simulações com o mesmo número de caminhos, o resultado de quase Monte Carlo será mais preciso. Por essa razão, as funções FINCAD listadas abaixo usam a seqüência de Sobol para executar uma simulação quase-Monte Carlo por padrão.
Precisão da simulação de Monte Carlo.
Essas funções também produzem uma estatística de "precisão", além do valor justo da derivada e / ou das sensibilidades para os dados de entrada do usuário. No caso da geração de números pseudo-aleatórios, isto é, se o gerador de números aleatórios Mersenne-Twister é usado, esse número é 1,96 vezes o desvio padrão do valor justo e, portanto, corresponde ao intervalo de confiança de 95%. Em outras palavras, espera-se que o valor justo teórico "verdadeiro" esteja dentro do alcance.
95% do tempo. Na prática, o resultado da simulação de Monte Carlo mudará sempre que as funções forem calculadas, mas a média de longo prazo será igual ao valor teórico. A variabilidade dos resultados dependerá da quantidade de caminhos utilizados - quanto mais caminhos, menor será a variabilidade.
Por outro lado, no caso de uma simulação quase Monte Carlo, isto é, se a seqüência de números de Sobol é usada, a estatística de precisão tem uma interpretação um pouco diferente. Para detalhes, veja [3], mas heuristicamente a estatística de precisão dada pelas funções FINCAD é, de fato, uma medida de quão preciso é o valor calculado: quanto mais caminhos forem usados, maior será a precisão. Numa simulação Monte Carlo, o resultado não muda após o cálculo, e ainda não é exatamente igual ao valor teórico. No entanto, quanto mais caminhos forem usados, mais próximo será o resultado.
Note-se também que, se o número de caminhos em uma simulação Monte Carlo for igual a 2 p -1 para qualquer potência p, então a média da sequência Sobol será exatamente 0,5. Se qualquer outro número de caminhos for utilizado, os resultados da simulação mostrarão um viés.
Cálculos multi-threaded.
As funções listadas abaixo também são ativadas para cálculos multi-threaded. O número de threads a serem utilizados no cálculo pode ser inserido como uma entrada opcional na tabela de parâmetros de cálculo de Monte Carlo.
Na prática, isso significa que o usuário de um computador multi-core pode aumentar o número de threads para fazer o cálculo mais rápido. Quanto mais threads forem usados, mais rápido será o cálculo. No entanto, o usuário não deve usar mais threads do que o computador possui núcleos de CPU, senão as simulações começarão a demorar mais do que deveriam. Se estiver usando uma máquina quad-core, por exemplo, a especificação de quatro threads assegurará que a simulação Monte Carlo seja tão rápida quanto possível. No entanto, o usuário deve estar ciente de que, quanto mais os segmentos utilizados para a simulação de Monte Carlo, menos responsivos o seu computador serão para outras tarefas.
A lista de funções a seguir foi introduzida no FINCAD Analytics Suite 2009 para Excel e FINCAD Analytics Suite 2009 para desenvolvedores. Eles têm a capacidade de preço e calculam as estatísticas de risco de uma gama de opções de ativos únicos e múltiplos com técnicas de Monte Carlo: opções de Altiplano de ativos individuais e Cliquet de ativos únicos e opções Altiplano multi-ativos. Tanto a simulação Monte Carlo padrão como a simulação Monte Carlo podem ser usadas, e os cálculos podem ser feitos com mais rapidez usando múltiplos segmentos.
Referências.
[1] Algumas opções dependentes do caminho simples podem ser avaliadas usando métodos baseados em PDE, mas não é particularmente direto fazê-lo.
[2] Boyle, P. (1977), Opções: uma abordagem de Monte Carlo, Journal of Financial Economics, pp. 323-338.
[3] Glassermann, Paul (2004), Métodos de Monte Carlo em Engenharia Financeira, Springer-Verlag New York.
[4] Matsumoto, M. e Nishimura, T. (1998), Mersenne-Twister: um gerador de números pseudo-aleatórios uniformes equidistribuídos dimensionalmente 623, Transações de ACM em Modelagem e Simulação de Computador (TOMACS), 8: pp. 3-30 .
[5] Metropolis, N. (1987), The Beginning of the Monte Carlo Method, Relatório técnico, Los Alamos National Laboratory, library. lanl. gov/cgi-bin/getfile?00326866.pdf.
[6] Sobol ', I. M. (1967), Sobre a Distribuição de Pontos em um Cubo e Avaliação Aproximada de Integrais, Matemática Computacional da URSS e Física Matemática, 7: pp. 86-112.
[7] Sobol ', I. M. (1976), Seqüências uniformemente distribuídas com uma propriedade uniforme adicional, Matemática computacional da URSS e Física Matemática, 16: pp. 236-242.
Para obter mais informações ou uma demonstração personalizada do software, entre em contato com um Representante FINCAD.
O FINCAD é o principal fornecedor de avaliações sofisticadas de avaliação e risco para carteiras de renda fixa e de renda fixa multi-ativos. O FINCAD ajuda mais de 1.000 instituições financeiras globais a aumentar os retornos, gerenciar riscos, reduzir custos, cumprir os regulamentos e dar confiança aos investidores e acionistas. Os clientes incluem os principais gerentes de ativos, hedge funds, companhias de seguros, pensões, bancos e auditores.

Комментариев нет:

Отправить комментарий