Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Market Order execution times

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

    Market Order execution times

    On measuring execution times in Sim for Futures contract MNQ I'm seeing round-trip
    elapsed times to Filled status in the high end of the range of 200-300 milliseconds.
    This is for Market orders for single contract lot sizes.

    Soon, I'll post some Live timings for Rithmic order routing.

    Normally, I don't use Sim or Demo accounts much, but that's seems a bit slower
    for Sim than I was expecting.

    [edit] these timings are from a dedicated server in New York City which has
    roughly a 16 msec ping round trip to Chicago. Of course I don't know where your
    Sim servers might be situated, or how much of Sim is just internal to NinjaTrader.

    hyperscalper
    Last edited by Hyper; 09-21-2020, 11:34 AM. Reason: a bit more

    #2
    OK, I nervously took my first couple of Live Market executions, which
    use Rithmic, and I'm seeing round-trip Market orders for MNQ futures
    in the range of 170 milliseconds.

    [edit] again, this is from a dedicated server in NYC with a ping round
    trip of about 16 msecs to Chicago; where signal and execution all originate on the
    server itself; so there's no "manually click the button delay" here at all.

    I was expecting a bit faster, but this is only preliminary.

    hyperscalper
    Last edited by Hyper; 09-21-2020, 12:17 PM. Reason: some more

    Comment


      #3
      As gamers know; disabling network "Nagle algorithm" can reduce network latencies; and
      I think I'll fiddle with the Windows 2016 server on that, since I am hoping for a faster round-trip.
      hyperscalper

      Comment


        #4
        There are no 'sim servers' per se. All simulated trading is handled locally by NinjaTrader on your PC, so any travel time is purely a result of the simulation engine logic. You can read more about the simulation engine here:Rithmic has different 'gateways' around the world. These are called 'Systems' in the configuration of a Rithmic connection. Servers without a location specification in their name are located in Chicago, however, if it's possible to use a 'System' with a closer geographic locatation to your PC you may attempt to do so and see if that improves latency.

        Comment


          #5
          I followed some recommendations to disable Nagle network delays, which involves
          2 Registry keys.

          Currently I'm looking at 140 msecs in MNQ micro Nasdaq futures as a full round trip
          for Market Orders to Filled status with Rithmic routing from a fast dedicated server in NYC.
          This measures from the start of the request to Filled status returned in OnOrderUpdate.

          For reference, here are the Nagle disable (hey, that rhymes!) recommendations I followed:

          https://ttcshelbyville.wordpress.com...-be-happening/
          The registry changes are clearly documented in that article; with command scripts.
          I did reboot the server after the changes.

          I haven't independently verified that this genuinely disables Nagle delays, but I am seeing slightly
          faster round-trips. I'd like to get below 100 msecs, eventually. Hope springs Eternal... lol

          [edit] for Patrick, the Rithmic connection specifies "Rithmic 01 (Chicago)" as the server, from
          my hosted dedicated server in New York City.

          [edit] if I Ping "cme.com" from the server (no idea whether that is in Chicago, but a good
          guess) then I get a 22 msec ping round-trip, just FYI, to give an idea of the network
          latency.

          hyperscalper
          Last edited by Hyper; 09-21-2020, 06:26 PM. Reason: a bit more

          Comment


            #6
            I'm seeing times close to 130 msecs now; but am wondering whether I should
            demarcate the terminal Filled status by responding to OnOrderUpdate, which
            I am currently doing; or to handle OnExecution and perhaps get status back
            earlier from the Order object... I could fiddle with that, but don't suspect it
            should yield that much gain in discovery of the end status.

            What I like is the consistency and reliability of execution. I haven't yet
            seen any Rejections or Cancellations of orders. Just using Market strikes,
            though; not messing with Limit or other order types.

            Ninja Rocks as a development platform; but you all already know that !

            hyperscalper

            Comment


              #7
              Hey, after a spectacular bout of confusion, denial and ultimately understanding between
              myself and NinjaTrader, Inc. I now have access to CQG along with My Rithmic brokerage.

              So I can see the performance of CQG Order Entry and I'm pleased to report that it can be
              as fast as Rithmic, although it appears to be just a bit more variable in latency.

              Typical Rithmic performance for me is 140 msecs or less; and I also see that in CQG.
              [edit] but I have seen CQG fills out to 250msecs at times; and that variability is
              not typically seen with Rithmic.
              I am doing Micro NQ contracts; so they may have more variable performance than their
              e-Mini versions, of course. I've seen times down to 100 msecs. Again, these are
              the less liquid MNQ and not the NQ contracts; but very respectable performance
              from my dedicated New York City server.

              But, just wanted to say that CQG Order Entry performance, relative to Rithmic is
              quite comparable, from what I've seen so far.

              hyperscalper

              Comment


                #8
                Just to add a little more to execution times. With Rithmic routing, from a dedicated server in an NYC data center, I am seeing 77 milliseconds round trip for Rithmic routing. This includes tweaking Win32PrioritySeparation and setting an Affinity for a single physical Xeon processor core plus disabling "Nagling" in networking, and running an Unmanaged Strategy. That's a fairly consistent execution time on MNQ Futures; so Rithmic does offer an edge in routing. That's from beginning of Market order request to Filled status, round-trip. That's not quite twice as fast as CQG routing, but I've said elsewhere that Rithmic is more consistently quick with less variability in timings, just FYI. I am very happy with that performance right now.
                hyperscalper

                Comment


                  #9
                  And on the subject of Rithmic Market Data, specifically the Depth of Market. I've been able to incorporate 80 price tier levels both above Ask and below Bid, usefully, with the Rithmic DOM feed. Since I analyze the heck out of all that DOM data; it can be a real benefit for DOM trend analysis. I was surprised to find useful data so far from the inside market. These OnMarketDepth callback events for the Rithmic Market Data feed, can peak at nearly or slightly beyond 1000 events per second, which does require careful coding !!! The NinjaTrader platform is really the best available anywhere for the retail trader, for sure !!! hyperscalper

                  Comment


                    #10
                    CQG versus Rithmic Order routing and executions are perhaps a factor of 2x during relatively
                    quiet periods. Rithmic times (from a NYC server, so deduct maybe 20 msecs) are best
                    case 60-70 milliseconds for full round trip Market order; whereas CQG tends to be in
                    the range of about 2x those times.

                    But during volatility, CQG times can push out to 400-500 milliseconds; whereas the
                    Rithmic route does not suffer from such an extreme variability. I'm looking mainly at
                    the MNQ (micro Nasdaq) contract; and keeping things as comparable as possible.

                    Obviously, this represents delays on the execution end; which take advantage of
                    "aggregation" and CQG is certainly fine for non-critical executions; and the cheap
                    margins per contract are a definite benefit for traders with less funds.

                    But Rithmic is clearly the premium route; although the margin requirements for
                    the MNQ contract are about 7x those at CQG. This is a significant penalty for
                    the underfunded trader; but for critical performance, and for adequately funded
                    accounts, where automated or semi-automated methods are being used, the
                    Rithmic routing and executions are clearly beneficial.

                    All just information that might help traders to differentiate and evaluate the two major
                    options.

                    hyperscalper

                    Comment


                      #11
                      OLD THREAD, but wanted to update on observed round trip
                      Market Order execution times on CQG for MNQ futures.
                      65 MSECS from New York City dedicated server location,
                      with variability average around 100 MSECS is pretty good !!
                      hyper

                      Comment


                        #12
                        Thanks Hyper.
                        Are times Today the same?
                        Also I'm searching for broker to work with fast bars (5-20 Ticks) with your timing there, so i need some broker
                        with fix Commissions. I can do even 1000-2000 trades per day for fast bars.
                        What is your recommendation?
                        Thanks very much for all your updates and info.
                        Isaac.

                        Comment


                          #13
                          Originally posted by IsaacBillion View Post
                          Thanks Hyper.
                          Are times Today the same?
                          Also I'm searching for broker to work with fast bars (5-20 Ticks) with your timing there, so i need some broker
                          with fix Commissions. I can do even 1000-2000 trades per day for fast bars.
                          What is your recommendation?
                          Thanks very much for all your updates and info.
                          Isaac.
                          I have moved my dedicated server to Chicago with about 1 msec ping; and am using Rithmic
                          market data / routing. This means NinjaTrader runs on that colocated server, and not on my local
                          desktop; which means you would code a strategy that allows you to "delegate" trade strike
                          decisions to the server, since it has the fastest roundtrip time to the exchange, so can
                          recognize "fast setups" and react optimally; if you are doing as you describe above.... Hyper

                          Comment


                            #14
                            Originally posted by Hyper View Post

                            I have moved my dedicated server to Chicago with about 1 msec ping; and am using Rithmic
                            market data / routing. This means NinjaTrader runs on that colocated server, and not on my local
                            desktop; which means you would code a strategy that allows you to "delegate" trade strike
                            decisions to the server, since it has the fastest roundtrip time to the exchange, so can
                            recognize "fast setups" and react optimally; if you are doing as you describe above.... Hyper
                            Thank you Hyper.
                            And regarding commissions?
                            Can you trade 2000 orders per day and stay profitable at Rithmic/other broker?
                            Do you have a Fix Price Plan?
                            Regards

                            Isaac.

                            Comment


                              #15
                              Originally posted by IsaacBillion View Post

                              Thank you Hyper.
                              And regarding commissions?
                              Can you trade 2000 orders per day and stay profitable at Rithmic/other broker?
                              Do you have a Fix Price Plan?
                              Regards

                              Isaac.
                              Well, I trade NQ / MNQ only. As you'll know, for NQ (the eMini) you have
                              $20 / Pt or $5 / PriceTick P/L. Assuming $2.00 per side, that's R/T $4.00,
                              then you can begin to profit on a Single tick NQ Target profit. But if you took,
                              say, 1 Point, then you'd net $20 - $4 = $16 per contract scalp trade. I use LeeLoo
                              plans, which provide Rithmic paper trading emulation (unless special
                              arrangements are made for paid trading). This is a fully realistic Sim
                              which is indistinguishable from Live; but there is a minimum 30 millisecond latency
                              from "wire timestamp" to receipt of market data; and I have yet to measure
                              a live market feed to see how much that latency would be reduced...
                              [edit] I've spent over 2 years on the Ninja "unmanaged" Strategy code
                              which uses a WinForms user interface, and extensive very eXtreme triggering
                              capabilities; so this is not something achievable without that level of long
                              term software development effort; I'm sure you'll already realize.
                              [edit] Seriously consider colocation of your dedicated server (not a VPS)
                              on which your Ninja would reside; and communicate with it by setting
                              trigger parameters, which the server side can take autonomously; since
                              the latency to your home/office will likely be prohibitively long..... And that
                              means designing software which "delegates" decision making to the
                              server for strikes which depend upon low latencies, not to mention all
                              of the other issues, such as managing your own orders, etc.... Not for
                              anyone who is not fully committed to learn it all....
                              Hyper
                              Last edited by Hyper; 10-27-2022, 11:49 AM.

                              Comment

                              Latest Posts

                              Collapse

                              Topics Statistics Last Post
                              Started by traderqz, Yesterday, 09:06 AM
                              3 responses
                              21 views
                              0 likes
                              Last Post NinjaTrader_ThomasC  
                              Started by f.saeidi, Today, 10:19 AM
                              1 response
                              5 views
                              0 likes
                              Last Post NinjaTrader_BrandonH  
                              Started by kujista, Today, 06:23 AM
                              5 responses
                              17 views
                              0 likes
                              Last Post kujista
                              by kujista
                               
                              Started by traderqz, Today, 12:06 AM
                              3 responses
                              6 views
                              0 likes
                              Last Post NinjaTrader_Gaby  
                              Started by RideMe, 04-07-2024, 04:54 PM
                              5 responses
                              29 views
                              0 likes
                              Last Post NinjaTrader_BrandonH  
                              Working...
                              X