Lean  $LEAN_TAG$
QuantConnect.Brokerages.ZerodhaBrokerageModel Class Reference

Brokerage Model implementation for Zerodha More...

Inheritance diagram for QuantConnect.Brokerages.ZerodhaBrokerageModel:
[legend]

Public Member Functions

 ZerodhaBrokerageModel (AccountType accountType=AccountType.Margin)
 Initializes a new instance of the ZerodhaBrokerageModel class More...
 
override bool CanExecuteOrder (Security security, Order order)
 Returns true if the brokerage would be able to execute this order at this time assuming market prices are sufficient for the fill to take place. This is used to emulate the brokerage fills in backtesting and paper trading. For example some brokerages may not perform executions during extended market hours. This is not intended to be checking whether or not the exchange is open, that is handled in the Security.Exchange property. More...
 
override bool CanSubmitOrder (Security security, Order order, out BrokerageMessageEvent message)
 Returns true if the brokerage could accept this order. This takes into account order type, security type, and order size limits. More...
 
override bool CanUpdateOrder (Security security, Order order, UpdateOrderRequest request, out BrokerageMessageEvent message)
 Returns true if the brokerage would allow updating the order as specified by the request More...
 
override decimal GetLeverage (Security security)
 Zerodha global leverage rule More...
 
override IFeeModel GetFeeModel (Security security)
 Provides Zerodha fee model More...
 
- Public Member Functions inherited from QuantConnect.Brokerages.DefaultBrokerageModel
 DefaultBrokerageModel (AccountType accountType=AccountType.Margin)
 Initializes a new instance of the DefaultBrokerageModel class More...
 
virtual void ApplySplit (List< OrderTicket > tickets, Split split)
 Applies the split to the specified order ticket More...
 
virtual IBenchmark GetBenchmark (SecurityManager securities)
 Get the benchmark for this model More...
 
virtual IFillModel GetFillModel (Security security)
 Gets a new fill model that represents this brokerage's fill behavior More...
 
virtual ISlippageModel GetSlippageModel (Security security)
 Gets a new slippage model that represents this brokerage's fill slippage behavior More...
 
virtual ISettlementModel GetSettlementModel (Security security)
 Gets a new settlement model for the security More...
 
ISettlementModel GetSettlementModel (Security security, AccountType accountType)
 Gets a new settlement model for the security More...
 
virtual IBuyingPowerModel GetBuyingPowerModel (Security security)
 Gets a new buying power model for the security, returning the default model with the security's configured leverage. For cash accounts, leverage = 1 is used. More...
 
virtual IShortableProvider GetShortableProvider (Security security)
 Gets the shortable provider More...
 
virtual IMarginInterestRateModel GetMarginInterestRateModel (Security security)
 Gets a new margin interest rate model for the security More...
 
IBuyingPowerModel GetBuyingPowerModel (Security security, AccountType accountType)
 Gets a new buying power model for the security More...
 

Properties

override IReadOnlyDictionary< SecurityType, string > DefaultMarkets = GetDefaultMarkets() [get]
 Gets a map of the default markets to be used for each security type More...
 
- Properties inherited from QuantConnect.Brokerages.DefaultBrokerageModel
virtual AccountType AccountType [get]
 Gets or sets the account type used by this model More...
 
virtual IReadOnlyDictionary< SecurityType, string > DefaultMarkets [get]
 Gets a map of the default markets to be used for each security type More...
 
- Properties inherited from QuantConnect.Brokerages.IBrokerageModel
AccountType AccountType [get]
 Gets the account type used by this model More...
 
decimal RequiredFreeBuyingPowerPercent [get]
 Gets the brokerages model percentage factor used to determine the required unused buying power for the account. From 1 to 0. Example: 0 means no unused buying power is required. 0.5 means 50% of the buying power should be left unused. More...
 
IReadOnlyDictionary< SecurityType, string > DefaultMarkets [get]
 Gets a map of the default markets to be used for each security type More...
 

Additional Inherited Members

- Static Public Member Functions inherited from QuantConnect.Brokerages.DefaultBrokerageModel
static bool IsValidOrderSize (Security security, decimal orderQuantity, out BrokerageMessageEvent message)
 Checks if the order quantity is valid, it means, the order size is bigger than the minimum size allowed More...
 
