FTXUSBrokerageModel
QuantConnect.Brokerages.FTXUSBrokerageModel
FTXUSBrokerageModel(account_type: AccountType = ...)
Bases: FTXBrokerageModel
FTX.US Brokerage model
Creates an instance of FTXUSBrokerageModel class
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
account_type
|
AccountType
|
Cash or Margin |
...
|
market_name
market_name: str
Market name
This codeEntityType is protected.
default_markets
default_markets: IReadOnlyDictionary[SecurityType, str]
Gets a map of the default markets to be used for each security type
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_MARKET_MAP
DEFAULT_MARKET_MAP: IReadOnlyDictionary[
SecurityType, str
] = ...
The default markets for the backtesting brokerage
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. |
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]
|
If this function returns false, a brokerage message detailing why the order may not be submitted |
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]
Please note that the order's queue priority will be reset, and the order ID of the modified order will be different from that of the original order. Also note: this is implemented as cancelling and replacing your order. There's a chance that the order meant to be cancelled gets filled and its replacement still gets placed.
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 would allow updating the order, 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. |
get_default_markets
get_default_markets(
market: str,
) -> IReadOnlyDictionary[SecurityType, str]
Returns a readonly dictionary of FTX default markets
This codeEntityType is protected.