NexusFi: Find Your Edge


Home Menu

 





Need high performance computer for back testing on historical data


Discussion in Trading Reviews and Vendors

Updated
      Top Posters
    1. looks_one jsk123 with 4 posts (0 thanks)
    2. looks_two Big Mike with 1 posts (4 thanks)
    3. looks_3 Quick Summary with 1 posts (0 thanks)
    4. looks_4 oasisjoe with 1 posts (1 thanks)
      Best Posters
    1. looks_one Big Mike with 4 thanks per post
    2. looks_two shodson with 3 thanks per post
    3. looks_3 SMCJB with 3 thanks per post
    4. looks_4 rleplae with 2 thanks per post
    1. trending_up 4,348 views
    2. thumb_up 14 thanks given
    3. group 7 followers
    1. forum 10 posts
    2. attach_file 0 attachments




 
Search this Thread

Need high performance computer for back testing on historical data

  #1 (permalink)
jsk123
Hyderabad,India
 
Posts: 88 since Oct 2013
Thanks Given: 44
Thanks Received: 21

Hello,

I am into trading for a while and now I want to automate my trades. I have developed some strategies and want to back test them on historical data. I am facing a problem because of low processing power on my computer. I am written codes in PERL programming language and when I run my strategies on Core i7 4510U with 4 threads, it takes 36 hours to finish running one strategy. I need to run 44 such strategies. So I am really looking for a high performance computer, preferably online.

I dont want to buy a work station and I am only looking for services that offer high computing power online. The platform may be windows/linux based. Can someone suggest me such a service where high processing power can be hired cheaply? Key word "Cheap".

Reply With Quote

Can you help answer these questions
from other members on NexusFi?
ZombieSqueeze
Platforms and Indicators
Better Renko Gaps
The Elite Circle
New Micros: Ultra 10-Year & Ultra T-Bond -- Live Now
Treasury Notes and Bonds
Ninja Mobile Trader VPS (ninjamobiletrader.com)
Trading Reviews and Vendors
Exit Strategy
NinjaTrader
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Get funded firms 2023/2024 - Any recommendations or word …
59 thanks
Funded Trader platforms
36 thanks
NexusFi site changelog and issues/problem reporting
22 thanks
The Program
20 thanks
GFIs1 1 DAX trade per day journal
19 thanks
  #3 (permalink)
 
rleplae's Avatar
 rleplae 
Gits (Hooglede) Belgium
Legendary Market Wizard
 
Experience: Master
Platform: NinjaTrader, Proprietary,
Broker: Ninjabrokerage/IQfeed + Synthetic datafeed
Trading: 6A, 6B, 6C, 6E, 6J, 6S, ES, NQ, YM, AEX, CL, NG, ZB, ZN, ZC, ZS, GC
Posts: 3,003 since Sep 2013
Thanks Given: 2,442
Thanks Received: 5,863


I was facing similar situation.
while I do have a powerful machine.

Things i have done to win time are :

1. Simulator

I wrote a simulator to speed things up +/- 20.000 x times.
this works in a scenario, where the data and the indicators are stable but you want to try various
combinations of filters. In this solution i wrote all the data (bar + indicators) to a file and read them in the simulator.

2. virtual machine
i have been doing back-testing with 4 VM's on my server and run 4 periods in parallel
that is another way to win time.

3. automation
If i read you are using perl (which is not a compiled language)
that could be optimized if some scripts run 50.000 times, that might not be efficient
versus another technical choice..

would need more general info
to give further advice

Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
Thanked by:
  #4 (permalink)
jsk123
Hyderabad,India
 
Posts: 88 since Oct 2013
Thanks Given: 44
Thanks Received: 21

Thanks for the reply.

I think using Virtual service is the best way to go forward for me (I have no idea of the simulation you are talking of. I aint a big time programmer frankly). I have actually looked for VPN in Godaddy etc., but I am not sure how useful they will be or if they will allow installing perl and some associated modules. So I am looking for an advice regarding this. Please do suggest me some such services that offer high computing power.

