Skip to content

Strategies

Streak has a collection of over 150+ pre-built strategies based on technical indicators for equities, futures and options. You can filter strategies based on timeframes, chart type and whether you have a bullish view or bearish view. Before deploying a strategy, you can backtest the strategy and see if it makes sense to trade it. You can look at stats such as number of trades, wins, losses, average gains, average losses and drawdown of the strategy.

All the strategies created by the user are under "My Strategies". This also includes strategies that you have edited or copied from "Discover Popular Strategies".

strategies

Click on any strategy to see its backtest results. To see the strategy conditions, click on 'see conditions'. You can edit the time frame, chart type, entry or exit and run backtest again. You can also copy a strategy, give it a name and run backtest.

strategies

Backtest

Backtesting is the process of applying a set of rules to historical data with the goal of assessing the strategy's effectiveness in generating profit.

Streak has the most powerful backtesting engine in the world that generates performance metrics for multiple stocks in a single click.

The backtest results include Profit and loss curve, maximum gains/losses, average gain per winning trade, average loss per losing trade, maximum drawdown and much more. These metrics give you a comprehensive idea of your strategy performance before you deploy in the market.

After you create a strategy and click on run backtest, the strategy starts checking for all the signals that were generated during the selected time period.

You can also adjust and modify various input parameters which are used to run a backtest.

Once done, click on 'Run and Save backtest'.

strategies

Backtest Results1

On clicking the "Run Backtest" button, a fresh backtest is run for each instrument by first fetching all the appropriate historical market data for the respective stock/contract and initializing all the user defined parameters. The historical market data is then processed to generate hypothetical trade signals and hypothetical trades are performed using the hypothetical initial capital.

Note

If 5 scrips have been added and backtest is run, the counter will be updated as 5 backtests run and the count will be reduced. If no new equities/contracts have been added and backtest is run, the backtests are re-run on all the equities/contracts irrespective of its previous status. Every time you change a parameter mentioned above and run backtest, the backtest count reduces

Based on these hypothetical trades, certain performance metrics such as hypothetical profit/loss, winning streak, losing streak etc. are generated in an effort to provide a generalized and simplified understanding of the strategy’s hypothetical returns and risk. All the hypothetical trades generated are shown in the transactions table along with profit/loss and portfolio values during every trade.

  1. P&L : The cumulative P&L realized after taking all the trades generated through the strategy.

  2. Wins vs Losses (W vs L) : Displays the number of trades that ended up being profitable and the ones that weren’t. This important piece of information can help you decide whether your Risk/Reward ratio based on stoploss/profit-target & average loss/losing trade v/s average gain/winnig trade is favorable or not.

  3. Winning Streak (WS): The highest number of subsequent winning trades, one after another.

  4. Losing Streak (LS): The highest number of subsequent losing trades, one after another.

  5. Max Drawdown (Max DD): Max drawdown measures the largest decline in the P&L curve at any given point of time.

More on Maximum drawdown

Maximum drawdown (Max DD) is the maximum loss from the peak (highest point) to a trough (lowest point) of a PnL chart, before a new peak is attained. It signifies downside risk and is calculated by measuring the highest fall (largest loss) in over a specified time period.

Max DD = \frac{Peak - Trough}{Peak}

It is important to note that Max DD only measures the size of the largest loss among all the loss during a period. It does not consider the frequency of losses.

A max dd of 0.97 is better than 1.53. Similarly, a max dd of -0.12 is better than -0.93. The lower the value, the better. It should ideally as close to 0 as possible. If a strategy never made a loss making trade, the Max DD would be zero.

Transaction details

Streak's backtest result also allow user to see the trade details (entry/exit) based on which the backtest PnL and other metrics are calculated. You can find these specific entry and exit date and time by clicking on "Transaction Details".

Transaction details will list the date and time of entry along with the entry price followed by the date and time of exit and also the profit or loss on the transaction.

Trigger Types:

  • EN - Entry
  • SL - Stop Loss
  • TP - Target Profit
  • SO - Square off
  • EX - Exit condition
  • TSL - Trailing Stop Loss
  • EXP - Contract Expired

Brokerage Toggle

We account for all the deductions as per brokerage calculator on your broker's website. Brokerage charges include broker's brokerage, STT, transaction charges, GST and SEBI charges.

