1 votos

Definición de ajuste de roll para la generación de horarios de intercambio

Según mi entendimiento, al generar horarios de cupones de intercambio, primero defines una fecha efectiva que es un poco directa. Luego, generas tus cupones: ajustados por rollo pero no ajustados por cupón (por ajuste de cupón me refiero a siguientes, anteriores, MF, MP) y luego aplicas tu ajuste de cupón.

Luego, generas tus cupones: ajustados por rollo

Esta es la parte que no entiendo cómo se hace. Hasta ahora, sé que hay 4 implementaciones principales: Adelante, Adelante (EOM), Atrás, Atrás (EOM).

¿Cuál es la definición de ajustes? ¿Hay algún documento oficial que los defina?

2voto

dotnetcoder Puntos 1262

Si usted no permite ninguna forma de inferencia (por ejemplo, si un usuario proporcionara algunas fechas que no definieran un horario de intercambio regular y necesitara inferir remanentes, o si las fechas se suministraran con tenores como '1y1y') entonces consideraría que un horario está totalmente definido por los siguientes parámetros:

effective: datetime,
front_stub: Opcional[datetime],
back_stub: Opcional[datetime],
termination: datetime,
frequency: str,
roll: int | str,
modifier: str,
calendar: lista

Debe haber un horario regular definido entre las siguientes fechas. Un horario regular es aquel que tiene períodos correctos y completamente calificados en cada período, alineándose con el roll:

  • effective y termination (si no hay remanentes)
  • effective y back_stub (si no hay front_stub)
  • front_stub y termination (si no hay back_stub)
  • front_stub y back_stub (si ambos se proporcionan)

Para el horario regular debe ser construido progresando hacia adelante desde la fecha inicial por el número establecido de meses según el horario y estableciendo la fecha en el mes de acuerdo con el roll que puede ser numérico o algo sistemáticamente definido como final de mes o fecha IMM.

Una vez que estas fechas hayan sido determinadas (fechas efectivamente no ajustadas), deben ajustarse utilizando un modifier y un día hábil de calendar empresarial. Esto produce todos los valores asociados con un Horario.

Así es como rateslib determina los horarios:

# PYTHON
from rateslib.scheduling import Schedule

s = Schedule(
    effective=dt(2015, 3, 18),
    termination=dt(2016, 3, 16),
    frequency="q",
    roll="imm",
    modifier="mf",
    calendar="ldn",
    payment_lag=0,
)
###
freq: Q,  stub: SHORTFRONT,  roll: imm,  pay lag: 0,  modifier: mf
    Period Unadj Acc Start Unadj Acc End  Acc Start    Acc End    Payment
0  Regular      2015-03-18    2015-06-17 2015-03-18 2015-06-17 2015-06-17
1  Regular      2015-06-17    2015-09-16 2015-06-17 2015-09-16 2015-09-16
2  Regular      2015-09-16    2015-12-16 2015-09-16 2015-12-16 2015-12-16
3  Regular      2015-12-16    2016-03-16 2015-12-16 2016-03-16 2016-03-16

Esta página tiene más información: Documentos de Horario

Cuando se comienza a inferir, cuando el usuario no suministra todos los campos necesarios y deben ser inferidos a partir de las opciones más comunes, se vuelve bastante complejo combinatoriamente. Trato de discutir algunas de las opciones en el capítulo sobre Programación en este libro: Codificación de Tasas de Interés

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