Systematic/Quantitative Trading Testing and Analysis Environment

Discussion in 'App Development' started by kojinakata, Apr 11, 2015.

  1. Hi everyone,

    I aim to be a systematic trader, however I cannot decide which software/programming language to choose to dive into for my purpose. I am looking forward to your advice.

    Let's say I have a MACD Crossover system in hourly graphs with a higher Time Frame filter. I also do risk management with like trailing stops and moving stop losses to specific points if certain conditions are met. Also position-sizing methods are incorporated to the system as well.

    With this type of system (once-a-day/swing trading), I want to be able to:

    • Do Backtests (BT) with multiple time frame analysis (to incorporate higher time frame filter and maybe a lower time frame to decide entry points)
    • Do BT with and without position-sizing method that I choose
    • Do BT with trailing stops, and move stop-losses when a position is open (to breakeven point, for example).
    • Review every trade in BT from the generated pictures of all time frames taken just before entering a position and just after closing that position.
    • Optimize parameters of certain indicators such as the MACD in H1, to optimize the parameter I choose (net profit or something else)
    • Generate 2D/3D graphs to see nearby values of the value chosen for the parameter after optimization (to avoid choosing a value from a peak, rather than a plateau-like space)
    • Do BT with optimized indicators and parameters.
    • Incorporate slippage and commissions
    • Generate reports (with net profit values, average gain per trade , account equity etc.) for before-optimization BT and after-optimization BT.
    • Do Monte Carlo Simulation and consequent analysis on the optimized system.
    • Do Walk Forward Analysis (rolling, preferably) with reports (similar to reports generated from backtesting)
    • Do Paper Trading (Incubation/Live Forward Testing, whatever it is called), and generate reports from that as well.
    • Do Portfolio Optimization, Testing and etc. (Don't know much about this topic, but I want to be able to manage trading in multiple instruments if I ever earn the money to be able to)

    So my question is ,

    What software/programming environment will allow these actions?
    R, Python, MATLAB, Amibroker, tradestation or something else?

    Money is an issue, so free is preferable.

    Any input, help or comment is appreciated on my methodology of building a trading system or software/programming environment to choose.

    Also, if you did not understand any part that I wrote, please ask, and I will make it clearer.

    Thanks and I wish everyone highly profitable systems [​IMG].
     
  2. 2rosy

    2rosy

    quantopian.com
     
    debitspread likes this.
  3. I don't think Quantopian can do Walk-Forward Analysis or generate 2D/3D graphs to see whether the optimized value has persistence in nearby values (whether the optimization returned a "peak" or "plateau" value) or do Monte Carlo Simulation.
     
  4. Sergio77

    Sergio77

    Amibroker: cheap and best. Takes a few weeks to learn but pays off.
     
  5. Obviously R, Python, MATLAB can do all this (as can most decent languages), although clearly there would be a lot of work to create the appropriate backtesting enviroment unless you used a third party package . R and Python are free. Of the two I'd choose Python. Although I write my own stuff there seem to be pre baked packages available like http://gbeced.github.io/pyalgotrade/ although I haven't used any.

     
    kojinakata likes this.
  6. Butterfly

    Butterfly

    QA Studio by Palantir/Thomson Reuters

    amazing piece of software,
     
    debitspread likes this.
  7. Jerry030

    Jerry030

    Orange is great if you are doing predictive analytics and wanting to anticipate future market behaviour in contrast to just writing some algos.
     
  8. xandman

    xandman

    Send Thomas Wiecki an email and tell us what you find.

    http://blog.quantopian.com/parameter-optimization/
     
  9. Have you already thought about the basics? How do you define a trade? Example: long 2 units at time 1, long 4 units at time 2 and long 1 unit at time 3. Short 3 units at time 4 and short 8 units at time 5. Which is your trade and what avg entry and exit does your trade/ do your trades have. Before you venture into big projects you should be solid on the basics. Forget about optimizations and all sorts of parameterizations if you do not even have a grasp at the concept of a trade or know how to structure an order management system. Without the above basics you won't even know what you are actually testing and optimizing.

    BTW, it took me 3 years and some to build a rock solid trading architecture from scratch. I don't know any retail platform that even handles half of what you are asking for. You better downgrade your expectations or get ready to pay others to code up such architecture or create it yourself. Just my 2 cents.

     
    kojinakata likes this.
  10. You were right that it is capable of Walk-Forward analysis however, the blog post doesn't mention any capabilities towards generating 2D/3D graphs to see whether the optimized value has persistence in nearby values (whether the optimization returned a "peak" or "plateau" value). I am going to comment on the post and will report after he answers.
     
    #10     Apr 20, 2015
    Jerry030 likes this.