XCS#

EUR#

EUR/USD#

In [1]: defaults.spec["eurusd_xcs"]
Out[1]: 
{'frequency': 'q',
 'stub': 'shortfront',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'tgt,nyc',
 'payment_lag': 2,
 'currency': 'eur',
 'convention': 'act360',
 'leg2_currency': 'usd',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'rfr_payment_delay',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True}

In [2]: XCS(dt(2000, 1, 1), "10y", spec="eurusd_xcs").kwargs
Out[2]: 
{'notional': 1000000.0,
 'currency': 'eur',
 'amortization': <NoInput.blank: 0>,
 'convention': 'act360',
 'leg2_notional': -1000000.0,
 'leg2_currency': 'usd',
 'leg2_amortization': <NoInput.blank: 0>,
 'leg2_convention': 'act360',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'rfr_payment_delay',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True,
 'schedule': <rl.Schedule at 0x121db4890>,
 'leg2_schedule': <rl.Schedule at 0x121db5180>,
 'float_spread': <NoInput.blank: 0>,
 'fixings': <NoInput.blank: 0>,
 'initial_exchange': True,
 'final_exchange': True,
 'leg2_float_spread': <NoInput.blank: 0>,
 'leg2_fixings': <NoInput.blank: 0>,
 'leg2_payment_lag_exchange': <NoInput.blank: 0>,
 'leg2_initial_exchange': True,
 'leg2_final_exchange': True,
 'leg2_alt_currency': 'eur',
 'leg2_alt_notional': -1000000.0,
 'leg2_fx_fixings': <NoInput.blank: 0>}

EUR/GBP#

In [3]: defaults.spec["eurgbp_xcs"]
Out[3]: 
{'frequency': 'q',
 'stub': 'shortfront',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'tgt,ldn',
 'payment_lag': 2,
 'currency': 'eur',
 'convention': 'act360',
 'leg2_currency': 'gbp',
 'leg2_convention': 'act365f',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'rfr_payment_delay',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True}

In [4]: XCS(dt(2000, 1, 1), "10y", spec="eurgbp_xcs").kwargs
Out[4]: 
{'notional': 1000000.0,
 'currency': 'eur',
 'amortization': <NoInput.blank: 0>,
 'convention': 'act360',
 'leg2_notional': -1000000.0,
 'leg2_currency': 'gbp',
 'leg2_amortization': <NoInput.blank: 0>,
 'leg2_convention': 'act365f',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'rfr_payment_delay',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True,
 'schedule': <rl.Schedule at 0x121db54f0>,
 'leg2_schedule': <rl.Schedule at 0x121db4680>,
 'float_spread': <NoInput.blank: 0>,
 'fixings': <NoInput.blank: 0>,
 'initial_exchange': True,
 'final_exchange': True,
 'leg2_float_spread': <NoInput.blank: 0>,
 'leg2_fixings': <NoInput.blank: 0>,
 'leg2_payment_lag_exchange': <NoInput.blank: 0>,
 'leg2_initial_exchange': True,
 'leg2_final_exchange': True,
 'leg2_alt_currency': 'eur',
 'leg2_alt_notional': -1000000.0,
 'leg2_fx_fixings': <NoInput.blank: 0>}

GBP#

GBP/USD#

In [5]: defaults.spec["gbpusd_xcs"]
Out[5]: 
{'frequency': 'q',
 'stub': 'shortfront',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'ldn,nyc',
 'payment_lag': 2,
 'currency': 'gbp',
 'convention': 'act365f',
 'leg2_currency': 'usd',
 'leg2_convention': 'act360',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'rfr_payment_delay',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True}

In [6]: XCS(dt(2000, 1, 1), "10y", spec="gbpusd_xcs").kwargs
Out[6]: 
{'notional': 1000000.0,
 'currency': 'gbp',
 'amortization': <NoInput.blank: 0>,
 'convention': 'act365f',
 'leg2_notional': -1000000.0,
 'leg2_currency': 'usd',
 'leg2_amortization': <NoInput.blank: 0>,
 'leg2_convention': 'act360',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'rfr_payment_delay',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True,
 'schedule': <rl.Schedule at 0x121db55a0>,
 'leg2_schedule': <rl.Schedule at 0x121db4940>,
 'float_spread': <NoInput.blank: 0>,
 'fixings': <NoInput.blank: 0>,
 'initial_exchange': True,
 'final_exchange': True,
 'leg2_float_spread': <NoInput.blank: 0>,
 'leg2_fixings': <NoInput.blank: 0>,
 'leg2_payment_lag_exchange': <NoInput.blank: 0>,
 'leg2_initial_exchange': True,
 'leg2_final_exchange': True,
 'leg2_alt_currency': 'gbp',
 'leg2_alt_notional': -1000000.0,
 'leg2_fx_fixings': <NoInput.blank: 0>}

GBP/EUR#

