Buying a new dedicated trading rig, and trying to make sure I splurge for the "right", most worthwhile upgrades. I plan on using this as a dedicated trading computer: I run IB TWS software (+occasionally others), Excel with a streaming-data API, and sometimes misc charting software. FWIW my Excel workbook is
very resource-intensive: a 20MB file and streams 500+ real-time symbols via API, and runs a bunch of real-time calculations.
I've done some reading about RAM, processor, and # of cores, but still not entirely sure which I should prioritize for my purposes. I've typically been filtering minimums of:
- 64GB RAM
- i7-10xxxx processor
- 6+ cores (I know the least about this variable, other than more seems better)
Qs:
- Those min specs (+4K display) however will usually limit me to $3K+ gaming laptops so I want to know whether, given my trading uses, some of those specs are just overkill.
- I also don't know how to 'trade-off' those specs against each other. For example, my old machine was:
- Intel i7-8750H (6 cores), 32GB, NVIDIA GEFORCE RTX 2080 8G Max-Q, 144Hz 3ms.
- So is that better or worse than: Intel i7-1165G7 4-Core, 64GB RAM, 512GB m.2 SATA SSD + 1TB HDD, MX450 (i.e. higher processor #, twice the RAM, but only 4 vs 6 "cores"?
- Should I care at all about processor performance in clocking tests? The 2nd set of specs in #2 above comes from the HP Envy 17t-cg...but I've been reading that despite the claimed raw specs, their performance for whatever reason has been quite bad when tested.
- I've basically been ignoring any graphics card specs, figuring those are moot for a trading / non-gaming machine. Is that right or might there be some advantage to a good graphics card?
Eventually you will want to replace Excel with an easy to program language such as Python. Because Excel isn't meant for this task, even Python would be faster. So many people are using Python, there are many places to go to find help. Here is a YouTube Playlist called
Python - Finance - All which shows you how to use Python to access the SEC, EDGAR database, TD Ameritrade and
Interactive Brokers. The
Interactive Brokers videos are numbers 49 to 56.
Later, you can also tweak Python to go faster using various methods such as branching to C++ for the slower parts or simply replacing code using
NumPy or
pandas. You can easily install Python with the free
Anaconda Distribution. Anaconda allows you to easily add or update all of the
Python packages or you can use Pip install.
As you mentioned, Excel is probably freezing because of the IB API calls. Either the data isn't coming through fast enough or there is corruption somewhere. With Python you would be able to test the data for corruption. Here is a book which also shows how to use IB data:
Algorithmic Trading with Interactive Brokers (Python and C++).
Whenever I build a system, the first thing I do, even before installing an O/S, is to test the RAM. If you haven't tested the RAM, you can do this overnight or while you are AFK. I always use free
MemTest86 with 3 passes. You write
MemTest86 to a USB stick and boot from it, bypassing the O/S. One sign of faulty RAM is a spontaneous reboot. Everyone building or buying their computer should test their RAM at least once and then yearly afterwards.
There is a Microsoft group called Sysinternals which makes several useful free utilities. The utilities are
Process Monitor,
Process Explorer,
Autoruns and
TCPView. I have used all 4.
Process Monitor allows you to monitor selected or all activity on Windows. If you run
Process Monitor, select what you want to monitor and wait for Excel to freeze, you might be able to deduce why Excel is freezing. The problem is Windows has a lot of activity in the background and
Process Monitor can create a huge log very quickly. I have never left
Process Monitor collecting data for more than 40 minutes, let alone 2 days.
Process Monitor can collect 1 million events in less than 30 minutes. If you set, Options > History Depth, to 1 million it should reduce the amount of RAM PM uses. Although, I tried this setting and it did not seem to work.
If you want to know the load your GeForce RTX 2080 is under, install free
TechPowerUp GPU-Z. I doubt it is using very much GPU capacity, probably under 45%. If anyone wants to know the load their GPU or built-in (CPU)GPU is under, use GPU-Z. If you are running your broker charting interface or are seeing an HD 60 FPS video and you want to know if your GPU can manage the load, use GPU-Z. If the load is greater than 85%, then you know you need a new GPU.
Finally, if you haven't already, you should make a
partition backup of your Windows and then tweak it. Windows 10 can have many unnecessary processes running. Having so many processes running simultaneously can cause your programs to stutter or lose performance. There are many sources to tweak your Windows. Here is one:
Speed Up Windows 10 in 2020.
Use all the above mentioned programs and utilities at your own risk. Make all changes to your system at your own risk.