[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Real-time datafeeds in Python



PureBytes Links

Trading Reference Links

Hi Joel,

it is correct that IB does not offer a C++ interface on UNIX.

Given these circumstances, and given your wish to write completely portable
code, I would agree that development in Jython/Java might be your best
option. JNI is definitely not advisable for your purpose; it is Java's
method of dealing with platform-dependent ("native") code which is exactly
what you want to avoid.

You would then be using either Swing or Eclipse (but not both as they do not
mix well) for GUI and graphics development. These are excellent Java
libraries, and a friendly war is fought between the two camps. Swing, being
pure Java, is completely and totally portable. Eclipse uses native widgets,
which may look a little more familiar to the user of an OS. Eclipse has not
been implemented on all OSs; however, it does run on Windows, Macs, Linux,
and QNX.

If you decide on using Eclipse (http://www.eclipse.org/), it comes with its
own free GUI designer built-in. If Swing (also free, and an integral part of
Java), you have a choice of GUI designers. The one most popular with
professional Java developers is IntelliJ's IDEA
(http://www.jetbrains.com/idea/index.html); unfortunately, it comes with a
$499 price tag, but it's well worth it. Saves one untold hours through its
many nifty features. (No connections etc.) One free GUI designer for Swing
would be NetBeans (http://www.netbeans.org/) which is good, but a little
unwieldy.

All the best wishes,

Michael Suesserott


----- Original Message ----- 
From: "Joel Reymont" <joelr@xxxxxxxx>
To: "Omega List" <omega-list@xxxxxxxxxx>
Sent: Tuesday, May 04, 2004 18:36
Subject: Re: Real-time datafeeds in Python


> Michael,
>
> >[Michael Suesserott]
> >probably the easiest way to interface with IB (don't know about MyTrack)
> >would be via IB's C++ API directly from Python using wrapper classes as
> >indicated.
>
> I would like the design to be as cross-platform as possible. Does IB
> offer C++ libraries on Unix? I believe it's just Java.
>
> I personally would like to have a setup that does not include Windows. I
> would need a separate Windows box just to run the data server if I were
> to use IB's C++ API.
>
> If Java libs were used for IB and MyTrack then people would have the
> option of running Uptick either on Windows or Unix. Maybe it should be
> said that if you cannot link to your market data vendor APIs on Unix then
> you are stuck with running Uptick on a Windows box.
>
> >[Michael Suesserott]
> >Another way to link to Java from Python would be via Java's JNI plus
Python
> >wrappers, but as IB offers a C++ API, why bother?
>
> Maybe using JNI to write the MyTrack and IB adapters would be the way to
> go. You will need to have both Python and Java installed but only because
> IB and MyTrack require it and that would be a cross-platform solution.
>
> Coding everything in Java and using Jython for writing your trading
> systems within Uptick seems like a more elegant solution. As a user of
> Uptick you won't likely have a need for all the libraries missing from
> Jython. As a developer you could always find the stuff you are looking
> for among the Java libraries available.
>
> What do you think?
>
>     Thanks, Joel
>
>
>