Beyond R, or on the Hunt for New Tools

For more than four years now (judging by the first post on my old blog), R has been my primary tool for market research. It has thought me a lot, and it has helped me to me advance smoothly in the field of semi-automated trading. Lately however I started realizing that R is lacking essential tools for my new needs and after some serious deliberation, I have decided (surprisingly for myself) that R is NOT the right platform for my new research.

For about few months now, I have been working on strategies for trading US future markets. In terms of duration – nothing new, the strategies I have been researching are mostly daily. In my experiments however I found an ever growing need for a good charting support. Nothing really can beat the eye in terms of evaluation and pattern spotting. That’s when I started feeling uncomfortable with R.

R does have great packages for charting, but these are mostly “static” charts and after considering briefly creating a new package for interactive financial charts, I decided to look elsewhere.

Some of the strategies I looked at, exposed other R shortcomings. Strategies that require advanced risk management, like stop loss, stop trailing etc, are simply not suitable for an efficient implementation in R. My experience with the quantstrat package was simply annoying, but my own btutils package, which had no issues with performance (it’s simply C++ interface), was not satisfying either.

Let me emphasize, this wasn’t the first time I hit obstacles with R. Until now however the benefits of using R have always dwarfed the little inconveniences here and there. This time however things were different – R wasn’t providing much in terms of infrastructure either. For example, for futures, there is no convenient getSymbols interface, no great support for futures as instruments either.

Thus, it was time for a change. After some research, I found a tool to fill, at least temporarily, the gap – Ninja Trader. It’s a nice charting program, but what I really love about it is the backtesting platform based on C# and their excellent forum-based support. Oh, and did I mention, it’s free until one needs a brokerage connection! Tough to beat for proof-of-concept work based on charts.

So, is Ninja Trader going to be my platform then? Not at all. In fact, I am already seeing areas which make Ninja Trader an unlikely choice. However, it’s definitely here to stay, and I might have a post or two (especially if there is interest) to show how I am using it.

As to what the next tool is going to be … it will have to wait, but I must tell you, there are certain developments that make me feel quite excited.


  1. qusma says:

    The hunt never ends until you roll your own. And even then, it probably takes a couple of attempts to get it right.

    1. ivannp says:

      Exactly, that’s where I am at the moment. 🙂

  2. Paolo says:

    Have you considered Amibroker? Very similar to Ninja Trader (Amibroker is superior in my view) and there is also an interesting R plug-in which would allow you to save most of the work you have already done in R.

    1. ivannp says:

      Have looked it very briefly before. Probably worth taking another look. Thanks.

  3. Michael says:

    Could you elaborate on the shortcomings you have found with Ninja? I’m in a similar boat.

    Also, if you’re using the free Kinetic EOD feed, does it actually supply historical data? My understanding was that Ninja lets you record you feed for your own purposes, but that they didn’t actually have a direct way for you to see historical data.


    1. ivannp says:

      It does, up to 10 years! For futures however I don’t like the quality of Kinetic’s data. For stocks they support also Yahoo and Google. So it looks pretty good, but … be careful. In some cases they merge the data (not sure about Google/Yahoo but certain after an import and then using Kinetic) and the results, especially for futures are horrific.

      I have opened some features request to address that, let’s see what they do in NT8. If I have time, I may write a post sharing more details about data handling.

  4. Michael Berman says:

    I am in a similar boat to you, would be interested to hear how you are using NT, as someone coming from R

  5. Clnx says:

    Hi QSMA,



Leave a Reply