Fx options binomial tree no Brasil


Release: JavaFX 2.2 Usando os controles da interface do usuário JavaFX Figura 22-1 Aplicação com uma barra de menus e três categorias de menus Descrição da figura 22-1 Aplicação com uma barra de menus e três categorias de menus Criando menus em aplicativos JavaFX Um menu é uma lista de itens acionáveis ​​que Podem ser exibidos mediante solicitação de usuários. Quando um menu é visível, os usuários podem selecionar um item de menu ao mesmo tempo. Depois que um usuário clicar em um item, o menu retorna ao modo oculto. Ao usar menus, você pode economizar espaço na sua interface de usuário (UI) ao colocar nos menus a funcionalidade que nem sempre precisa ser visível. Os menus em uma barra de menu geralmente são agrupados em categorias. O padrão de codificação é declarar uma barra de menu, definir os menus da categoria e preencher os menus das categorias com itens do menu. Use as seguintes classes de itens de menu ao criar menus em suas aplicações JavaFX: MenuItem ndash para criar uma opção acionável Menu ndash para criar um submenu RadioButtonItem ndash para criar uma seleção mutuamente exclusiva CheckMenuItem ndash para criar uma opção que pode ser alternada entre estados selecionados e não selecionados Para separar itens de menu dentro de uma categoria, use a classe SeparatorMenuItem. Os menus organizados por categorias em uma barra de menus geralmente estão localizados na parte superior da janela, deixando o resto da cena para elementos cruciais da IU. Se, por algum motivo, você não pode atribuir qualquer parte visual de sua UI para uma barra de menu, você pode usar menus de contexto que o usuário abre com um clique do mouse. Criando uma barra de menus Embora uma barra de menu possa ser colocada em outro lugar da interface do usuário, geralmente ela está localizada na parte superior da interface do usuário e contém um ou mais menus. A barra de menu redimensiona automaticamente para ajustar a largura da janela do aplicativo. Por padrão, cada menu adicionado à barra de menu é representado por um botão com o valor do texto. Considere um aplicativo que disponibiliza informações de referência sobre plantas, como seu nome, nome binomial, imagem e uma breve descrição. Você pode criar três categorias de menu: Arquivo, Editar e Exibir e preenchê-los com os itens do menu. O Exemplo 22-1 mostra o código-fonte de tal aplicativo com a barra de menu adicionada. Exemplo 22-1 Aplicação de exemplo de menu Ao contrário de outros controles de interface do usuário, a classe de menu e outras extensões da classe MenuItem não estendem a classe Node. Eles não podem ser adicionados diretamente à cena do aplicativo e permanecem invisíveis até serem adicionados à barra de menu através do método getMenus. Figura 22-2 Barra de menu é adicionada à descrição da aplicação da Figura 22-2 Barra de menus é adicionada à aplicação Você pode navegar pelos menus usando as teclas de seta do teclado. No entanto, quando você seleciona um menu, nenhuma ação é executada, porque o comportamento para os menus ainda não está definido. Adicionando itens de menu Defina a funcionalidade para o menu Arquivo adicionando os seguintes itens: Shuffle ndash para carregar informações de referência sobre plantas Clear ndash para remover as informações de referência e limpar a cena Separar ndash para separar itens do menu Sair ndash para sair do aplicativo Linha negrito em Exemplo 22-2 crie um menu Shuffle usando a classe MenuItem e adicione componentes gráficos à cena do aplicativo. A classe MenuItem permite a criação de um item acionável com texto e gráficos. A ação executada em um clique do usuário é definida pelo método setOnAction, semelhante à classe Button. Exemplo 22-2 Adicionando o item de menu aleatório com gráficos Quando um usuário seleciona o item do menu Shuffle, o método shuffle chamado dentro setOnAction especifica o título, o nome binomial, uma imagem da planta e sua descrição calculando o índice dos elementos Nos arrays correspondentes. O item Limpar menu é usado para apagar a cena do aplicativo. Você pode implementar isso, tornando invisível o recipiente VBox com os elementos GUI como mostrado no Exemplo 22-3. Exemplo 22-3 Criando o item de menu Limpar com acelerador A implementação da classe MenuItem permite aos desenvolvedores configurar um acelerador de menu, uma combinação de teclas que executa a mesma ação que o item de menu. Com o menu Limpar, os usuários podem selecionar a ação na categoria do menu Arquivo ou pressionar a tecla Controle e a tecla X simultaneamente. O menu Sair fecha a janela do aplicativo. Defina System. exit (0) como uma ação para este item de menu como mostrado no Exemplo 22-4. Exemplo 22-4 Criando o Item do Menu de Saída Use o método getItems mostrado no Exemplo 22-5 para adicionar os itens de menu recém-criados ao menu Arquivo. Você pode criar um item de menu separador e adicioná-lo dentro do método getItems para separar visualmente o item de menu Exit. Exemplo 22-5 Adicionando Itens de Menu Adicionar Exemplo 22-2. Exemplo 22-3. Exemplo 22-4. E Exemplo 22-5 para o exemplo de exemplo do menu, e depois compilá-lo e executá-lo. Selecione o item de menu Shuffle para carregar informações de referência sobre plantas diferentes. Em seguida, limpe a cena (Limpar) e feche o aplicativo (Sair). A Figura 22-3 mostra a seleção do item Limpar menu. Figura 22-3 Menu Arquivo com Três Itens de Menu Descrição da Figura 22-3 Menu Arquivo com Três Itens de Menu Com o menu Exibir, você pode ocultar e mostrar elementos de informações de referência. Implementar o método createMenuItem e chamá-lo dentro do método de início para criar quatro objetos CheckMenuItem. Em seguida, adicione itens de menu de seleção recém-criados no menu Exibir para alternar a visibilidade do título, nome binomial, imagem da planta e sua descrição. O exemplo 22-6 mostra dois fragmentos de código que implementam essas tarefas. Exemplo 22-6 Aplicando a classe CheckMenuItem para criar opções de alternância A classe CheckMenuItem é uma extensão da classe MenuItem. Pode ser alternado entre estados selecionados e desmarcados. Quando selecionado, um item de seleção do menu mostra uma marca de seleção. O exemplo 22-6 cria quatro objetos CheckMenuItem e processa a alteração da propriedade selectedProperty. Quando, por exemplo, um usuário desmarca o item picView, o método setVisible recebe o valor falso, a imagem da planta fica invisível. Quando você adiciona este fragmento de código ao aplicativo, compila e executa o aplicativo, você pode experimentar selecionando e desmarcando os itens do menu. A Figura 22-4 mostra o aplicativo no momento em que o título e a imagem da planta são mostrados, mas seu nome binomial e sua descrição estão ocultos. Figura 22-4 Usando itens de menu de verificação Descrição da Figura 22-4 Usando itens de menu de verificação Criando submenus Para o menu Editar, defina dois itens de menu: Efeito de imagem e sem efeitos. O item de menu Efeito de imagem foi projetado como um submenu com três itens para definir um dos três efeitos visuais disponíveis. O item de menu Não Efeitos remove o efeito selecionado e restaura o estado inicial da imagem. Use a classe RadioMenuItem para criar os itens do submenu. Adicione os botões do menu de rádio a um grupo alternativo para tornar a seleção mutuamente exclusiva. O Exemplo 22-7 implementa essas tarefas. Exemplo 22-7 Criando um submenu com itens de menu de rádio O método setUserData define um efeito visual para um item de menu de rádio específico. Quando um dos itens no grupo alternativo é selecionado, o efeito correspondente é aplicado à imagem. Quando o item do menu Não Efeitos é selecionado, o método setEffect especifica o valor nulo e nenhum efeito é aplicado à imagem. A Figura 22-5 captura um momento em que um usuário está selecionando um item de menu Sombra. Figura 22-5 Submenu com três itens de menu de rádio Descrição da Figura 22-5 Submenu com três itens de menu de rádio Quando o efeito DropShadow é aplicado à imagem, parece como mostrado na Figura 22-6. Figura 22-6 Imagem de Quince com um efeito DropShadow Descrição Aplicada da Figura 22-6 Imagem de Quince com um efeito DropShadow Aplicado Você pode usar o método setDisable da classe MenuItem para desativar o menu Não Efeitos quando nenhum dos efeitos é selecionado em O submenu Picture Effect. Modifique o Exemplo 22-7 como mostrado no Exemplo 22-8. Exemplo 22-8 Desabilitando um item de menu Quando nenhuma das opções do RadioMenuItem estiver selecionada, o item do menu Não Efeito está desativado, como mostrado na Figura 22-7. Quando um usuário seleciona um dos efeitos visuais, o item de menu Nenhum Efeitos está habilitado. Figura 22-7 Item do menu do efeito está desativado Descrição da figura 22-7 Item do menu do efeito está desabilitado Adicionar menus de contexto Quando você não pode alocar qualquer espaço de sua interface de usuário para uma funcionalidade necessária, você pode usar um menu de contexto. Um menu de contexto é uma janela pop-up que aparece em resposta a um clique do mouse. Um menu de contexto pode conter um ou mais itens de menu. No aplicativo Exemplo de menu, defina um menu de contexto para a imagem da planta, para que os usuários possam copiar a imagem. Use a classe ContextMenu para definir o menu de contexto como mostrado no Exemplo 22-9. Exemplo 22-9 Definindo um menu de contexto Quando um usuário clica com o botão direito do mouse no objeto ImageView, o método de exibição é chamado para que o menu de contexto permita a sua exibição. O método setOnAction definido para o item Copiar Imagem do menu de contexto cria um objeto Clipboard e adiciona a imagem como seu conteúdo. A Figura 22-8 captura um momento em que um usuário está selecionando o item de menu de contexto Copiar imagem. Figura 22-8 Usando o Menu de Contexto Descrição da Figura 22-8 Usando o Menu de Contexto Você pode tentar copiar a imagem e colá-la em um editor gráfico. Para obter mais aprimoramentos, você pode adicionar mais itens de menu ao menu de contexto e especificar ações diferentes. Você também pode criar um menu personalizado usando a classe CustomMenuItem. Com esta classe, você pode incorporar um nó arbitrário dentro de um menu e especificar, por exemplo, um botão ou um controle deslizante como item de menu. Documentação de API relacionada APIs para entender o modelo de preço de opção Binomial É bastante desafiador concordar com o preço exato de qualquer bem negociável, mesmo no presente. É por isso que os preços das ações continuam mudando constantemente. Na realidade, a empresa quase não altera sua avaliação no dia-a-dia, mas o preço das ações e sua valoração mudam a cada segundo. Isso mostra dificilmente chegar a um consenso sobre o preço atual de qualquer bem negociável, o que leva a oportunidades de arbitragem. No entanto, essas oportunidades de arbitragem são realmente de curta duração. Tudo se resume à avaliação do dia atual, o que é o preço atual atual hoje para uma recompensa futura esperada. Em um mercado competitivo, para evitar oportunidades de arbitragem, os ativos com estruturas de recompensa idênticas devem ter o mesmo preço. A avaliação das opções tem sido uma tarefa desafiadora e observam-se altas variações nos preços, levando a oportunidades de arbitragem. Black-Scholes continua a ser um dos modelos mais populares utilizados para opções de preços. Mas tem suas próprias limitações. (Para obter mais informações, consulte: Preço das opções). O modelo de preço da opção Binomial é outro método popular usado para opções de preços. Este artigo discute alguns exemplos abrangentes passo a passo e explica o conceito subjacente de risco neutro na aplicação deste modelo. (Para leitura relacionada, consulte: Rompendo o modelo binomial para valorizar uma opção). Este artigo assume a familiaridade do usuário com opções e conceitos e termos relacionados. Suponha que exista uma opção de compra em uma ação específica cujo preço de mercado atual seja 100. A opção ATM tem um preço de exercício de 100 com prazo até ao final de um ano. Existem dois comerciantes, Peter e Paul, que ambos concordam que o preço das ações aumentará para 110 ou cai para 90 em um ano. Ambos concordam com os níveis de preços esperados em um determinado período de tempo de um ano, mas discordam da probabilidade de mover para cima (e mover para baixo). Peter acredita que a probabilidade de o preço das ações chegar a 110 é de 60, enquanto Paulo acredita que é 40. Com base no acima, quem estaria disposto a pagar mais preço pela opção de compra Possivelmente Peter, como ele espera uma alta probabilidade do movimento para cima. Vamos ver os cálculos para verificar e entender isso. Os dois ativos nos quais a avaliação depende são a opção de compra e o estoque subjacente. Existe um acordo entre os participantes de que o preço das ações subjacentes pode passar dos atuais 100 para 110 ou 90 em um ano, e não há outros movimentos de preços possíveis. Em um mundo livre de arbitragem, se devemos criar um portfólio composto por esses dois ativos (opção de compra e ações subjacentes), de modo que, independentemente de onde o preço subjacente seja (110 ou 90), o retorno líquido da carteira permanece sempre o mesmo . Suponhamos que nós compramos ações d da opção de chamada subjacente e curta para criar esse portfólio. Se o preço for de 110, nossas ações valerão 110d e bem perderão 10 em curto retorno de chamadas. O valor líquido de nossa carteira será (110d 10). Se o preço cair para 90, nossas ações valerão 90d, e a opção expirará sem valor. O valor líquido de nossa carteira será (90d). Se queremos que o valor de nossa carteira permaneça o mesmo, independentemente de onde quer que o preço das ações subjacentes, o nosso valor de carteira deve permanecer o mesmo em ambos os casos, ou seja: gt (110d 10) 90d, ou seja, se comprarmos metade do compartilhamento ( Assumindo que as compras fraccionadas são possíveis), conseguiremos criar um portfólio de modo que seu valor permaneça o mesmo em ambos os estados possíveis dentro do prazo determinado de um ano. (Ponto 1) Este valor de carteira, indicado por (90d) ou (110d -10) 45, é um ano abaixo da linha. Para calcular o valor presente. Pode ser descontado por taxa de retorno livre de risco (assumindo 5). Gt 90d exp (-51 ano) 45 0.9523 42.85 gt Valor presente da carteira Como atualmente, a carteira é composta por ação do estoque subjacente (com preço de mercado 100) e 1 chamada curta, deve ser igual ao valor presente calculado acima Ou seja, gt 12100 Preço 1call 42.85 gt Preço de chamada 7.14, ou seja, o preço da chamada a partir de hoje. Uma vez que isso se baseia na suposição acima de que o valor do portfólio permanece o mesmo, independentemente de qual o preço subjacente (ponto 1 acima), a probabilidade de mover para cima ou para baixo não desempenha qualquer função aqui. O portfólio permanece livre de riscos, independentemente dos movimentos de preços subjacentes. Em ambos os casos (assumido como sendo o movimento para 110 e para baixo para 90), nosso portfólio é neutro para o risco e ganha a taxa de retorno livre de risco. Portanto, ambos os comerciantes, Peter e Paul, estarão dispostos a pagar o mesmo 7.14 para esta opção de chamada, independentemente de suas próprias percepções diferentes das probabilidades de movimentos ascendentes (60 e 40). Suas probabilidades percebidas individualmente não desempenham nenhum papel na avaliação de opções, como se vê a partir do exemplo acima. Se suponha que as probabilidades individuais sejam importantes, haveria oportunidades de arbitragem existentes. No mundo real, tais oportunidades de arbitragem existem com menores diferenciais de preços e desaparecem em curto prazo. Mas, onde é a volatilidade muito alta em todos esses cálculos, que é um fator importante (e mais sensível) que afeta o preço das opções. A volatilidade já está incluída na natureza da definição do problema. Lembre-se de que estamos assumindo dois (e apenas dois - e, portanto, o nome binomial) dos níveis de preços (110 e 90). A volatilidade está implícita nessa suposição e, portanto, incluída automaticamente 10 de qualquer maneira (neste exemplo). Agora, vamos fazer uma verificação de sanidade para ver se a nossa abordagem é correta e coerente com os preços de Black-Scholes comumente usados. (Veja: O modelo de avaliação da opção Black-Scholes). Aqui estão as capturas de tela dos resultados das calculadoras das opções (cortesia da OIC), que combina de perto com nosso valor calculado. Infelizmente, o mundo real não é tão simples como apenas dois estados. Existem vários níveis de preços que podem ser alcançados pelo estoque até o momento de expirar. É possível incluir todos esses níveis múltiplos em nosso modelo de precificação binomial, que é restrito a apenas dois níveis. Sim, é muito possível, e para entendê-lo, vamos entrar em alguma matemática simples. Alguns passos de cálculo intermediários são ignorados para mantê-lo resumido e focado nos resultados. Para prosseguir, generalizamos esse problema e solução: X é o preço de mercado atual do estoque e Xu e Xd são os preços futuros para movimentos para cima e para baixo nos anos seguintes. Factor você será maior do que 1, pois indica o movimento e d irá encontrar-se entre 0 e 1. Para o exemplo acima, u1.1 e d0.9. As recompensas da opção de chamada são P up e P dn para movimentos para cima e para baixo, no momento do caducidade. Se nós construímos um portfólio de ações de s compradas hoje e curta uma opção de chamada, então, após o tempo t: Valor da carteira em caso de movimento ascendente SXu P up Valor da carteira em caso de queda do movimento sXd P dn Para avaliação semelhante em ambos os casos de Movimento de preço, gt s (P up - P dn) (X (ud)) no. De ações para comprar para portfólio livre de risco O valor futuro da carteira no final de anos será o valor atual de acima pode ser obtido descontando-o com taxa de retorno livre de risco: Isso deve corresponder à participação de carteira de ações s em X preço e valor de chamada curto c, ou seja, a manutenção atual de (s X-c) deve ser igual à acima. Resolver para c finalmente dá c como: SE CURRIR O PRIMEIRO DE CHAMADAS DEVEM SER ADICIONADOS À PORTFOLIO NÃO SUBTRAÇÃO. Outra maneira de escrever a equação acima é reorganizando-a da seguinte forma: então a equação acima se torna Reorganizando a equação em termos de q ofereceu uma nova perspectiva. Q agora pode ser interpretado como a probabilidade do movimento ascendente do subjacente (como q está associado com P up e 1-q está associado a P dn). Em geral, a equação acima representa o preço atual da opção, ou seja, o valor descontado da sua recompensa no vencimento. Como é esta probabilidade q diferente da probabilidade de mover ou mover para baixo do subjacente O valor do preço da ação no tempo tq Xu (1-q) Xd Substituindo o valor de q e reorganizando, o preço da ação no tempo t vem Neste mundo assumido de dois estados, o preço do estoque simplesmente aumenta pela taxa de retorno livre de risco, ou seja, exatamente como um recurso livre de risco e, portanto, permanece independente de qualquer risco. Todos os investidores são indiferentes ao risco sob este modelo, e isso constitui o modelo neutro de risco. A probabilidade q e (1-q) são conhecidas como probabilidades de risco neutro e o método de avaliação é conhecido como modelo de avaliação de risco neutro. O exemplo acima tem um requisito importante: a estrutura de recompensa futura é necessária com precisão (nível 110 e 90). Na vida real, tal clareza sobre os níveis de preços baseados em etapas não é possível, em vez disso, o preço se move aleatoriamente e pode se estabelecer em vários níveis. Vamos ampliar o exemplo. Suponha que os níveis de preços em duas etapas são possíveis. Conhecemos os resultados finais da segunda etapa e precisamos valorar a opção hoje (ou seja, na etapa inicial). Trabalhando para trás, a avaliação do primeiro passo intermediário (em t1) pode ser feita usando os ganhos finais no segundo passo (t2) e, em seguida, usando estes Avaliação calculada do primeiro passo (t1), a avaliação atual (t0) pode ser alcançada usando os cálculos acima. Para obter o preço da opção no nº. 2, recompensas em 4 e 5 são usadas. Para obter preços para o número. 3, recompensas em 5 e 6 são usadas. Finalmente, os pagamentos calculados às 2 e 3 são usados ​​para obter preços no nº. 1. Por favor, note que nosso exemplo assume o mesmo fator para mover para cima (e para baixo) em ambos os passos - u (e d) são aplicados de forma combinada. Aqui está um exemplo de trabalho com cálculos: suponha uma opção de venda com preço de exercício 110 atualmente comercializado em 100 e expirando em um ano. A taxa livre de risco anual é de 5. O preço deverá aumentar 20 e diminuir 15 a cada seis meses. Vamos estruturar o problema: Aqui, u1.2 e d 0.85, X100, t 0.5 valor da opção de colocação no ponto 2, Na condição de up de P, subjacente será 1001.21.2 144 levando a P upup zero Na condição de P updn, subjacente Seja 1001.20.85 102 levando a P updn 8 Na condição P dndn, o subjacente será 1000.850.85 72.25 levando a P dndn 37.75 p 2 0.975309912 (0.358028320 (1-0.35802832) 8) 5.008970741 De forma semelhante, p 3 0.975309912 (0.358028328 (1- 0.35802832) 37.75) 26.42958924 E, portanto, valor de opção de venda, p 1 0.975309912 (0.358028325.008970741 (1-0.35802832) 26.42958924) 18.29. Da mesma forma, os modelos binomiais permitem quebrar a duração da opção inteira para refinar múltiplos níveis de etapas. Usando programas de computador ou planilhas pode-se trabalhar para trás um passo de cada vez, para obter o valor presente da opção desejada. Concluir com mais um exemplo envolvendo três etapas para a avaliação da opção binomial: Assuma uma opção de venda de tipo europeu, com um prazo de vencimento de 9 meses com preço de exercício de 12 e preço subjacente atual em 10. Aceite taxa livre de risco de 5 para todos os períodos. Assuma cada 3 meses, o preço subjacente pode mover-se 20 para cima ou para baixo, dando-nos u1.2, d0.8, t0.25 e árvore binomial de 3 etapas. Os números em vermelho indicam os preços subjacentes, enquanto os que estão em azul indicam a opção de recompensa da venda. Probabilidade neutra de risco q calcula para 0,531446. Usando o valor acima de q e os valores de recompensa em t9 meses, os valores correspondentes em t6 meses são calculados como: Além disso, usando esses valores calculados em t6, os valores em t3 e, em seguida, em t0 são: dando o valor atual da opção put como 2.18, o que é bastante próximo do calculado utilizando o modelo Black-Scholes (2.3). Embora o uso de programas de computador facilite muito esses cálculos intensivos, a previsão de preços futuros continua a ser uma grande limitação de modelos binomiais para preços de opções. Quanto mais finos os intervalos de tempo, mais difícil consegue prever com precisão os retornos no final de cada período. No entanto, a flexibilidade para incorporar mudanças como esperado em diferentes períodos de tempo é uma vantagem acrescida, o que torna adequado para o preço das opções americanas. Incluindo avaliações de exercícios iniciais. Os valores calculados usando o modelo binomial correspondem intimamente aos calculados a partir de outros modelos comumente usados, como o Black-Scholes, que indica a utilidade e a precisão dos modelos binomiais para o preço das opções. Os modelos de preços binomiais podem ser desenvolvidos de acordo com uma preferência de comerciantes e funcionam como uma alternativa a Black-Scholes.

Comments