Overall Statistics
Total Orders
3
Average Win
0%
Average Loss
-0.17%
Compounding Annual Return
-0.512%
Drawdown
0.200%
Expectancy
-1
Start Equity
100000
End Equity
99828.95
Net Profit
-0.171%
Sharpe Ratio
-23.6
Sortino Ratio
-14.242
Probabilistic Sharpe Ratio
0.039%
Loss Rate
100%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
-0.059
Beta
0.007
Annual Standard Deviation
0.002
Annual Variance
0
Information Ratio
-1.031
Tracking Error
0.106
Treynor Ratio
-8.83
Total Fees
$0.00
Estimated Strategy Capacity
$46000000000.00
Lowest Capacity Asset
F R735QTJ8XC9X
Portfolio Turnover
0.00%
Drawdown Recovery
0
# region imports
from AlgorithmImports import *
# endregion

class WolverineDemoAlgorithm(QCAlgorithm):

    def initialize(self):
        self.set_start_date(2024, 9, 1)
        self.set_end_date(2024, 12, 31)
        self.set_cash(100000)
        self.set_brokerage_model(BrokerageName.WOLVERINE, AccountType.MARGIN)        

        self.add_equity("F", Resolution.SECOND)

        self._option = self.add_option_contract(Symbol.create_option("SPY", Market.USA, OptionStyle.AMERICAN, OptionRight.CALL, 560, datetime(2024, 9, 3)))

        dvOrders = WolverineOrderProperties()
        dvOrders.exchange = Exchange.SMART
        dvOrders.exchange_post_fix = "OPT-INCA"
        dvOrders.time_in_force = TimeInForce.DAY
        self.DefaultOrderProperties = dvOrders

        self._ticket = None

    def on_data(self, data: Slice):
        if self._ticket or not self._option.has_data:
            return
        
        dvOrders = WolverineOrderProperties()
        dvOrders.exchange = Exchange.SMART
        dvOrders.exchange_post_fix = "-INCA-TX"
        dvOrders.time_in_force = TimeInForce.DAY
        
        # Optionally, you can specify for equity shorts which broker will provide the stock to short
        # if not specified defaults to broker will provide
        dvOrders.locate_broker = "abn"

        self._ticket = self.market_order("F", -1, order_properties=dvOrders)
        self.market_order(self._option, 1)