| Overall Statistics |
|
Total Trades 2 Average Win 0% Average Loss 0% Compounding Annual Return -0.007% Drawdown 0.000% Expectancy 0 Net Profit -0.008% Sharpe Ratio -0.561 Probabilistic Sharpe Ratio 2.648% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha -0 Beta 0 Annual Standard Deviation 0 Annual Variance 0 Information Ratio -1.492 Tracking Error 0.109 Treynor Ratio -1.093 Total Fees $0.02 Estimated Strategy Capacity $160000000000.00 Lowest Capacity Asset YESBANK TA8Y7QR36M31 |
class ZerodhaBrokerageExampleAlgorithm(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2021, 1, 1)
self.SetAccountCurrency("INR")
self.SetCash(100000)
self.SetBrokerageModel(BrokerageName.Zerodha, AccountType.Margin)
self.symbol = self.AddEquity("YESBANK", Resolution.Minute, Market.India).Symbol
# Set default order properites
self.DefaultOrderProperties = IndiaOrderProperties(Exchange.NSE, IndiaOrderProperties.IndiaProductType.NRML)
self.DefaultOrderProperties.TimeInForce = TimeInForce.GoodTilCanceled
def OnData(self, data):
if self.Portfolio.Invested:
return
# Place an order with the default order properties
self.LimitOrder(self.symbol, 1, round(data[self.symbol].Price + 100, 1))
# Place an order and with new order properties
order_properties = IndiaOrderProperties(Exchange.BSE, IndiaOrderProperties.IndiaProductType.MIS)
ticket = self.LimitOrder(self.symbol, 1, round(data[self.symbol].Price * .9, 1), orderProperties = order_properties)
# Update the order
updateSettings = UpdateOrderFields()
updateSettings.LimitPrice = round(data[self.symbol].Price * .95, 1)
ticket.Update(updateSettings)