STIR Futures#

EUR#

ESTR 3m#

Aliases: “estr3mf”.

In [1]: defaults.spec["eur_stir"]
Out[1]: 
{'frequency': 'q',
 'roll': 'imm',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'tgt',
 'payment_lag': 0,
 'currency': 'eur',
 'convention': 'act360',
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'bp_value': 25.0,
 'nominal': 1000000.0}

In [2]: STIRFuture(dt(2023, 3, 15), dt(2023, 6, 21), spec="eur_stir").kwargs
Out[2]: 
{'effective': datetime.datetime(2023, 3, 15, 0, 0),
 'termination': datetime.datetime(2023, 6, 21, 0, 0),
 'frequency': 'q',
 'stub': <NoInput.blank: 0>,
 'front_stub': <NoInput.blank: 0>,
 'back_stub': <NoInput.blank: 0>,
 'roll': 'imm',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'tgt',
 'payment_lag': 0,
 'notional': -1000000.0,
 'currency': 'eur',
 'amortization': <NoInput.blank: 0>,
 'convention': 'act360',
 'leg2_effective': datetime.datetime(2023, 3, 15, 0, 0),
 'leg2_termination': datetime.datetime(2023, 6, 21, 0, 0),
 'leg2_frequency': 'q',
 'leg2_stub': <NoInput.blank: 0>,
 'leg2_front_stub': <NoInput.blank: 0>,
 'leg2_back_stub': <NoInput.blank: 0>,
 'leg2_roll': 'imm',
 'leg2_eom': False,
 'leg2_modifier': 'mf',
 'leg2_calendar': 'tgt',
 'leg2_payment_lag': 0,
 'leg2_notional': 1000000.0,
 'leg2_currency': 'eur',
 'leg2_amortization': <NoInput.blank: 0>,
 'leg2_convention': 'act360',
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'bp_value': 25.0,
 'nominal': 1000000.0,
 'price': <NoInput.blank: 0>,
 'fixed_rate': <NoInput.blank: 0>,
 'leg2_float_spread': <NoInput.blank: 0>,
 'leg2_fixings': <NoInput.blank: 0>,
 'contracts': 1}

ESTR 1m Averaged#

Aliases: “estr1mf”.

In [3]: defaults.spec["eur_stir1"]
Out[3]: 
{'frequency': 'm',
 'roll': 'imm',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'tgt',
 'payment_lag': 0,
 'currency': 'eur',
 'convention': 'act360',
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay_avg',
 'leg2_method_param': 0,
 'bp_value': 25.0,
 'nominal': 3000000.0}

In [4]: STIRFuture(dt(2023, 3, 15), dt(2023, 4, 19), spec="eur_stir1").kwargs
Out[4]: 
{'effective': datetime.datetime(2023, 3, 15, 0, 0),
 'termination': datetime.datetime(2023, 4, 19, 0, 0),
 'frequency': 'm',
 'stub': <NoInput.blank: 0>,
 'front_stub': <NoInput.blank: 0>,
 'back_stub': <NoInput.blank: 0>,
 'roll': 'imm',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'tgt',
 'payment_lag': 0,
 'notional': -1000000.0,
 'currency': 'eur',
 'amortization': <NoInput.blank: 0>,
 'convention': 'act360',
 'leg2_effective': datetime.datetime(2023, 3, 15, 0, 0),
 'leg2_termination': datetime.datetime(2023, 4, 19, 0, 0),
 'leg2_frequency': 'm',
 'leg2_stub': <NoInput.blank: 0>,
 'leg2_front_stub': <NoInput.blank: 0>,
 'leg2_back_stub': <NoInput.blank: 0>,
 'leg2_roll': 'imm',
 'leg2_eom': False,
 'leg2_modifier': 'mf',
 'leg2_calendar': 'tgt',
 'leg2_payment_lag': 0,
 'leg2_notional': 1000000.0,
 'leg2_currency': 'eur',
 'leg2_amortization': <NoInput.blank: 0>,
 'leg2_convention': 'act360',
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay_avg',
 'leg2_method_param': 0,
 'bp_value': 25.0,
 'nominal': 1000000.0,
 'price': <NoInput.blank: 0>,
 'fixed_rate': <NoInput.blank: 0>,
 'leg2_float_spread': <NoInput.blank: 0>,
 'leg2_fixings': <NoInput.blank: 0>,
 'contracts': 1}

Euribor 3m#

Aliases: “euribor3mf”.

