So that people don't think this is just fun and games, consider one of my systems. I am able to analyse 3000 symbols (for now the number can easily double).
Say I want to analyse a years worth of tick data. Say a day has an average of 10,000 Bid/Ask quotes. Say I am able to process through the entire back testing framework about 10 B/A quotes a second. Here is the problem:
3000 * 10000 = 30 million quotes a day
30,000,000 * 250 trading days a year = 7,500,000,000 Bid/Ask quotes a year
I can do 10 a second so
7,500,000,000 / 10 = 750,000,000 seconds to finish
750,000,000 / 60 = 12,500,000 minutes to finish
12,500,000 / 60 = 208,333 hours to finish
208,333 / 24 = 8680 days to finish
8680 / 365 = about 23 years to finish
Now imagine I had a one thousand node cluster. Since this is an embarrassingly parallel computation, I can divide 8680 / 1000 to get just about 9 days to do an entire years worth of analysis of tick data on 3000 symbols through a system end to end. That I can live with.
The program is already cluster aware. I just need the nodes. AWS/EC2 is very expensive.