In [7]: defaults.spec["gbpeur_xcs"]
Out[7]: 
{'frequency': 'q',
 'stub': 'shortfront',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'tgt,ldn',
 'payment_lag': 2,
 'currency': 'gbp',
 'convention': 'act365f',
 'leg2_currency': 'eur',
 'leg2_convention': 'act360',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'rfr_payment_delay',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True}

In [8]: XCS(dt(2000, 1, 1), "10y", spec="gbpeur_xcs").kwargs
Out[8]: 
{'notional': 1000000.0,
 'currency': 'gbp',
 'amortization': <NoInput.blank: 0>,
 'convention': 'act365f',
 'leg2_notional': -1000000.0,
 'leg2_currency': 'eur',
 'leg2_amortization': <NoInput.blank: 0>,
 'leg2_convention': 'act360',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'rfr_payment_delay',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True,
 'schedule': <rl.Schedule at 0x121db5650>,
 'leg2_schedule': <rl.Schedule at 0x121db4cb0>,
 'float_spread': <NoInput.blank: 0>,
 'fixings': <NoInput.blank: 0>,
 'initial_exchange': True,
 'final_exchange': True,
 'leg2_float_spread': <NoInput.blank: 0>,
 'leg2_fixings': <NoInput.blank: 0>,
 'leg2_payment_lag_exchange': <NoInput.blank: 0>,
 'leg2_initial_exchange': True,
 'leg2_final_exchange': True,
 'leg2_alt_currency': 'gbp',
 'leg2_alt_notional': -1000000.0,
 'leg2_fx_fixings': <NoInput.blank: 0>}

JPY#

JPY/USD#

In [9]: defaults.spec["jpyusd_xcs"]
Out[9]: 
{'frequency': 'q',
 'stub': 'shortfront',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'nyc,tyo',
 'payment_lag': 2,
 'currency': 'jpy',
 'convention': 'act365f',
 'leg2_currency': 'usd',
 'leg2_convention': 'act360',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'rfr_payment_delay',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True}

In [10]: XCS(dt(2000, 1, 1), "10y", spec="jpyusd_xcs").kwargs
Out[10]: 
{'notional': 1000000.0,
 'currency': 'jpy',
 'amortization': <NoInput.blank: 0>,
 'convention': 'act365f',
 'leg2_notional': -1000000.0,
 'leg2_currency': 'usd',
 'leg2_amortization': <NoInput.blank: 0>,
 'leg2_convention': 'act360',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'rfr_payment_delay',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True,
 'schedule': <rl.Schedule at 0x121db5700>,
 'leg2_schedule': <rl.Schedule at 0x121db4f70>,
 'float_spread': <NoInput.blank: 0>,
 'fixings': <NoInput.blank: 0>,
 'initial_exchange': True,
 'final_exchange': True,
 'leg2_float_spread': <NoInput.blank: 0>,
 'leg2_fixings': <NoInput.blank: 0>,
 'leg2_payment_lag_exchange': <NoInput.blank: 0>,
 'leg2_initial_exchange': True,
 'leg2_final_exchange': True,
 'leg2_alt_currency': 'jpy',
 'leg2_alt_notional': -1000000.0,
 'leg2_fx_fixings': <NoInput.blank: 0>}

AUD#

AUD/USD (AONIA)#

In [11]: defaults.spec["audusd_xcs"]
Out[11]: 
{'frequency': 'q',
 'stub': 'shortfront',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'nyc,syd',
 'payment_lag': 2,
 'currency': 'aud',
 'convention': 'act365f',
 'leg2_currency': 'usd',
 'leg2_convention': 'act360',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'rfr_payment_delay',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True}

In [12]: XCS(dt(2000, 1, 1), "10y", spec="audusd_xcs").kwargs
Out[12]: 
{'notional': 1000000.0,
 'currency': 'aud',
 'amortization': <NoInput.blank: 0>,
 'convention': 'act365f',
 'leg2_notional': -1000000.0,
 'leg2_currency': 'usd',
 'leg2_amortization': <NoInput.blank: 0>,
 'leg2_convention': 'act360',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'rfr_payment_delay',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True,
 'schedule': <rl.Schedule at 0x121db4c00>,
 'leg2_schedule': <rl.Schedule at 0x121db5860>,
 'float_spread': <NoInput.blank: 0>,
 'fixings': <NoInput.blank: 0>,
 'initial_exchange': True,
 'final_exchange': True,
 'leg2_float_spread': <NoInput.blank: 0>,
 'leg2_fixings': <NoInput.blank: 0>,
 'leg2_payment_lag_exchange': <NoInput.blank: 0>,
 'leg2_initial_exchange': True,
 'leg2_final_exchange': True,
 'leg2_alt_currency': 'aud',
 'leg2_alt_notional': -1000000.0,
 'leg2_fx_fixings': <NoInput.blank: 0>}

AUD/USD (BBSW 3m)#

