SwaptionGroupBase#
-
class sigtech.framework.instruments.swaption.SwaptionGroupBase
Baseclasses:
VolsurfaceBasedGroup
Subclasses:
SwaptionGroup
,OISSwaptionGroup
A class representing a base for swaption group (either IBOR or OIS). Shouldn’t be used on its own.
-
property available_data_points
Available data points
-
cash_settled: Optional[bool]
-
currency: str
-
property default_data_point
Default data point
-
exchange_code: Optional[str]
-
property holidays: str
List of holiday calendars for this instrument.
-
property valuation_time
Valuation time for the instrument group Included so we can supply this to TradingManager.data_point_from_time
-
property valuation_tzinfo
Valuation time zone for the instrument group Included so we can supply this to TradingManager.data_point_from_time
-
discount_curves(data_dates, data_point=None)
Discount curves for the instrument.
- Parameters:
data_dates – Input date or list of dates for which the curves are needed.
data_point – Input data point (optional).
- Returns:
pandas Series.
-
exchange() Exchange
Exchange object where options are traded.
-
classmethod from_currency(currency)
Return a group object from a currency ticker.
- Parameters:
currency – Currency ticker.
- Returns:
Group object.
-
get_atm_vol(expiry: str, swap_tenor: str, start_date: date, end_date: date = None, data_point=None)
Get rolling daily atm normal volatility for the expiry x swap_tenor swaptions.
- Parameters:
expiry – Swaption expiry string, e.g.
'5Y'
or'1M'
.swap_tenor – Underlying swap tenor, e.g.
'5Y'
.start_date – Requested series start date
end_date – Requested series end date. asof_date used if omitted (optional).
data_point – Data point for the vol surface (optional).
- Returns:
pd.Series of daily vols
-
classmethod get_group(currency: str)
Create on the fly SWAPTION GROUP for given currency
- Parameters:
currency – e.g. ‘EUR’ or ‘USD’
- Returns:
-
get_option_dependencies(start_date: date, maturity: Union[date, str], data_points: Optional[list[sigtech.framework.infra.data_adapter.common.DataPoint]] = None, **kwargs) list[sigtech.framework.internal.infra.mu.graph.registry.factory.Dependency]
Additional Dependencies at the Swaption level - there aren’t any
-
get_option_group_dependencies(t: time, tz: tzinfo, valuation_currency: str, start_dt: datetime, end_dt: datetime, greek_calculation_dependencies: bool = False) list[sigtech.framework.internal.infra.mu.graph.registry.factory.Dependency]
Dependencies at the option group level
-
get_swaption(option_type: str, strike: Optional[Union[float, str]], start_date: date, expiry: Union[date, str], swap_tenor: str, forward_premium: Union[float, bool] = None, end_date: date = None, history_start: date = None)
Gets the swaption for a given type of option, strike and expity/tenor
- Parameters:
option_type –
'Payer'
or'Receiver'
strike – Strike of swaption. See
Swaption
for format details.start_date – Start date of the history (also used for expiry offset if tenor given)
expiry – Maturity date of the option or expiry tenor (e.g.
'3M'
)swap_tenor – Tenor of the underlying swap (e.g.
'5Y'
)forward_premium – Optional - in case of forward (rather than spot) premium - either forward premium value, or
True
to imply it from the swaption value (i.e.start_date
0 npv)end_date – Date when the option position is closed (optional, used purely for calculation optimisation).
history_start – Optional - date on which history should start, in case it’s needed before the
start_date
(e.g. for strategy sizing, or valuing ifstart_date
is a non-business day).
- Returns: