EzeBrokerageModel
QuantConnect.Brokerages.EzeBrokerageModel
EzeBrokerageModel(account_type: AccountType = ...)
Bases: DefaultBrokerageModel
Provides Eze specific properties
Constructor for Eze brokerage model
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
account_type
|
AccountType
|
Cash or Margin |
...
|
required_free_buying_power_percent
required_free_buying_power_percent: float
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.
default_markets
default_markets: IReadOnlyDictionary[SecurityType, str]
Gets a map of the default markets to be used for each security type
DEFAULT_MARKET_MAP
DEFAULT_MARKET_MAP: IReadOnlyDictionary[
SecurityType, str
] = ...
The default markets for the backtesting brokerage
can_submit_order
can_submit_order(
security: Security,
order: Order,
message: Optional[BrokerageMessageEvent],
) -> Tuple[bool, BrokerageMessageEvent]
Returns true if the brokerage could accept this order. This takes into account order type, security type, and order size limits.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
security
|
Security
|
The security of the order |
required |
order
|
Order
|
The order to be processed |
required |
message
|
Optional[BrokerageMessageEvent]
|
|
required |
Returns:
| Type | Description |
|---|---|
Tuple[bool, BrokerageMessageEvent]
|
True if the brokerage could process the order, false otherwise. |
can_update_order
can_update_order(
security: Security,
order: Order,
request: UpdateOrderRequest,
message: Optional[BrokerageMessageEvent],
) -> Tuple[bool, BrokerageMessageEvent]
Returns true if the brokerage could accept this order update. This takes into account order type, security type, and order size limits.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
security
|
Security
|
The security of the order |
required |
order
|
Order
|
The order to be updated |
required |
request
|
UpdateOrderRequest
|
The requested update to be made to the order |
required |
message
|
Optional[BrokerageMessageEvent]
|
If this function returns false, a brokerage message detailing why the order may not be updated |
required |
Returns:
| Type | Description |
|---|---|
Tuple[bool, BrokerageMessageEvent]
|
True if the brokerage could update the order, false otherwise. |
get_fee_model
get_buying_power_model
get_buying_power_model(
security: Security,
) -> IBuyingPowerModel
get_buying_power_model(
security: Security, account_type: AccountType
) -> IBuyingPowerModel
Signature descriptions:
-
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.
-
Gets a new buying power model for the security
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
security
|
Security
|
The security to get a buying power model for |
required |
account_type
|
Optional[AccountType]
|
The account type |
None
|
Returns:
| Type | Description |
|---|---|
IBuyingPowerModel
|
The buying power model for this brokerage/security. |
get_settlement_model
get_settlement_model(
security: Security,
) -> ISettlementModel
get_settlement_model(
security: Security, account_type: AccountType
) -> ISettlementModel
Gets a new settlement model for the security
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
security
|
Security
|
The security to get a settlement model for |
required |
account_type
|
Optional[AccountType]
|
The account type |
None
|
Returns:
| Type | Description |
|---|---|
ISettlementModel
|
The settlement model for this brokerage. |
apply_split
apply_split(
tickets: List[OrderTicket], split: Split
) -> None
Applies the split to the specified order ticket
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
tickets
|
List[OrderTicket]
|
The open tickets matching the split event |
required |
split
|
Split
|
The split event data |
required |
can_execute_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.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
security
|
Security
|
The security being traded |
required |
order
|
Order
|
The order to test for execution |
required |
Returns:
| Type | Description |
|---|---|
bool
|
True if the brokerage would be able to perform the execution, false otherwise. |
get_benchmark
get_benchmark(securities: SecurityManager) -> IBenchmark
Get the benchmark for this model
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
securities
|
SecurityManager
|
SecurityService to create the security with if needed |
required |
Returns:
| Type | Description |
|---|---|
IBenchmark
|
The benchmark for this brokerage. |
get_fill_model
get_fill_model(security: Security) -> IFillModel
Gets a new fill model that represents this brokerage's fill behavior
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
security
|
Security
|
The security to get fill model for |
required |
Returns:
| Type | Description |
|---|---|
IFillModel
|
The new fill model for this brokerage. |
get_leverage
get_leverage(security: Security) -> float
Gets the brokerage's leverage for the specified security
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
security
|
Security
|
The security's whose leverage we seek |
required |
Returns:
| Type | Description |
|---|---|
float
|
The leverage for the specified security. |
get_margin_interest_rate_model
get_margin_interest_rate_model(
security: Security,
) -> IMarginInterestRateModel
Gets a new margin interest rate model for the security
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
security
|
Security
|
The security to get a margin interest rate model for |
required |
Returns:
| Type | Description |
|---|---|
IMarginInterestRateModel
|
The margin interest rate model for this brokerage. |
get_shortable_provider
get_shortable_provider(
security: Security,
) -> IShortableProvider
get_slippage_model
get_slippage_model(security: Security) -> ISlippageModel
Gets a new slippage model that represents this brokerage's fill slippage behavior
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
security
|
Security
|
The security to get a slippage model for |
required |
Returns:
| Type | Description |
|---|---|
ISlippageModel
|
The new slippage model for this brokerage. |
is_valid_order_size
is_valid_order_size(
security: Security,
order_quantity: float,
message: Optional[BrokerageMessageEvent],
) -> Tuple[bool, BrokerageMessageEvent]
Checks if the order quantity is valid, it means, the order size is bigger than the minimum size allowed
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
security
|
Security
|
The security of the order |
required |
order_quantity
|
float
|
The quantity of the order to be processed |
required |
message
|
Optional[BrokerageMessageEvent]
|
If this function returns false, a brokerage message detailing why the order may be invalid |
required |
Returns:
| Type | Description |
|---|---|
Tuple[bool, BrokerageMessageEvent]
|
True if the order quantity is bigger than the minimum allowed, false otherwise. |