In [13]: defaults.spec["audusd_xcs3"]
Out[13]: 
{'frequency': 'q',
 'stub': 'shortfront',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'nyc,syd',
 'payment_lag': 2,
 'currency': 'aud',
 'convention': 'act365f',
 'leg2_currency': 'usd',
 'leg2_convention': 'act360',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'ibor',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True}

In [14]: XCS(dt(2000, 1, 1), "10y", spec="audusd_xcs3").kwargs
Out[14]: 
{'notional': 1000000.0,
 'currency': 'aud',
 'amortization': <NoInput.blank: 0>,
 'convention': 'act365f',
 'leg2_notional': -1000000.0,
 'leg2_currency': 'usd',
 'leg2_amortization': <NoInput.blank: 0>,
 'leg2_convention': 'act360',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'ibor',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True,
 'schedule': <rl.Schedule at 0x121db52e0>,
 'leg2_schedule': <rl.Schedule at 0x121db5910>,
 'float_spread': <NoInput.blank: 0>,
 'fixings': <NoInput.blank: 0>,
 'initial_exchange': True,
 'final_exchange': True,
 'leg2_float_spread': <NoInput.blank: 0>,
 'leg2_fixings': <NoInput.blank: 0>,
 'leg2_payment_lag_exchange': <NoInput.blank: 0>,
 'leg2_initial_exchange': True,
 'leg2_final_exchange': True,
 'leg2_alt_currency': 'aud',
 'leg2_alt_notional': -1000000.0,
 'leg2_fx_fixings': <NoInput.blank: 0>}

NZD#

NZD/USD (NFix 3m)#

In [15]: defaults.spec["nzdusd_xcs3"]
Out[15]: 
{'frequency': 'q',
 'stub': 'shortfront',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'nyc,wlg',
 'payment_lag': 2,
 'currency': 'nzd',
 'convention': 'act365f',
 'leg2_currency': 'usd',
 'leg2_convention': 'act360',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'ibor',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True}

In [16]: XCS(dt(2000, 1, 1), "10y", spec="nzdusd_xcs3").kwargs
Out[16]: 
{'notional': 1000000.0,
 'currency': 'nzd',
 'amortization': <NoInput.blank: 0>,
 'convention': 'act365f',
 'leg2_notional': -1000000.0,
 'leg2_currency': 'usd',
 'leg2_amortization': <NoInput.blank: 0>,
 'leg2_convention': 'act360',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'ibor',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True,
 'schedule': <rl.Schedule at 0x121db57b0>,
 'leg2_schedule': <rl.Schedule at 0x121db59c0>,
 'float_spread': <NoInput.blank: 0>,
 'fixings': <NoInput.blank: 0>,
 'initial_exchange': True,
 'final_exchange': True,
 'leg2_float_spread': <NoInput.blank: 0>,
 'leg2_fixings': <NoInput.blank: 0>,
 'leg2_payment_lag_exchange': <NoInput.blank: 0>,
 'leg2_initial_exchange': True,
 'leg2_final_exchange': True,
 'leg2_alt_currency': 'nzd',
 'leg2_alt_notional': -1000000.0,
 'leg2_fx_fixings': <NoInput.blank: 0>}

NZD/AUD (NFix 3m/BBSW 3m)#

In [17]: defaults.spec["nzdaud_xcs3"]
Out[17]: 
{'frequency': 'q',
 'stub': 'shortfront',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'nyc,wlg,syd',
 'payment_lag': 2,
 'currency': 'nzd',
 'convention': 'act365f',
 'leg2_currency': 'aud',
 'leg2_convention': 'act365f',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'ibor',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'ibor',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True}

In [18]: XCS(dt(2000, 1, 1), "10y", spec="nzdaud_xcs3").kwargs
Out[18]: 
{'notional': 1000000.0,
 'currency': 'nzd',
 'amortization': <NoInput.blank: 0>,
 'convention': 'act365f',
 'leg2_notional': -1000000.0,
 'leg2_currency': 'aud',
 'leg2_amortization': <NoInput.blank: 0>,
 'leg2_convention': 'act365f',
 'spread_compound_method': 'none_simple',
 'fixing_method': 'ibor',
 'method_param': 0,
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'ibor',
 'leg2_method_param': 0,
 'payment_lag_exchange': 0,
 'fixed': False,
 'leg2_fixed': False,
 'leg2_mtm': True,
 'schedule': <rl.Schedule at 0x121c3df40>,
 'leg2_schedule': <rl.Schedule at 0x121db5a70>,
 'float_spread': <NoInput.blank: 0>,
 'fixings': <NoInput.blank: 0>,
 'initial_exchange': True,
 'final_exchange': True,
 'leg2_float_spread': <NoInput.blank: 0>,
 'leg2_fixings': <NoInput.blank: 0>,
 'leg2_payment_lag_exchange': <NoInput.blank: 0>,
 'leg2_initial_exchange': True,
 'leg2_final_exchange': True,
 'leg2_alt_currency': 'nzd',
 'leg2_alt_notional': -1000000.0,
 'leg2_fx_fixings': <NoInput.blank: 0>}