Lean  $LEAN_TAG$
QuantConnect.Securities.SecurityMarginModel Class Reference

Represents a simple, constant margin model by specifying the percentages of required margin. More...

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

Public Member Functions

 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 decimal GetLeverage (Security security)
 Gets the current leverage of the security More...
 
virtual void SetLeverage (Security security, decimal leverage)
 Sets the leverage for the applicable securities, i.e, equities More...
 
virtual InitialMargin GetInitialMarginRequiredForOrder (InitialMarginRequiredForOrderParameters parameters)
 Gets the total margin required to execute the specified order in units of the account currency including fees More...
 
virtual MaintenanceMargin GetMaintenanceMargin (MaintenanceMarginParameters parameters)
 Gets the margin currently allocated to the specified holding More...
 
virtual InitialMargin GetInitialMarginRequirement (InitialMarginParameters parameters)
 The margin that must be held in order to increase the position by the provided quantity 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...
 
virtual 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...
 
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...
 

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...
 
- Protected Attributes inherited from QuantConnect.Securities.BuyingPowerModel
decimal RequiredFreeBuyingPowerPercent
 The percentage used to determine the required unused buying power for the account. More...
 

Detailed Description

Represents a simple, constant margin model by specifying the percentages of required margin.

Definition at line 21 of file SecurityMarginModel.cs.

Constructor & Destructor Documentation

◆ SecurityMarginModel() [1/3]

QuantConnect.Securities.SecurityMarginModel.SecurityMarginModel ( )

Initializes a new instance of the SecurityMarginModel with no leverage (1x)

Definition at line 26 of file SecurityMarginModel.cs.

◆ SecurityMarginModel() [2/3]

QuantConnect.Securities.SecurityMarginModel.SecurityMarginModel ( decimal  initialMarginRequirement,
decimal  maintenanceMarginRequirement,
decimal  requiredFreeBuyingPowerPercent 
)

Initializes a new instance of the SecurityMarginModel

Parameters
initialMarginRequirementThe percentage of an order's absolute cost that must be held in free cash in order to place the order
maintenanceMarginRequirementThe percentage of the holding's absolute cost that must be held in free cash in order to avoid a margin call
requiredFreeBuyingPowerPercentThe percentage used to determine the required unused buying power for the account.

Definition at line 39 of file SecurityMarginModel.cs.

◆ SecurityMarginModel() [3/3]

QuantConnect.Securities.SecurityMarginModel.SecurityMarginModel ( decimal  leverage,
decimal  requiredFreeBuyingPowerPercent = 0 
)

Initializes a new instance of the SecurityMarginModel

Parameters
leverageThe leverage
requiredFreeBuyingPowerPercentThe percentage used to determine the required unused buying power for the account.

Definition at line 54 of file SecurityMarginModel.cs.


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