Brokerages

Wolverine

Introduction

QuantConnect enables you to run your algorithms in live mode with real-time market data. We have successfully hosted more than 200,000 live algorithms and have had more than $15B in volume traded on our servers since 2015. Brokerages supply a connection to the exchanges so that you can automate orders using LEAN. You can use multiple data feeds in live trading algorithms.

Wolverine Execution Services is a diversified financial institution specializing in proprietary trading, asset management, order execution services, and technology solutions. They are recognized as a market leader in derivatives valuation, trading, and value-added order execution across global Equity, Options, and Futures markets. Their focus on innovation, achievement, and integrity serves the interests of their clients and colleagues. Wolverine Execution Services is headquartered in Chicago, with branch offices in New York, San Francisco, and London. They serve funds that have at least $5M assets under management.

To view the implementation of the Wolverine Execution Services brokerage integration, see the Lean.Brokerages.Wolverine repository.

Account Types

Wolverine Execution Services supports cash and margin accounts.

SetBrokerageModel(BrokerageName.Wolverine, AccountType.Cash);
SetBrokerageModel(BrokerageName.Wolverine, AccountType.Margin);
self.SetBrokerageModel(BrokerageName.Wolverine, AccountType.Cash)
self.SetBrokerageModel(BrokerageName.Wolverine, AccountType.Margin)

Create an Account

To create a Wolverine Execution Services account, contact their staff through the TradeWex website.

Paper Trading

Wolverine Execution Services doesn't support paper trading, but you can follow these steps to simulate it:

  1. In the Initialize method of your algorithm, add one of the preceding SetBrokerageModel method calls.
  2. Deploy your algorithm with the QuantConnect Paper Trading brokerage.

Asset Classes

Wolverine Execution Services supports trading Equities.

AddEquity("SPY", Resolution.Minute, Market.USA);
self.AddEquity("SPY", Resolution.Minute, Market.USA)

If you call the SetBrokerageModel method with the correct BrokerageName, then you don't need to pass a Market argument to the method calls above because the brokerage model has default markets.

Assets Available

Refer to the US Equities dataset to see the assets available.

You may not be able to trade all assets with Wolverine Execution Services. For example, if you live in the EU, you can’t trade US ETFs. Check with your local regulators to know which assets you are allowed to trade. You may need to adjust settings in your brokerage account to live trade some assets.

Orders

Our Wolverine Execution Services integration currently only supports market orders.

MarketOrder(_symbol, quantity);
self.MarketOrder(self.symbol, quantity)

Updates

Order updates aren't supported for market orders.

Extended Market Hours

Wolverine Execution Services does not support extended market hours trading. If you place an order outside of regular trading hours, the order will be invalid.

Fees

We model the order fees of Wolverine Execution Services, which are 0.5% per share.

Margin

We model buying power and margin calls to ensure your algorithm stays within the margin requirements.

Buying Power

In the US, Wolverine Execution Services allows up to 2x leverage on Equity trades for margin accounts. In other countries, Wolverine Execution Services may offer different amounts of leverage. To figure out how much leverage you can access, check with your local legislation or contact a Wolverine Execution Services representative. We model the US version of Wolverine Execution Services leverage by default.

Margin Calls

Regulation T margin rules apply. When the amount of margin remaining in your portfolio drops below 5% of the total portfolio value, you receive a warning. When the amount of margin remaining in your portfolio drops to zero or goes negative, the portfolio sorts the generated margin call orders by their unrealized profit and executes each order synchronously until your portfolio is within the margin requirements.

Pattern Day Trading

If all of the following statements are true, you are classified as a pattern day trader:

  • You reside in the United States.
  • You trade in a margin account.
  • You execute 4+ intraday US Equity trades within 5 business days.
  • Your intraday US Equity trades represent more than 6% of your total trades.

Pattern day traders must maintain a minimum equity of $25,000 in their margin account to continue trading. For more information about pattern day trading, see Am I a Pattern Day Trader? on the FINRA website.

The PatternDayTradingMarginModel doesn't enforce minimum equity rules and doesn't limit your trades, but it adjusts your available leverage based on the market state. During regular market hours, you can use up to 4x leverage. During extended market hours, you can use up to 2x leverage.

security.MarginModel = new PatternDayTradingMarginModel();
security.MarginModel = PatternDayTradingMarginModel()

Slippage

Orders through Wolverine Execution Services do not experience slippage in backtests. In live trading, your orders may experience slippage.

Fills

We fill market orders immediately and completely in backtests. In live trading, if the quantity of your market orders exceeds the quantity available at the top of the order book, your orders are filled according to what is available in the order book.

Settlements

If you trade with a margin account, trades settle immediately. If you trade with a cash account, Equity trades settle 3 days after the transaction date (T+3) and Option trades settle on the business day following the transaction (T+1).

security.SettlementModel = new ImmediateSettlementModel();
security.SettlementModel = ImmediateSettlementModel()

Security and Stability

When you deploy live algorithms with Wolverine Execution Services, we don't save your brokerage account credentials.

Deposits and Withdraws

You can deposit and withdraw cash from your brokerage account while you run an algorithm that's connected to the account. We sync the algorithm's cash holdings with the cash holdings in your brokerage account every day at 7:45 AM Eastern Time (ET).

Demo Algorithm

The following algorithm demonstrates the functionality of the Wolverine Execution Services brokerage:

Deploy Live Algorithms

You must have an available live trading node for each live trading algorithm you deploy.

Follow these steps to deploy a live algorithm:

  1. Open the project that you want to deploy.
  2. Click the Deploy Live icon.
  3. On the Deploy Live page, click the Brokerage field and then click Wolverine Execution Services from the drop-down menu.
  4. Enter your Wolverine Execution Services credentials.
  5. Your account details are not saved on QuantConnect.

  6. Click the Node field and then click the live trading node that you want to use from the drop-down menu.
  7. If your brokerage account has existing cash holdings, follow these steps (see video):
    1. In the Algorithm Cash State section, click Show.
    2. Click Add Currency.
    3. Enter the currency ticker (for example, USD or CAD) and a quantity.
  8. If your brokerage account has existing position holdings, follow these steps (see video):
    1. In the Algorithm Holdings State section, click Show.
    2. Click Add Holding.
    3. Enter the symbol ID, symbol, quantity, and average price.
  9. (Optional) Set up notifications.
  10. Configure the Automatically restart algorithm setting.
  11. By enabling automatic restarts, the algorithm will use best efforts to restart the algorithm if it fails due to a runtime error. This can help improve the algorithm's resilience to temporary outages such as a brokerage API disconnection.

  12. Click Deploy.

The deployment process can take up to 5 minutes. When the algorithm deploys, the live results page displays. If you know your brokerage positions before you deployed, you can verify they have been loaded properly by checking your equity value in the runtime statistics, your cashbook holdings, and your position holdings.

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: