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