Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
Choosing a backtesting & automated trading platform
Hello everybody, first post by a long-time lurker...
I'm looking to invest in a piece of backtesting & automated trading software, but I'm having trouble finding something that will fit my (admittedly rather steep) criteria... I want to implement strategies ranging from rotational systems, to statistical arbitrage, to standard TA-based systems. And backtest all of them in conjunction with eachother with risk/money/portfolio management overlays on top.
In short, here's what I'm looking for:
First of all, multi-instrument multi-strategy portfolio-level strategy backtesting and trading.
Dynamic enabling/disabling of strategies and allocation of capital to specific strategies or even strategy/symbol combinations based on: relative (to other strategies) and absolute recent strategy and strategy/symbol combo performance and risk metrics, market conditions, strategy return correlations, etc.
Keep track of theoretical returns to disabled strategies. For example if a previously disabled strategy returns to profitability I want to be able to turn it on again automatically.
Dynamic strategy prioritization, i.e. I have a dozen strategies running on a single instrument and two of them give conflicting signals. Depending on market conditions or strategy performance I may want to prioritize either one (or possibly even combine them).
Backtesting with walk-forward optimization.
Analytics for every level: portfolio-wide, strategy-specific, instrument-specific, strategy/instrument combo-specific, even custom groupings.
Powerful programing capabilities; easylanguage won't cut it.
Some of the institutional-level platforms seem to fit the bill (flextrade, tethys execta, quantfactory) but I am nowhere near being able to afford them.
On the cheaper side after a lot of googling and forum-reading I have found several solutions, none of them really good enough:
Tradingblox is, I think, the closest I can get but it lacks the automated trading bit (which is a gigantic minus) and it's unclear how powerful its money management/portfolio management is.
Tradersstudio pro looks interesting and seems to cover a lot of the features I'm looking for, but their website looks a decade old and their forums are dead which is never a good sign; also no automated trading. A less polished (and far cheaper) tradingblox basically.
WLD comes somewhat close but the position sizer is rather limited and it lacks a bunch of features I need.
Amibroker also seems to hit some of the points but not all, and the language appears to be somewhat...esoteric.
So what do you use and what would you recommend? Can I wrangle any of the retail platforms into doing something close to what I want or should I just write my own?
If I were to write my own I'd want to only generate signals from it and then use another platform for charting and orders. What would you recommend in this case?
Can you help answer these questions from other members on NexusFi?
I would use Matlab in conjunction with an execution platform, but do all the analysis and testing in Matlab. This is really the only way to have such control over everything.
Otherwise you should consider using multiple platforms to get what you need.
While I love matlab, I really don't think it's the appropriate tool for all of this. Among its many problems are speed (whenever you need a loop), the pain of managing financial time series data and keeping it synchronized across instruments, lack of stability...the list goes on.
I'm probably going to go with a matlab-MC (the upcoming .net version is promising) combo. There is no real reason to change portfolio-level parameters (except in exceptional cases I suppose) intraday for my strats, so I can simply export data and perform my analyses after markets close, then change parameters back in MC as necessary. With MC .net I imagine it will be trivial to call up the matlab engine if it's needed anyway.
Backtest-wise i can just export both the equity curves and the trades to excel, and then they're a copy-paste away from matlab...after that things should be (relatively) easy. This leaves me without all the build-in analysis tools of a purpose-made backtesting tool, but naturally most of that stuff can be replicated with ease in matlab.
So, did you go with MATLAB+MC combination finally? How has been the experience so far? I am interested to hear what you have to speak on this topic. Also, what is the cost for owning the softwares you mentioned viz. flextrade, tethys execta, quantfactory? Thanks.
I never even bothered getting a quote for those, they're targeted towards institutional investors...far out of my league.
The MATLAB + MC combination is a bit of a pain in the ass, but adequate (for now). I'm switching to MC .NET soon which should make things a bit easier.
I haven't really gotten to the live implementation stage, so I'm sure I haven't encountered all the obstacles yet. I'm still really just setting things up, writing utilities needed to turn MATLAB into a useful testing and portfolio management platform, from data handling to various backtesting tools, to risk management, to results reporting, etc... It's going to take a while.