Supported Models

Wolverine

Introduction

This page explains the WolverineBrokerageModel, including the asset classes it supports, its default security-level models, and it's 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)

To view the implementation of this model, see the LEAN GitHub repository.

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 WolverineBrokerageModel supports market orders.

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:

PropertyDescription
TimeInForceA TimeInForce instruction to apply to the order. The following instructions are supported:
  • Day
  • GoodTilCanceled
ExchangeDefines the exchange name for a particular market. For example, Exchange.SMART
ExchangePostFixThe exchange post fix to apply if any. For example, if you set Exchange to Exchange.SMART, then "-INCA-TX" yields "SMART-INCA-TX"
public override void Initialize()
{
    // Set the default order properties
    DefaultOrderProperties = new WolverineOrderProperties
    {
        TimeInForce = TimeInForce.GoodTilCanceled,
        Exchange = Exchange.SMART,
        ExchangePostFix = "-INCA-TX"
    };
}
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"

Fills

The WolverineBrokerageModel uses the EquityFillModel for Equity trades.

Slippage

The WolverineBrokerageModel uses the NullSlippageModel.

security.set_slippage_model(NullSlippageModel.instance);
security.set_slippage_model(NullSlippageModel.instance)

Fees

The WolverineBrokerageModel uses the WolverineFeeModel.

Buying Power

The WolverineBrokerageModel uses the SecurityMarginModel. If you have a margin account, the WolverineBrokerageModel allows up to 2x leverage.

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.

Default Markets

The default market of the WolverineBrokerageModel is Market.USA.

You can also see our Videos. You can also get in touch with us via Discord.

Did you find this page helpful?

Contribute to the documentation: