34
1. Modelagem de Sistema Sistema pode ser definido como um conjunto de estruturas e recursos que são interagidos seguindo uma lógica para atingir um ou mais objetivos. Os estudos destes sistemas podem dar-se sob diferentes formas de abordagem, a primeira seria interferindo diretamente sob rotinas operacionais promovendo implementações e ou alterações de procedimentos até que sejam obtidas as condições ideais, estas ações fazem requerer do tomador de decisão a condução de estudos preliminares e experiência, para que as alterações não minorem a performance do sistema. A segunda refere-se a utilização de modelos que representem os sistemas reais. Os modelos podem apresentar-se como protótipos ou como modelos matemáticos, os quais podem prestar-se a soluções analíticas, como por exemplo um modelo de regressão, ou a simulação, permitindo assim, reconstituir a rotina funcional de um dado sistema real. A implementação de modelos matemáticos de simulação a serem utilizados em computadores requerem o uso das linguagens de programação como FORTRAN, C e PASCAL ou das linguagens de simulação como SLAM, GPSS, GASP, POWERSIM, ARENA e EXTEND . Ressalta-se que para empregar os modelos de forma adequada deve-se proceder a verificação e validação. Modelos de Simulação

Trabalho Processo Estocastico

Embed Size (px)

Citation preview

1. Modelagem de Sistema

   

Sistema pode ser definido como um conjunto de estruturas e recursos que são

interagidos seguindo uma lógica para atingir um ou mais objetivos.

    Os estudos destes sistemas podem dar-se sob diferentes formas de abordagem, a

primeira seria interferindo diretamente sob rotinas operacionais promovendo

implementações e ou alterações de procedimentos até que sejam obtidas as condições

ideais, estas ações fazem requerer do tomador de decisão a condução de estudos

preliminares e experiência, para que as alterações não minorem a performance do

sistema. A segunda refere-se a utilização de modelos que representem os sistemas reais.

Os modelos podem apresentar-se como protótipos ou como modelos

matemáticos, os quais podem prestar-se a soluções analíticas, como por exemplo um

modelo de regressão, ou a simulação, permitindo assim, reconstituir a rotina funcional

de um dado sistema real.

    A implementação de modelos matemáticos de simulação a serem utilizados em

computadores requerem o uso das linguagens de programação como FORTRAN, C e

PASCAL ou das linguagens de simulação como SLAM, GPSS, GASP, POWERSIM,

ARENA e EXTEND. Ressalta-se que para empregar os modelos de forma adequada

deve-se proceder a verificação e validação.

Modelos de Simulação

    Os modelos matemáticos de simulação, ou simplesmente modelos de simulação,

podem ser classificados em: (a) estáticos ou dinâmicos - denominam-se como modelos

estáticos os que visam representar o estado de um sistema em um instante ou que em

suas formulações não se leva em conta a variável tempo, enquanto os modelos

dinâmicos são formulados para representarem as alterações de estado do sistema ao

longo da contagem do tempo de simulação, (b) determinístico ou estocástico - são

modelos determinísticos os que em suas formulações não fazem uso de variáveis

aleatórias, enquanto os estocásticos podem empregar uma ou mais e (c) discretos ou

contínuos - são modelos discretos aqueles em que o avanço da contagem de tempo na

simulação se dá na forma de incrementos cujos valores podem ser definidos em função

da ocorrência dos eventos ou pela determinação de um valor fixo, nesses casos só é

possível determinar os valores das variáveis de estado do sistema nos instantes de

atualização da contagem de tempo, enquanto para os modelos contínuos o avanço da

contagem de tempo na simulação dá-se de forma contínua, o que possibilita determinar

os valores das variáveis de estado a qualquer instante.

Verificação, Validação e Confiabilidade de Modelos

Uma das tarefas mais árduas em simulação está em determinar se o modelo

proposto retrata com fidedignidade o sistema em estudo. Para o alcance desta meta são

recomendados a observância de três preceitos básicos, que são a: verificação, validação

e implementação de confiabilidade. Esses preceitos devem ser observados nas várias

