Does IB offer one? If so, I've been unable to locate it. On Thu, Aug 20, 2009 at 7:45 AM, [email protected] < [email protected]> wrote:
> > Same problem occurs with JSystemTrader, if you compare live records of > the market with historical download on the same periode, some > differences happen. > I try to synchronise my PC with an atomic time server every 15 min. I > still have differences. > Would it be better to use IB time server Instead of using an atomic > time server? > > On Aug 20, 4:53 am, nonlinear5 <[email protected]> wrote: > > The long time JBTers are aware of this problem: when multiple people > > run the same strategy in the same time frame, their results may be > > different. For the benefit of everyone, I'd like to explain why this > > happens, and perhaps someone would come up with an idea to improve the > > consistency. > > > > When JBT runs in the "trade" and "forward test" mode, it's driven by a > > timer which fires 1 time per second. Every time the timer fires, JBT > > calculates the depth balance as the midpoint between the lowest and > > the highest depth balance observed during that second. This midpoint > > balance is what gets fed to the indicators, which ultimately generate > > trading signals. This approach works fairly well. We've run multiple > > multi-user tests in the past, and I am also regularly checking my > > results with another JBTer who runs the same strategies. Most of the > > time, the results match well, with occasional exceptions. Here is why > > these exceptions occur: > > > > The timer uses the computer clock, and obviously, everyone's clock is > > different. When user A samples 1-second interval, it may be, say, > > 10:00:05.200 to 10:00:06.200 real time period. By "real time", I mean > > the most precise, atomic time, which is the same for everyone. At the > > same time, user B sample could be 10:00:05.900 to 10:00:06.900, > > measured by the same atomic clock. So, users A and B are "out of > > phase" by about 700 milliseconds. As a consequence, their min/max > > depth balance observations would differ by small amount. Now, imagine > > that some strategy triggers a long trade when the indicator value > > exceeds 100. Because of the small differences, the indicator for user > > A may reach 100.01 and trigger a trade, while the same indicator for > > user B may reach 99.99 and drop off, never triggering a trade. An > > additional source of the differences is the PC clock drift, which may > > cause JBT to sample overlapping periods, or to have gaps in the > > samples. > > > > Here are a couple of ideas that I have to improve the multi-user > > consistency: > > > > 1. Instead of the midpoint depth balance, use a 1-second average (or > > an exponential average) of the depth balance. > > > > 2. Instead of using the PC clock, obtain the atomic time from a time > > server (such as the US Naval Observatory time server), and trigger > > depth balance sampling based on the changes in that atomic clock. This > > would involve continuous polling of the time server, multiple times > > per second. This is easy to do in Java, but it may not be reliable, as > > the server may go down. The server may also deny service, if the > > requests are deemed to be too frequent. > > > > If you have any other ideas, feel free to share with the group. > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "JBookTrader" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jbooktrader?hl=en -~----------~----~----~----~------~----~------~--~---
