Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

kojinakata

Systematic Trading Testing and Analysis Environment

Recommended Posts

Hi everyone,

 

I aim to be a systematic trader, however I cannot decide which software/programming language to choose 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 (swing trading), I want to be able to:

  1. Do Backtests (BT) with multiple time frame analysis (to incorporate higher time frame filter and maybe a lower time frame to decide entry points)
  2. Do BT with and without position-sizing method that I choose
  3. Do BT with trailing stops, and move stop-losses when a position is open (to breakeven point, for example).
  4. 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.
  5. Optimize parameters of certain indicators such as the MACD in H1, to optimize the parameter I choose (net profit or something else)
  6. Incorporate slippage and commissions
  7. 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)
  8. Do BT with optimized indicators and parameters.
  9. Generate reports (with net profit values, average gain per trade , account equity etc.) for before-optimization BT and after-optimization BT.
  10. Do Monte Carlo Simulation and consequent analysis on the optimized system.
  11. Do Walk Forward Analysis (rolling, preferably) with reports (similar to reports generated from backtesting)
  12. Do Paper Trading (Incubation/Live Forward Testing, whatever it is called), and generate reports from that as well.

 

So my question is :),

 

What software/programming environment will allow these actions?

R, Python, MATLAB, Amibroker, TradeStation or something else?

 

Also, just to make things harder, I am an university student so money is an issue :).

 

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 :).

Edited by kojinakata

Share this post


Link to post
Share on other sites

The answer: ALL OF THEM. SImple like that. The answer as useless as the question. Because "will allow" does not mean efficient / cost effective.

 

You need to do a lot more homework - and use your brain a little more - before even considering doing testing.

 

For example you name a programming language (Python). As someone who has invested maybe 5-6 man years in developing the infrastructure to do what you want to do with C# - let me tell you that the language is irrelevant. As in Either you go with an existing framework, or the work you do will be LARGE; regardless of the language. Just visualizing and analyzing backtest data will take a lot of time. Writing an testing every single indicator you plan to use (and you will use a lot more than you have now) will take time. Writing a good exchange simulator will take time.

 

Unless you have a SERIOUS programming background (which I assume you have not given the way the question is formulated) you have like zero chance to finish this to a usable state. So you are better of doing with a higher level / trading ready framework like NinjaTrader (as crapy as that is in parts)... simply because the alternative is "not finishing anything".

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.