Future#
-
class sigtech.framework.instruments.futures.Future
Baseclasses:
TradableInstrument
Subclasses:
BondFuture
,CommodityFuture
,CryptocurrencyFuture
,EquityIndexFuture
,FXFuture
,InterestRateFuture
,VolatilityIndexFuture
Future instrument class.
Keyword arguments:
expiry_date_stored - last trading date of the future
first_delivery_notice_date_stored - first day on which a notice of intent to deliver can be made
futvalpt_raw - Value change in one tradable futures contract per 1.0 point move in the price
internal_ticker - internal SIG ticker
contract_code - future strip identifier string
contract_size - contract size of one tradable futures contract
first_delivery_date - defines start of delivery period
last_delivery_date - defines end of delivery period
first_trade_date - first date the contract got listed (optional)
activity fields - fields used for activity information, ie Volume, OpenInterest, etc.
For example object creation, see examples in the derived classes, e.g.
CommodityFuture
,EquityIndexFuture
, …-
activity_fields: Optional[list[str]]
-
property available_data_points
The data points available for this instrument
-
contract_code: str
-
property contract_month_code
The future contract code corresponding to its contract month.
-
property contract_sector: str
Contract sector of the future instrument.
-
contract_size: Optional[float]
-
property default_data_point
The default data point for this instrument
-
property exchange_close
The time of day that the instrument closes for trading on its exchange.
-
property expiry_date: date
Expiry date of the contract. Will get the expiry date in the following order of priority:
Stored expiry date (in database).
Calculated expiry date from parent group’s rules.
Group’s rules will default to last BD of month unless set otherwise.
- Returns:
Expiry datetime
-
expiry_date_stored: Optional[date]
-
first_delivery_date: Optional[date]
-
property first_delivery_notice_date: date
- Returns:
First day on which a notice of intent to deliver can be made
-
first_delivery_notice_date_stored: Optional[date]
-
first_trade_date: Optional[date]
-
futvalpt_raw: Optional[Union[float, int, str]]
-
group_name: Optional[str]
-
property holidays
List of holiday calendars for this instrument.
-
last_delivery_date: Optional[date]
-
tick_size: Optional[float]
-
property use_history_schedule: bool
Indicates if schedule is driven by data points.
-
property valuation_time
Valuation time for the instrument in line with settlement time.
-
calendar_schedule() Schedule
A calendar schedule - a schedule that is corresponding to a history schedule, but without min and max dates set.
- Returns:
Calendar schedule instance for the instrument
-
contract_expiry_code()
The future contract expiry code.
-
first_delivery_notice_date_calculated() date
Calculates the first delivery notice (FND) date using the group’s FND rules.
- Returns:
First day on which a notice of intent to deliver can be made
-
fut_val_pt(d: date) float
- Parameters:
d – Reference date
- Returns:
Adjusted value change by price factor for 1.0 point move in the future price
-
get_clip_size_for_quantity(quantity: float, market_impact: Optional[dict] = None)
- Parameters:
quantity – traded quantity
market_impact – Input market impact dictionary
- Returns:
Clip size used for market impact lookup
-
last_non_delivery_dt() date
- Returns:
Datetime for last tradable datetime where no physical delivery can be made
-
next_available_contract() Self
Next futures contract with expiry date greater than the current expiry date.
-
next_contract() Self
Next contract to the one currently expiring.
-
prev_available_contract() Self
Previous contract with expiry date less than the current expiry date.
-
prev_contract() Self
Previous contract to the one currently expiring.
-
trade_schedule() Schedule
Schedule giving trade dates + last time at which we can trade for that date (i.e. notice time for funds).
- Returns:
Trade schedule instance for the instrument
-
validate()
Perform validation checks on the instrument, e.g. expiry date <= contract date.
-
yield_to_price(quoted_price: float, **args) float
Price from yield quoted price.
- Parameters:
quoted_price – Quoted price.
- Returns:
Calculated price.