Lean  $LEAN_TAG$
QuantConnect.Securities.Future.Future Class Reference

Futures Security Object Implementation for Futures Assets More...

Inheritance diagram for QuantConnect.Securities.Future.Future:
[legend]

Public Member Functions

 Future (SecurityExchangeHours exchangeHours, SubscriptionDataConfig config, Cash quoteCurrency, SymbolProperties symbolProperties, ICurrencyConverter currencyConverter, IRegisteredSecurityDataTypesProvider registeredTypes)
 Constructor for the Future security More...
 
 Future (Symbol symbol, SecurityExchangeHours exchangeHours, Cash quoteCurrency, SymbolProperties symbolProperties, ICurrencyConverter currencyConverter, IRegisteredSecurityDataTypesProvider registeredTypes, SecurityCache securityCache, Security underlying=null)
 Constructor for the Future security More...
 
override void SetLocalTimeKeeper (LocalTimeKeeper localTimeKeeper)
 Sets the LocalTimeKeeper to be used for this Security. This is the source of this instance's time. More...
 
void SetFilter (TimeSpan minExpiry, TimeSpan maxExpiry)
 Sets the ContractFilter to a new instance of the filter using the specified expiration range values More...
 
void SetFilter (int minExpiryDays, int maxExpiryDays)
 Sets the ContractFilter to a new instance of the filter using the specified expiration range values More...
 
void SetFilter (Func< FutureFilterUniverse, FutureFilterUniverse > universeFunc)
 Sets the ContractFilter to a new universe selection function More...
 
void SetFilter (PyObject universeFunc)
 Sets the ContractFilter to a new universe selection function More...
 
- Public Member Functions inherited from QuantConnect.Securities.Security
 Security (SecurityExchangeHours exchangeHours, SubscriptionDataConfig config, Cash quoteCurrency, SymbolProperties symbolProperties, ICurrencyConverter currencyConverter, IRegisteredSecurityDataTypesProvider registeredTypesProvider, SecurityCache cache)
 Construct a new security vehicle based on the user options. More...
 
 Security (Symbol symbol, SecurityExchangeHours exchangeHours, Cash quoteCurrency, SymbolProperties symbolProperties, ICurrencyConverter currencyConverter, IRegisteredSecurityDataTypesProvider registeredTypesProvider, SecurityCache cache)
 Construct a new security vehicle based on the user options. More...
 
BaseData GetLastData ()
 Get the last price update set to the security if any else null More...
 
void SetMarketPrice (BaseData data)
 Update any security properties based on the latest market data and time More...
 
void Update (IReadOnlyList< BaseData > data, Type dataType, bool? containsFillForwardData=null)
 Updates all of the security properties, such as price/OHLCV/bid/ask based on the data provided. Data is also stored into the security's data cache More...
 
bool IsCustomData ()
 Returns true if the security contains at least one subscription that represents custom data More...
 
void SetLeverage (decimal leverage)
 Set the leverage parameter for this security More...
 
virtual void SetDataNormalizationMode (DataNormalizationMode mode)
 Sets the data normalization mode to be used by this security More...
 
void RefreshDataNormalizationModeProperty ()
 This method will refresh the value of the DataNormalizationMode property. This is required for backward-compatibility. TODO: to be deleted with the DataNormalizationMode property More...
 
void SetFeeModel (IFeeModel feelModel)
 Sets the fee model More...
 
void SetFeeModel (PyObject feelModel)
 Sets the fee model More...
 
void SetFillModel (IFillModel fillModel)
 Sets the fill model More...
 
void SetFillModel (PyObject fillModel)
 Sets the fill model More...
 
void SetSettlementModel (ISettlementModel settlementModel)
 Sets the settlement model More...
 
void SetSettlementModel (PyObject settlementModel)
 Sets the settlement model More...
 
void SetSlippageModel (ISlippageModel slippageModel)
 Sets the slippage model More...
 
void SetSlippageModel (PyObject slippageModel)
 Sets the slippage model More...
 
void SetVolatilityModel (IVolatilityModel volatilityModel)
 Sets the volatility model More...
 
void SetVolatilityModel (PyObject volatilityModel)
 Sets the volatility model More...
 
void SetBuyingPowerModel (IBuyingPowerModel buyingPowerModel)
 Sets the buying power model More...
 
void SetBuyingPowerModel (PyObject pyObject)
 Sets the buying power model More...
 
void SetMarginInterestRateModel (IMarginInterestRateModel marginInterestRateModel)
 Sets the margin interests rate model More...
 
void SetMarginInterestRateModel (PyObject pyObject)
 Sets the margin interests rate model More...
 
void SetMarginModel (IBuyingPowerModel marginModel)
 Sets the margin model More...
 
void SetMarginModel (PyObject pyObject)
 Sets the margin model More...
 
void SetShortableProvider (PyObject pyObject)
 Set Python Shortable Provider for this Security More...
 
void SetShortableProvider (IShortableProvider shortableProvider)
 Set Shortable Provider for this Security More...
 
void SetDataFilter (PyObject pyObject)
 Set Security Data Filter More...
 
void SetDataFilter (ISecurityDataFilter dataFilter)
 Set Security Data Filter More...
 
override bool TryGetMember (GetMemberBinder binder, out object result)
 This is a DynamicObject override. Not meant for external use. More...
 
override bool TrySetMember (SetMemberBinder binder, object value)
 This is a DynamicObject override. Not meant for external use. More...
 
override bool TryInvokeMember (InvokeMemberBinder binder, object[] args, out object result)
 This is a DynamicObject override. Not meant for external use. More...
 
void Add (string key, object value)
 Adds the specified custom property. This allows us to use the security object as a dynamic object for quick storage. More...
 
bool TryGet< T > (string key, out T value)
 Gets the specified custom property More...
 
Get< T > (string key)
 Gets the specified custom property More...
 
bool Remove (string key)
 Removes a custom property. More...
 
bool Remove< T > (string key, out T value)
 Removes a custom property. More...
 
void Clear ()
 Removes every custom property that had been set. More...
 
override string ToString ()
 Returns a string that represents the current object. More...
 

Public Attributes

bool IsFutureChain => Symbol.IsCanonical()
 Returns true if this is the future chain security, false if it is a specific future contract More...
 
bool IsFutureContract => !Symbol.IsCanonical()
 Returns true if this is a specific future contract security, false if it is the future chain security More...
 
- Public Attributes inherited from QuantConnect.Securities.Security
SecurityType Type => Symbol.ID.SecurityType
 Type of the security. More...
 
bool HasData => GetLastData() != null
 There has been at least one datapoint since our algorithm started running for us to determine price. More...
 
virtual bool HoldStock => Holdings.HoldStock
 Read only property that checks if we currently own stock in the company. More...
 
virtual bool Invested => HoldStock
 Alias for HoldStock - Do we have any of this security More...
 
virtual decimal Price => Cache.Price
 Get the current value of the security. More...
 
virtual decimal Leverage => Holdings.Leverage
 Leverage for this Security. More...
 
virtual decimal High => Cache.High == 0 ? Price : Cache.High
 If this uses tradebar data, return the most recent high. More...
 
virtual decimal Low => Cache.Low == 0 ? Price : Cache.Low
 If this uses tradebar data, return the most recent low. More...
 
virtual decimal Close => Cache.Close == 0 ? Price : Cache.Close
 If this uses tradebar data, return the most recent close. More...
 
virtual decimal Open => Cache.Open == 0 ? Price : Cache.Open
 If this uses tradebar data, return the most recent open. More...
 
virtual decimal Volume => Cache.Volume
 Access to the volume of the equity today More...
 
virtual decimal BidPrice => Cache.BidPrice == 0 ? Price : Cache.BidPrice
 Gets the most recent bid price if available More...
 
virtual decimal BidSize => Cache.BidSize
 Gets the most recent bid size if available More...
 
virtual decimal AskPrice => Cache.AskPrice == 0 ? Price : Cache.AskPrice
 Gets the most recent ask price if available More...
 
virtual decimal AskSize => Cache.AskSize
 Gets the most recent ask size if available More...
 
virtual long OpenInterest => Cache.OpenInterest
 Access to the open interest of the security today More...
 

Static Public Attributes

const int DefaultSettlementDays = 1
 The default number of days required to settle a futures sale More...
 
static readonly TimeSpan DefaultSettlementTime = new TimeSpan(8, 0, 0)
 The default time of day for settlement More...
 
- Static Public Attributes inherited from QuantConnect.Securities.Security
const decimal NullLeverage = 0
 A null security leverage value More...
 