I am using perl since thats the language I find easy to write codes in, no other reason. Please suggest another language. I shall try to code in that from next time, but for now, I prefer sticking to perl. By the way, I am only using perl to have an estimate of my profits using different strategies. I am using Ninja trader to write my code that does real trading.

Reply With Quote
  #5 (permalink)
 MacroNinja 
Buenos Aires Argentina
 
Experience: Advanced
Platform: NT, MT4, Sierra
Trading: S&P, Bonds, Crude, FX
Posts: 250 since Sep 2014
Thanks Given: 37
Thanks Received: 256

You could also consider using Amazon cloud computing power.

Reply With Quote
Thanked by:
  #6 (permalink)
 
Big Mike's Avatar
 Big Mike 
Manta, Ecuador
Site Administrator
Developer
Swing Trader
 
Experience: Advanced
Platform: Custom solution
Broker: IBKR
Trading: Stocks & Futures
Frequency: Every few days
Duration: Weeks
Posts: 50,399 since Jun 2009
Thanks Given: 33,173
Thanks Received: 101,538


jsk123 View Post
Key word "Cheap".



Mike

We're here to help: just ask the community or contact our Help Desk

Quick Links: Change your Username or Register as a Vendor
Searching for trading reviews? Review this list
Lifetime Elite Membership: Sign-up for only $149 USD
Exclusive money saving offers from our Site Sponsors: Browse Offers
Report problems with the site: Using the NexusFi changelog thread
Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
  #7 (permalink)
 oasisjoe 
Taipei, Taiwan
 
Experience: Intermediate
Platform: Custom
Broker: IB/IQFeed
Trading: HG
Posts: 30 since Jul 2014
Thanks Given: 21
Thanks Received: 25

Well, I haven't really written anything that needs 36 hours to run for one backtest. For me, one backtest with up to 5 years of data usually only takes minutes. But a parameter sweeper (which tries all variations) may take up to 12 hours. I used single thread PHP script. I can manually divide the parameter space into 3 subsets and run them on three different instances simultaneously to save time. I also backtested tick data before. It is slower but not that slow. For me, tick level strategy either work or it doesn't. I felt it didn't help to backtest tick data for a long period. For optimization, it helps to put all your data to memory and try to save and reuse the intermediate data that has already been computed. For example, if you need the moving average for one strategy, the moving average itself can be calculated once and saved to be used later by your other strategies. In my opinion, I7 is already a powerful machine and optimizing/profiling your code will help you the most.

Reply With Quote
Thanked by:
  #8 (permalink)
 
shodson's Avatar
 shodson 
OC, California, USA
Quantoholic
 
Experience: Advanced
Platform: IB/TWS, NinjaTrader, ToS
Broker: IB, ToS, Kinetick
Trading: stocks, options, futures, VIX
Posts: 1,976 since Jun 2009
Thanks Given: 533
Thanks Received: 3,709

Perl is not fast. Use a compiled language like C, C++, C#, or Java (JVM) for speed. This will help you more than using expensive VMs or cloud computing services. Your i7 should be fast enough but I'm not certain since you didn't disclose what kind of strategy it is and what kind of data set you are testing across.

As others mentioned, look to use caching of things that are being calculated over and over again, like a SMA(200), so you don't keep re-calculating the same things with each iteration.

I use Ninjatrader, which allows me to code strategies in C#, and I can backtest several years of data across thousands of stocks in a few minutes using daily bar data.

Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
Thanked by:
  #9 (permalink)
jsk123
Hyderabad,India
 
Posts: 88 since Oct 2013
Thanks Given: 44
Thanks Received: 21


Big Mike View Post


Mike


Reply With Quote
  #10 (permalink)
jsk123
Hyderabad,India
 
Posts: 88 since Oct 2013
Thanks Given: 44
Thanks Received: 21


I've decided to go with dedicated Xeon 1230v3 server. It is many times faster than 4510u and cheaper too but falls behind when compared to amazon ec2. but it is good enough for me...

Reply With Quote




Last Updated on June 4, 2015


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts