Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Didicated NT8 PC Build Questions

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Didicated NT8 PC Build Questions

    Trying to spec out a dedicated PC for NT8 back testing and have a few questions. I am not looking for specific product recommendations just some info to make sure I choose the correct parts.

    1) According to the User Docs Minimum System Requirements has a line "DirectX 10 compatible graphics card".
    Since I have it open I will use NewEgg.com,

    https://www.newegg.com/Desktop-Graph...ID-48?Tid=7709

    As an example in the left column is a section for DirectX and them select DirectX10. Is that what I am looking for? Would 10.1 also work?

    2) Does NT8 have a limitation on the max amount of Memory it can use? Does Windows 10 have a limit? So in other words if there is a 16GB limitation of Memory usage then there is no need to install 32 GB's

    3) Does NT have a limit on Cores it uses? What about Threads? As an example the AMD Ryzen 3900X has 8 Cores and 16 Threads. Will NT8 take advantage of them all? If not what is the max Cores NT8 utilizes? No need to buy Cores that will not be used.

    4) There may not be answer for this but is there a noticeable difference in speed when using a DDR4 with a CAS Latency of 14 as opposed to a 16?

    Before I drop a bunch of money on a one purpose machine I would like to know what I am looking for.
    Thanks.


    #2
    I am looking into the same as well. DirectX 10 would be a minimum, anything higher is acceptable.

    As far are RAM it would depend the version of Windows 10 you use. The 32 bit Windows 10 only supports 4 GB whereas the 64 bit can address up to 512 GB for Pro and Enterprise. (You can do a search on that to verify). As for CPU the Microsoft site states: "Windows 10 supports a maximum of two physical CPUs, but the number of logical processors or cores varies based on the processor architecture. A maximum of 32 cores is supported in 32-bit versions of Windows 10, whereas up to 256 cores are supported in the 64-bit versions." Assuming that hasn't changed since 2015 when that question was answered don't go over 2 CPUs.

    I can't speak to how NT8 was programmed, so I will not touch that.

    I doubt that you would notice the difference on CAS latency of a difference that small.

    Good luck and post what you ended up with.

    Comment


      #3
      Hello TAJTrades,

      Thank you for your reply.

      While we can't give specific hardware recommendations, I can answer some of your questions.

      I believe 10.1 should be fine, it just needs to support at minimum DirectX 10.

      The 32 vs 64 bit probably won't apply to you, since pretty much every new PC is 64 bit now. NinjaTrader 8 does not have a limitation on the amount of memory it can utilize up to the max allowed by Windows. It also can use all of your logical processors or cores.

      However, there's not a clear cut answer to whether fewer physical cores but higher speed would give better performance than more physical cores at a lower speed.

      As NinjaTrader 8 is multi-threaded at all levels (UI + Under the hood) it will take advantage of multiple cores. So in principle, the more cores the better.

      However what is actually better will depend on your trading setup. For example:

      Let's say you have 4 charts with a bunch of Indicators. In this case the heavy load is distributed across 4 UI threads where each individual core has a chance to execute in parallel. In this case if the you had 6 cores but slower speed you would actually be worse off in scenario above since you actually would have benefited from more speed on the 4 cores in use than having more cores.

      This is in direct contract to if you have 20+ charts in which case more cores likely would serve you better.

      As rule of thumb, the highest number of cores at the highest speed is the goal. If you have to make a trade off then it depends on what you will be doing. If you're planning on running one, two, three, or four major tasks like running a strategy, then more speed would likely be better. If you will be doing a lot of multitasking then I would probably go with more cores.

      Other than that, I'll leave this open for our forum users to make suggestions.

      Please let us know if we may be of further assistance to you.
      Kate W.NinjaTrader Customer Service

      Comment


        #4
        Here is what I am confused about.

        1) The User Guide says "DirectX 10 compatible graphics card". That says to me that NT8 is built on 10.

        2) Now you post "I believe 10.1 should be fine, it just needs to support at minimum DirectX 10."

        Since Statements 1 and 2 are not the same here is the question since my knowledge of video cards is limited and all the info about video cards is geared towards the Gamer community: If I purchase a video card that ONLY supports DirectX 12 will that be a problem with NT8.


        Comment


          #5
          #TAJ perhaps think of it like software written for Windows OS vX.

          NT8 will run on Win7, 8, 8.1, 10.
          Same with DirectX -10 or later, DirectX 10, 10.1, 12 or any higher than 10

          Comment


            #6
            Originally posted by NinjaTrader_Kate View Post
            Hello TAJTrades,

            However, there's not a clear cut answer to whether fewer physical cores but higher speed would give better performance than more physical cores at a lower speed.


            Let's say you have 4 charts with a bunch of Indicators. In this case the heavy load is distributed across 4 UI threads where each individual core has a chance to execute in parallel. In this case if the you had 6 cores but slower speed you would actually be worse off in scenario above since you actually would have benefited from more speed on the 4 cores in use than having more cores.

            This is in direct contract to if you have 20+ charts in which case more cores likely would serve you better.

            As rule of thumb, the highest number of cores at the highest speed is the goal. If you have to make a trade off then it depends on what you will be doing. If you're planning on running one, two, three, or four major tasks like running a strategy, then more speed would likely be better. If you will be doing a lot of multitasking then I would probably go with more cores.
            Ya, read again what Kate said.

            For reference.. My primary machine is a pricey 2019 MSI Stealth Laptop with the fastest 6-core processor they sold and a Nvidia GTX 1070 graphics card with 6GB Ram, but only 16GB of main system RAM which is at least 4GB short of what I need. The system has constant RAM limitation issues and even though I set the GTX as the primary GBU it never exceeds 35% loading while the builtin cheap Intel GPU is suffering at 60-70% with display delays visually apparent. In addition to the laptop screen I run 3 4k displays but the Intel GPU can only handle 2 4k displays and so dumbs-down the third display to same res as the laptop screen.

            I seems to focus intently on 2-3 busy symbols and 3-4 slower moving symbols. So my next primary trading/analysis and development machine will likely be a desktop with a CPU built around 6-8 of Intel's fastest cores and loaded 32-64GB RAM.



            Therefore, I reply to you.

            If you need complex charts for 32 symbols at once then buy a new high end AMD Thread Ripper processor, video card that can support 2+ 4k monitors (more is much better) and 32GB of RAM.

            If you just need great performance on 2-4 symbols at once more processors will slow you down a lot because more of your core work will be scattered across typically slower processors, and NT code will make you sit through constant 'wait states' and sync processing for thread synchronization.

            In addition to the issue of "more processors can be slower if you just track 2-4 symbols" the C# & NinjaScript code you personally write has a higher chance of being a touch slower and requiring the additional complexity of managing multi- threading across multiple processors if you buy a PC with many cores.

            If you just need great performance on 2-4 symbols best answers is the fastest 4-6 Intel processor you can get (so generally not a laptop), video card that can support 2+ 4k monitors (more is much better) and 32GB of RAM.

            Edit: One more thing. NT8 (especially while saving real-time market data) is constantly writing to disk so make sure you primary disk drive is a high grade SSD like an EVO 970 Plus (500GB - 1TB)

            "Like" if you find this response helpful.
            Last edited by hedgeplay; 08-08-2020, 08:20 PM.

            Comment


              #7
              Bruce, thanks for the info on DirectX.

              HedgePlay, thanks for the your response.


              This will be a dedicated back testing machine running from 6 pm to 6 am and on weekends. Think back testing a batch of 4000+- stock and ETF symbols with hundreds if not thousands of iterations using EOD Daily, Weekly and Monthly Series. Maybe even tens of thousands of iterations, I don't know. Trying to keep the box build in the $1200 to $1500 range.

              The only decisions made so far are.

              SSD:
              The Samsung EVO 970 Plos or Pro appears to be the choice. Excellent reviews and one the highest rated Read/Write Speeds available with acceptable price. With NT8 data structures Read speed is the key when back testing.

              MOBO:
              ASUS TUF X570 Gaming Wifi. Built to Mil Specs and those guys beat the crap out of stuff. Has some built in heat dissipation which is probably important for long duration back test. X570 appears to be the best architecture.

              Ram:
              Crucial Ballistix 3600 32 GB's

              CPU Cooler:
              AMD:
              Ships with a cooler but will not know if an upgrade is needed until I stress it
              Intel:
              Noctua NH-D15. Or Corsair H115i RGB Platinum for liquid. Need to due more research for liquid or air.

              PSU:
              ThermalTake 750 Full Modular

              GPU:
              AMD:
              Do I really need a $500-$600 GPU with 140+ fps for back testing. I am thinking of a budget level GPU and put more money on the CPU.
              Intel:
              Thinking use the on board graphics until proven I need to offload it.

              Case:
              Fans! A lot of friggin fans. The wrapping has never impress me it is all about what is in the package.


              Which leaves the CPU question:
              Best bang of the buck appears to be the
              AMD:
              Ryzen 7 3700X 3rd Gen. 8 Core 16 Thread 3.6 / OC 4.4 4th Gen is supposed to ship in the next month of two so will hold until then to see some reviews and specs.
              Intel:
              Core i5-10600K 6 Core 12 Thread 4.1 / OC 4.8


              CPU options in the $400 to $500 price range. Both of these are about $425
              AMD:
              AMD Ryzen 9 3900X 12 Thread 24 Core 3.8 / OC 4.6
              Intel:
              Intel Core i9-10900K 10 Core 20 Thread 3.7 / OC 5.3

              Again here is the Thread vs Speed Question

              PS: AMD Threadripper 3990X is not a financial option no matter the cores or speed. $4000 for a CPU just ain't gonna happen.

              Any other suggestions would be greatly appreciated.

              FWIW I only trade the ES with a machine that is about 5 years old. Only 3 Charts of different time series with just 3 custom indicators per chart. Internet speed is much more important than computer speed for trading. Back testing is the exact opposite. Perfection is having both.

              Comment


                #8
                Hello TAJTrades,

                The faster the single threaded performance the faster the work on any given core can be processed.
                https://www.cpubenchmark.net/singleThread.html

                Backtesting in the Strategy Analyzer is performed on the CPU and not on the GPU.

                Regarding the internet connection, latency is more important than speed. In real-time NinjaTrader will not be sending or receiving much data. Even if the speed of the local internet connection is 1000 Mbps, if the latency to the brokerage or data feed servers is large (while I don't have the exact amount of time think over 200 ms) you may start to experience connection losses even with that high speed connection. Latency is affected by the distance to the servers and the ISP.
                Chelsea B.NinjaTrader Customer Service

                Comment

                Latest Posts

                Collapse

                Topics Statistics Last Post
                Started by jerminedop, Today, 12:18 AM
                0 responses
                6 views
                0 likes
                Last Post jerminedop  
                Started by cnzaxtoil, Yesterday, 11:38 PM
                0 responses
                4 views
                0 likes
                Last Post cnzaxtoil  
                Started by cnzaxtoil, Yesterday, 11:37 PM
                0 responses
                3 views
                0 likes
                Last Post cnzaxtoil  
                Started by sukhob, Yesterday, 04:27 PM
                1 response
                14 views
                0 likes
                Last Post zacharydw00  
                Started by Bmnaiorwsd, Yesterday, 07:52 PM
                0 responses
                4 views
                0 likes
                Last Post Bmnaiorwsd  
                Working...
                X