Properties

override bool IsTradable [get, set]
 Gets or sets whether or not this security should be considered tradable More...
 
DateTime Expiry [get]
 Gets the expiration date More...
 
SettlementType SettlementType [get, set]
 Specifies if futures contract has physical or cash settlement on settlement More...
 
Security Underlying [get, set]
 Gets or sets the underlying security object. More...
 
Symbol Mapped [get, set]
 Gets or sets the currently mapped symbol for the security More...
 
IDerivativeSecurityFilter ContractFilter [get, set]
 Gets or sets the contract filter More...
 
- Properties inherited from QuantConnect.Securities.Security
IShortableProvider ShortableProvider [get]
 This securities IShortableProvider More...
 
IEnumerable< SubscriptionDataConfigSubscriptions [get]
 Gets all the subscriptions for this security More...
 
Symbol Symbol [get]
 Symbol for the asset. More...
 
Cash QuoteCurrency [get]
 Gets the Cash object used for converting the quote currency to the account currency More...
 
SymbolProperties SymbolProperties [get]
 Gets the symbol properties for this security More...
 
Resolution Resolution [get]
 Resolution of data requested for this security. More...
 
bool IsFillDataForward [get]
 Indicates the data will use previous bars when there was no trading in this time period. This was a configurable datastream setting set in initialization. More...
 
bool IsExtendedMarketHours [get]
 Indicates the security will continue feeding data after the primary market hours have closed. This was a configurable setting set in initialization. More...
 
DataNormalizationMode DataNormalizationMode [get]
 Gets the data normalization mode used for this security More...
 
SubscriptionDataConfig SubscriptionDataConfig [get]
 Gets the subscription configuration for this security More...
 
virtual bool IsTradable [get, set]
 Gets or sets whether or not this security should be considered tradable More...
 
bool IsDelisted [get, set]
 True if the security has been delisted from exchanges and is no longer tradable More...
 
SecurityCache Cache [get, set]
 Data cache for the security to store previous price information. More...
 
SecurityHolding Holdings [get, set]
 Holdings class contains the portfolio, cash and processes order fills. More...
 
SecurityExchange Exchange [get, set]
 Exchange class contains the market opening hours, along with pre-post market hours. More...
 
IFeeModel FeeModel [get, set]
 Fee model used to compute order fees for this security More...
 
IFillModel FillModel [get, set]
 Fill model used to produce fill events for this security More...
 
ISlippageModel SlippageModel [get, set]
 Slippage model use to compute slippage of market orders More...
 
ISecurityPortfolioModel PortfolioModel [get, set]
 Gets the portfolio model used by this security More...
 
IBuyingPowerModel BuyingPowerModel [get, set]
 Gets the buying power model used for this security More...
 
IBuyingPowerModel MarginModel [get, set]
 Gets the buying power model used for this security, an alias for BuyingPowerModel More...
 
IMarginInterestRateModel MarginInterestRateModel [get, set]
 Gets or sets the margin interest rate model More...
 
ISettlementModel SettlementModel [get, set]
 Gets the settlement model used for this security More...
 
IVolatilityModel VolatilityModel [get, set]
 Gets the volatility model used for this security More...
 
ISecurityDataFilter DataFilter [get, set]
 Customizable data filter to filter outlier ticks before they are passed into user event handlers. By default all ticks are passed into the user algorithms. More...
 
IPriceVariationModel PriceVariationModel [get, set]
 Customizable price variation model used to define the minimum price variation of this security. By default minimum price variation is a constant find in the symbol-properties-database. More...
 
dynamic Data [get]
 Provides dynamic access to data in the cache More...
 
virtual DateTime LocalTime [get]
 Local time for this market More...
 
Fundamental Fundamentals [get]
 Gets the fundamental data associated with the security if there is any, otherwise null. More...
 
object this[string key] [get, set]
 Gets or sets the specified custom property through the indexer. This is a wrapper around the Get<T>(string) and Add(string,object) methods. More...
 
- Properties inherited from QuantConnect.Interfaces.ISecurityPrice
decimal Price [get]
 Get the current value of the security. More...
 
decimal Close [get]
 If this uses trade bar data, return the most recent close. More...
 
decimal Volume [get]
 Access to the volume of the equity today More...
 
