5 votos

La curva de la construcción de las fechas de la superposición de impacto en el factor de descuento

Estoy construyendo un extremo corto de la curva libor mediante depósito & fra debido a la superposición de fechas me pongo mal los valores de factor de Descuento, aquí están los datos que estoy trabajando con:

  • Mi fecha de hoy es : 23/10/2019
  • Inicio de mi depósito 6m contrato es 25/10/2019 fecha de finalización se 27/04/2020,día de recuento de act/360 con una tasa de 5%
  • Inicio de mi fra 6x12m contrato es 27/04/2020 fecha de finalización se 27/10/2020,día cuente conv es act/360 con una tasa de 5.2%

Por favor alguien puede explicar cómo manejar la superposición entre el depósito y fra? y cómo para obtener el factor de descuento ?

gracias

3voto

Jamahl Peavey Puntos 39

No hay superposición, el primer instrumento está vinculada a la tasa LIBOR partir de $25/10/2019$, el segundo está ligado a la Tasa LIBOR a $27/04/2020$.

En aras de la claridad, vamos a suponer que el lugar la fecha y la fecha de hoy son los mismos, que sólo hay una curva (Curva LIBOR).

Se utiliza la definición de los precios comenzando en $T$ y terminando en $U$ como $$F(0,T,U)=\frac{1}{U-T}\left(\frac{P(0,T)}{P(0,U)}-1\right)$$

donde $P(0,T)$ es el cero cupón bono que paga una unidad de tiempo $T$

$T_0= 25/10/2019$,$T_1= 27/04/2020$ , $T_2= 27/10/2020$

Tenemos que $$0.05=\frac{1}{0.5}\left(\frac{1}{P(0,T_1)}-1\right)$$, por lo tanto

$$P(0,T_1)=\frac{1}{1+0.5\times0.05}$$

Como para el FRA : $$0.052=\frac{1}{0.5}\left(\frac{P(0,T_1)}{P(0,T_2)}-1\right)$$

Por lo tanto, $$P(0,T_2)=P(0,T_1)\frac{1}{1+0.5\times0.052}$$

2voto

user1914692 Puntos 113

Sus tarifas no se superponen. Usted tiene 6M (185/360) tasa de 5%. Y un tipo de contrato donde el 5.2% de la tarifa comienza en el final de su contrato inicial (4/27/20) por un período de 6M (183/360).

Su primer contrato que va a ganar (1 + .05*(185/360)) = 1.025694. Luego va a ganar (1 + .052*(183/360)) de ese monto, o 1.052807 durante todo el período de 10/25/19 a 10/27/20. El 1 año (10/27/20) factor de descuento por lo tanto, sería el recíproco de esa cantidad: 1/1.052807 = 0.949842. El 6M (4/27/20) factor de descuento sería 0.974949. El 6M Adelante factor de descuento (a partir de 10/27/20 a 4/27/20) sería 0.974247.

El mercado de dinero equivalente factor de descuento sería 0.95050249, según 370 días entre la fecha de negociación y la final de la FRA, el uso de un año de 365 días. He utilizado 370 días a cuenta del hecho de que la tasa Libor se asienta t+2 y usted puede estar tratando de cuenta para los 2 días en los precios.

0voto

Chris Mc Puntos 31

No hay superposición de fechas debido a que la tasa para los 6M depósito es de una inversión a partir 25/10/2019 y terminando 27/04/2020. La tasa para el FRA es una inversión a partir 27/04/2020 y terminando 27/10/2020. Es por eso que usted puede determinar el factor de descuento (o tasa cero) de 25/10/2019 a 27/10/2020, porque el retorno de una inversión para estas fechas tiene que ser la misma que la combinación de los 6M de Depósito y 6x12 FRA.

Aquí hay dos posibles simple de implementación en python que dar el mismo resultado para ayudarle a averiguar dónde podría estar el problema.


Utilizando el lenguaje python:

from datetime import date, timedelta

today = date(2019,10,23)
spot = today + timedelta(days=2)

deposit_maturity = date(2020, 4, 27)
deposit_dcf = (deposit_maturity - spot).days / 360
df1 = 1 / ( 1+ 0.05 * deposit_dcf)

fra_maturity = date(2020, 10, 27)
fra_dcf = (fra_maturity - deposit_maturity).days / 360
df2 = df1 / (1 + 0.052 * fra_dcf)

print(df1, df2)

La salida es: 0.974949221394719 0.9498417381171556


El uso de QuantLib en python:

import QuantLib as ql
today = ql.Date(23,10,2019)
ql.Settings.instance().evaluationDate = today
helpers = []
helpers.append(
    ql.DepositRateHelper(ql.QuoteHandle(ql.SimpleQuote(0.05)),
                              ql.Period(6, ql.Months), 2,
                              ql.TARGET(), ql.Following, False, ql.Actual360())
)
index = ql.Euribor6M()
helpers.append(
    ql.FraRateHelper(ql.QuoteHandle(ql.SimpleQuote(0.052)), 6, index)
)
curve = ql.PiecewiseLogCubicDiscount(2, ql.TARGET(), helpers,
                                            ql.Actual365Fixed())
for dt in curve.dates():
    print(dt, curve.discount(dt))

La salida es:

October 25th, 2019 1.0
April 27th, 2020 0.9749492213947191
October 27th, 2020 0.9498417381171556

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X