In [5]: defaults.spec["eur_stir3"]
Out[5]: 
{'frequency': 'q',
 'roll': 'imm',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'tgt',
 'payment_lag': 0,
 'currency': 'eur',
 'convention': 'act360',
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'ibor',
 'leg2_method_param': 2,
 'bp_value': 25.0,
 'nominal': 1000000.0}

In [6]: STIRFuture(dt(2023, 3, 15), dt(2023, 6, 21), spec="eur_stir3").kwargs
Out[6]: 
{'effective': datetime.datetime(2023, 3, 15, 0, 0),
 'termination': datetime.datetime(2023, 6, 21, 0, 0),
 'frequency': 'q',
 'stub': <NoInput.blank: 0>,
 'front_stub': <NoInput.blank: 0>,
 'back_stub': <NoInput.blank: 0>,
 'roll': 'imm',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'tgt',
 'payment_lag': 0,
 'notional': -1000000.0,
 'currency': 'eur',
 'amortization': <NoInput.blank: 0>,
 'convention': 'act360',
 'leg2_effective': datetime.datetime(2023, 3, 15, 0, 0),
 'leg2_termination': datetime.datetime(2023, 6, 21, 0, 0),
 'leg2_frequency': 'q',
 'leg2_stub': <NoInput.blank: 0>,
 'leg2_front_stub': <NoInput.blank: 0>,
 'leg2_back_stub': <NoInput.blank: 0>,
 'leg2_roll': 'imm',
 'leg2_eom': False,
 'leg2_modifier': 'mf',
 'leg2_calendar': 'tgt',
 'leg2_payment_lag': 0,
 'leg2_notional': 1000000.0,
 'leg2_currency': 'eur',
 'leg2_amortization': <NoInput.blank: 0>,
 'leg2_convention': 'act360',
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'ibor',
 'leg2_method_param': 2,
 'bp_value': 25.0,
 'nominal': 1000000.0,
 'price': <NoInput.blank: 0>,
 'fixed_rate': <NoInput.blank: 0>,
 'leg2_float_spread': <NoInput.blank: 0>,
 'leg2_fixings': <NoInput.blank: 0>,
 'contracts': 1}

GBP#

Aliases: “sonia3mf”.

SONIA 3m#

In [7]: defaults.spec["gbp_stir"]
Out[7]: 
{'frequency': 'q',
 'roll': 'imm',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'ldn',
 'payment_lag': 0,
 'currency': 'gbp',
 'convention': 'act365f',
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'bp_value': 25.0,
 'nominal': 1000000.0}

In [8]: STIRFuture(dt(2023, 3, 15), dt(2023, 6, 21), spec="gbp_stir").kwargs
Out[8]: 
{'effective': datetime.datetime(2023, 3, 15, 0, 0),
 'termination': datetime.datetime(2023, 6, 21, 0, 0),
 'frequency': 'q',
 'stub': <NoInput.blank: 0>,
 'front_stub': <NoInput.blank: 0>,
 'back_stub': <NoInput.blank: 0>,
 'roll': 'imm',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'ldn',
 'payment_lag': 0,
 'notional': -1000000.0,
 'currency': 'gbp',
 'amortization': <NoInput.blank: 0>,
 'convention': 'act365f',
 'leg2_effective': datetime.datetime(2023, 3, 15, 0, 0),
 'leg2_termination': datetime.datetime(2023, 6, 21, 0, 0),
 'leg2_frequency': 'q',
 'leg2_stub': <NoInput.blank: 0>,
 'leg2_front_stub': <NoInput.blank: 0>,
 'leg2_back_stub': <NoInput.blank: 0>,
 'leg2_roll': 'imm',
 'leg2_eom': False,
 'leg2_modifier': 'mf',
 'leg2_calendar': 'ldn',
 'leg2_payment_lag': 0,
 'leg2_notional': 1000000.0,
 'leg2_currency': 'gbp',
 'leg2_amortization': <NoInput.blank: 0>,
 'leg2_convention': 'act365f',
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'bp_value': 25.0,
 'nominal': 1000000.0,
 'price': <NoInput.blank: 0>,
 'fixed_rate': <NoInput.blank: 0>,
 'leg2_float_spread': <NoInput.blank: 0>,
 'leg2_fixings': <NoInput.blank: 0>,
 'contracts': 1}

USD#

Aliases: “sofr3mf”.

SOFR 3m#

