Robust, reliable and replicable strategy framework

UberMachine

Well-Known Member
#1
Hello everyone,

Robust, reliable and replicable strategy framework

Robust
  1. Could be statistically tested
  2. Can be used to generate live orders
  3. Compare performance against expected vs actual trades to spot out errors
  4. Easy to get started without too much technological stuff (installation and programming a few scripts is fine) and runs on multiple platforms or on a virtual machine
  5. Can be tuned/optimised once the parameters are known
  6. Not tied to any proprietor software/vendor and the ability to look through execution (without any magic)

Reliable
  1. Works in an expected way
  2. Can spot common errors
  3. Could run on a lot of instruments/stocks
  4. Provides backtesting, order implementation and performance analysis within a single framework

Replicable

  1. Always provides the same results given the same inputs
  2. Ability to backtest, execute strategies based on a domain language instead of arbitary code
  3. Could be easily ported from one machine to another and from one datasource to another

Most frameworks fill a lot of boxes but not all of them. The main thing I am missing are
  • Domain specific language for backtesting
  • Real time performance evaluation
  • Spotting out common errors

Is there a unified framework something similar to software frameworks that covers almost 90% of the use cases?
If not, then what are your suggestions for such a framework.
 

rmike

Well-Known Member
#2
The replicability part requires the data (sample, or otherwise) to be exactly the same

As regards the other parts, there are many ways to go about it. However, rather than reinvent the wheel by re-implementing everything via the language route e.g Python, C++, C# etc, it may be more practicable to use an already developed and tested platform with a wide user community, plentiful web resources and good tech support!!!

My personal recommendation is for amibroker. But a new user must make this decision based upon specific requirement(s) in terms of trading methodology, end result and preference(s). Any trading platform will require an investment not only in monetary terms but in terms of time and effort too, for gainful utilization!!!

Regards,
 
Last edited:

trendtrade

niftytrader12
#3
The replicability part requires the data (sample, or otherwise) to be exactly the same

As regards the other parts, there are many ways to go about it. However, rather than reinvent the wheel by re-implementing everything via the language route e.g Python, C++, C# etc, it may be more practicable to use an already developed and tested platform with a wide user community, plentiful web resources and good tech support!!!

My personal recommendation is for amibroker. But a new user must make this decision based upon specific requirement(s) in terms of trading methodology, end result and preference(s). Any trading platform will require an investment not only in monetary terms but in terms of time and effort too, for gainful utilization!!!

Regards,
Thanks for your reply @rmike. I completely agree that a lot of time and effort could be saved, if we use the tools already available for such analysis work.

Have you ever tried multicharts as well, or if you do most of the analysis in amibroker only ?

Best regards
 
#4
There are many tested (over decades) systems already available! You should decide on what you want to do and then select any system,
"discipline" myself to follow that system.

Charting software - in my experience, no other charting platform offers the flexibility offered by Amibroker.

Prior to purchasing Amibroker (abt. 3 months ago) I already had two other charting software- not naming them, one purchased in 2002
and the other in 2011! Have started trading only recently, however my tryst with technical analysis started in 1989!

You may download the trial version of Amibroker from their official website - if you desire to use Amibroker then master "AFL"
when using the trial version - AFL allows you to do anything - repeat anything wrt systems and methods for trading - do not need any other
charting platform! Check out the Amibroker forum to see how helpful the old users are !!
 

rmike

Well-Known Member
#5
Have you ever tried multicharts as well, or if you do most of the analysis in amibroker only ?
I haven't tried Multicharts, but going by forums chatter - it too is a capable platform, except that it doesn't seem to have true Portfolio Backtesting and is fairly heavy on the resources plus a fair bit slower in execution. Apart from trying out Aptistock when starting out, I've been an amibroker user ever since I first stumbled across it :)

BUT this is not quite the take away or the context of my previous post

Irrespective of whatever platform is being quoted as the best, such posts/ threads have the potential to degenerate into claims & counterclaims of the best ever or rather mine is bigger than yours :) kind of childish squabbles!!!

