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>}