- Public Attributes inherited from QuantConnect.Brokerages.DefaultBrokerageModel
virtual decimal RequiredFreeBuyingPowerPercent => 0m
 Gets the brokerages model percentage factor used to determine the required unused buying power for the account. From 1 to 0. Example: 0 means no unused buying power is required. 0.5 means 50% of the buying power should be left unused. More...
 
- Static Public Attributes inherited from QuantConnect.Brokerages.DefaultBrokerageModel
static readonly IReadOnlyDictionary< SecurityType, string > DefaultMarketMap
 The default markets for the backtesting brokerage More...
 

Detailed Description

Brokerage Model implementation for Zerodha

Definition at line 31 of file ZerodhaBrokerageModel.cs.

Constructor & Destructor Documentation

◆ ZerodhaBrokerageModel()

QuantConnect.Brokerages.ZerodhaBrokerageModel.ZerodhaBrokerageModel ( AccountType  accountType = AccountType.Margin)

Initializes a new instance of the ZerodhaBrokerageModel class

Parameters
accountTypeThe type of account to be modelled, defaults to AccountType.Margin

Definition at line 55 of file ZerodhaBrokerageModel.cs.

Member Function Documentation

◆ CanExecuteOrder()

override bool QuantConnect.Brokerages.ZerodhaBrokerageModel.CanExecuteOrder ( Security  security,
Order  order 
)
virtual

Returns true if the brokerage would be able to execute this order at this time assuming market prices are sufficient for the fill to take place. This is used to emulate the brokerage fills in backtesting and paper trading. For example some brokerages may not perform executions during extended market hours. This is not intended to be checking whether or not the exchange is open, that is handled in the Security.Exchange property.

Parameters
security
orderThe order to test for execution
Returns
True if the brokerage would be able to perform the execution, false otherwise

Reimplemented from QuantConnect.Brokerages.DefaultBrokerageModel.

Definition at line 69 of file ZerodhaBrokerageModel.cs.

◆ CanSubmitOrder()

override bool QuantConnect.Brokerages.ZerodhaBrokerageModel.CanSubmitOrder ( Security  security,
Order  order,
out BrokerageMessageEvent  message 
)
virtual

Returns true if the brokerage could accept this order. This takes into account order type, security type, and order size limits.

For example, a brokerage may have no connectivity at certain times, or an order rate/size limit

Parameters
securityThe security being ordered
orderThe order to be processed
messageIf this function returns false, a brokerage message detailing why the order may not be submitted
Returns
True if the brokerage could process the order, false otherwise

Reimplemented from QuantConnect.Brokerages.DefaultBrokerageModel.

Definition at line 99 of file ZerodhaBrokerageModel.cs.

Here is the call graph for this function:

◆ CanUpdateOrder()

override bool QuantConnect.Brokerages.ZerodhaBrokerageModel.CanUpdateOrder ( Security  security,
Order  order,
UpdateOrderRequest  request,
out BrokerageMessageEvent  message 
)
virtual

Returns true if the brokerage would allow updating the order as specified by the request

Parameters
securityThe security of the order
orderThe order to be updated
requestThe requested update to be made to the order
messageIf this function returns false, a brokerage message detailing why the order may not be updated
Returns
True if the brokerage would allow updating the order, false otherwise

Reimplemented from QuantConnect.Brokerages.DefaultBrokerageModel.

Definition at line 143 of file ZerodhaBrokerageModel.cs.

◆ GetLeverage()

override decimal QuantConnect.Brokerages.ZerodhaBrokerageModel.GetLeverage ( Security  security)
virtual

Zerodha global leverage rule

Parameters
security
Returns

Reimplemented from QuantConnect.Brokerages.DefaultBrokerageModel.

Definition at line 159 of file ZerodhaBrokerageModel.cs.

Here is the call graph for this function:

◆ GetFeeModel()

override IFeeModel QuantConnect.Brokerages.ZerodhaBrokerageModel.GetFeeModel ( Security  security)
virtual

Provides Zerodha fee model

Parameters
security
Returns

Reimplemented from QuantConnect.Brokerages.DefaultBrokerageModel.

Definition at line 179 of file ZerodhaBrokerageModel.cs.

Property Documentation

◆ DefaultMarkets

override IReadOnlyDictionary<SecurityType, string> QuantConnect.Brokerages.ZerodhaBrokerageModel.DefaultMarkets = GetDefaultMarkets()
get

Gets a map of the default markets to be used for each security type

Definition at line 152 of file ZerodhaBrokerageModel.cs.


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