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
-~----------~----~----~----~------~----~------~--~---

Reply via email to