Supported Models
Wolverine
Introduction
This page explains the WolverineBrokerageModel, including the asset classes it supports, its default security-level models, and its default markets.
SetBrokerageModel(BrokerageName.Wolverine, AccountType.Cash); SetBrokerageModel(BrokerageName.Wolverine, AccountType.Margin);
self.set_brokerage_model(BrokerageName.WOLVERINE, AccountType.CASH) self.set_brokerage_model(BrokerageName.WOLVERINE, AccountType.MARGIN)
For more information about this model, see the class reference and implementation.
For more information about this model, see the class reference and implementation.
Asset Classes
The WolverineBrokerageModel supports trading US Equities.
Orders
The WolverineBrokerageModel supports one order type, but doesn't support order updates or extended market hours trading.
Order Types
The following table describes the available order types for each asset class that the WolverineBrokerageModel supports:
| Order Type | Equity |
|---|---|
| Market | ![]() |
| Market on Close | ![]() |
| Limit | ![]() |
| Stop market | ![]() |
| Stop limit | ![]() |
Updates
The WolverineBrokerageModel doesn't support order updates.
Extended Market Hours
The WolverineBrokerageModel doesn't support extended market hours trading. If you place an order outside of regular trading hours, the order is invalid.
Order Properties
The WolverineBrokerageModel supports custom order properties. The following table describes the members of the WolverineOrderProperties object that you can set to customize order execution:
| Property | Description | ||
|---|---|---|---|
TimeInForcetime_in_force | TimeInForce | A TimeInForce instruction to apply to the order. The following instructions are supported:
| TimeInForce.GoodTilCanceledTimeInForce.GOOD_TIL_CANCELED |
Exchangeexchange | Exchange | Defines the exchange name for a particular market. For example, Exchange.SMART. | |
ExchangePostFixexchange_post_fix | stringstr | The exchange post fix to apply if any. For example, if you set Exchangeexchange to Exchange.SMART, then "-INCA-TX" yields "SMART-INCA-TX". | |
LocateBrokerlocate_broker | stringstr | Identifies the broker source for borrowed stock. | |
PositionSideposition_side | OrderPosition?OrderPosition | NoneType | Specify the position side in the order direction (buy-to-open, sell-to-close, etc.) instead of the default handling | nullNone |
public override void Initialize()
{
// Set the default order properties
DefaultOrderProperties = new WolverineOrderProperties
{
TimeInForce = TimeInForce.GoodTilCanceled,
Exchange = Exchange.SMART,
ExchangePostFix = "-INCA-TX",
OrderPosition = OrderPosition.BuyToOpen,
// Optionally, you can specify for equity shorts which broker will provide the stock to short
// if not specified defaults to broker will provide
LocateBroker = "abn"
};
} def initialize(self) -> None:
# Set the default order properties
self.default_order_properties = WolverineOrderProperties()
self.default_order_properties.time_in_force = TimeInForce.GOOD_TIL_CANCELED
self.default_order_properties.exchange = Exchange.SMART
self.default_order_properties.exchange_post_fix = "-INCA-TX"
self.default_order_properties.order_position = OrderPosition.BUY_TO_OPEN
# Optionally, you can specify for equity shorts which broker will provide the stock to short
# if not specified defaults to broker will provide
self.default_order_properties.locate_broker = "abn"
If the PositionSideposition_side is not specified, the engine will determine it from the holdings and the order quantity. For example, if it's a sell short and will send PositionSideSellShortSELL_SHORT.
Fills
The WolverineBrokerageModel uses the EquityFillModel for Equity trades.
Slippage
The WolverineBrokerageModel uses the NullSlippageModel.
Fees
The WolverineBrokerageModel uses the WolverineFeeModel.
Settlement
The WolverineBrokerageModel uses the ImmediateSettlementModel for margin accounts and the DelayedSettlementModel with the default settlement rules for cash accounts.
// For cash accounts: security.SetSettlementModel(new DelayedSettlementModel(Equity.DefaultSettlementDays, Equity.DefaultSettlementTime)); // For margin accounts: security.SetSettlementModel(new ImmediateSettlementModel());
# For cash accounts: security.set_settlement_model(DelayedSettlementModel(Equity.DEFAULT_SETTLEMENT_DAYS, Equity.DEFAULT_SETTLEMENT_TIME)) # For margin accounts: security.set_settlement_model(ImmediateSettlementModel())
Margin Interest Rate
The WolverineBrokerageModel uses the NullMarginInterestRateModel.
Account Currency
The WolverineBrokerageModel doesn't set a default currency.
To change the algorithm's currency from USD to a different currency, see Set Account Currency.