decimal BidPrice [get]
 Gets the most recent bid price if available More...
 
decimal BidSize [get]
 Gets the most recent bid size if available More...
 
decimal AskPrice [get]
 Gets the most recent ask price if available More...
 
decimal AskSize [get]
 Gets the most recent ask size if available More...
 
long OpenInterest [get]
 Access to the open interest of the security today More...
 
Symbol Symbol [get]
 Symbol for the asset. More...
 
SymbolProperties SymbolProperties [get]
 SymbolProperties of the symbol More...
 
- Properties inherited from QuantConnect.Securities.IDerivativeSecurity
Security Underlying [get, set]
 Gets or sets the underlying security for the derivative More...
 
- Properties inherited from QuantConnect.Securities.IContinuousSecurity
Symbol Mapped [get, set]
 Gets or sets the currently mapped symbol for the security More...
 

Additional Inherited Members

- Protected Member Functions inherited from QuantConnect.Securities.Security
 Security (Symbol symbol, Cash quoteCurrency, SymbolProperties symbolProperties, SecurityExchange exchange, SecurityCache cache, ISecurityPortfolioModel portfolioModel, IFillModel fillModel, IFeeModel feeModel, ISlippageModel slippageModel, ISettlementModel settlementModel, IVolatilityModel volatilityModel, IBuyingPowerModel buyingPowerModel, ISecurityDataFilter dataFilter, IPriceVariationModel priceVariationModel, ICurrencyConverter currencyConverter, IRegisteredSecurityDataTypesProvider registeredTypesProvider, IMarginInterestRateModel marginInterestRateModel)
 Construct a new security vehicle based on the user options. More...
 
 Security (SubscriptionDataConfig config, Cash quoteCurrency, SymbolProperties symbolProperties, SecurityExchange exchange, SecurityCache cache, ISecurityPortfolioModel portfolioModel, IFillModel fillModel, IFeeModel feeModel, ISlippageModel slippageModel, ISettlementModel settlementModel, IVolatilityModel volatilityModel, IBuyingPowerModel buyingPowerModel, ISecurityDataFilter dataFilter, IPriceVariationModel priceVariationModel, ICurrencyConverter currencyConverter, IRegisteredSecurityDataTypesProvider registeredTypesProvider, IMarginInterestRateModel marginInterestRateModel)
 Temporary convenience constructor More...
 
virtual void UpdateConsumersMarketPrice (BaseData data)
 Update market price of this Security More...
 

Detailed Description

Futures Security Object Implementation for Futures Assets

See also
Security

Definition at line 30 of file Future.cs.

Constructor & Destructor Documentation

◆ Future() [1/2]

QuantConnect.Securities.Future.Future.Future ( SecurityExchangeHours  exchangeHours,
SubscriptionDataConfig  config,
Cash  quoteCurrency,
SymbolProperties  symbolProperties,
ICurrencyConverter  currencyConverter,
IRegisteredSecurityDataTypesProvider  registeredTypes 
)

Constructor for the Future security

Parameters
exchangeHoursDefines the hours this exchange is open
quoteCurrencyThe cash object that represent the quote currency
configThe subscription configuration for this security
symbolPropertiesThe symbol properties for this security
currencyConverterCurrency converter used to convert CashAmount instances into units of the account currency
registeredTypesProvides all data types registered in the algorithm

Definition at line 71 of file Future.cs.

◆ Future() [2/2]

QuantConnect.Securities.Future.Future.Future ( Symbol  symbol,
SecurityExchangeHours  exchangeHours,
Cash  quoteCurrency,
SymbolProperties  symbolProperties,
ICurrencyConverter  currencyConverter,
IRegisteredSecurityDataTypesProvider  registeredTypes,
SecurityCache  securityCache,
Security  underlying = null 
)

Constructor for the Future security

Parameters
symbolThe subscription security symbol
exchangeHoursDefines the hours this exchange is open
quoteCurrencyThe cash object that represent the quote currency
symbolPropertiesThe symbol properties for this security
currencyConverterCurrency converter used to convert CashAmount instances into units of the account currency
registeredTypesProvides all data types registered in the algorithm
securityCacheCache to store security information
underlyingFuture underlying security

Definition at line 116 of file Future.cs.

Member Function Documentation

◆ SetLocalTimeKeeper()

