Lean
$LEAN_TAG$
|
Represents a simple margin model for margin futures. Margin file contains Initial and Maintenance margins More...
Public Member Functions | |
FutureMarginModel (decimal requiredFreeBuyingPowerPercent=0, Security security=null) | |
Initializes a new instance of the FutureMarginModel More... | |
override decimal | GetLeverage (Security security) |
Gets the current leverage of the security More... | |
override void | SetLeverage (Security security, decimal leverage) |
Sets the leverage for the applicable securities, i.e, futures More... | |
override GetMaximumOrderQuantityResult | GetMaximumOrderQuantityForTargetBuyingPower (GetMaximumOrderQuantityForTargetBuyingPowerParameters parameters) |
Get the maximum market order quantity to obtain a position with a given buying power percentage. Will not take into account free buying power. More... | |
override InitialMargin | GetInitialMarginRequiredForOrder (InitialMarginRequiredForOrderParameters parameters) |
Gets the total margin required to execute the specified order in units of the account currency including fees More... | |
override MaintenanceMargin | GetMaintenanceMargin (MaintenanceMarginParameters parameters) |
Gets the margin currently allotted to the specified holding More... | |
override InitialMargin | GetInitialMarginRequirement (InitialMarginParameters parameters) |
The margin that must be held in order to increase the position by the provided quantity More... | |
Public Member Functions inherited from QuantConnect.Securities.SecurityMarginModel | |
SecurityMarginModel () | |
Initializes a new instance of the SecurityMarginModel with no leverage (1x) More... | |
SecurityMarginModel (decimal initialMarginRequirement, decimal maintenanceMarginRequirement, decimal requiredFreeBuyingPowerPercent) | |
Initializes a new instance of the SecurityMarginModel More... | |
SecurityMarginModel (decimal leverage, decimal requiredFreeBuyingPowerPercent=0) | |
Initializes a new instance of the SecurityMarginModel More... | |
Public Member Functions inherited from QuantConnect.Securities.BuyingPowerModel | |
BuyingPowerModel () | |
Initializes a new instance of the BuyingPowerModel with no leverage (1x) More... | |
BuyingPowerModel (decimal initialMarginRequirement, decimal maintenanceMarginRequirement, decimal requiredFreeBuyingPowerPercent) | |
Initializes a new instance of the BuyingPowerModel More... | |
BuyingPowerModel (decimal leverage, decimal requiredFreeBuyingPowerPercent=0) | |
Initializes a new instance of the BuyingPowerModel More... | |
virtual HasSufficientBuyingPowerForOrderResult | HasSufficientBuyingPowerForOrder (HasSufficientBuyingPowerForOrderParameters parameters) |
Check if there is sufficient buying power to execute this order. More... | |
virtual GetMaximumOrderQuantityResult | GetMaximumOrderQuantityForDeltaBuyingPower (GetMaximumOrderQuantityForDeltaBuyingPowerParameters parameters) |
Get the maximum market order quantity to obtain a delta in the buying power used by a security. The deltas sign defines the position side to apply it to, positive long, negative short. More... | |
decimal | GetAmountToOrder ([NotNull]Security security, decimal targetMargin, decimal marginForOneUnit, out decimal finalMargin) |
Helper function that determines the amount to order to get to a given target safely. Meaning it will either be at or just below target always. More... | |
virtual ReservedBuyingPowerForPosition | GetReservedBuyingPowerForPosition (ReservedBuyingPowerForPositionParameters parameters) |
Gets the amount of buying power reserved to maintain the specified position More... | |
virtual BuyingPower | GetBuyingPower (BuyingPowerParameters parameters) |
Gets the buying power available for a trade More... | |
Public Attributes | |
virtual decimal | InitialOvernightMarginRequirement => GetCurrentMarginRequirements(_security)?.InitialOvernight ?? 0m |
Initial Overnight margin requirement for the contract effective from the date of change More... | |
virtual decimal | MaintenanceOvernightMarginRequirement => GetCurrentMarginRequirements(_security)?.MaintenanceOvernight ?? 0m |
Maintenance Overnight margin requirement for the contract effective from the date of change More... | |
virtual decimal | InitialIntradayMarginRequirement => GetCurrentMarginRequirements(_security)?.InitialIntraday ?? 0m |
Initial Intraday margin for the contract effective from the date of change More... | |
virtual decimal | MaintenanceIntradayMarginRequirement => GetCurrentMarginRequirements(_security)?.MaintenanceIntraday ?? 0m |
Maintenance Intraday margin requirement for the contract effective from the date of change More... | |
Properties | |
bool | EnableIntradayMargins [get, set] |
True will enable usage of intraday margins. More... | |
Properties inherited from QuantConnect.Securities.BuyingPowerModel | |
decimal | RequiredFreeBuyingPowerPercent [get, set] |
The percentage used to determine the required unused buying power for the account. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from QuantConnect.Securities.BuyingPowerModel | |
static readonly IBuyingPowerModel | Null = new NullBuyingPowerModel() |
Gets an implementation of IBuyingPowerModel that does not check for sufficient buying power More... | |
Protected Member Functions inherited from QuantConnect.Securities.BuyingPowerModel | |
virtual decimal | GetMarginRemaining (SecurityPortfolioManager portfolio, Security security, OrderDirection direction) |
Gets the margin cash available for a trade More... | |
Represents a simple margin model for margin futures. Margin file contains Initial and Maintenance margins
Definition at line 32 of file FutureMarginModel.cs.
QuantConnect.Securities.Future.FutureMarginModel.FutureMarginModel | ( | decimal | requiredFreeBuyingPowerPercent = 0 , |
Security | security = null |
||
) |
Initializes a new instance of the FutureMarginModel
requiredFreeBuyingPowerPercent | The percentage used to determine the required unused buying power for the account. |
security | The security that this model belongs to |
Definition at line 75 of file FutureMarginModel.cs.
|
virtual |
Gets the current leverage of the security
security | The security to get leverage for |
Reimplemented from QuantConnect.Securities.BuyingPowerModel.
Definition at line 86 of file FutureMarginModel.cs.
|
virtual |
Sets the leverage for the applicable securities, i.e, futures
This is added to maintain backwards compatibility with the old margin/leverage system
security | |
leverage | The new leverage |
Reimplemented from QuantConnect.Securities.BuyingPowerModel.
Definition at line 99 of file FutureMarginModel.cs.
|
virtual |
Get the maximum market order quantity to obtain a position with a given buying power percentage. Will not take into account free buying power.
parameters | An object containing the portfolio, the security and the target signed buying power percentage |
Reimplemented from QuantConnect.Securities.BuyingPowerModel.
Definition at line 111 of file FutureMarginModel.cs.
|
virtual |
Gets the total margin required to execute the specified order in units of the account currency including fees
parameters | An object containing the portfolio, the security and the order |
Reimplemented from QuantConnect.Securities.BuyingPowerModel.
Definition at line 128 of file FutureMarginModel.cs.
|
virtual |
Gets the margin currently allotted to the specified holding
parameters | An object containing the security |
Reimplemented from QuantConnect.Securities.BuyingPowerModel.
Reimplemented in QuantConnect.Securities.Option.FuturesOptionsMarginModel.
Definition at line 151 of file FutureMarginModel.cs.
|
virtual |
The margin that must be held in order to increase the position by the provided quantity
Reimplemented from QuantConnect.Securities.BuyingPowerModel.
Reimplemented in QuantConnect.Securities.Option.FuturesOptionsMarginModel.
Definition at line 179 of file FutureMarginModel.cs.
virtual decimal QuantConnect.Securities.Future.FutureMarginModel.InitialOvernightMarginRequirement => GetCurrentMarginRequirements(_security)?.InitialOvernight ?? 0m |
Initial Overnight margin requirement for the contract effective from the date of change
Definition at line 53 of file FutureMarginModel.cs.
virtual decimal QuantConnect.Securities.Future.FutureMarginModel.MaintenanceOvernightMarginRequirement => GetCurrentMarginRequirements(_security)?.MaintenanceOvernight ?? 0m |
Maintenance Overnight margin requirement for the contract effective from the date of change
Definition at line 58 of file FutureMarginModel.cs.
virtual decimal QuantConnect.Securities.Future.FutureMarginModel.InitialIntradayMarginRequirement => GetCurrentMarginRequirements(_security)?.InitialIntraday ?? 0m |
Initial Intraday margin for the contract effective from the date of change
Definition at line 63 of file FutureMarginModel.cs.
virtual decimal QuantConnect.Securities.Future.FutureMarginModel.MaintenanceIntradayMarginRequirement => GetCurrentMarginRequirements(_security)?.MaintenanceIntraday ?? 0m |
Maintenance Intraday margin requirement for the contract effective from the date of change
Definition at line 68 of file FutureMarginModel.cs.
|
getset |
True will enable usage of intraday margins.
Disabled by default. Note that intraday margins are less than overnight margins and could lead to margin calls
Definition at line 48 of file FutureMarginModel.cs.