Wednesday, 7 December 2016

Opciones De Tarf Fx


Buscar en el foro Estadísticas FX TARF No hay nuevos mensajes esta semana. Esto no es porque yo soy perezoso, pero encontró que vale la pena para resumir los resultados de aproximación FX TaRF precios en un breve artículo. Escribiré sobre él aquí también, con un énfasis en el código de QuantLib detrás. La próxima semana. Cuídate. En mi post anterior escribí sobre algunas ideas para aproximar eficientemente el valor de un fx exótico (un fx tarf de hecho). Una de las principales motivaciones es utilizar un precio tan rápido en una simulación XVA. Esta publicación está dedicada al diseño que he ideado para ajustar la idea de la manera más precisa posible a la arquitectura QuantLib existente. El siguiente post presentará los detalles del propio esquema de aproximación, algunos ejemplos numéricos que comparan la aproximación con un precio completo bajo varios escenarios de deterioro del tiempo de mercado y de rendimiento. Un buen diseño es de suma importancia. Incluso en un vecindario próspero una ventana rota, no reparada rápidamente, pronto conducirá a un segundo y después de un tiempo un área degenerada. Afortunadamente, Luigi no permitiría que esto sucediera en la ciudad de QuantLib, por supuesto. Estos son mis pensamientos sobre el diseño en general: deberíamos tener dos motores de fijación de precios, un MC y un motor Proxy. No deberíamos tener sólo un motor con algunos métodos adicionales para extraer los NPV aproximados de una manera propietaria el motor proxy debería comportarse como cualquier otro motor, p. La decaimiento del tiempo debería deducirse de forma coherente a partir de la fecha de la evaluación global, no a través de algún parámetro especial, y los datos de mercado pertinentes deberían ser dados por estructuras estándar; la implementación de nuevos instrumentos y motores de precios siguiendo la misma idea debería ser fácil y basarse en un Interfaz común la interfaz de usuario final utilizada en el código de cliente debe ser fácil de usar y infalible XVA simulación es una aplicación del motor proxy, pero no hay una conexión estricta a este caso de uso 8211 también puede utilizar el motor proxy 8220just8221 para calcular npvs más rápido Si no se requiere una alta precisión o en resumen: no debe haber nada especial en todo el asunto. Limita tu entusiasmo, solo haz un trabajo sólido y llano, no intentes impresionar a nadie. Bueno. Let8217s comienzan con la clase de instrumento. El constructor toma el esquema de la estructura 8217s (el significado de las fechas de valor), el índice fx subyacente que representa, por ejemplo, una fijación fx del ECB (esta es una nueva clase también, porque no parece ser un índice fx en QuantLib, pero no lo hago En los detalles sobre eso aquí), el nominal de la estructura (en moneda extranjera, de activos o fuente, hay muchos nombres para eso) los perfiles de pago de las contrapartes 8217, que son normalmente las puestas cortas y las llamadas largas, todas compartiendo las mismas golpean el nivel objetivo Donde la estructura golpea hacia fuera el tipo del cupón (véase el poste anterior que relacioné arriba) el engranaje de los dos lados del reparto Los dos últimos parámetros acumuladosAmount y lastAmount son opcionales. Si no se da, el FxTarf calcula la cantidad ya acumulada leyendo las fijaciones históricas de index8217s. Si se especifica, por otro lado, las fijaciones históricas se ignoran y se utiliza la cantidad acumulada dada. El últimoAmount en este contexto sólo se necesita en caso de que la última fijación ya haya ocurrido, pero el pago asociado todavía está en el futuro. La razón para introducir estos parámetros algo redundantes es la siguiente. Por un lado puede ser útil no establecer todas las fijaciones históricas para el índice fx, sino establecer directamente la cantidad acumulada. Tal vez usted recibe la información de acuerdo de algún sistema de origen y ya proporciona la cantidad acumulada actual junto con los datos de acuerdo. Más importante aún, durante una simulación XVA es posible que no quiera establecer todas las fijaciones en IndexManager. Puedes hacerlo, si quieres, pero puede que no sea útil, ya que después de cada ruta debes borrar todas las fijaciones de nuevo o tal vez no simules cada fecha de fijación ni siquiera quieres interpolar las fijaciones acumuladas. En cualquier caso es sólo un parámetro de conveniencia. Utilícelo o simplemente ignórelo. Para un precio completo de la tarf podemos utilizar un motor monte carlo que se construye de la forma habitual, por ejemplo. Los parámetros aquí son el proceso Black Scholes (generalizado), los pasos de tiempo para simular por año, la semilla para el RNG. El último modificador. withProxy () es la única cosa especial aquí: De forma predeterminada, el motor sólo calculará un npv (y estimación de error) como cualquier otro motor mc. Por otra parte, si el motor está configurado con el indicador de proxy, se recopila y analiza información adicional durante la simulación para producir algún objeto de información de proxy que puede utilizarse posteriormente para estimaciones aproximadas. Veremos en un minuto cómo. Necesitamos este modificador porque la simulación se vuelve más lenta al crear el proxy, por lo que deberíamos ser capaces de desactivarlo. Ahora podemos configurar el motor y puede calcular el npv (completo): Si sólo queremos el precio proxy, por supuesto, puede omitir el cálculo npv completo, pero doesn8217t daño ya que el npv siempre se produce, incluso si sólo el cálculo de la información para El motor proxy. Para usar el motor proxy tenemos que empezar con un motor que puede producir esta información. El motor proxy se alimenta con el objeto proxy: El motor proxy se construye con la descripción de proxy producida por el motor mc, que puede recuperarse del instrumento por. proxy () (este es un resultado especial que parece bastante importante no Para enterrarlo en el montón de resultados adicionales 8212 esto no es nada innovador, sin embargo, it8217s como la tasa de bps o justo para los swaps como un ejemplo) la cotización fx utilizado para la fijación de precios 8211 es decir, los datos de mercado esenciales necesarios para el proxy de precios de la curva de descuento para Además, la fecha de evaluación global determinará la fecha de referencia para la valoración, como es habitual. Si el instrumento no proporciona un objeto proxy (por ejemplo, porque se le dijo al motor mc, véase más arriba) o si el objeto proxy no es adecuado para que se construya el motor proxy, se producirá una excepción. Lo que está sucediendo detrás de las escenas: He añadido una interfaz para instrumentos que son capaces de proxy de precios: El único método para implementar es proxy que debe devolver un objeto que contiene la información necesaria para un motor proxy compatible para calcular npvs aproximados (véase a continuación para Qué medios compatibles). La información en sí debe ser un objeto derivado de ProxyInstrument :: ProxyDescription. Tiene que proporcionar un método de validación que debe comprobar la consistencia de los datos proporcionados. Cómo se implementa el instrumento fx tarf w. r.t. Esta interfaz: Esto dice que la información de proxy específica (o una posible) de un fx tarf consiste en algunos datos descriptivos, que es el número máximo de fijaciones abiertas (futuras) la última fecha de pago de la estructura 8211 ver más abajo un bucketing del Cantidad acumulada que en conjunto definen una segmentación para la función de aproximación. En cada segmento la función de aproximación es entonces dada por un Proxy :: ProxyFunction que es a este nivel de abstracción sólo una función arbitraria Real a Real. Devolviendo el npv para un punto fx determinado. El npv se expresa en base forward a partir de la última fecha de pago de la estructura, de manera que el motor proxy puede rebajar desde esta última posible fecha de fijación de precios hasta la fecha de evaluación. Recuerde que esto es en general (y típicamente) diferente del usado para el precio de mc. El método de validación comprueba si la matriz de función se rellena consistentemente con la información de segmentación. El objeto proxy es parte de la clase de resultados para el instrumento, que es de nuevo sólo usando el formalismo estándar: El motor proxy espera que un objeto proxy, que se comprueba que es útil para el motor está en el constructor, utilizando un downcast dinámico . El tercer nivel de especialización se encuentra en el motor monte carlo, donde se implementa el tipo de función del objeto proxy específico, derivado de las definiciones de la clase FxTarf: En este lugar finalmente fijamos la forma específica de las funciones de aproximación, que son en esencia dadas Por dos polinomios cuadráticos. Voy a dar más detalles y una motivación para esto en el próximo post. Por último, parecía útil derivar los motores mc y proxy de un motor de base común, que maneja algunos casos fronterizos triviales (como todas las fijaciones se hacen o la determinación de la npv de una cantidad fija que aún no se ha establecido), por lo que tenemos el Jerarquía Si está interesado en el código, puede buscar en mi repositorio. Puede que ya funcione, pero aún no probé todo. Más sobre esto la próxima semana. Let8217s jugar un juego. Volamos una moneda diez veces (aquí está una manera particularmente agradable de hacer esto 8211 usted puede tomar la moneda griega 2 euro por ejemplo, tiene (la diosa y el continente) en él). Si se trata de jefes te pago un euro. Si es cola, me pagas dos. Oh, y si usted debe ganar más de tres veces mientras estamos jugando, simplemente detener todo, ok A fx tarf es una secuencia de operaciones de fx hacia adelante donde nuestra contraparte paga una tasa de huelga. Si el único forward es a favor de la contraparte lo ejecuta en la estructura 8217s nominal (por lo que ella o él es larga una llamada). Si es a nuestro favor lo ejecutamos en dos veces el nominal (por lo que son largos un puesto en dos veces el nominal). Y si la suma de las fijaciones a favor de la contraparte, con la denomina - ción de la fijación fx, supera un objetivo dado, los vencimientos restantes vencirán sin más pagos. En tales estructuras hay varias utilidades para la fijación de cupones que desencadena el objetivo: Se paga el importe total de esta fijación, o sólo una parte del cupón necesario para alcanzar el objetivo, o ningún cupón en absoluto. La valoración de fx tarfs en general depende de la fx sonrisas para cada componente 8217s de fijación. La sonrisa entera es importante aquí: Tanto la huelga del comercio y el objetivo menos la cantidad acumulada son puntos críticos en la sonrisa, obviamente. Dado que la cantidad acumulada es en sí misma una cantidad aleatoria después de la primera fijación, toda la sonrisa afectará al valor de la estructura. Además, las correlaciones intertemporales del punto fx en las fechas de fijación juegan un papel importante. En este y probablemente uno o más posts posteriores quiero escribir sobre varias cosas: cómo un motor de precios clásico, de pleno derecho monte carlo puede ser implementado para esta estructura cómo un npv aproximado para escenarios de mercado y suposiciones de decaimiento de tiempo se puede calcular muy rápidamente cómo Esto puede ser implementado en un segundo motor de precios y cómo esto está relacionado con el primer motor cómo QuantLib8217s lucent-transparente diseño puede ser retenido al hacer todo esto Obviamente rápido de precios es útil para llenar el famoso cubo npv que luego se puede utilizar para calcular XVA Números como CVA, DVA, etc. El post de Today8217s está dedicado a algunas reflexiones sobre la metodología para las estimaciones rápidas y aproximadas. Estoy profundamente inspirado por una charla de algunos colegas de Murex aquí que implementaron ideas similares en su plataforma para CVA y posibles cálculos de exposición futura. Además, la idea está relacionada con el muy clásico y simple, pero brillante artículo de Longstaff y Schwartz Valuing American Options by Simulation: A Simple Least-Squares Approach. Pero tiene un sabor ligeramente diferente aquí. Let8217s fijar una hoja de cálculo específica tarf. La estructura tiene fechas de pago que comienzan el 15-Nov-2014, luego mensualmente hasta el 15-Oct-2015. La fijación fx se considera como la fijación del BCE para EUR-USD dos días hábiles antes de cada fecha de pago. El nominal es de 100 millones de euros. Nuestra contraparte celebra las convocatorias, nosotros las put y nuestras put están en 200 millones de euros apalancados por un factor de dos. La huelga es 1.10, así que las llamadas de la contraparte 8217s estaban en el dinero en la fecha del comercio. La fecha de valoración es el 28 de abril de 2015 y el objetivo restante es 0,10. El punto fx a la fecha de valoración es 1.10. La volatilidad implícita para las opciones EUR-USD fx es de 20 (lognormal, todavía no es un problema en los mercados fx 8230), constante en el tiempo y plana y asumimos iguales tasas de interés en euros y en dólares, por lo que no hay deriva en nuestro proceso Garman-Kohlagen subyacente. El modo de pago es cupón completo. Por supuesto, los supuestos sobre los datos de mercado son sólo parcialmente realistas. La idea de aproximar npvs eficientemente es como sigue. Primero hacemos un precio completo de monte carlo de la manera habitual. Cada ruta genera un npv. La esperanza es entonces que podamos hacer un análisis de regresión de la npv sobre estos principales factores de precio, Iefx spot, la cantidad ya acumulada y el número de fijaciones abiertas. Obsérvese que este enfoque implica que el punto fx se toma del conjunto de escenarios del 8220outside8221 XVA, pero todo lo demás (las curvas de tasas de interés y la volatilidad) está implícito en el modelo de precios. Esto es ligeramente (o muy) inconsistente con un escenario de escenario XVA donde las curvas de tasas y tal vez también la estructura de volatilidad es parte de los escenarios. Let8217s fijar el caso más simple de sólo una fijación abierta izquierda, es decir, nos ponemos en un punto en el tiempo en algún lugar después de la segunda pero última y la última fijación. También fijamos el objetivo a (es decir, ignoramos esa característica) por el momento y asumimos un apalancamiento de uno. Nuestra estructura se derrumba a un solo, fx de la vainilla adelante. Hacemos 250k rutas monte carlo y trazar los resultados (el npv está en porcentaje aquí): Ves lo que está sucediendo. Obtenemos una nube de puntos que 8211 para la cantidad acumulada fija 8211 condicionada en los promedios de spot promedios a una línea que representa el npv forward de fx. Ver abajo donde hago esto en 2d y donde consigue más claro. Lo que observamos aquí como primera observación es que la posición de la nube depende de la cantidad acumulada: Las manchas inferiores están conectadas con menores cantidades acumuladas y puntos más altos con mayores cantidades acumuladas. Esto es bastante plausible, pero tiene un impacto en las áreas donde tenemos suficientes datos para hacer una regresión. La siguiente imagen muestra los mismos datos pero se proyecta a lo largo de la dimensión de la cantidad acumulada. Además he añadido una línea de regresión lineal que debería ser capaz de predecir el npv dado un valor spot. Para probar esto he añadido tres líneas horizontales más que estiman el npv para los valores spot de 1,0, 1,1 y 1,2 haciendo un promedio sobre todos los datos generados de monte carlo dentro de los cuchillos 0,99,1,01, 1,09,1.11 y 1,19,1,21 respectivamente. La esperanza es que las líneas horizontales se intersectan con la línea de regresión en valores x de 1,0, 1,1 y 1,2. Esto parece bastante bueno aquí. Let8217s miran un TARF real ahora, es decir, fijando el objetivo a 0,15. Lo que es nuevo aquí es que la nube se corta en el nivel objetivo, más allá de colapsar simplemente a un plano que indica un cero npv. Muy claro, porque en esta zona la estructura se termina antes de la última fijación. De lo contrario este caso no es muy diferente del caso anterior, ya que asumimos un pago de cupón completo y sólo tienen una fijación a la izquierda, por lo que tenemos un fx hacia adelante que podría ser matado por el disparador de destino antes. Más difícil es el caso en el que pagamos un cupón tapado. Excluyendo los datos donde el objetivo fue desencadenado antes, en este caso obtendremos una aproximación de npvs para los puntos 1.0, 1.1 y 1.2 y una cantidad acumulada de 0.05 (bucketed por 0.04 a 0.06) ahora. La característica de destino introduce la curvatura en nuestra nube. Tengo esto en cuenta al ajustar un polinominal cuadrático en lugar de sólo una función lineal. Además vemos que los npvs están limitados a 15 ahora y disminuyendo para manchas más altas. Por qué esta última cosa. En realidad hasta ahora solo usé los tiempos de fijación como tiempos de simulación (porque solo son necesarios para la fijación de precios y el proceso puede dar grandes pasos debido a su simplicidad), por lo que el spot es efectivamente la fijación previa siempre. Y si esto está por encima de 1,1 excluye la posibilidad de cupones más altos que su diferencia a 1,1. Let8217s añadir más tiempos de simulación entre las fijaciones (100 por año en total), como es probable que sea el caso en los escenarios externos XVA pidiendo npvs al final: La aproximación funciona bastante bien para el punto 1.0, pero no bien para 1.1 Y 1.2 más (en ambos casos arriba). Hasta ahora no hemos utilizado la cantidad acumulada en nuestra aproximación npv. Por lo tanto, nos limitamos a cantidades acumuladas de, p. 0.02 a 0.08 (recuerde que queremos una predicción condicionada a una cantidad acumulada de 0.05, elijo un cubo más grande para la regresión aunque para tener 8220more8221 datos y porque creo que don8217t desea calcular demasiadas funciones de regresión en dos pequeños conjuntos de datos en el fin). Mejor. Let8217s se mueven a la hoja de cálculo original ahora (apalancamiento 2, objetivo restante 0,1, cupón completo) y 5 fijaciones abiertas en lugar de sólo 1 para ver si todo esto se rompe en un entorno más complejo (mi experiencia dice, sí, que va a pasar) . La cantidad acumulada que queremos aproximar para es ahora 0.01: Muy bien, puh. Ahora vemos un nuevo artefacto sin embargo: La función de regresión cuadrática comienza a caer de nuevo para puntos mayores de 1,25. Por supuesto, esto no es razonable. Por lo tanto, tenemos la necesidad no sólo de calcular diferentes funciones de regresión para diferentes cantidades acumuladas (y diferentes números de fijaciones abiertas), sino también para diferentes regiones de puntos. Let8217s calcular otra regresión cuadrática para manchas más grandes que 1,2 por ejemplo (el gráfico azul): Eso funcionaría para los puntos más altos. Para resumir los experimentos, el enfoque parece razonable en general, pero tenemos que tener en cuenta algunas cosas: El número de pasos de tiempo en la simulación debe ser mayor que para propósitos puramente de fijación de precios, posiblemente el tamaño del paso grid8217s debe ser comparable al XVA. Se puede suponer que la función de regresión es cuadrática, pero no global. En cambio el dominio tiene que ser particionado por el número de fijaciones abiertas, posiblemente incluso el número de fijaciones abiertas y la distancia a la última fijación, la cantidad ya acumulada el punto fx La próxima tarea sería pensar en un algoritmo que hace un razonable Partición automáticamente. Una idea sería requerir sólo un cierto porcentaje mínimo de los datos generados por la simulación inicial de monte carlo para los precios disponibles en cada partición. El próximo post será sobre la implementación de los dos motores de fijación de precios, entonces FX Week Europe volverá a Londres en noviembre de 2016 para ofrecerle la información más reciente sobre el mercado global de divisas. Esta conferencia de dos días de un día le proporcionará una cobertura esencial de cómo los nuevos avances en FX están cambiando el papel de los participantes de la industria. Estos premios son el punto de referencia para el desempeño en la industria global de FX. Los Best Banks Awards de FX Week son el indicador más preciso de quién lidera el mercado, de acuerdo con los bancos, tesorería corporativa e inversionistas. FX Week se enorgullece de presentar la novena conferencia anual de FX Invest Europe, que reúne a los principales profesionales de compra en los mercados de divisas y monedas de rápido desarrollo. Es un evento obligatorio para aquellos que quieren entender mejor las implicaciones de los recientes desarrollos del mercado y el 13º premio anual de e-FX fue presentado en Nueva York el 12 de julio, después de la conferencia FX Week USA. Ver todos los eventos Tarf problema en Taiwán: Desplazamiento renminbi amenaza pesadas pérdidasStructured Products se ejecuta tres programas de premios globales - para las Américas, Asia, Asia y el Pacífico, Y Europa - para celebrar la excelencia en los mercados de productos estructurados. Los productos estructurados premios son el honor más prestigioso de la industria, diseñado para reconocer el buyside superior y sellside firmas. Los Premios Energy Risk Asia se celebrarán en Singapur y reconocerán la excelencia en el mercado mundial de materias primas, además de ofrecer una oportunidad única para que las empresas de todo el sector obtengan valiosos reconocimientos y prestigio. El Fondo Europeo de Fondos de Hedge Funds sigue siendo el único evento de firma que se celebra exclusivamente para el fondo europeo de fondos de cobertura del sector y, como tal, continúa hasta la fecha. Atraer a los principales nombres de la industria. Buy-side Awards que reconocen las mejores prácticas entre las firmas buy-side en la gestión de riesgos y en los mercados de derivados. Fecha: 30 Nov 2016 El Sheraton Park Lane Hotel, Piccadilly, Londres W1J 7BX, Reino Unido, Londres Ver todos los premios Tarf problema en Taiwán: deslizamiento renminbi amenaza con grandes pérdidas

No comments:

Post a Comment