Tuesday, 16 January 2018

Tarf fx options


Estatísticas de blog Nenhuma nova postagem nesta semana. Isso não é porque eu sou preguiçoso, mas achei que valha a pena resumir os resultados no preço aproximado de FX TaRF em um breve artigo. Também vou escrever sobre isso aqui, com ênfase no código QuantLib por trás. Semana que vem. Cuidar. Na minha publicação anterior, escrevi sobre algumas idéias para avaliar de forma eficiente o valor de um fx exótico (um fx tarf na verdade). Uma motivação principal é usar um preço tão rápido em uma simulação XVA. Esta publicação é dedicada ao design que eu criei para encaixar a ideia com a maior precisão possível na arquitetura QuantLib existente. A próxima publicação apresentará detalhes sobre o próprio esquema de aproximação, alguns exemplos numéricos que comparam a aproximação com um preço total em vários cenários de mercado e de degradação do tempo e testes de desempenho. O bom design é de extrema importância. Mesmo em um bairro próspero, uma janela quebrada, não rapidamente reparada, em breve levará a um segundo e, depois de um tempo, uma área degenerada. Por sorte Luigi não permitiria que isso acontecesse na cidade QuantLib, é claro. Estes são meus pensamentos sobre o design em geral: devemos ter dois motores de preços, um MC e um motor Proxy. Não devemos ter apenas um motor com alguns métodos adicionais para extrair os NPVs aproximados de forma proprietária, o motor proxy deve comportar-se como qualquer outro motor, p. A decadência do tempo deve ser consistentemente deduzida da data de avaliação global, não através de algum parâmetro especial, e os dados de mercado relevantes devem ser dados por estruturas padrão, a implementação de novos instrumentos e mecanismos de preços que sigam a mesma idéia deve ser fácil e basear-se em uma Interface comum, a interface de usuário final usada no código do cliente deve ser fácil de usar e a simulação XVA infalível é uma aplicação do motor proxy, mas não há conexão estrita com este caso de uso 8211 você também pode usar o mecanismo proxy 8220just8221 para calcular npvs mais rapidamente Se a alta precisão não é necessária Ou em suma: Não deve haver nada de especial sobre o todo. Limpe seu entusiasmo, apenas faça um trabalho sólido, não tente impressionar ninguém. OK. Let8217s começam com a classe do instrumento. O construtor leva a agenda da estrutura8217 (ou seja, as datas do valor), o índice fx subjacente representando, por exemplo, uma correção do ECB fx (esta é uma nova classe também, porque não existe um índice fx no QuantLib ainda não, mas eu não vou Em detalhes sobre isso aqui), o nominal da estrutura (em moeda estrangeira, de ativos ou de fonte, há muitos nomes para isso) os perfis de compensação de contrapartes8217, que normalmente são curtos e chamadas longas, todos compartilhando o mesmo atingem o nível-alvo Onde a estrutura bate o tipo de cupom (veja o post anterior que liguei acima) a engrenagem dos dois lados do negócio. Os dois últimos acumuladosAmount e lastAmount são opcionais. Se não for dado, o FxTarf calcula a quantidade já acumulada lendo as fixações históricas do index8217s. Se especificado, por outro lado, as fixações históricas são ignoradas e a quantidade acumulada fornecida é usada. A última montagem neste contexto é necessária somente no caso de a última correção ter ocorrido, mas o pagamento associado ainda está no futuro. A razão para introduzir esses parâmetros um pouco redundantes é a seguinte. Por um lado, pode ser útil não definir todas as fixações históricas para o índice fx, mas definir diretamente o valor acumulado. Talvez você obtenha as informações do negócio de algum sistema fonte e já fornece o valor acumulado atual juntamente com os dados do negócio. Mais importante ainda, durante uma simulação XVA você pode não querer definir todas as fixações no IndexManager. Você pode fazer isso, se você quiser, mas pode não ser útil, porque depois de cada caminho você deve apagar todas as fixações novamente ou talvez você não simule cada data de fixação e apenas deseja interpolar as fixações acumuladas. Em qualquer caso, é apenas um parâmetro de conveniência. Use-o ou simplesmente ignore-o. Para um preço completo do tarf, podemos usar um motor Monte Carlo que é construído da maneira usual, por exemplo. Os parâmetros aqui são o processo (generalizado) Black Scholes, os passos de tempo para simular por ano, a semente para o RNG. O último modificador. withProxy () é o único item especial aqui: Por padrão, o motor calculará apenas um npv (e uma estimativa de erro) como qualquer outro mecanismo mc. Se o motor estiver configurado com o sinalizador de proxy, por outro lado, informações adicionais durante a simulação são coletadas e analisadas para produzir algum objeto de informação de proxy que possa ser usado mais tarde para pricings aproximados. Veremos em um minuto como. Precisamos deste modificador porque a simulação fica mais lenta ao criar o proxy, então devemos desligá-lo. Agora, configuramos o motor e podemos calcular o npv (completo): se quisermos apenas o preço do proxy, podemos, naturalmente, ignorar o cálculo completo do npv, mas não sofre dano porque o npv sempre é produzido, mesmo que apenas o cálculo das informações para O motor proxy. Para usar o mecanismo de proxy, temos que começar com um mecanismo que pode produzir esta informação. O motor proxy é alimentado com o objeto proxy: o mecanismo proxy é construído com a descrição de proxy produzida pelo mecanismo mc, que pode ser recuperada do instrumento por. proxy () (este é um resultado especial, o que parece importante o suficiente não Para enterrá-lo no pacote de resultados adicionais 8212, isso não é nada inovador, embora o it8217 goste do bps ou taxa justa para swaps como exemplo) a cotação fx utilizada para o preço 8211, ou seja, os dados de mercado essenciais necessários para o preço do proxy a curva de desconto para O preço (que é tomado como a curva de taxa doméstica do nosso processo de escolhas pretas em nosso exemplo de código de cliente). Além disso, a data de avaliação global determinará a data de referência para a avaliação, como de costume. Se o instrumento não fornecer um objeto proxy (por exemplo, porque o motor mc foi informado, veja acima), ou se o objeto proxy não for adequado para o mecanismo proxy ser construído, uma exceção será lançada. O que está acontecendo nos bastidores: adicionei uma interface para instrumentos que são capazes de prever o preço: o único método a implementar é o proxy, que deve retornar um objeto contendo as informações necessárias para um mecanismo proxy compatível para calcular npvs aproximados (veja abaixo para O que é compatível). A informação em si deve ser um objeto derivado de ProxyInstrument :: ProxyDescription. Ele deve fornecer um método de validação que deve verificar os dados fornecidos para consistência. Como é o instrumento fx tarf implementado w. r.t. Esta interface: isto diz que a informação de proxy específica (ou possível) de um ff tarf consiste em alguns dados descritivos, que é o número máximo de fixações abertas (futuras) a última data de pagamento da estrutura 8211 veja abaixo uma balde da Quantidade acumulada que, em conjunto, definem uma segmentação para a função aproximada. Em cada segmento, a função de aproximação é dada por um Proxy :: ProxyFunction que é nesse nível de abstração apenas uma função arbitrária Real to Real. Retornando o npv para um determinado ponto fx. O npv é expresso em base à frente a partir da última data de pagamento da estrutura, de modo que o motor proxy pode desconto de esta última data de preço possível até a data da avaliação. Lembre-se que isso é em geral (e tipicamente) diferente do usado para o preço mc. O método de validação verifica se a matriz de função é preenchida de forma consistente com as informações de segmentação. O objeto proxy é parte da classe de resultados para o instrumento, que é novamente apenas usando o formalismo padrão: o motor proxy espera que um objeto proxy, que seja verificado para ser um útil para o motor está no construtor, usando um downcast dinâmico . O terceiro nível de especialização está no motor de monte carlo, onde é implementado o tipo de função do proxy82 do tipo proxy específico, derivado das definições na classe FxTarf: neste local, finalmente, corrigimos a forma específica das funções de aproximação, que são, em essência, dadas Por dois polinômios quadráticos. Eu darei mais detalhes e uma motivação para isso na próxima publicação. Finalmente, pareceu útil derivar os motores mc e proxy de um mecanismo base comum, que lida com alguns casos de limites triviais (como todas as fixações são feitas ou a determinação do npv de uma quantidade fixa ainda não liquidada), então temos a Hierarquia Se você estiver interessado no código, pode consultar o meu repositório. Pode já funcionar, mas ainda não testei tudo. Mais sobre isso na próxima semana. Let8217s jogam um jogo. Nós jogamos uma moeda dez vezes (aqui é uma maneira particularmente agradável de fazer isso, por exemplo, você pode pegar a moeda do grego 2 euros, ela tem (tanto a deusa quanto o continente). Se for chefe, eu pago um euro. Se é uma cauda você me paga dois. Ah, e se você ganhar mais de três vezes enquanto estivermos jogando, simplesmente interrompemos tudo, ok. A fx tarf é uma seqüência de negociações à frente do fx em que nossa contraparte paga uma taxa de greve. Se o único adiantamento é a favor da contraparte, ele ouve-o na estrutura8217s nominal (então ela ou ela é longa uma chamada). Se é a nosso favor, executá-lo no dobro do nominal (então, estamos longos em duas vezes o nominal). E se a soma das fixações a favor da contraparte, com a denotar a fixação fx, exceda um determinado alvo, os avais remanescentes expiram sem mais pagamentos. Em tais estruturas, há várias utilizações para a fixação de cupom que desencadeia o alvo: ou o valor total para esta fixação é pago, ou apenas parte do cupom necessário para atingir o alvo, ou nenhum cupom. A avaliação de fx tarfs em geral depende dos sorrisos fx para cada fixação de componente8217s. O sorriso inteiro é importante aqui: tanto a greve do comércio quanto o alvo menos a quantidade acumulada são pontos críticos no sorriso obviamente. Uma vez que a quantidade acumulada é em si uma quantidade aleatória após a primeira fixação, todo o sorriso afetará o valor da estrutura8217s. Além disso, as correlações intertemporais do ponto fx nas datas de fixação desempenham um papel importante. Neste e, provavelmente, uma ou mais postagens posteriores, quero escrever sobre várias coisas: como um mecanismo de preços de Monte Carlo clássico e completo pode ser implementado para esta estrutura, como um npv aproximado para cenários de mercado e pressupostos de decadência de tempo pode ser calculado muito rapidamente como Isso pode ser implementado em um segundo mecanismo de precificação e como isso está relacionado com o primeiro mecanismo, como o design transparente de QuantLib8217s pode ser mantido ao fazer tudo isso. O preço obviamente rápido é útil para preencher o famoso cubo npv que pode ser usado para calcular o XVA Números como CVA, DVA, etc. A publicação Today8217s dedica-se a alguns pensamentos sobre a metodologia para prestações rápidas e aproximadas. Estou fortemente inspirado por uma conversa de alguns colegas da Murex aqui que implementaram idéias semelhantes na sua plataforma para CVA e cálculos de potencial de exposição futura. Além disso, a idéia está relacionada ao papel muito clássico e simples, mas brilhante, de Longstaff e Schwartz, avaliando opções americanas por simulação: uma abordagem simples de mínimos mínimos. Mas tem um sabor ligeiramente diferente aqui. Let8217s consertam uma folha de termos tarf específica. A estrutura possui datas de pagamento a partir de 15 de novembro de 2017 e, mensalmente, até 15 de outubro de 2017. A fixação do fx é considerada a fixação do BCE por EUR-USD dois dias úteis antes de cada data de pagamento. O valor nominal é de 100 milhões de euros. Nossa contraparte detém as chamadas, nós colocamos e as nossas colocações estão em 200 milhões de euros, assim alavancadas por um fator de dois. A greve é ​​1.10, então as chamadas do contraparte foram realizadas no dinheiro na data da negociação. A data de avaliação é 28-Abr-2017 eo alvo restante é 0,10. O ponto fx a partir da data de avaliação é 1.10. A volatilidade implícita para as opções EUR-USD fx é 20 (lognormal, ainda não é um problema nos mercados fx 8230), constante ao longo do tempo e plana e assumimos taxas de juros iguais e USD, portanto, nenhuma deriva no nosso processo Garman-Kohlagen subjacente. O modo de pagamento é o cupom completo. É claro que os pressupostos sobre os dados do mercado são apenas parcialmente realistas. A idéia de aproximar npvs de forma eficiente é a seguinte. Primeiro, fazemos um preço total de monte carlo da maneira usual. Cada caminho gera um npv. Nós armazenamos as seguintes informações em cada ponto de grade de cada caminho (fixações abertas. Ponto de fx, quantidade acumulada até agora. Npv das restrições restantes) Esperamos que possamos fazer uma análise de regressão do npv sobre esses principais drivers de preço, Iefx spot, o montante já acumulado e o número de fixações abertas. Note-se que esta abordagem implica que o ponto fx é retirado do conjunto de cenários 8220outside8221 XVA, mas tudo o resto (curvas de taxa de juros e a volatilidade) está implícito no modelo de precificação. Isso é ligeiramente (ou muito) inconsistente com um conjunto de cenários XVA onde as curvas de taxa e talvez também a estrutura de volatilidade faz parte dos cenários. Let8217s consertar o caso mais simples de apenas uma fixação aberta à esquerda, ou seja, nos colocamos em um ponto a tempo em algum lugar após a segunda, mas a última e a última fixação. Também definimos o objetivo para (ou seja, ignoramos esse recurso) por enquanto e assumimos uma alavanca de um. Nossa estrutura colapsa para uma única furgão vanilla fx. Nós fazemos caminhos de 250k monte carlo e traçamos os resultados (o npv está em porcentagem aqui): você vê o que está acontecendo. Nós conseguimos uma nuvem de pontos que 8211 para o valor acumulado fixo 8211 condicionado na média do ponto é uma média para uma linha representando o fx forward npv. Veja abaixo onde faço isso em 2d e onde fica mais claro. O que observamos aqui como uma primeira observação é que a posição da nuvem depende do valor acumulado: os pontos mais baixos estão relacionados com menores valores acumulados e pontos mais altos com maiores quantidades acumuladas. Isso é bastante plausível, mas tem um impacto nas áreas onde temos dados suficientes para fazer uma regressão. A próxima imagem mostra os mesmos dados, mas projetando ao longo da dimensão da quantidade acumulada. Além disso, adicionei uma linha de regressão linear que deve ser capaz de prever o npv dado um valor spot. Para testar isso, adicionei mais três linhas horizontais que estimam o npv para valores pontuais de 1.0, 1.1 e 1.2, calculando a média de todos os dados gerados do monte carlo dentro dos baldes 0.99.1.01, 1.09.1.11 e 1.19,1.21, respectivamente. A esperança é que as linhas horizontais se cruzem com a linha de regressão em valores x de 1.0, 1.1 e 1.2. Isso parece muito bom aqui. Let8217s olham para um TARF real agora, ou seja, definindo o alvo para 0,15. O que há de novo aqui é que a nuvem é cortada no nível alvo, além de colapsar simplesmente em um plano que indica um zero npv. Bastante claro, porque nessa área a estrutura é encerrada antes da última fixação. Caso contrário, este caso não é muito diferente do caso anterior, pois assumimos um pagamento de cupão completo e só temos uma correção para a esquerda, então temos um fx para a frente que pode ser morto pelo gatilho de destino antes. Mais desafiante é o caso em que pagamos um cupom tampado. Excluindo dados em que o alvo foi acionado anteriormente, neste caso, nós conseguimos. Nós queremos aproximar npvs para pontos 1.0, 1.1 e 1.2 e uma quantidade acumulada de 0.05 (distribuídos por 0.04 a 0.06) agora. O recurso alvo apresenta curvatura em nossa nuvem. Eu levo isso em conta, ajustando um polinômio quadrático em vez de apenas uma função linear. Além disso, vemos que os npvs são limitados a 15 agora e diminuem para pontos mais altos. Por que essa última coisa. Na verdade, até agora, eu usei apenas os tempos de fixação como tempos de simulação (porque só eles são necessários para preços e o processo pode dar grandes passos devido à sua simplicidade), de modo que o local efetivamente é a fixação anterior sempre. E se isso estiver acima de 1.1, exclui a possibilidade de cupons mais elevados do que a diferença para 1.1. Let8217s adicionam mais tempos de simulação entre as fixações (100 por ano no total), como é provável que seja o caso nos cenários XVA externos que pedem npvs no final: a aproximação funciona bastante bem para o ponto 1.0, mas não para bem para 1.1 E 1,2 mais (em ambos os casos acima). Até agora, não utilizamos a quantidade acumulada na nossa aproximação npv. Portanto, 8282 se restrinjam a quantidades acumuladas de e. 0,02 a 0,08 (lembre-se de que queremos uma previsão condicionada em uma quantidade acumulada de 0,05, eu escolho uma balde maior para a regressão, porém, para ter 8220 mais 8221 dados e porque eu acho que eu não quero calcular muitas funções de regressão em dois pequenos conjuntos de dados em o fim). Melhor. Let8217s se movem para a folha de termos original agora (alavanca 2, alvo restante 0,1, cupom completo) e 5 fixações abertas em vez de apenas 1 para ver se tudo isso se decompõe em uma configuração mais complexa (minha experiência diz, sim, isso acontecerá) . O valor acumulado para o qual queremos aproximar é agora 0.01: Muito bom, puh. Agora vemos um novo artefato: a função de regressão quadrática começa a cair novamente para pontos maiores que 1,25. Isso é claro que não é sensato. Portanto, temos a necessidade não só de calcular diferentes funções de regressão para diferentes quantidades acumuladas (e diferentes números de fixações abertas), mas também para regiões de pontos diferentes. Let8217s calcula outra regressão quadrática para pontos maiores que 1,2, por exemplo (o gráfico azul): isso funcionaria para pontos mais altos. Para resumir os experimentos, a abordagem parece sensível em geral, mas devemos ter em mente algumas coisas: o número de etapas de tempo na simulação deve ser maior do que para fins de preços puros, possivelmente o tamanho da etapa grid8217s deve ser comparável ao XVA simulação. A função de regressão pode ser considerada como quadrática, mas não globalmente. Em vez disso, o domínio deve ser particionado pelo número de fixações abertas, possivelmente até o número de fixações abertas e a distância até a última fixação, a quantidade já acumulada o ponto fx. A próxima tarefa seria pensar em um algoritmo que faz um sensível Partição automaticamente. Uma idéia seria exigir apenas uma porcentagem mínima de dados gerados pela simulação inicial de monte carlo para preços disponíveis em cada partição. A próxima publicação será sobre a implementação dos dois motores de preços, em seguida, Tarf Option Fx Posts sobre FX TARF escrito por Peter Caspers. 8230 QuadraticProxyFunction (Opção :: Tipo, const Comprimento real, const Real a1. Const Real b1, const Real c1, const 8230 Em finanças, uma opção de câmbio é um instrumento financeiro derivado que dá o direito, mas 8230 Pagamento não-linear 8211 o A recompensa para uma opção direta de FX é linear no underlyi8230 Fx Account Com Limited, premiado com câmbio e transferências de dinheiro online. 8230 Abra uma conta pessoal para começar a fazer suas transferências de dinheiro internacionais com o seu dedicado 8230. FC Exchange é um nome comercial de Foreign Câmbio de câmbio Limited. Forex Broker 8211 Australian Regulated Forex TradingVantage FX é um premiado Forex Broker australiano. Comece a negociar forex com MetaTrader 7 de abril de 2006 8230 Opções FX e produtos estruturados 8230. veja 50. Este livro explica várias opções de FX exóticas com um especial Concentre-se no subjacente. Derivativos Target Redenção Forward 8211 Investment and FinanceFeb 3, 2017 8230 Target Redemption Swap middot TARN middot Tar Obter Nota de Redenção middot Opção de Redenção de Destino middot Redenção de Destino Forward middot PERCS middot Snowball 8230 numericamente. O resgate de destino do FX para a frente é composto de encaminhamento FX em série, cada uma das 8230 A prática de mercado na opção FX é assumir o retorno de uma moeda estrangeira. Declaração de divulgação do produto 8211 World FirstMay 27, 2017 8230 Os riscos significativos dos Contratos de Opção 8230 Quantias de Margem para Contratos de Encaminhamento e Opção. 4 82308230 O TARF é composto por uma série de frente. Pós-navegação

No comments:

Post a Comment