list of backtest platforms using .NET

Discussion in 'Automated Trading' started by badvestor, Jan 8, 2012.

  1. I've decided to automate my strategies in .NET only platforms that use C# or VB.NET. Can't find a online list of comparisions between products.

    This is what I currently have in mind:

    Backtesting with Ninjatrader (C#) . Trade Execution with Openquant (C#). Save intraday 1 min data in mySQL as well as saving each days tick data in .csv files. Data analysis with MS Excel 2010.

    I don't need microsecond execution as all strategies can handle several ticks slippage. I'm just afraid at this stage I don't even know what I need to know about future issues that may arise and more importantly if there are better solutions.
  2. why back-testing with ninja and execution with oq?

    why not just use one of the two for both btesting & exec?
  3. I am just curious why don't you want to backtest with OpenQuant?
  4. Hi OpenQuant,

    I assume you represent the openquant software?

    I have a question on the execution algo on openquant. can you help?

    let me give an example:

    consider I'm running a high frequency strategy and I currently hold a Long position.

    assume I have 100% of capital in my account allocated to this strategy.

    I know have a specific signal to switch - to close the long position and immediately go LONG another TICKER.

    clearly as I have 100% allocation to the first trade, the strategy needs to wait for: 1. the first trade to close and 2. the money returned to account and made available for the second trade. (otherwise the 2nd trade will fail i.e. insufficient capital in account)

    so my question is: is this possible in openquant? i.e. how does the algo treat account balance when it checks it? is it clever enough to wait for the first trade to close? how does it respond to insufficient capital in account?

    this might be a small issue with a market order where say, you can have a delay of some seconds for each new execution - but what if new all trades are no via market order - hence the second trade must wait until some x amount of time (which isn't fixed) before it sends the order so that it's successfuly goes into order book.

    appreciate your feedback.
  5. Hi,

    each OpenQuant strategy has a Portfolio object attached, which in turn has Account object, which you can access from your strategy. You can check account status before submitting the second order. This account is maintained by OpenQuant and is based on the initial money allocation and execution reports coming from your broker (or execution simulator). You can also request BrokerInfo from the broker any time in your strategy to check if OpenQuant maintained account is in synch with your real broker account.

    Something like this.

  6. LeeD


    Just for a reference, the platform doesn't have to be implemented in .NET itself in order to allow using indicator/trading strategy code written in .NET.

    NeoTicker supports .NET natively and AmiBroker via I'm sure there are many more platforms.

    I would concentrate on choosing a platform that does what you want at the price you can afford and worry about .NET later.
  7. to your points....

    tradelink is 100% open source (aka free) and :
    * is not just .net based but .net compliant (it will actually work with all .net languages like c#, vb, f#, etc/etc, which is not true of every project built in .net)
    * live trading on 15+ different brokers and feeds
    * super fast historical backtesting (300k-1m ticks/second)
    * supports both tick and bars for more realistic executions
    * supports tick capture and tick import from 10+ different sources
    * supports indicator export/import to R/matlab/excel for analysis
    * open source so the platform can grow with you rather than against you
    * mature; open source since 2008
    * 300+ developers on mailing list to get help; video tutorials online

    google tradelink project or for more info
  8. I use third party .dll's running on Ninjatrader which I use in some strategies. For other strategies I want to implement, I'm sure I can do the backtest in OQ.

    At this point, I'm agnostic on platform choice. Traders Studio is another platform I am looking into, it's VB based.
  9. I believe you can use third party dlls with OpenQuant as well. It's the same c#/.NET as in NT.


  10. Amibroker appears to be widely used in backtesting, however it uses it's own AFL code. I'm enrolled in a year long .NET university course and I want to focus only on platforms that use languages similar to C# or VB.NET. My trading has evolved into multiday swing trades and going back to university will help fill in my time. My primary goal is to automate my swing strategies, secondary objective is to leverage the programming skills I've learnt to transition back into a finance related career.
    #10     Jan 9, 2012