I would like for a bit of clarification on how Wealth Lab handles "empty bars" where no trades were executed in backtest data. Let's look at a hypothetical scenario:
Say I'm importing backtest data from an ASCII file into Wealth Lab, for a thinly traded symbol "ABC" at 1-minute data range. At a certain 10 minute period, there is a gap in the ASCII data file where no data is intentionally provided because no trades were executed.
Now say I'm backtesting a strategy over that time period which uses an Indicator like "Lowest(Low, 25)" or "Highest(High, 25)". Does Wealth lab fill in the missing blank bars and use them in those Indicator evaluations? Or does Wealth Lab essentially skip those empty bars and look further back in the available backtest data so that it gets the required number of bars?
Say I'm importing backtest data from an ASCII file into Wealth Lab, for a thinly traded symbol "ABC" at 1-minute data range. At a certain 10 minute period, there is a gap in the ASCII data file where no data is intentionally provided because no trades were executed.
Now say I'm backtesting a strategy over that time period which uses an Indicator like "Lowest(Low, 25)" or "Highest(High, 25)". Does Wealth lab fill in the missing blank bars and use them in those Indicator evaluations? Or does Wealth Lab essentially skip those empty bars and look further back in the available backtest data so that it gets the required number of bars?
Rename
I had some doubts after posting. wondering if this would only affect streaming data, and not backtest data, as it seems that backtest data generally includes rows even when there's 0 volume. I think socket streaming APIs don't send anything if nothing happens. I imagine that would mess up Wealth Lab's execution of the strategy.
But I import a lot of my backtest data using the Kucoin API, and I just found in their documentation where they mention that they don't return any historical data for intervals where nothing happens, which seems like it could mess up my backtests when I import that into Wealth Lab:
https://docs.kucoin.com/#get-klines
But I import a lot of my backtest data using the Kucoin API, and I just found in their documentation where they mention that they don't return any historical data for intervals where nothing happens, which seems like it could mess up my backtests when I import that into Wealth Lab:
https://docs.kucoin.com/#get-klines
WL would look further back in the available backtest data to get the required number of bars.
The missing bars aren't added to the chart as you can see. But as they matter in the context of a compressed scale backtest (see TimeSeriesSynchronizer in the QuickRef) or portfolio (multi-symbol) backtest. WL has to synchronize the time series of the multiple instruments and insert any missing bars or prefill missing bars at the beginning with first valid value etc.
The missing bars aren't added to the chart as you can see. But as they matter in the context of a compressed scale backtest (see TimeSeriesSynchronizer in the QuickRef) or portfolio (multi-symbol) backtest. WL has to synchronize the time series of the multiple instruments and insert any missing bars or prefill missing bars at the beginning with first valid value etc.
Eugene, I'd like to ask for a bit of clarification on your answer, if possible. Let's say I'm doing a 1-minute scale portfolio backtest, which checks "Lowest(Low, 10)". There's a symbol ABC that only has data for 5 of the last 10 bars, but all the other symbols in the backtest have all 10.
Will the "Lowest(Low, 10)" for ABC look further back in time to get the missing 5 bars? Or, because it's a portfolio backtest, will the missing bars for ABC in the last 10 minutes have been filled in?
Will the "Lowest(Low, 10)" for ABC look further back in time to get the missing 5 bars? Or, because it's a portfolio backtest, will the missing bars for ABC in the last 10 minutes have been filled in?
It will not fill in missing bars. So. effectively it will look further back in calendar time.
Your Response
Post
Edit Post
Login is required