fases do desenvolvimento de um modelo, deste modo, tem-se que:

Verificação

Um conjunto de ações para certificar se a forma conceitual adotada na

formulação do modelo, foi transcrita corretamente ao utilizar-se das linguagens de

programação ou de simulação. Recomenda-se na condução deste procedimento: (a) usar

duas ou mais pessoas, (b) rodar o programa para um conjunto variado de situações

procedendo análises dos dados de saída, (c) rastear o programa verificando a execução

dos procedimentos, (d) observar a animação, e (e) comparar os valores gerados pelo uso

de distribuições aos observados em sistemas reais.

Validação

É uma coletânea de ações utilizadas para analisar se um dado modelo representa

com fidedignidade o sistema em estudo. Podendo este procedimento ser conduzido em

conjunto com a verificação, fato que imprimirá maior confiabilidade ao modelo. A

validação pode ser categorizada em estatística e subjetiva. A estatística consiste no

emprego de ferramentais como: análise de variância, determinação de intervalo de

confiança, testes de hipótese, ajustamento de curvas, análises de regressão e análises de

séries temporais. Enquanto a subjetiva é recomenda quanto não há possibilidade de

proceder incursões exploratórias aprofundadas sobre o sistema em estudo. Para estes

casos, pode ser utilizado, por exemplo, o Teste de Turing. Este teste consiste na

exposição das informações geradas pelo modelo e às obtidas do sistema real em um

mesmo formato. Posteriormente, submetem-se estas a análise de um grupo conhecedor

do sistema. Outra forma deste tipo de validação dá-se por análises de especialistas, os

quais procedem o julgamento do modelo, segundo lógicas associadas ao sistema em

estudo.

Implementação de confiabilidade

Conforme citações em literaturas especializadas, para a obtenção de modelos

validados e confiáveis deve-se ater aos seguintes preceitos:

1) Desenvolver modelos interativos com os potenciais usuários.

Desde modo, deve-se: (a) constatar os termos técnicos usuais, (b) coletar dados

relevantes a serem utilizados no desenvolvimento do modelo, (c) utilizar de teorias

existentes relativas o sistema em estudo, (d) analisar outros modelos desenvolvidos

anteriormente e (e) dotar de experiência e intuição na formulação do modelo.

2) Testar as considerações empíricas utilizadas

Um dos ferramentais mais poderosos para a condução desse passo é a realização de

análises de sensibilidade. Deste modo, certifica-se como os resultados da simulação são

impactados mediante alterações dos valores das variáveis de entrada e parâmetros do

sistema.

3) Determinar o quanto os dados gerados são representativos

Este é um dos procedimentos decisivos na validação, o qual consiste na confrontação

das informações geradas pelo modelo com as obtidas do sistema real. O nível de

precisão irá depender dos propósitos de utilização do modelo.

Forma Geral de Modelos

Modelagem e dados

Decisões envolvem avaliação e interpretação de dados

Dados são interpretados em um contexto e vice-versa

Existência de dados potencializa o uso de modelos

Aquisição de dados envolve esfôrço, atenção e custo

Aquisição de dados requer disponibilidade, precisão e relevância

Modelos simbólicos permitem avaliar e interpretar dados de forma

sistemática

Modelos simbólicos podem ser usados para gerar dados

Dados são usados para construir e validar modelos

Formas e fontes de dados

Decisão de como coletar, armazenar, interpretar depende do uso dados

Unidades dos dados

Agregação de dados

Refinamento de dados

Incertezas

Dados podem ser originados de arquivos e memórias do passado

Dados adquiridos pela observação direta ou estimativas no presente

Produzidos por modelos quando fornecidas as entradas

Realizando previsões sobre o futuro

Construção de Modelo

Procedimento para modelagem de estoques e sua aplicação

O procedimento proposto para modelagem estocástica de estoques, baseado na

análise da variabilidade na demanda prevista de consumo de itens na produção e nos

seus lead times de entrega, será motivado por uma breve análise das práticas de gestão

de estoques na empresa selecionada para o estudo de caso. Trata-se de uma empresa de

grande porte que produz medidores de energia elétrica e adota uma política de revisão

periódica de estoques. Analisando o funcionamento da área de controle de estoque de

matérias-primas, as atividades dos colaboradores responsáveis pela gestão de materiais

e a política de estoques adotada pela empresa, identificaram-se as seguintes práticas: (i)

dimensionamento atual do nível de estoque baseado na experiência empírica dos

colaboradores; (ii) não havia utilização de informações de previsões de demanda e

variabilidade de lead time no dimensionamento dos estoques e pedidos; e (iii) não havia

um procedimento estruturado de dimensionamento de estoques e pedidos.

Conseqüentemente, a empresa poderia estar adotando políticas sub-ótimas na

gestão do estoque de seus itens, com possibilidades de melhoria e redução de custos. O

procedimento proposto para modelagem estocástica de estoques é composto por 5

etapas operacionais: (i) classificação ABC dos itens em estoque e coleta de dados; (ii)

previsão de demanda (consumo) do item analisado; (iii) ajuste de dados de lead time de

entrega do item analisado a distribuições de probabilidade e estimativa de seus

respectivos parâmetros; (iv) cálculo do nível de estoque do item analisado; e (v) ajuste

operacional dos pedidos do item analisado.

2.Teoria das filas

A teoria das filas é um ramo da probabilidade que estuda a formação de filas,

através de análises matemáticas precisas e propriedades mensuráveis das filas, ela provê

modelos para demonstrar previamente o comportamento de um sistema que ofereça

serviços cuja demanda cresce aleatoriamente, tornando possível dimensioná-lo de forma

a satisfazer os clientes e ser viável economicamente para o provedor do serviço,

evitando desperdícios e gargalos.

Definições

Centro de serviço

Rede de filas é o conjunto de entidades interligadas que oferecem serviços

(centros de serviço) e de usuários (clientes).

Centro de serviço representa os recursos do sistema, compreendendo um ou

mais servidores e um conjunto de clientes que esperam pelo serviço.

Fila representa os clientes que estão esperando pelo serviço, juntamente com os

que estão sendo atendidos pelos servidores.

Fila de espera somente os clientes que estão aguardando pelo serviço.

Sistema de filas

A fila ocorre sempre que a procura por determinado serviço é maior que a

capacidade do sistema de prover este serviço.

Um sistema de filas pode ser definido como clientes chegando, esperando pelo

serviço (se não forem atendidos imediatamente) e saindo do sistema após terem sido

atendidos. "Cliente", em teoria das filas, é um termo genérico, aplicando-se não somente

a seres humanos. O conceito pode abranger, por exemplo, processos esperando para

receber a CPU, pacotes que chegam a um roteador para serem encaminhados, pessoas

esperando no caixa do supermercado, etc.

Aplicações

Existem diversas aplicações da teoria das filas, que podem ser encontradas na

literatura de probabilidade, pesquisa operacional e engenharia industrial. Entre elas

destacam-se:

Fluxo de tráfego (aviões, carros, pessoas, comunicações);

Escalonamento (pacientes em hospitais, programas em computadores);

Prestação de serviços (bancos, correios, lanchonetes).

Componentes de um sistema de filas

Um sistema de filas consiste no processo de chegada, da distribuição do tempo

de serviço, do número de servidores, da capacidade do sistema, da população de

usuários e da disciplina de atendimento.

Processo de chegada

O processo de chegada indica qual o padrão de chegada dos clientes no sistema.

Apresenta comportamento estocástico, ou seja, as chegadas ocorrem no tempo e no

espaço de acordo com as leis da probabilidade; assim, é preciso conhecer qual a

distribuição de probabilidade que descreve os tempos entre as chegadas dos clientes.

A distribuição mais comum é a de Poisson, ou seja, os tempos entre as chegadas

são exponencialmente distribuídos. Entre outras distribuições, estão a de Erlang,

hiperexponencial e arbitrária. Clientes podem chegar simultaneamente (chegada em

batch). Se for possível, é necessário também saber a distribuição de probabilidade do

tamanho do batch. A reação do cliente na fila pode variar. Ele pode esperar

independentemente do tamanho da fila, também pode decidir não entrar no sistema caso

a fila esteja muito grande (cliente decepcionado), ele pode esperar na fila mas depois de

um tempo desistir e sair do sistema, e também pode mudar de uma fila para outra em

sistemas com servidores paralelos.

O padrão de chegada de clientes em função do tempo pode ser permanente;

nesse caso o padrão não muda no tempo, ou seja, a distribuição de probabilidade que

descreve as chegadas é independente do tempo. Também pode ser não-permanente, isto

é, o padrão de chegada muda com o tempo. Por exemplo, a chegada de clientes diminui

no horário de almoço.

Distribuição do tempo de serviço

Assim como no processo de chegada, também é necessário conhecer a

distribuição de probabilidade do tempo de serviço, sendo válidas as mesmas

distribuições apresentadas.

Os serviços podem também ser simples ou batch.O estado pode ser

independente: o processo de atendimento não depende do número de clientes esperando

pelo serviço. Em contrapartida, em um estado dependente, o processo de atendimento

muda de acordo com o número de clientes na fila. Por exemplo, um servidor pode

trabalhar mais rápido quando a fila aumenta ou, ao contrário, ficar confuso e então mais

lento.

Da mesma forma que no processo de chegada, o padrão de serviço pode variar

de acordo com o tempo. Por exemplo, a experiência adquirida com o serviço pode

aumentar a produtividade; o cansaço, por outro lado, pode diminuí-la. Caso não haja

variação o padrão é estacionário.

Número de servidores

Um centro de atraso

Esse componente é também conhecido como número de canais de serviço.

Indica a quantidade de "pontos de atendimento" do sistema, de forma a servir aos

clientes paralelamente. Quando um sistema possui mais de um servidor (multiservidor

ou multicanal), ele pode apresentar duas variações. Em um sistema de fila única, existe

uma única fila para todos os servidores, como em um caixa de banco. Em um sistema de

múltiplas filas, existe uma fila para cada servidor, como em um caixa de supermercado.

Quando existirem infinitos servidores, ou seja, todo cliente que chega é atendido

imediatamente, temos um caso especial conhecido como "Centro de atraso".

Multiservidor com fila única

Servidor paralelo

Capacidade do sistema

Representa o número máximo de clientes que o sistema suporta, incluindo os

que estão em espera e os que estão sendo atendidos. A capacidade pode ser infinita

(mais fácil de analisar) ou finita (por exemplo, número limitado de buffers em um

roteador). Se a capacidade for finita, quando o sistema estiver lotado nenhum cliente

pode entrar até que um cliente saia do sistema, liberando espaço.

População de usuários

Esse componente indica o número potencial de clientes que podem chegar a um

sistema. Pode ser finita ou infinita, descreve a forma como os clientes Disciplina de

atendimento saem da fila de espera para serem atendidos. Algumas disciplinas são:

FCFS (First Come, First Served): Primeiro a Chegar, Primeiro a ser

Atendido. Disciplina mais comum, inclusive na vida diária.

FIFO (First In, First Out): Primeiro a Entrar, Primeiro a Sair).

LCFS (Last Come, First Served): Último a chegar, Primeiro a ser Atendido

LIFO (Last In, First Out): Último a Chegar, Primeiro a Sair. Aplicável em

sistemas em que o item mais recente é mais fácil de ser recuperado, como

por exemplo em sistemas de controle de estoque.

Fila com prioridade: a cada cliente é atribuída uma prioridade; clientes com

maior prioridade têm preferência no atendimento. Pode ser de dois tipos:

Preemptivo : o cliente com maior prioridade é atendido imediatamente,

interrompendo o atendimento ao cliente com menor prioridade. Ao

terminar, o cliente de menor prioridade volta a ser atendido, podendo

continuar o processo de onde parou ou então reiniciá-lo

Não-preemptivo: o cliente com maior prioridade é colocado no início da

fila, recebendo o serviço somente quando o cliente em atendimento sai

do sistema, mesmo se este for de prioridade mais baixa

Round-robin (algoritmo) : cada cliente recebe uma fatia de tempo do servidor

(quantum), dentro da qual é atendido. Após o término do quantum, se a

atividade não foi completada, o cliente é retirado e outro passa a ser atendido.

Posteriormente, o cliente que foi interrompido retorna ao servidor e continua sua

atividade. É muito comum em escalonamento de processos da CPU.

Notação de Kendall

As seis características apresentadas acima descrevem um sistema de filas. Para

simplificar, utiliza-se a notação de Kendall, proposta em 1953, composta por uma série

de símbolos da seguinte forma:

A: Distribuição dos tempos entre as chegadas (Processo de chegada)

S: Distribuição dos tempos de serviço

m: Número de servidores

K: Capacidade do sistema

N: Tamanho da população

Q: Disciplina de atendimento

Exemplos de sistemas de filas

M/G/4/50/2000/LCFS

Processo de chegada exponencial (Markoviano)

Distribuição dos tempos de serviço arbitrária (Geral)

Quatro servidores

Capacidade para cinqüenta clientes

População de dois mil clientes

Disciplina de atendimento "Último a Chegar, Primeiro a ser Servido"

D/M/1/ / /RR

Processo de chegada determinístico

Distribuição dos tempos de serviço exponencial (Markoviano)

Um servidor

Capacidade ilimitada

População infinita

Disciplina de atendimento Round-robin

Muitas vezes, os três últimos símbolos são omitidos. Nestes casos, assume-se

capacidade ilimitada, população infinita e disciplina de atendimento FCFS.

Distribuições de probabilidade

Exponencial (M)

Uniforme (U)

Arbitrária ou Geral (G)

Erlang (Ek)

Hiperexponencial (Hk)

Leis operacionais

São relações simples que não necessitam de nenhuma hipótese sobre as

distribuições dos tempos de serviço ou dos intervalos entre chegadas. Foram

identificadas inicialmente por Buzen em 1976 e posteriormente estendidas por Denning

e Buzen em 1978.

Quantidades operacionais

São quantidades que podem ser medidas diretamente durante um período finito

de observação.

Período de observação: T

Número de chegadas (arrivals): Ai

Número de términos (completions): Ci

Tempo ocupado (busy time): Bi

Taxa de chegada:

Throughput:

Utilização:

Tempo médio de serviço:

Essas quantidades são variáveis que podem mudar de um período de observação

para outro. As relações, porém, continuam válidas.

Lei da Utilização

Ui = XiSi

Lei de Little

Desenvolvida por John Little no início dos anos 60, A Lei de Little relaciona o

número de clientes no sistema com o tempo médio despendido no sistema.

Qi = λiRi

Número médio de clientes = Taxa de chegada x Tempo médio de resposta

Ri = Si + Wi

Tempo médio de resposta = Tempo médio de serviço + Tempo médio de espera

A Lei de Little se aplica sempre que o número de chegadas é igual ao número de

saídas (denominado sistema em equilíbrio). Pode ser aplicada também em subsistemas

(caixa preta). Se o sistema está em equilíbrio, a taxa de chegada é igual ao throughput:

Qi = XiRi

Lei do Fluxo Forçado

Relaciona o throughput global do sistema com o throughput dos dispositivos

individuais. Seja Vi o número médio de visitas ao recurso i por uma tarefa. Cada pedido

que termina precisa passar, em média, Vi vezes pelo recurso i. Se X pedidos forem

concluídos por unidade de tempo, então ViX pedidos terão passado pelo recurso i:

Xi = ViX

Esta lei é aplicável sempre qua a hipótese do sistema em equilíbrio for

verdadeira.

Lei da Demanda de Serviço

Combinando as leis da Utilização e do Fluxo Forçado, obtém-se:

Ui = XiSi = XViSi

ou

Ui = XDi

