STIR Futures#
Warning
Do not use these specifications on an rateslib.instruments.IRS to replicate a
STIR rate with a Swap like Instrument. The convention is often manually chosen as
‘ActActICMA’ to replicate an exchange’s payoff structure for contracts of variable length.
EUR#
ESTR 3m#
In [1]: defaults.spec["eur_stir"]
Out[1]:
{'frequency': 'q',
'roll': 'imm',
'eom': False,
'modifier': 'mf',
'calendar': 'tgt',
'payment_lag': 0,
'currency': 'eur',
'convention': 'actacticma',
'leg2_spread_compound_method': 'none_simple',
'leg2_fixing_method': 'rfr_payment_delay',
'leg2_fixing_series': 'eur_rfr',
'nominal': 1000000.0}
In [2]: STIRFuture(dt(2023, 3, 15), dt(2023, 6, 21), spec="eur_stir").kwargs
Out[2]: <rateslib.instruments.protocols.kwargs._KWArgs at 0x14c7ef590>
ESTR 1m Averaged#
In [3]: defaults.spec["eur_stir1"]
Out[3]:
{'frequency': 'm',
'roll': 'som',
'eom': False,
'modifier': 'mf',
'calendar': 'tgt',
'payment_lag': 0,
'currency': 'eur',
'convention': 'actacticma',
'leg2_spread_compound_method': 'none_simple',
'leg2_fixing_method': 'rfr_payment_delay_avg',
'leg2_fixing_series': 'eur_rfr',
'nominal': 3000000.0}
In [4]: STIRFuture(dt(2023, 3, 1), dt(2023, 4, 1), spec="eur_stir1").kwargs
Out[4]: <rateslib.instruments.protocols.kwargs._KWArgs at 0x14c7efcb0>
Euribor 3m#
In [5]: defaults.spec["eur_stir3"]
Out[5]:
{'frequency': 'q',
'roll': 'imm',
'eom': False,
'modifier': 'mf',
'calendar': 'tgt',
'payment_lag': 0,
'currency': 'eur',
'convention': 'actacticma',
'leg2_spread_compound_method': 'none_simple',
'leg2_fixing_method': 'ibor(2)',
'leg2_fixing_series': 'eur_ibor',
'nominal': 1000000.0}
In [6]: STIRFuture(dt(2023, 3, 15), dt(2023, 6, 21), spec="eur_stir3").kwargs
Out[6]: <rateslib.instruments.protocols.kwargs._KWArgs at 0x14c7eed50>
GBP#
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': 'actacticma',
'leg2_spread_compound_method': 'none_simple',
'leg2_fixing_method': 'rfr_payment_delay',
'leg2_fixing_series': 'gbp_rfr',
'nominal': 1000000.0}
In [8]: STIRFuture(dt(2023, 3, 15), dt(2023, 6, 21), spec="gbp_stir").kwargs
Out[8]: <rateslib.instruments.protocols.kwargs._KWArgs at 0x14c77bb90>
USD#
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': 'actacticma',
'leg2_spread_compound_method': 'none_simple',
'leg2_fixing_method': 'rfr_payment_delay',
'leg2_fixing_series': 'usd_rfr',
'nominal': 1000000.0}
In [10]: STIRFuture(dt(2023, 3, 15), dt(2023, 6, 21), spec="usd_stir").kwargs
Out[10]: <rateslib.instruments.protocols.kwargs._KWArgs at 0x14c77b7d0>
SOFR 1m Averaged#
In [11]: defaults.spec["usd_stir1"]
Out[11]:
{'frequency': 'm',
'roll': 'som',
'eom': False,
'modifier': 'mf',
'calendar': 'nyc',
'payment_lag': 0,
'currency': 'usd',
'convention': 'actacticma',
'leg2_spread_compound_method': 'none_simple',
'leg2_fixing_method': 'rfr_payment_delay_avg',
'leg2_fixing_series': 'usd_rfr',
'nominal': 5000400.0}
In [12]: STIRFuture(dt(2023, 3, 1), dt(2023, 4, 1), spec="usd_stir1").kwargs
Out[12]: <rateslib.instruments.protocols.kwargs._KWArgs at 0x14c77ba10>