- ago
Hello,

I ran into significant issues trying to backtest and optimize a strategy using tick by tick granular processing. I believe that my 16GB of RAM is insufficient when watching the task master in windows. However, I am not quite sure if that is the issue or if it is my old i5 processor.

I am wondering if I should build a new computer or rent a VPS to do some of my optimization and backtesting. However, high RAM systems are quite expensive in the VPS realm. So I am asking the community to share what they know about what hardware affects what aspects of backtesting. How do people accomplish high volume and high timeframe backtesting and optimization?

I have read that multi-core processors are not as effective as focusing on high speed single cores. I have also read that on processor memory is important.
0
434
8 Replies

Reply

Bookmark

Sort
- ago
#1
Unfortunately, an old i5 and 16GB RAM may both sound like suboptimal for the task.
0
Glitch8
 ( 10.92% )
- ago
#2
RAM is more important
1
- ago
#3
I went from using an Intel 4790k (4 cores/8 threads, base frequency 4Ghz) with 16GB RAM to an AMD 5950x (16 cores/32 threads, base frequency 3.4Ghz) with 64GB RAM. Exhaustive optimizations now take approximately 1/5 the time and faster.
1
- ago
#4
Compared to an old i5 (like 6th or 7th gen), Intel 4790k would have a 1,5 to 3 performance boost (on average) in multi-core apps. The Ryzen 9 would be 8-10 times faster than an i5. So no doubt: that old chip should be upgraded.
1
- ago
#5
Thanks for the replies. Yes it would appear my system is using hardware that is not quite up to the task for optimization. This is why I am asking about what to look for in a new system.

Regarding processors, there are a wide variety available. It seems to me it is not as simple as the most powerful processors will be best, as there are different options regarding cores and other things I don't quite understand. For those of you with more experience and knowledge than me, what are the things you look for in a processor to find one optimal for backtesting/optimization?

Are there differences in RAM that you have found?

Regarding hard drives, I am assuming an SSD is important. Do you allocate a large amount of virtual memory? What size and speed is optimal for an HD?

Finally, I have seen that WL utilizes my GPU to a small degree (10-15%). Is a strong GPU necessary for backtesting? (I would assume not).

Any other tips I might have missed are also greatly appreciated. I will probably be spending thousands on a new machine so I want to be sure I get the right equipment.

Thanks,
Dandude
0
- ago
#6
Re: SSD. I've been an SSD user for no less than 8 years (maybe 9) so for me an m.2 NVMe SSD is a must. And with 64GB RAM I would disable the Windows virtual memory altogether.
1
- ago
#7
The following may help. I ran an optimization of one of my strategies of five of its parameters using the Shrinking Window optimization method. Below, the first image shows the CPU logical cores (32 in all) being utilized as indicated by the green bars. In this case, the optimization spread the work out across all of the cores. The second image shows the CPU cores after the optimization was complete where the only thing I had running that would be consuming any noticeable smidgeon of the CPU was ThinkOrSwim.

During optimization..


After optimization...


So, the reason I went with the max number of cores for my budget is that I saw that WealthLab was spreading the work out across the cores for some optimization methods. Of course, each optimization method may work differently in spreading work across multiple threads depending on how it goes about its computations.

As for SSD, I have WD Black SN850 1 TB for my main drive and a bunch of other SSDs for ancilliary purposes. I'm using Windows 11, and didn't disable virtual memory. It just flies.

If you really want to be inundated with benchmark data then check out AnandTech: https://www.anandtech.com/bench/CPU-2020/2763

In any case, here's what I believe to be a practical way to look at it. In my old system, I mentioned in the prior post (4 cores/8 threads), an optimization took 10 minutes. The new system it takes less that 2 minutes. If you wanted to tweak one indicator to find out if it helped your strategy you really wouldn't want to spend that extra 8 or so minutes to find out. That's what I was up against.
1
Glitch8
 ( 10.92% )
- ago
#8
The GPU is only used by the Windows WPF user interface framework, WL8 doesn't it use it in backtesting.
1

Reply

Bookmark

Sort