onde Di = ViSi é a demanda total de serviço no i-ésimo dispositivo.

O dispositivo com a maior demanda de serviço tem a maior utilização, podendo

tornar-se um gargalo no sistema.

Lei Geral do Tempo de Resposta

Sistemas de tempo compartilhado podem ser divididos em dois subsistemas:

subsistema de terminais e subsistema de central de processamento. Dados os

comprimentos individuais Qi das filas de cada terminal, pode-se determinar Q:

Dividindo ambos os lados por X e aplicando a Lei do Fluxo Forçado:

ou

Lei do Tempo de Resposta Interativo

Em um sistema interativo, usuários geram pedidos que são processados por um

subsistema central e os resultados são devolvidos ao terminal. Entre cada pedido de um

usuário, há um tempo ocioso Z.

Aplicando-se a Lei de Little ao subsistema central, tem-se:

Q = XR

Aplicando-a aos M terminais:

Considerando que um cliente ou está sendo atendido ou está ocioso:

3.Método de Monte Carlo

O método de Monte Carlo (MMC) é um método estatístico utilizado em

simulações estocásticas com diversas aplicações em áreas como a física, matemática e

biologia. Tem sido utilizado há bastante tempo como forma de obter aproximações

numéricas de funções complexas, envolve a geração de observações de alguma

distribuição de probabilidades e o uso da amostra obtida para aproximar a função de

interesse.

As aplicações mais comuns são em computação numérica para avaliar integrais.

A ideia do método é escrever a integral que se deseja calcular como um valor esperado.

Existem três classes de algoritmos Monte Carlo:

Erro-Unilateral,

Erro-Bilateral,

Erro-Não-Limitado.

Monte Carlo de Erro-Unilateral

Seja P um problema e A um algoritmo aleatório, A é um algoritmo Monte Carlo

de Erro-Unilateral que resolve P se:

Para toda configuração x que é solução de P,

Para toda configuração x que não é solução de P, prob(A(x = NÃO)) = 1.

Ou seja, sempre que a resposta é NÃO, o algoritmo garante a certeza da

resposta. Contudo, se a resposta for SIM, o algoritmo não garante que a resposta está

correta.

Monte Carlo de Erro-Bilateral

Um algoritmo aleatório A é um algoritmo de Monte Carlo de Erro-Bilateral que

computa o problema F se existe um número real ε, tal que para toda instância x de F:

Monte Carlo de Erro-Não-Limitado

Os algoritmos Monte Carlo de Erro-Não-Limitado são chamados de Algoritmos

Monte Carlo. Um algoritmo aleatório A é um algoritmo de Monte Carlo se para

qualquer entrada x do problema F

Algoritmo de Metropolis

O algoritmo de Metropolis, também conhecido por Algoritmo de Metropolis-

Hastings, é provavelmente o método Monte Carlo mais utilizado na Física, e tem como

objetivo determinar valores esperados de propriedades do sistema simulado, através de

uma média sobre uma amostra.

O algoritmo é concebido de modo a se obter uma amostra que siga a

distribuição de Boltzmann. Para determinar a probabilidade de uma dada configuração,

seria necessário conhecer a chance de ocorrência de todas as outras configurações. No

caso de variáveis contínuas, seria necessário uma integração da densidade de

probabilidade sobre todo o espaço de configurações, mas esse procedimento fica muito

custoso quando se utiliza um número de variáveis da ordem de centenas.

A eficiência do algoritmo de Metropolis está diretamente ligada ao fato de não

levar em conta a probabilidade das configurações em si, mas sim a razão entre elas, pois

a razão entre as probabilidades de duas dadas configurações pode ser determinada

independentemente das outras.

Dadas duas configurações m e n quaisquer, a razão entre a probabilidade da

configuração m, P_m, e a probabilidade da configuração n, P_n, pode ser escrita como:

A partir dessa igualdade, o algoritmo de Metropolis pode ser implementado

através do seguinte conjunto de regras:

(a) Geração de uma configuração inicial aleatória, ou seja, com valores aleatórios para

