mafipy.replication.replicate

mafipy.replication.replicate(init_swap_rate, discount_factor, call_pricer, put_pricer, payoff_type, payoff_params, forward_fx_diffusion_params, annuity_mapping_type, annuity_mapping_params, min_put_range=-inf, max_call_range=inf)[source]

Simple qunato cms pricer.

\[V_{\mathrm{QuantoCMS}}(0) \approx P_{f}(0, T_{p}) \frac{\mathrm{E}^{A,d} \left[ g(S(T)) \alpha(S(T)) \tilde{\chi}(S(T)) \right] }{\mathrm{E}^{A,d} \left[ \alpha(S(T)) \tilde{\chi}(S(T)) \right] }\]

where \(T_{p}\) is payment date of Quanto CMS, \(P_{f}(0, T)\) is value of foreign currency zero coupon bond with maturity \(T\) at time 0. \(\mathrm{E}^{A,d}\) is expectation under domestic annuity measure. \(g\) is payoff function, \(\alpha(\cdot)\) is annuity mapping function, \(\tilde{\chi}(\cdot)\) is forward fx diffusion, \(S(T)\) is time \(T\) forward swap rate.

See Interest Rate Modeling. Volume 3: Products and Risk Management, Chap16.

Parameters:
  • init_swap_rate (float) –
  • discount_factor (float) –
  • call_pricer (callable) –
  • put_pricer (callable) –
  • payoff_type (str) – Specify type of payoff function as a string (“call”, “put”, “bull_spread”).
  • payoff_params (dict) –
  • forward_fx_diffusion_params (dict) –
  • annuity_mapping_type (str) – Specify type of annuity mapping function as a string (“linear”).
  • annuity_mapping_params (dict) –
  • min_put_range (float) –
  • max_call_range (float) –