best open source auto-trading platform?

Discussion in 'Automated Trading' started by mizhael, Jul 3, 2009.

  1. Hi all,

    I am looking for the best open source auto-trading platform, based
    upon which I could build my auto trading system. Hopefully it is
    mature. It can link to InteractiveBrokers and has lots of users to
    discuss with, and has order management facilities. And it also has the
    capability to do both backtesting, papertrading, and real-trading.
    Moreover, hopefully it has lots of indicators, much like TradeStation.

    Please give me some pointers! Thank you!


    Maybe I should drop the requirement of "lots of technical indicators",
    because for that maybe TradeStation is better anyway... so the
    workflow will always be to use TradeStation to do historical back-test
    and then use ATS+IB to do real trades...

    Any thoughts?
  2. bodanker


    It's not a mature set of tools, but I'd encourage you to check out the following R packages: quantmod, xts, TTR, IBrokers, PerformanceAnalytics, and blotter. Unfortunately, blotter is still in heavy development (you can find it on r-forge).
  3. academic


  4. chvid


    bodanker - what is the trick of "blotter"?

    I downloaded it and tried "the turtles" example.

    I don't get what is special about it other than it runs amazingly slow on my mac?

    (Also is there any documentation of it?)
  5. bodanker


    What kind of "trick" do you expect?

    It's not "special" in the sense that it does something other software doesn't, but it's the only publicly-available way to run transaction-oriented trading simulations in R. "Heavy development" means "not optimized for speed", among other things.

    Try ?blotter from the R prompt for general package information. Many functions have man pages that can be accessed similiarly.
  6. chvid


    Ok. Thanks. I am a newbie at R. I did not mean belittle it in anyway.
  7. bodanker


    You're most welcome. I didn't think you were belittling it, but I did want to know if you thought it should do something that it doesn't currently do.

    If you have questions, you can contact the package maintainers (for any package) or post on the R-SIG-Finance mailing list. You'll need to sign up first, and please do read the posting guide - it will help you get the most out of the list.
  8. Could you say more about these tools? Can they submit orders? How good are these tools compared to JSystemTrader and JBookTrader, etc.? What's special about these tools?
  9. bodanker


    I can't compare these tools to JSystemTrader or JBookTrader, since I have no experience with either of those packages. All I can say is the two Java packages seem geared toward developers, and the R packages are aimed more toward end-users. Though I'll concede that R has a steep learning curve if you have no programming experience. It won't be as easy to use as something like EclipseTrader, but it's very powerful.
    • quantmod has charting functionality (and uses TTR's technical indicators) and data management, among other things.
    • All the packages use xts, which is an eXtensible Time Series data class. It's optimized for time series data and allows for easy conversion to/from the several time series classes in R.
    • IBrokers is a native R API to IB's TWS (it allows you to acquire data, submit orders, etc. *without any warranty!*).
    • PerformanceAnalytics is a library of econometric functions for performance and risk analysis, utilizing the latest research in analysis of non-normal return streams.
    • blotter provides transaction-oriented infrastructure for defining instruments, transactions, portfolios and accounts for trading systems and simulation.
    I hope that helps.
  10. chvid


    I think the biggest difference is the programming language/environment: R vs. C# or Java.

    C# and Java are object orientated application development languages with an edit/compile/run-cycle and big IDEs like Netbeans or MS Visual Studio.

    R is a mathematical/statistical scripting language with a command-line interface where each command modifies your workspace giving a more direct explorative form of programming.

    R is "mathematical" in the sense that it has basic primitives like vectors and shorthands for plotting and visualization.

    My sense is that R is very useful for prototyping which is where I spend most of my type pt.


    Anyway - when I started this I looked a lot at SmartQuant (which is commercial) and eventually made my own setup.

    Most frameworks seems to be focused on basic mechanical rules like single instrument moving averages-rules which I found to be unfruitful.
    #10     Jul 5, 2009