Brokerage

Backtest edit parameters

Provides a quick access to the backtest parameters. You can change most of the conditions including chart type, candle interval, SL,TP,TSL values.

Export Backtest Result

Once you open the strategy backtest page, and click on the two dots on top right hand side you will find the option to Export your backtest results. This will download a snapshot of your backtest metrics of all the scrips, that is backtest profit/loss, number of signals, win/loss, Max DD and so on. More details on these metrics is covered here

Export

All transaction detail

As the name suggests, this will export all the transaction details for every symbol present in the strategy. Transaction details include the date and time of entry as well as exit, along with the trade price and the cumulative profit or loss on the transaction.

Backtest error messages

During a backtest, if any error occurs/proper results are not be generated, we try to show an appropriate message to help the user adjust the input parameters and run the backtest again. These error messages are explained below:

  1. No trades happened - This means that no hypothetical entry signals were generated for the strategy and no hypothetical trades were performed for the backtest period selected by the user. This could mean that the strategy conditions were never met in the specified backtest period or that the conditions were syntactically/logically incorrect or were not expressed properly with the right indicator parameters. No trades
  2. No trades happened because initial capital is low - This means that the strategy conditions were met and trading signals were generated but due to insufficient hypothetical initial capital, hypothetical trades were not generated. It can be resolved by increasing the hypothetical initial capital or by decreasing the quantity and running the backtest again. Initial capital too low
  3. Limit Exceeded - This means while running backtest you have reached your daily maximum allowed backtest limit. This limit may vary depending on your subscription plan.
  1. Error while fetching data - This means that an internal error occurred while fetching historical data. It can be resolved by waiting for a few minutes and running the backtest again. If the backtest counter gets decreased, you can write to us and we will allow few additional backtests.
  2. Server timed out - This means that the user's browser is not able to connect to Streak servers due to internet connection error. It can be resolved by checking the internet connection and running the backtest again.

Info

Backtesting on Streak: Backtesting on Streak allows users to measure the hypothetical performance or returns of an strategy. All backtest results are a hypothetical representation of the performance and returns on an strategy, based on certain underlying assumptions. These results do not provide any guarantee of future performance or returns, and all strategies are subjected to market risks.

Deploy

The Deploy function allows users to take their strategy live in the stock market and get actionable alerts based on the entry and exit conditions in their strategy.

Once you deploy a strategy on Streak, you no longer have to track the trade manually. Streak tracks the price movements for trade signals and will send one click actionable alerts when all the conditions specified in a strategy are met in real-time.

On clicking the "Deploy" button on either Backtest or my strategy page, a popup is rendered with a summary of the user's selected scrips and quantity used while backtesting.

Deployment type

  • Live Trading: Sends an actionable entry/exit notification once the strategy conditions are met.

  • Paper Trading: Deploying your strategies in Paper-Trading mode allows user to check the performance of the strategy without risking any actual capital. This simulates trades in the live stock market, where you can track real-time positions based on virtual trades.

Info

When a strategy is deployed as Paper trading, notifications are not sent, when conditions are met.

Strategy live for

MIS positions are squared off and strategies are stopped after market close. This option allows user to deploy strategies for multiple trading session by deploying it once. If you select "3 Day", the strategy will be redeployed automatically by the system in the morning before market open, for the current day and the next two days. Applicable only for MIS deployments.

Strategy cycle

Strategy Cycle defines the loop of the strategy i.e entry followed by respective exit. The user should select the field "Strategy cycle" while deploying, which determines the cycles for which the strategy will be live. If you select the strategy cycle as 5 the strategy will move to a stopped state after completing the five cycles. Currently the maximum cycle that can be selected is 50.

Holding type

If "MIS" is selected, the holding type will be intraday and the strategy will be live for that single day (or depending on the 'Strategy Live for' parameter selected while deploying). If the user selects "CNC/NRML", the holding type will be CNC for equities and NRML for future contracts and the strategy will be live for the next 30 days in waiting state (or until the strategy is stopped by the user or terminated due to some reason such as order rejection or user subscription expires).

Backtest assumptions

During a backtest, hypothetical trades are generated with the following high level assumptions:

  1. During a backtest, irrespective of the order type, no margins is assumed for any instrument. The user must enter the desired initial capital value such that it is higher than the product of quantity and the instruments close price [Initial Capital >= (Quantity x Close Price) for all instruments being tested].
  2. During a backtest, any hypothetical signal to buy or sell is executed on the open price of the next candle irrespective of the actual volumes traded for that candle in the historical data.
  3. During a backtest, no form of averaging is done i.e., the strategy does not take multiple consecutive entry positions before exiting the current position (entry position is taken only after the previous position has been exited i.e., when quantity at hand is zero).
  4. During a backtest, the strategy will only exit a position, when either the exit condition is met or when target profit/stop loss price or trailed stoploss price is hit, or position is squared off for MIS holding type
  5. During a backtest, there is no context nor is any consideration given to corporate actions such as stock splits, rights issues etc. and no adjustments are made to stock/contract prices. The values OHLCV (Open , High, Low, Close and Volume) are taken directly as present in the historical candle data.
  6. During a backtest, a hypothetical entry/exit is generated only if the condition is false in the previous candle and is true in the current candle.
  7. During a backtest, the profit/loss are calculated on the TP SL % and the PNL chart values are calculated on the Close price of every candle when a position is held, not only on buy/sell.
  8. During a backtest, if the holding type is MIS, all open positions are hypothetically squared off at the open price of the 3:15 pm candle (for equity) 4:30 (for currency). This is done to simulate a square off done by the brokers for MIS orders.
  9. Chart data is subjected to minor variations from market time to post market times due to standard data adjustments.
  10. Position sizing doesn't assume any margin requirements or leverage. It uses allocation and instrument price directly to calculate the order quantity. You should enter the allocation value such that margin requirements are being satisfied in your trading account for live trades. Margin calculation is done by the broker. To check the margin requirements, visit your brokers' website.
  11. During a backtest, quantity freeze is not consisdered, that is, hypothetical trades will be executed even when the quantity is higher than Freeze quantity (maximum quantity for a buy/sell order set by the exchange).
  12. During a backtest, when a long position is enterted, to track Trailing SL (TSL), the candle Sequence is assumed as O>>L>>H>>C i.e the Low is assumed to come first, followed by the High and the Close (OLHC)
  13. During a backtest, when a short position is enterted, to track Trailing SL (TSL), the candle Sequence is assumed as O>>H>>L>>C i.e the High is assumed to come first, followed by the low and the Close (OHLC)
  14. While backtesting an entry will only be triggered when the notional value (Trade price * Quantity) of the instrument is less than the 'Initial capital + Cumulative Profit or Loss uptill previous trade'.
  15. While conducting a backtest, the system by default checks the SL/TP on the entry candle. The system primarily checks if the SL is breached first and then whether the TP is hit. In the event of both SL and TP being triggered in the same candle (due to the candle range being huge or the SL/TP values being very narrow), it is assumed that the SL was breached first.

Deploy

Deploy allows users to take their strategies live in the stock market and get actionable alerts based on the entry and exit conditions in their strategy.

Deploy strategy

On clicking the "Deploy" button on either Backtest or strategies page, a popup is rendered where the user can choose the "strategy cycle", which determines the number of trades the strategy will be take ( strategy cycle defines the loop of the strategy: Entry followed by the respective exit ) and our systems will track market movements. If "MIS" is selected, the strategy will be live for that single day ( this can also be increased by using strategy live for parameter). If the user selects "CNC/NRML", the order type will be CNC for equities and NRML for future and options contracts and the strategy will be live for the next 30 days (or until the strategy is stopped by the user or terminated due to some reason such as order rejection or user subscription expires).

Once a strategy or symbol is deployed, a small ‘Deploy’ icon is shown on the extreme left-hand side of the symbol.

For all strategies, you have already created, you can deploy directly from the strategies page without backtesting again.

To do this you just need to go to the strategies page, search and then hover over the stocks to see the historical backtested profit/loss. Then you need to click on two dots and select "Deploy", you will see the pre-deployment properties window in the strategies page. Finally, you can set a strategy cycle and other parameters, accept terms and then click on the "Live Trade" button.





  1. Disclaimer: The results of all the backtest are hypothetical and does not guarantee or portray in any form or manner any future performance or returns. Historical data is subject to limitations like rounding off, memory buffer limits, user's browser, system limitation, data availability, accurate data etc