override void QuantConnect.Securities.Future.Future.SetLocalTimeKeeper ( LocalTimeKeeper  localTimeKeeper)
virtual

Sets the LocalTimeKeeper to be used for this Security. This is the source of this instance's time.

Parameters
localTimeKeeperThe source of this Security's time.

Reimplemented from QuantConnect.Securities.Security.

Definition at line 207 of file Future.cs.

Here is the call graph for this function:

◆ SetFilter() [1/4]

void QuantConnect.Securities.Future.Future.SetFilter ( TimeSpan  minExpiry,
TimeSpan  maxExpiry 
)

Sets the ContractFilter to a new instance of the filter using the specified expiration range values

Parameters
minExpiryThe minimum time until expiry to include, for example, TimeSpan.FromDays(10) would exclude contracts expiring in less than 10 days
maxExpiryThe maximum time until expiry to include, for example, TimeSpan.FromDays(10) would exclude contracts expiring in more than 10 days

Definition at line 226 of file Future.cs.

Here is the caller graph for this function:

◆ SetFilter() [2/4]

void QuantConnect.Securities.Future.Future.SetFilter ( int  minExpiryDays,
int  maxExpiryDays 
)

Sets the ContractFilter to a new instance of the filter using the specified expiration range values

Parameters
minExpiryDaysThe minimum time, expressed in days, until expiry to include, for example, 10 would exclude contracts expiring in less than 10 days
maxExpiryDaysThe maximum time, expressed in days, until expiry to include, for example, 10 would exclude contracts expiring in more than 10 days

Definition at line 239 of file Future.cs.

◆ SetFilter() [3/4]

void QuantConnect.Securities.Future.Future.SetFilter ( Func< FutureFilterUniverse, FutureFilterUniverse universeFunc)

Sets the ContractFilter to a new universe selection function

Parameters
universeFuncnew universe selection function

Definition at line 248 of file Future.cs.

◆ SetFilter() [4/4]

void QuantConnect.Securities.Future.Future.SetFilter ( PyObject  universeFunc)

Sets the ContractFilter to a new universe selection function

Parameters
universeFuncnew universe selection function

Definition at line 258 of file Future.cs.

Here is the call graph for this function:

Member Data Documentation

◆ DefaultSettlementDays

const int QuantConnect.Securities.Future.Future.DefaultSettlementDays = 1
static

The default number of days required to settle a futures sale

Definition at line 54 of file Future.cs.

◆ DefaultSettlementTime

readonly TimeSpan QuantConnect.Securities.Future.Future.DefaultSettlementTime = new TimeSpan(8, 0, 0)
static

The default time of day for settlement

Definition at line 59 of file Future.cs.

◆ IsFutureChain

bool QuantConnect.Securities.Future.Future.IsFutureChain => Symbol.IsCanonical()

Returns true if this is the future chain security, false if it is a specific future contract

Definition at line 155 of file Future.cs.

◆ IsFutureContract

bool QuantConnect.Securities.Future.Future.IsFutureContract => !Symbol.IsCanonical()

Returns true if this is a specific future contract security, false if it is the future chain security

Definition at line 160 of file Future.cs.

Property Documentation

◆ IsTradable

override bool QuantConnect.Securities.Future.Future.IsTradable
getset

Gets or sets whether or not this security should be considered tradable

Canonical futures are not tradable

Definition at line 39 of file Future.cs.

◆ Expiry

DateTime QuantConnect.Securities.Future.Future.Expiry
get

Gets the expiration date

Definition at line 166 of file Future.cs.

◆ SettlementType

SettlementType QuantConnect.Securities.Future.Future.SettlementType
getset

Specifies if futures contract has physical or cash settlement on settlement

Definition at line 174 of file Future.cs.

◆ Underlying

Security QuantConnect.Securities.Future.Future.Underlying
getset

Gets or sets the underlying security object.

Definition at line 182 of file Future.cs.

◆ Mapped

Symbol QuantConnect.Securities.Future.Future.Mapped
getset

Gets or sets the currently mapped symbol for the security

Definition at line 190 of file Future.cs.

◆ ContractFilter

IDerivativeSecurityFilter QuantConnect.Securities.Future.Future.ContractFilter
getset

Gets or sets the contract filter

Definition at line 198 of file Future.cs.


The documentation for this class was generated from the following file: