Software performance questions

Questions and discussion of Trading Blox and other platforms for non Trading Blox customers. Trading Blox customers should use the Trading Blox Support forum.
Post Reply
bluefightingcat
Roundtable Knight
Roundtable Knight
Posts: 346
Joined: Fri Nov 20, 2015 3:09 pm

Software performance questions

Post by bluefightingcat » Fri Nov 20, 2015 3:38 pm

I looking for some good backtesting software and I came across TradingBlox. Seems like the ideal solution for an individual trader who wants to use rule based trading. However before I take the time and effort to get into the system I have some questions that hopefully some of you with experience can help me out.

Background: I trader US shares (NYSE and NASDAQ). My aim is to backtest my strategies on approx.6000 shares i.e. most NYSE and NASDAQ shares.

Questions:

1. My main concern with is whether TradingBlox can handle this amount of information without becoming excessively slow or locking up. I intend to run TradingBlox on a system with 6 cores @ 4.4Ghz and 16GB ram and SSD drives. How long would it take to run a simple strategy to have 10 positions in the market based on the lowest RSI(14) with 2 years of backtesting data for 6000 stocks? Would it take minutes? Hours? Days?

2. Is it easy to add instruments and data to tradingblox? Considering that I would be using 6000 instruments, it would be imperative that everything is automated. I already use QCollector to get my ASCII data. I tried to have a look at the manual but so far I couldn't get a good understanding on how the data is added/handled in TradingBlox.

3. Is it easy to use datasets with different resolutions e.g. 15minute and 1 day data. For example is easy to code a strategy where if the RSI(14) on a daily resolution is below 10 and the RSI(14) on a 15 resolution is below 5, I would open a position long however only if the criteria are met between 10:00-11:00 (exhange time).

I would much appreciate feedback on anybody who has experience.

Thanks

Tim Arnold
Site Admin
Site Admin
Posts: 8523
Joined: Tue Apr 06, 2004 1:41 pm
Location: Boston, MA
Contact:

Re: Software performance questions

Post by Tim Arnold » Fri Nov 20, 2015 4:52 pm

1. Yes that is fine. I run 30,000 stocks without issue. 6000 stocks of daily data over 2 years is a few minute test. Plus a few minutes to load the data first run -- it is cached in memory after that. If you want to use 1 minute data over 2 years for 6000 stocks then you might need more memory. I would have to do some math on that. Trading Blox is multi threaded, so the data load can be quite fast with 6 cores. Note that you might find that an initial screen could reduce the stock universe dramatically so you don't have to load all the stocks all the time. We often run a pre screen monthly to find suitable markets based on volume and price, and only use those for trading.

I just ran a quick test of our RSI System with 3400 stocks (NYSE) over 10 years of daily data and it took 32 seconds to load the data and 36 seconds to run the test with 16,000 trades. Maximum memory used by Trading Blox was 1.1GB.

2. If you don't need a stock dictionary with stock names, exchanges, currencies, etc. then the process is simply to add the additional data text file to the stock data folder and it will be selectable for a portfolio. All .txt and .csv files in the data folder are loaded. The symbol used is the filename, so IBM.txt and AAPL.txt etc.

3. Yes you can load up different time frames either as separate data files or using the built in intraday to daily conversion. So you could check if the time was between 10:00 and 11:00 and then check the daily RSI and the 15 minute RSI and if all line up then place the order.

stamo
Roundtable Knight
Roundtable Knight
Posts: 522
Joined: Tue Mar 13, 2007 5:27 pm

Re: Software performance questions

Post by stamo » Sat Nov 21, 2015 8:45 am

Tim -- could you plz explain some more about "all line up":

"3. Yes you can load up different time frames either as separate data files or using the built in intraday to daily conversion. So you could check if the time was between 10:00 and 11:00 and then check the daily RSI and the 15 minute RSI *** and if all line up *** then place the order."

Tim Arnold
Site Admin
Site Admin
Posts: 8523
Joined: Tue Apr 06, 2004 1:41 pm
Location: Boston, MA
Contact:

Re: Software performance questions

Post by Tim Arnold » Sat Nov 21, 2015 9:48 am

I guess "all line up" was a bad choice of words. How about "if all conditions are met":

Code: Select all

IF instrument.time > 1000 AND instrument.time < 1100 AND instrumentDaily.rsi < 10 AND instrument15.rsi < 5 THEN
 broker.EnterLongOnOpen
ENDIF

Post Reply