IndexForward

IndexForward#

class sigtech.framework.instruments.index_forward.IndexForward

Baseclasses: OTCInstrument

Note

Please note: this class is still in experimental state, and default parameters values are subject to change!

Index Forward will pay strike for one unit of underlying at payment_date.

Keyword arguments:

  • currency: (Optional) The currency to pay, should be the currency of the underlying. Can be omitted

  • payment_date: Payment date (maturity date) of the forward

  • strike: Forward strike (Optional, default=None which will use the fair strike at the valuation point)

  • start_date: Trade date of the index forward (Semi-Optional). If no strike is provided, the fair forward on trade date will be used as a strike. Need either start_date or execution_datetime to know from when to start the index forward history time-series

  • underlying: Underlying index name (e.g. ‘SPX INDEX’)

  • use_forward_curve: (Optional) flag to use forward curve for fair forwards if True (default), otherwise imply from discount and dividend curves

  • discrete_dividend: (Optional) flag to replace dividend yield with discrete dividends if forwards are implied from discount factors and dividend (False by default)

  • execution_datetime: (Optional) exact time of execution to imply strike, if it is not supplied. Default data_point will be used if the field is empty

One of strike or start_date input must be supplied in the parameters.

Example object creation:

index_forward = sig.IndexForward(
    currency='USD',
    underlying='SPX INDEX',
    start_date=dtm.date(2020, 2, 3),
    payment_date=dtm.date(2020, 4, 2)
)

The value of the instrument is

\[P(0,t) * (FWD_t - K)\]

where \(K\) is the strike, \(P(0,t)\) discount factor and \(FWD_t\) is the fair forward.

currency: Optional[str]
discrete_dividend: Optional[bool]
execution_datetime: Optional[datetime]
payment_date: date
property settlement_type: str

Stub indicating how final cash flows are exchanged.

start_date: Optional[date]
strike: Optional[float]
underlying: str
use_forward_curve: Optional[bool]
fair_forward_prices(data_dates, data_point=None, use_forward_curve=None)

Forward prices of the underlying.

Parameters:
  • data_dates – Input dates.

  • data_point – Input data points (optional).

  • use_forward_curve – If true, prices are computed using the forward curves of the underlying (optional).

Returns:

List of forward prices.

static schedule_stub(underlying, env: ConfiguredEnvironment, group_name=None)

Schedule stub.

Parameters:
  • underlying – Name of the underlying.

  • env – Configured environment.

  • group_name – Group name (optional).

Returns:

Schedule stub.

settlement_value() float

Cash settlement amount, or the value of the physical contract at settlement.