Overall Statistics
Total Trades
2
Average Win
0%
Average Loss
0%
Compounding Annual Return
0.281%
Drawdown
0.100%
Expectancy
0
Net Profit
0.262%
Sharpe Ratio
1.48
Probabilistic Sharpe Ratio
70.552%
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
-0
Beta
0.012
Annual Standard Deviation
0.001
Annual Variance
0
Information Ratio
-1.698
Tracking Error
0.104
Treynor Ratio
0.157
Total Fees
$0.00
Estimated Strategy Capacity
$2700000000.00
Lowest Capacity Asset
SPY R735QTJ8XC9X
class TradierBrokerageExampleAlgorithm(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2021, 1, 1)
        self.SetCash(100000)

        self.SetBrokerageModel(BrokerageName.TradierBrokerage, AccountType.Margin)
        
        self.symbol = self.AddEquity("SPY", Resolution.Minute).Symbol

        # Set default order properties
        self.DefaultOrderProperties.TimeInForce = TimeInForce.Day

    def OnData(self, data):
        if self.Portfolio.Invested:
            return
        
        # Place an order with the default order properties  
        self.MarketOrder(self.symbol, 1)
        
        # Place an order with new order properties
        order_properties = OrderProperties()
        order_properties.TimeInForce = TimeInForce.GoodTilCanceled
        ticket = self.LimitOrder(self.symbol, 1, data[self.symbol].Price * 0.9, orderProperties = order_properties)
        
        # Update the order quantity
        ticket.Cancel()
        ticket = self.LimitOrder(self.symbol, 2, data[self.symbol].Price * 0.9, orderProperties = order_properties)
        
        # Update the order fields that are not the quantity
        update_fields = UpdateOrderFields()
        update_fields.LimitPrice = data[self.symbol].Price * 1.05
        update_fields.Tag = "Informative order tag"
        response = ticket.Update(update_fields)
        if not self.LiveMode and response.IsSuccess:
            self.Debug("Order updated successfully")