Wednesday 23 August 2017

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 é um 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 2014 e, mensalmente, até 15 de outubro de 2015. 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-2015 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, localização: - Cidade de Londres FX Opções Confirmação Especialista em redação Você é um especialista em elaboração de confirmação de opções de FX experiente Um banco de investimento com sede na cidade bem sucedido, está atualmente buscando opções de experiência e exóticas experientes Analista para se juntar a sua equipe em expansão e participar ativamente de todo o processo de transformação e gerenciamento de risco estruturado e FX. Atualmente, o time está vendo crescentes volumes de negócios, maior volatilidade do mercado, ao lado das iniciativas STP existentes para melhorar o comércio e o gerenciamento de riscos em todas as linhas de negócio da FX Exotic. A equipe é responsável pelos produtos derivados do FX, opções não entregues, entregas não entregues, opções de moeda estruturada e produtos de taxa de juros. A responsabilidade da equipe é confirmar e redigir manualmente as transações para os produtos acima (padrão e não padrão) nas diretrizes da FSA e da ISDA. Isso inclui a responsabilidade de garantir que a confirmação reflita os termos do bilhete de Comércio e também corresponda às negociações de componentes reservadas nos sistemas de risco das empresas e compilar com modelos de mercado da ISDA. A responsabilidade específica deste papel dentro da equipe cobre a produção manual de confirmações estruturadas, incluindo alguns produtos IR (TARNs, Bônus de Proximidade, Baskets, NDOs e todos os Close Outs associados para o espectro completo de Confirmações FXO), portanto, a necessidade de fonte Um especialista experiente para aplicar habilidades especializadas. O papel também exigirá que todas as anomalias de risco sejam levadas à atenção da seção ou departamento relevante, (partes interessadas externas internas) em tempo hábil e resolvidas e devolvidas da mesma maneira. O analista bem-sucedido também terá a oportunidade de apoiar iniciativas-chave para analisar os procedimentos existentes, listas de verificação e controles para melhorar o processamento direto e a eficiência operacional. Conhecimento prático e especializado extensivo em Derivados FX (Opções, NDOs, NDFs e Swaps de RI). Compreensão técnica de como os instrumentos acima funcionam e os principais riscos operacionais associados. Tem capacidade comprovada para realizar revisões manuais de negócios contra planilhas, reservas comerciais, Acordos mestre ISDA e realizar cálculos matemáticos manuais em negócios. As línguas europeias serão altamente vantajosas devido aos amplos centros globais que a equipe também cobre. Se você é especialista em opções de FX experientes, com experiência comprovada mais recente derivada de um ambiente de derivativos FX, envie através de seu CV. Esta é uma excelente oportunidade para um analista tecnicamente competente da FX Exotics para apoiar um negócio líder de empréstimos bancários na cidade de Londres. Os candidatos que atendam aos seguintes critérios rigorosos serão contatados e selecionados com competência entre os produtos derivados da FX e os mais recentes deveres dentro do FX Option Drafting. Badenochandclark - Vamos encontrar a carreira que se conecta com sua vida. Verifique os detalhes do trabalho44 e preencha os detalhes abaixo e clique em Enviar agora. Indica um campo obrigatório46

No comments:

Post a Comment