We have our own service for corporate event factors which adjust data for both splits and dividends. Historical data is backtested on adjusted data (unless you turn this off completely from the Options window). If you need to access both adjusted and unadjusted data from your script then we offer a function called DataSplitsDividendsAdjusted, which you can call to switch between the two during runtime. So scripts can access adjusted and unadjusted data while backtesting calculations are all done on adjusted data. Our factors take into consideration both splits and dividends and we apply them on data that is unadjusted. DTN IQFeed adjusts its daily data but does not adjust its minute bars. I believe we apply adjustments to their minutes data during backtesting, same as we apply to Polygon.io's data and our own Tickblaze equities data. We do not use the Polygon.io option to have the data they deliver to be adjusted only for splits, as that would not work well with our existing architecture. If we ever decide to add only split adjustments or only dividend adjustments then it will be implemented on our end for all vendors.
Hi, Can you please describe the process of handling multiple timeframe when back testing in tickblaze? say i want to test a 5mn time frame but will use 1 second chart for granularity. How from the 1 second chart, can i access price and indicator data from the 5mn chart?
Just moved over to Tickblazer from another platform, and as always migrating over from one platform to another is never an easy ride, but i am happy so far and their support team is very helpful and working with you and your developers to ease the process. Being able to use polygon.io without symbol data restrictions requests when trading large portfolios of strategies, is awesome.
Hi Koros, When you set up a trading strategy in Tickblaze you can specify a main data series as well as any number of additional data series. The main data series is used by the backtesting/live trading engine to do all of its calculations, while the additional data series can be used by your scripts. To switch between the data series you can call the function DataSeriesSwitch and specify a data series number, 0 for the main data series, 1 for the next one, etc.. If you want to create an indicator and plot it on the chart, you can do so from the strategy's OnInitialize function, where you can call DataSeriesSwitch, create an indicator (which will now perpetually be on the current data series) and then use the Chart API functions to plot it. You can then switch back to another data series. We have a lot of scripts and sample available here: https://www.tickblaze.com/scripts/tradingstrategy We're also available at support@tickblaze.com
Thank you for your answer. I looked at the scripts, and I like what I see. Do you plan to keep supporting python on the long term? Can you estimate a % difference of time to complete between a same backtest in C#/python? Also, is multi cores supported on optimization and backtest over multiple symbols? (I know it's not possible to split a backtest on same symbol).
Yes, Python is very popular with Quants and we will continue to offer full support for it. C# backtests are many times faster than Python because C# is many times faster than Python. We've got sample Quant Desktops that you can run and have identical strategies that were written in both languages. You can run those and do comparisons. We're using the same open source Python integration other platforms are using https://github.com/pythonnet/pythonnet . Tickblaze uses multiple cores for optimization and backtests on multiple symbols and strategies.
The platform will allow multicore backtesting even when you're using Python scripts, but in reality it's probably using only one core. This is a Python issue and there is plenty of information about Python and concurrency on the web.
Hello, can you please describe the download process of the data you provide? Let's say I want to conduct a backtest with tickblaze on ALL stocks, minute bars, for entire year 2020. How can this happen? Do you provide a data downloader program?