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]:
{'effective': datetime.datetime(2000, 1, 1, 0, 0),
'termination': '10y',
'frequency': 'q',
'stub': 'shortfront',
'front_stub': <NoInput.blank: 0>,
'back_stub': <NoInput.blank: 0>,
'roll': <NoInput.blank: 0>,
'eom': False,
'modifier': 'mf',
'calendar': 'tgt,nyc',
'payment_lag': 2,
'notional': 1000000.0,
'currency': 'eur',
'amortization': <NoInput.blank: 0>,
'convention': 'act360',
'leg2_effective': datetime.datetime(2000, 1, 1, 0, 0),
'leg2_termination': '10y',
'leg2_frequency': 'q',
'leg2_stub': 'shortfront',
'leg2_front_stub': <NoInput.blank: 0>,
'leg2_back_stub': <NoInput.blank: 0>,
'leg2_roll': <NoInput.blank: 0>,
'leg2_eom': False,
'leg2_modifier': 'mf',
'leg2_calendar': 'tgt,nyc',
'leg2_payment_lag': 2,
'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,
'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]:
{'effective': datetime.datetime(2000, 1, 1, 0, 0),
'termination': '10y',
'frequency': 'q',
'stub': 'shortfront',
'front_stub': <NoInput.blank: 0>,
'back_stub': <NoInput.blank: 0>,
'roll': <NoInput.blank: 0>,
'eom': False,
'modifier': 'mf',
'calendar': 'tgt,ldn',
'payment_lag': 2,
'notional': 1000000.0,
'currency': 'eur',
'amortization': <NoInput.blank: 0>,
'convention': 'act360',
'leg2_effective': datetime.datetime(2000, 1, 1, 0, 0),
'leg2_termination': '10y',
'leg2_frequency': 'q',
'leg2_stub': 'shortfront',
'leg2_front_stub': <NoInput.blank: 0>,
'leg2_back_stub': <NoInput.blank: 0>,
'leg2_roll': <NoInput.blank: 0>,
'leg2_eom': False,
'leg2_modifier': 'mf',
'leg2_calendar': 'tgt,ldn',
'leg2_payment_lag': 2,
'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,
'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]:
{'effective': datetime.datetime(2000, 1, 1, 0, 0),
'termination': '10y',
'frequency': 'q',
'stub': 'shortfront',
'front_stub': <NoInput.blank: 0>,
'back_stub': <NoInput.blank: 0>,
'roll': <NoInput.blank: 0>,
'eom': False,
'modifier': 'mf',
'calendar': 'ldn,nyc',
'payment_lag': 2,
'notional': 1000000.0,
'currency': 'gbp',
'amortization': <NoInput.blank: 0>,
'convention': 'act365f',
'leg2_effective': datetime.datetime(2000, 1, 1, 0, 0),
'leg2_termination': '10y',
'leg2_frequency': 'q',
'leg2_stub': 'shortfront',
'leg2_front_stub': <NoInput.blank: 0>,
'leg2_back_stub': <NoInput.blank: 0>,
'leg2_roll': <NoInput.blank: 0>,
'leg2_eom': False,
'leg2_modifier': 'mf',
'leg2_calendar': 'ldn,nyc',
'leg2_payment_lag': 2,
'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,
'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]:
{'effective': datetime.datetime(2000, 1, 1, 0, 0),
'termination': '10y',
'frequency': 'q',
'stub': 'shortfront',
'front_stub': <NoInput.blank: 0>,
'back_stub': <NoInput.blank: 0>,
'roll': <NoInput.blank: 0>,
'eom': False,
'modifier': 'mf',
'calendar': 'tgt,ldn',
'payment_lag': 2,
'notional': 1000000.0,
'currency': 'gbp',
'amortization': <NoInput.blank: 0>,
'convention': 'act365f',
'leg2_effective': datetime.datetime(2000, 1, 1, 0, 0),
'leg2_termination': '10y',
'leg2_frequency': 'q',
'leg2_stub': 'shortfront',
'leg2_front_stub': <NoInput.blank: 0>,
'leg2_back_stub': <NoInput.blank: 0>,
'leg2_roll': <NoInput.blank: 0>,
'leg2_eom': False,
'leg2_modifier': 'mf',
'leg2_calendar': 'tgt,ldn',
'leg2_payment_lag': 2,
'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,
'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]:
{'effective': datetime.datetime(2000, 1, 1, 0, 0),
'termination': '10y',
'frequency': 'q',
'stub': 'shortfront',
'front_stub': <NoInput.blank: 0>,
'back_stub': <NoInput.blank: 0>,
'roll': <NoInput.blank: 0>,
'eom': False,
'modifier': 'mf',
'calendar': 'nyc,tyo',
'payment_lag': 2,
'notional': 1000000.0,
'currency': 'jpy',
'amortization': <NoInput.blank: 0>,
'convention': 'act365f',
'leg2_effective': datetime.datetime(2000, 1, 1, 0, 0),
'leg2_termination': '10y',
'leg2_frequency': 'q',
'leg2_stub': 'shortfront',
'leg2_front_stub': <NoInput.blank: 0>,
'leg2_back_stub': <NoInput.blank: 0>,
'leg2_roll': <NoInput.blank: 0>,
'leg2_eom': False,
'leg2_modifier': 'mf',
'leg2_calendar': 'nyc,tyo',
'leg2_payment_lag': 2,
'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,
'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>}