In [9]: defaults.spec["usd_stir"]
Out[9]: 
{'frequency': 'q',
 'roll': 'imm',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'nyc',
 'payment_lag': 0,
 'currency': 'usd',
 'convention': 'act360',
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'bp_value': 25.0,
 'nominal': 1000000.0}

In [10]: STIRFuture(dt(2023, 3, 15), dt(2023, 6, 21), spec="usd_stir").kwargs
Out[10]: 
{'effective': datetime.datetime(2023, 3, 15, 0, 0),
 'termination': datetime.datetime(2023, 6, 21, 0, 0),
 'frequency': 'q',
 'stub': <NoInput.blank: 0>,
 'front_stub': <NoInput.blank: 0>,
 'back_stub': <NoInput.blank: 0>,
 'roll': 'imm',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'nyc',
 'payment_lag': 0,
 'notional': -1000000.0,
 'currency': 'usd',
 'amortization': <NoInput.blank: 0>,
 'convention': 'act360',
 'leg2_effective': datetime.datetime(2023, 3, 15, 0, 0),
 'leg2_termination': datetime.datetime(2023, 6, 21, 0, 0),
 'leg2_frequency': 'q',
 'leg2_stub': <NoInput.blank: 0>,
 'leg2_front_stub': <NoInput.blank: 0>,
 'leg2_back_stub': <NoInput.blank: 0>,
 'leg2_roll': 'imm',
 'leg2_eom': False,
 'leg2_modifier': 'mf',
 'leg2_calendar': 'nyc',
 'leg2_payment_lag': 0,
 'leg2_notional': 1000000.0,
 'leg2_currency': 'usd',
 'leg2_amortization': <NoInput.blank: 0>,
 'leg2_convention': 'act360',
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay',
 'leg2_method_param': 0,
 'bp_value': 25.0,
 'nominal': 1000000.0,
 'price': <NoInput.blank: 0>,
 'fixed_rate': <NoInput.blank: 0>,
 'leg2_float_spread': <NoInput.blank: 0>,
 'leg2_fixings': <NoInput.blank: 0>,
 'contracts': 1}

SOFR 1m Averaged#

Aliases: “sofr1mf”.

In [11]: defaults.spec["usd_stir1"]
Out[11]: 
{'frequency': 'm',
 'roll': 'imm',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'nyc',
 'payment_lag': 0,
 'currency': 'usd',
 'convention': 'act360',
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay_avg',
 'leg2_method_param': 0,
 'bp_value': 41.67,
 'nominal': 5000000.0}

In [12]: STIRFuture(dt(2023, 3, 15), dt(2023, 4, 19), spec="usd_stir1").kwargs
Out[12]: 
{'effective': datetime.datetime(2023, 3, 15, 0, 0),
 'termination': datetime.datetime(2023, 4, 19, 0, 0),
 'frequency': 'm',
 'stub': <NoInput.blank: 0>,
 'front_stub': <NoInput.blank: 0>,
 'back_stub': <NoInput.blank: 0>,
 'roll': 'imm',
 'eom': False,
 'modifier': 'mf',
 'calendar': 'nyc',
 'payment_lag': 0,
 'notional': -1000000.0,
 'currency': 'usd',
 'amortization': <NoInput.blank: 0>,
 'convention': 'act360',
 'leg2_effective': datetime.datetime(2023, 3, 15, 0, 0),
 'leg2_termination': datetime.datetime(2023, 4, 19, 0, 0),
 'leg2_frequency': 'm',
 'leg2_stub': <NoInput.blank: 0>,
 'leg2_front_stub': <NoInput.blank: 0>,
 'leg2_back_stub': <NoInput.blank: 0>,
 'leg2_roll': 'imm',
 'leg2_eom': False,
 'leg2_modifier': 'mf',
 'leg2_calendar': 'nyc',
 'leg2_payment_lag': 0,
 'leg2_notional': 1000000.0,
 'leg2_currency': 'usd',
 'leg2_amortization': <NoInput.blank: 0>,
 'leg2_convention': 'act360',
 'leg2_spread_compound_method': 'none_simple',
 'leg2_fixing_method': 'rfr_payment_delay_avg',
 'leg2_method_param': 0,
 'bp_value': 41.67,
 'nominal': 1000000.0,
 'price': <NoInput.blank: 0>,
 'fixed_rate': <NoInput.blank: 0>,
 'leg2_float_spread': <NoInput.blank: 0>,
 'leg2_fixings': <NoInput.blank: 0>,
 'contracts': 1}