El Paridad de tipos de interés cubierta para FX se cita a menudo de forma simplista como $$ X_T \quad=\quad X_S \cdot \frac{D^{base}_T}{D^{quote}_T} $$ donde $X_t$ es el tipo de cambio (proyectado) en el momento $t$ (denotado como $1$ base = $X$ cita), $D_t^{ccy}$ es el factor de descuento del tiempo $t$ en moneda $ccy$ y $X_S$ indica el tipo de cambio al contado actual.
Para derivar esta paridad se puede observar un flujo de caja de 1 USD a $T$ puede ser descontado en USD y luego convertido al contado $X_S$ a JPY. O, lo que es lo mismo, convertir en $X_T$ y descuento en JPY. Así que $$ \text{NPV in JPY} \quad=\quad (1\text{ USD} \cdot D_T^{USD}) \cdot X_S \quad=\quad (1\text{ USD} \cdot X_T) \cdot D_T^{JPY} $$ que implica la paridad.
En la práctica, la paridad anterior no se cumple, ya que el spot $\ne$ hoy (por ejemplo, cuando spot = hoy + 2 días). De este modo, obtenemos un completo paridad: $$ X_{T} \quad=\quad X_{S} \cdot \frac{D^{base}_{T}}{D^{quote}_{T}} \cdot \color{blue}{\frac{D^{quote}_{S}}{D^{base}_{S}}} $$ Por ejemplo, véase la implementación de QuantLib: github.com/.../QuantLib/.../ratehelpers.cpp#L995-L1012
Estoy luchando por incorporar correctamente esto $\color{blue}{\text{spot adjustment}}$ en el argumento de no arbitraje/replicación, que he esbozado anteriormente. ¿Puede alguien ayudar?