So just to put it all in context ......

The thing is that proficiency in trading and proficiency in using TA platform are two different acquired skillsets!!!

If you already have a profitable strategy - All you need is a webpage with live charts!!! The only modifications you may wish to implement would be that the chart paint your entry/ exit signals AND that the signals transmit a corresponding trade order to your broker terminal (automation) OR convey an alert to you, at the very least!!!

This is the most optimal solution as all concerns pertaining to live data, its quality, adjustment for splits, bonuses etc are taken care of. There are no initial/ recurring licence fee(s) for using a proprietary platform and the setup is the lightest of all on system resources!!!

If you don't have a strategy (profitable or otherwise, to begin with) - This is when you need a platform for strategy development and testing. An established platform comes with the advantages of various modules like charting, pre-built indicators, native functions, backtesting etc already implemented rather than you having to build everything up from scratch!!! You can then use it for implementing your ideas & the ones you read/ hear about and testing them out to see if they work as per your expectations. Your ability to develop your strategies would be dependent upon your proficiency in utilizing the chosen trading platform to its fullest potential - which in turn would be dependent upon your commitment to invest time and effort to master the nuances of the chosen platform!!!

In addition you'll also need a test dataset and datasource of good quality/ integrity!!!

The selection of a trading platform could also be influenced/ based upon your experience and beliefs. If you already are familiar with easy language, you'll feel right at home with multicharts. Same goes for C/ C++ with amibroker and for C# with ninjatrader

If supposing, you have a great belief in the market profile and volume footprint approach to trading then you may tend to lean towards ninjatrader because such modules are already available (commercially as well as educated :) ) with relative ease. The same modules can also be created in amibroker and probably other platforms too but it would require a high level of proficiency on your part!!!

If you don't have the grit in you to invest time & effort to master your tools (And I am not kidding! It takes hell of a lot of effort & time!!!), then whether you use amibroker or multicharts or ninjatrader etc - it would make NO difference!!!

If you don't have a profitable strategy OR don't have the proficiency to develop one - Then whether you use amibroker or multicharts or ninjatrader etc - it would make NO difference!!!

To sum it all up - Merely owning a TA platform would make NO difference to your trading unless you make it work for you!!!

That's really the only choice that one has to make!!!
 
Last edited:

rmike

Well-Known Member
#6
Have started trading only recently, however my tryst with technical analysis started in 1989!
Hmmm....... that's some serious bit of time to make the transition from theory to practice!!! :)

Nevertheless, its a pleasant surprise because most people I see in forums (and in real life too) jump willy nilly into trading without bothering to acquaint themselves with even the 'T' of it, only to repent and lament later!!! :p

Regards,
 

UberMachine

Well-Known Member
#7
The replicability part requires the data (sample, or otherwise) to be exactly the same

As regards the other parts, there are many ways to go about it. However, rather than reinvent the wheel by re-implementing everything via the language route e.g Python, C++, C# etc, it may be more practicable to use an already developed and tested platform with a wide user community, plentiful web resources and good tech support!!!

My personal recommendation is for amibroker. But a new user must make this decision based upon specific requirement(s) in terms of trading methodology, end result and preference(s). Any trading platform will require an investment not only in monetary terms but in terms of time and effort too, for gainful utilization!!!

Regards,
Nice points (especially regarding reinventing the wheel).

Does amibroker work on portfolios?
Say, I create a strategy and backtest it.
It gives me a return on 5% average monthly. Now I take the strategy live but I only get 2 or 3%.
There may be 2 possible reasons to begin with
  1. My strategy could have really under-performed
  2. There could be some errors in my strategy.
To discover whether its reason 1 or 2, I need to compare my actual results with the expected results generated by my strategy.
Then I could drill down further into reason 1 or 2.
Is this possible in Amibroker? If yes, could you kindly provide me the link to the page.

What I do now is to rerun the backtest upto the current period and check my performance.
And I don't use technical analysis or charting software extensively (I only see the returns and drawdown plots).
 

Similar threads