todos os graus de liberdade do sistema, respeitando as suas restrições. Vamos atribuir o

índice m a essa configuração, que é aceita para a amostra.

(b) Geração de uma nova configuração-tentativa de índice n, resultado de pequenas

alterações nas coordenadas da configuração m.

(c) Se a energia da configuração n for menor que a da configuração m, inclui-se a

configuração n na nossa amostra, e se atribui a ela o índice m a partir desse momento.

Caso contrário, realizam-se os passos descritos nos subitems (c1) e (c2) abaixo:

(c1) Gera-se um número aleatório entre 0 e 1;

(c2) Se esse número aleatório for menor que , aceita-se na amostra a configuração

n, e se atribui a ela o índice m. Caso contrário, o índice m permanece designando a

configuração original.

(d) Repete-se os passos (b) e (c) até que algum critério de parada seja satisfeito. Cada

uma dessas repetições é dita um passo Monte Carlo (MC).

A Simulação de Monte Carlo (MC) é um método crescentemente popular para

valorar derivativos complexos, inclusive OR. O método de MC resolve o problema

através da simulação direta do processo físico, de forma que não seja necessário

escrever a equação diferencial da OR.

É uma ferramenta flexível para manusear vários detalhes específicos de problemas

da vida real, incluindo várias restrições (condições de fronteira e outras) e payoffs

complexos, e várias fontes de incertezas, é um antídoto para a “maldição da

dimensionalidade” (curse of dimensionality) e da “maldição da modelagem” (curse of

modeling) que dificulta a solução de problemas reais complexos.

O método de Monte Carlo (MC) é ilustrado abaixo, sendo que previamente temos

as distribuições de entradas (inputs) e as equações que as ligam ao resultado (output):

O método de Monte Carlo (MC) consiste basicamente dos passos abaixo:

Especifique as distribuições das variáveis de entrada (incluindo seqüências

temporais de distribuições, processos estocásticos) e suas correlações e

dependências;

Amostre as distribuições de dados de entradas (inputs);

Faça operações matemáticas com as amostras dos inputs (+, −, *, ^, /, exp.[.],

etc.) para calcular o resultado (output) gerado por essas amostras;

Repita os passos anteriores N vezes, gerando N outputs;

Calcule a média e outras propriedades probabilísticas da resultante

distribuição de outputs.

Incerteza em Funções Côncavas e Convexas

O efeito da incerteza em funções depende se a função é linear, côncava ou

convexa.Esse efeito pode ser visto com o lema de Itô ou com a desigualdade de Jensen.

De acordo com a Desigualdade de Jensen se x é variável aleatória (v.a.) e f (x) é

uma função (estritamente) convexa de x, então:

E[f(x)] > f(E[x])

Logo, se o valor esperado de x permanece o mesmo, mas sua variância aumenta,

então E[f(x)] aumenta.

Se g(X) é função (estritamente) côncava de x, e x for variável aleatória basta

inverter a desigualdade:

E[g(x)] < g(E[x])

Se h(x) é função linear da variável aleatória x, então:

E[h(x)] = h(E[x])

A simulação de MC permite visualizar esse efeito e verificar que a desigualdade de

