The Scientific-Minimalist-Economic (SME) approach to Automated Trading
The SME is my personal approach to the development of automated trading agents. You could save a lot of time and money by adhering to these three very simple principles.
This article is part of a series dedicated to explaining a no-nonsense approach to the development of automated trading agents. This series is aimed towards people with a computer science background with or without trading experience.
Principle #1 – BE SCIENTIFIC

The Scientific component of the SME method pertains to the use of the Scientific Method to create and refine trading strategies.
Scientific method refers to bodies of techniques for investigating phenomena, acquiring new knowledge, or correcting and integrating previous knowledge. To be termed scientific, a method of inquiry must be based on gathering observable, empirical and measurable evidence subject to specific principles of reasoning.[1] A scientific method consists of the collection of data through observation and experimentation, and the formulation and testing of hypotheses.[2]
Although procedures vary from one field of inquiry to another, identifiable features distinguish scientific inquiry from other methodologies of knowledge. Scientific researchers propose hypotheses as explanations of phenomena, and design experimental studies to test these hypotheses. These steps must be repeatable in order to dependably predict any future results.Theories that encompass wider domains of inquiry may bind many hypotheses together in a coherent structure. This in turn may help form new hypotheses or place groups of hypotheses into context.
Among other facets shared by the various fields of inquiry is the conviction that the process be objective to reduce a biased interpretation of the results. Another basic expectation is to document, archive and share all data and methodology so they are available for careful scrutiny by other scientists, thereby allowing other researchers the opportunity to verify results by attempting to reproduce them. This practice, called full disclosure, also allows statistical measures of the reliability of these data to be established.
Source: Wikipedia
How does it apply to automated trading:
Trading books, magazines and circles are heavy on pseudo-knowledge derived from subjective experience and anecdotal evidence. In fact, there are whole books out there authored by so-called ‘trading gurus’ that do not contain even one single profitable trading system. You should never trust any trading advice to be true before you test it yourself.
The Hypothesis
To beat the market you will need to develop a profound understanding of how it works. When confronted with a potentially profitable trading idea the first thing you need to do is to develop a hypothesis of why you think it should work. This hypothesis will either be confirmed or falsified by the following steps of experimentation and analysis.
The Experiment
Once you have developed a hypothesis of why a given trading idea should be profitable, it is time to undertake an experiment called backtesting to establish if the strategy would have been profitable if you had traded it for a given period in the past.
While a successful backtest wouldn’t be enough to assert that a given hypothesis is true, an unprofitable backtest would be in most cases enough to dismiss it as a valid component of your automated trading system.
The Analysis
With the backtest results at hand you can begin to draw conclusions regarding the hypothesis you are testing. Considering you were able to determine that the backtest results are indeed correct, your major concern should be to establish if the trading strategy could actually be profitable for the near term future.
Later in this series I will discuss several statistical techniques you can use to rule-out most cases where an unprofitable trading idea generates a profitable backtest.
Principle #2 – BE MINIMALIST
The Minimalist component pertains to applying a popular (albeit incorrect) interpretation of the Occam’s razor principle to every single decision you make.
All other things being equal, the simplest solution is the best.
Why should you keep your trading platform code down to a minimum:
Every single line of platform code you write will have to be debugged and maintained for years to come. That is an overhead cost you should not ignore. You should spend your time beating the market – not debugging platform code.
Why should you keep your trading system rules as simple as possible:
Backtesting will not make you rich and every time you add a rule to a trading model that translates into a more profitable backtest result you are very likely doing so in expense of future trading performance.
Later in this series I will discuss how you can assess if adding an additional rule to your trading agent would be beneficial or detrimental to its future performance.
Principle #3 – BE ECONOMIC
We are in this business to make money, not to spend it. I consider it of paramount importance to keep costs down at all times.
Questions to ask yourself before committing money to anything other than a trade:
- Do I know as a fact that I absolutely need this product/service?
- Is this the right product/service for me?
- Can I postpone this commitment a little longer?
- Does this product/service offer the best long term value?
- Will this acquisition make me dependent on this vendor?
Real life examples:
- Don’t buy anything because you ‘might need it’ soon. Plans change but expensive hardware doesn’t.
- You will live and die by the quality of your data feed but be aware that an expensive service does not necessarily translates to a quality service.
- Invest time to find a broker with the best reliability-to-cost ratio. It will payoff in the long run.
Next on Part 3:
Automated Trading Platform – Build or Buy?
Very cool bud.
-Jeffrey McLarty