The following screenshots are from a limit entry/exit system. The system allows 6 max positions and 10 max signals. It has 3 open positions after last close, and 3 limit exit orders and 7 entry signals. Assume the system has weights for trades.
What's the behavior of the WL backtesting engine for next day's run for the following scenario:
1. 3 open positions are still open by EOD (limits not hit intraday), 6 out of 7 entry signals get triggered (prices move below limits). Will 3 new positions be opened based on weight?
2. 3 open positions all exit(limits are hit), 6 out of 7 entry signals get triggered (prices move below limits). Will 6 new positions be opened based on weight?
In reality since the order of exit and entry triggers are unknown, so it's very likely that in case 2 only 3 new positions could be opened if one wants to keep the max position requirement of the strategy. This will create drift b/w actual trade list and backtesting trade list, and the signals generated from the backtesting run will be quite different. My questions from this are:
1. How do people place trades for such systems? Will you place all signals before market open and risk max position being breached? Or will you place at most max_position - open_position trades? Or something else?
2. How do you handle the drift b/w actual trades and backtest signals. Will you incorporate actual trade to backtest to generate signal (e.g. using live position) or ignore them?
Thanks
What's the behavior of the WL backtesting engine for next day's run for the following scenario:
1. 3 open positions are still open by EOD (limits not hit intraday), 6 out of 7 entry signals get triggered (prices move below limits). Will 3 new positions be opened based on weight?
2. 3 open positions all exit(limits are hit), 6 out of 7 entry signals get triggered (prices move below limits). Will 6 new positions be opened based on weight?
In reality since the order of exit and entry triggers are unknown, so it's very likely that in case 2 only 3 new positions could be opened if one wants to keep the max position requirement of the strategy. This will create drift b/w actual trade list and backtesting trade list, and the signals generated from the backtesting run will be quite different. My questions from this are:
1. How do people place trades for such systems? Will you place all signals before market open and risk max position being breached? Or will you place at most max_position - open_position trades? Or something else?
2. How do you handle the drift b/w actual trades and backtest signals. Will you incorporate actual trade to backtest to generate signal (e.g. using live position) or ignore them?
Thanks
Rename
1a. Yes. And, using with an intraday source of data you can assign the weight by time-of-day using the Granular stop/limit processing in the Strategy Settings page.
2a. Three of the new positions will be removed from the backtest due to the "Max Open" setting; the 3 lowest weights. They'll be marked as "NSF Positions".
1b. Place the signals, use the Thresholds in Trading Preferences to automatically stop trading and cancel open orders. Thresholds work at the account level though, not by strategy.
2b. You don't need to handle it. The backtest may drift from reality (using "Granular" should keep it close), but it will generate all exit signals. Check the first Portfolio Sync option in Trading Preferences to prevent placing an exit for signal for a position that doesn't exist in the account.
2a. Three of the new positions will be removed from the backtest due to the "Max Open" setting; the 3 lowest weights. They'll be marked as "NSF Positions".
1b. Place the signals, use the Thresholds in Trading Preferences to automatically stop trading and cancel open orders. Thresholds work at the account level though, not by strategy.
2b. You don't need to handle it. The backtest may drift from reality (using "Granular" should keep it close), but it will generate all exit signals. Check the first Portfolio Sync option in Trading Preferences to prevent placing an exit for signal for a position that doesn't exist in the account.
Your Response
Post
Edit Post
Login is required