Jensen é maior (diferença entre E[f(x)] e f(E[x]) quanto maior for a incerteza, isso nos

permite “ver” que um aumento da volatilidade (e logo da variância) aumenta o valor da

opção.

Efeito da Incerteza no Valor da Opção

Como a opção real F é geralmente uma função convexa do ativo básico V, um

aumento na incerteza (volatilidade), aumenta o valor da opção.

Exemplo: Opção de compra perpétua, a função F(V) é uma função potência convexa

F = A Vβ1, com Α positivo.

A função F(V, t = T) = máx{V(T) − I, 0} é convexa em V. A função máximo de

uma função com variável aleatória geralmente é convexa, explicando o valor da espera.

Efeito da Incerteza e o Lema de Itô

No caso de funções contínuas 2 vezes diferenciáveis (C2):

F(x) é côncava se: ∂2F/∂x2 = Fxx < 0

F(x) é linear se: ∂2F/∂x2 = Fxx = 0

F(x) é convexa se: ∂2F/∂x2 = Fxx > 0

A desigualdade de Jensen é tornada precisa através do lema de Itô (termo derivada

segunda). Exemplo: MGB:

dx = α x dt + σ x dz. Seja α = 0⇒ dx = σ x dz ⇒ E[dx] = 0

Mas para uma função F(x) qualquer, E[dF(x)] ≠ 0. Note que dF é dada pelo lema de

Itô, que resulta em:

dF = [0,5 σ2 x2 ∂2F/∂x2] dt + [σ x ∂F/∂x] dz

Logo, E[dF] > 0 se ∂2F/∂x2 > 0, se F(x) for convexa e E[dF] < 0 se ∂2F/∂x2 < 0,

se F(x) for côncava em x.

O Lema de Itô quantifica o efeito (= [0,5 σ2 x2 ∂2F/∂x2] dt), que é maior quanto

maior for a incerteza (medida por σ).

Simulação de Monte Carlo e Opções

O método de Monte Carlo faz simulação (forward) e não otimização (backward),

mas se tivermos a regra ótima de exercício, o método de MC é mais fácil e mais

flexível. Até pouco tempo atrás só era usado o método de MC em opções do tipo

européia, pois tem regra clara de exercício ótimo em T.

Se tivermos a curva de gatilho antes, podemos valorar a OR do tipo americana, por

exemplo combinando várias incertezas.

Por volta de 1993 começaram a surgir métodos de otimização viáveis para serem

acoplados à simulação de MC, de forma a poder usar opções do tipo americana. Embora

alguns dos métodos para opções americanas ainda sejam mais ou menos complexos,

eles começam a ser usados em opções reais.

Um método que vem se tornando popular é o de Longstaff & Schwartz (mínimos

quadrados), mas existem mais de 10 métodos. Para opções européias (exceto as path

dependent), podemos simular V apenas na expiração. Nas outras, devemos simular todo

o caminho.

Valoração da “Call” Européia por Simulação

Se o ativo básico V é o valor do projeto operando e I é o preço de exercício

(investimento), a equação visual para a opção real tipo Européia é:

Opção Real Européia por Simulação

O problema da call européia é como avaliar de forma integral a simulação. Seja

uma opção européia de compra C que expira em T avaliada no instante t, quando o valor

do ativo básico é Vt. Sendo assim observe abaixo:

EtQ[.] : a expectativa neutra ao risco do payoff condicional a informação em t;

p(VT, T | Vt , t) : a densidade de probabilidade neutra ao risco de VT;

Preço de exercício I e a taxa livre de risco r.

O valor da opção é a avaliação da integral atualizada:

Ou seja, se simula a distribuição neutra ao risco de V (lognormal com a média

“neutra ao risco”), se aplica a regra de decisão em T e atualiza usando a taxa r.

Simulação de Processos Estocásticos

A simulação de processo estocástico permite simular tanto o processo estocástico real,

como o processo estocástico neutro ao risco.

Simulação Real

Aplicações em value-at-risk, simulações para hedge, estimativa de probabilidades de

exercício de opção, tempo esperado para o exercício, etc.

Simulação Neutra ao risco

Valoração de opções e derivativos.

Neste caso é importante lembrar que:

drift neutro ao risco = drift real – prêmio de risco

drift neutro ao risco = α – π= r– δ

Foi visto que para o MGB (Movimento Geométrico Browniano), temos as

seguintes equações para os casos real e neutro ao risco, respectivamente:

dP

P = α dt + σ dz (processo real)

dP

P = (r −δ) dt + σ dz’ (processo neutro ao risco)

Simulação Real x Neutra ao Risco

Típicas amostras de caminho (sample-paths) p/ MGBs real e neutro ao risco (com

os mesmos choques estocásticos) a diferença é π dt.

Enquanto a simulação neutra ao risco é usada para valorar derivativos, a simulação

real é útil para o propósito de planejamento.