Learn how easy it is to build automated trading strategies using Build Alpha's point
and click interface. No programming necessary.
This is the screen that allows the user to set up the test/simulation exactly how they wish.
Configure your search. Select Long/Short. Market of Choice. Exit Rules. Fitness Function. Test Settings.
Then select what entry signals to test. The database consists of over 5,000 signals to choose from. Point and click allows the trader/money manager to throw whatever ideas they have against the wall. Select any where from 2 signals to all 5,000+ at once.
Then hit simulate to let Build Alpha search the hundreds of thousands of possible combinations of strategies to find the best ones.
The Output Interface displays all the strategies. The trader or money manager can move through in sample, out of sample, and combined results. All the performance metrics are sortable in ascending and descending order. Here you can see random entry signals holding for one day for the Orange Juice market sorted by annualized Sharpe Ratio. The right hand side of the Output Interface will be covered in depth below.
Equity Curve and Monte Carlo Equity Curve
We have an extensive and ever growing list of entry signals. The software will search for the best combinations of these signals based upon the user selected fitness function.
The Button “Individual Equity Curve” will generate the graph on the left. The button “Monte Carlo Equity Curve” will generate the graph on the right. The blue line in both cases is this specific strategy’s backtested equity curve or cumulative account growth. The red lines in the right graph display a projection of where the equity curve will be in 50 trades into the future with 95% confidence.
The red lines are created using a Monte Carlo technique randomly selecting 50 trades from the back test over 1,000 times and then displaying the 5th and 95th percentile of the results. All these numbers 50, 1000, 5, and 95 can be adjusted by the user to whatever they desire.
It can be said there is a 95% chance of exceeding the lower red line and a 5% chance of exceeding the upper red line.
Traditionally,, the Monte Carlo Equity Bands are used as a threshold of when/where a strategy is starting to misbehave and needs to be reevaluated/taken off-line. For example, say live trading starts to perform worse than the lower red band – the red band that should have been exceeded in 95% of all possibilities – this means live performance is unlikely, uncharacteristic, and warrants reevaluation.
A major fear of system trading is “over-fitting” the data. That is, finding a trading system that too accurately fits the historical data and will not do well on new, live data.
A key test to find systems that generalize well on all data is to test ideas across markets. The idea is if it works well on a few markets then the strategy generalizes well enough and the trader/money manager can have confidence the trading rules are not too specific to the individual market’s data but will work on new data and other markets as well.
The photo on the left shows a clear edge over random – demonstrating this set of signals may possess real predictive power.
Build Alpha allows the trader/money manager to compare the generated strategies vs. strategies generated with random signals. This feature allows the trader/money manager to discern whether the generated strategies were found by random chance (curve-fit) or actually possess some edge greater than could be found by random chance.
The dark blue line is the specific strategies equity curve. The blue lines are the top 100 strategies from the real signals. The red lines are the equities curves from the random strategies.
The trader/money manager has the ability to turn off and on the plotting of the real strategies AND the random strategies with the click of a button.
Build Alpha also plots every fitness function’s distribution of the real strategies against the random signals’ strategies. This allows another check to lower the probabilities of the curve fitting by comparing how the distribution of all strategies found compare to randomly generated ones.
Ideally, strong predictive edges or robust strategies should show a more positive skew and greater mean(average) than the random strategies. This would indicate the signals used to generate the real strategies possess real, predictive power or contain some capture-able edge.
Another tool to make sure Build Alpha + Trader = Success.
Edge Ratio or E-Ratio measures how much a trade goes in your favor vs. how much a trade goes against you. The x-axis is the number of bars since the trading signal. A higher y value signifies more “edge” at that step in time.
Measurements are normalized for volatility with 1 being the baseline. That is, the y axis is an expression of how many units of volatility more or against you your trade gets. A measure of 1.2 would indicate .2 units more of favorable volatility and a measure of 0.8 would indicate .2 units more of adverse movement.
The blue line is for the selected strategy’s signal and the red line is for a “random” strategy for the same market. The red line is to serve as a baseline to beat. Build Alpha may find good strategies, but have an E-Ratio less than the red baseline then we can be less confident that it will withstand the test of time.
For a more detailed explanation (with calculation example) check out this blog post: Build Alpha – Edge Ratio
Monte Carlo Tests
Monte Carlo tests are a powerful feature that allows the trader/money manager to discern useful information. First, the chart on the left, is a simple Monte Carlo chart that reshuffles the order of the back-test’s trade results. The purpose of this is to see how the system would fair assuming a different order of trades and can give insights into future possible paths the system may experience. Additionally, and admittingly hard to see, in the bottom left of the leftmost chart displays the best drawdown, worst drawdown and average drawdown of all the Monte Carlo simulations – this is just another way to create better expectations moving forward.
The middle chart takes the entry signals and re-trades them. However, in each of the Monte Carlo runs the exit criteria will be a randomly selected number of bars. For example, in the first Monte Carlo run the system may use an exit of 2 bars for the first entry signal, 4 bars for the second entry signal, 5 bars for the third entry signal, etc. The second Monte Carlo run (of 1,000) may use an exit of 6 bars for the first entry signal, 1 bar for the second entry signal, 7 bars for the third entry signal, etc. The point of the “Randomized Monte Carlo” test is to raise confidence we did not curve-fit the exits. It is ideal to see all paths of the RMC positive as we can now say the signal we found was strong enough to be profitable with random exits.
The chart on the right creates 11 equity curves. It will “re-trade” the entry signals but the first line will use 1 bar exits, the second line will use 2 bar exits, etc. The legend on the graph is for this third chart. This Monte Carlo test “1-10” shows how the system does if we simply use timed exits of 1 bar, 2 bar… 10 bars on the entry signals. This test is another check that we did not randomly find good “random exits” in the Randomize Monte Carlo test. Positive equity curves here again raise the odds that the entry signals show real edge and are not dependent solely on the exit criteria. We want the exit criteria to add edge, but not be our entire edge.
Monte Carlo Drawdown Analysis
Another tool to make sure Build Alpha + Trader = Success.
Monte Carlo Analysis can be done with the click of a button in less than 1 second. Monte Carlo analysis reshuffles the trade results creating 1,000 hypothetical equity curves and evaluating the new drawdowns of each. This analysis serves to better estimate potential drawdown of a trading system as well as better understand the capital required to trade a particular system.
The x-axis demonstrates the % drawdown. The green histogram displays how many drawdowns were of that percent. In this example, there were 60 drawdowns (out of the 1,000) that were 10%. The blue line sums the green bars as it moves left to right – a cumulative distribution.
In this example, the user selected $30,000 as his/her account value. This was selected along the right hand side of the Output Interface prior to selecting the “Monte Carlo Drawdown” button above.
The red X, for demonstration only, shows the point where 95% of drawdowns occurred. That is, the blue line is equal to 95 on the y-axis. In this instance, that corresponds to 20% drawdown (x – axis). The trader or money manager can conclude by saying there is only a 5% chance the drawdown will be greater than 20% or 95% of drawdowns from the Monte Carlo simulation were less than 20%.
If the trader is uncomfortable with a 5% chance of losing 20% then they should increase his/her account size before trading this example strategy. This analysis can help a trader or money manager make sure they are using sufficient capital for a strategy. In fact, this helps the trader or money manager create more realistic expectations about a strategy’s possible outcomes moving forward.
Build Alpha comes with proprietary “stress testing” that we have named Variance Testing. This is a unique forward simulator that simulates how well a trading strategy should do over the next N trades. It creates hypothetical equity curves into the future based on the distribution of the backtest results.
The trader or money manager can predetermine how much to vary the win rate, how many trades into the future to look, and the number of simulations to run.
For example, a trader or money manager can vary his win rate and see how likely a certain strategy is to make $X over the next 100 trades or how likely said strategy is to lose $X over the next 100 trades given a certain fluctuation in the winning percentage.
This type of stress testing can help determine if a strategy had an unrealistic backtest or is part of a stable distribution poised to perform near desired expectations moving forward.
Similarly, one of our goals is to prevent our client’s from saying, “all my systems fail when they go live”. The problem may very well be the trader or money manager had unrealistic expectations heading into live-trading. For example, did the strategy display a distribution like the one on the left or a distribution like the one on the right? If you do not know then you are not prepared and likely will say, “all my systems fail when they go live”.
More technically, Variance Testing also displays the likelihood a strategy will be profitable over N trades, likelihood it will hit a certain drawdown over N trades, the average profit and drawdown over X number of simulations, and a 95% confidence interval for both profit and drawdown based on the simulation’s results. All of these data points can help create better expectations moving forward while helping traders and money managers avoid fatal (and avoidable) mistakes.
Build Alpha users can adjust the number of trades looking forward, the number of simulations, the drawdown amount, and the win rate’s variance to build their own custom stress test on every strategy and portfolio constructed.
The bold red line on the right graph has been manually drawn to demonstrate the equity curve from the combined in and out of sample backtest – which is pictured as a single blue line on the left chart.
The single backtest’s equity curve, the blue line on the left, looks like a viable strategy. However, after running our Variance Test – or future simulation – we can conclude these results are unlikely to occur again.
Expecting to make $100,000 in the next 350 trades (as our backtest did) is highly unlikely; it would be prudent to adjust expectations – the average profit from our simulation on this strategy was only $20,000 or one fifth of the backtest results.
Just another way Variance Test and Build Alpha can assist the trader and money manager to Build Alpha.
The idea is to see if we change the amount of noise in the data does the strategy still perform well or does it fall off a cliff?
The noise test is a proprietary test that adds or subtracts user selected amounts of “noise” to the original price data. The software then re-trades the selected strategy on the 1,000 newly generated price series that have varying amounts of noise.
The idea is to see if we change the amount of noise in the data does the strategy still perform well or does it fall off a cliff?
The trader or money manager is granted the freedom to control how much noise is added and how frequently price bars are adjusted. An example may be… let’s adjust 70% of the price data by 20%. So in this example, we’d adjust 70% of the open,high,low,close prices by 20% (in either direction) by up to 20% of the average true range on that date.
The user can then reconfigure the settings and re-run this test in an instant.
Build Alpha can now create intraday strategies. However, there are often overlooked and often missed intraday edges that can be found by only trading during certain times during the day, or limiting the maximum amount of trades per day, or even limiting the amount the strategy can win or lose per day.
Build Alpha now allows the trader/money manager to test any strategy for these “hidden” intraday edges. The software will show all the test results and allow the user to select on any one they choose (highlighted selection in red).
The highlighted strategies rules will then appear at the bottom of the display. This example shows the strategy with the added rules of only trading between 2:00 am and 12:00 pm, only allowing 2 trades per day, and stopping trading after a $1,000 loss was reached per day.
Additionally, the user can view distributions for the entire intraday rule tests below the equity curves. There are distribution plots for total p&l, drawdowns, and average trade. These distributions allow us to avoid trading a lucky outlier.
These hidden intraday edges can be the difference between alpha and a new career when it comes to intraday trading.
Meta Systems – Equity Curve Trading
A Meta-System is simply a trading system that attempts to trade or time another trading system. That is, can we improve performance by analyzing the patterns in the trading results.
For example, can we achieve smoother risk-adjusted returns by only trading this strategy after the last trade was a loser? How about if the last two trades were losers? What if we only traded this strategy when its equity curve was below the 5 trade moving average of the equity curve?
You can see above we can achieve smoother risk-adjusted returns while only trading this strategy once its equity curve falls below the 5 trade moving average of the equity curve (the pink line). This might warrant further research or increased leverage/position size when the strategy’s equity curve begins to dip, for example.
Delayed Entries and Exits
A simple, but often overlooked robustness test is to delay the entries or exits to determine how sensitive a trading strategy may be to these changes.
Build Alpha allows the trader and money manger to view each and every strategy with a multitude of varying entries and exits. For example, this particular strategy remains profitable while adjusting the entries and exits. Furthermore, this strategy actually has a greater absolute return had we lagged our exit by 3 bars. (Entry lag 0 and Exit lag 3).
Breakdown and Seasonality
After Build Alpha runs, you will be able to view a breakdown of performance and a seasonality report for each and every strategy.
The display on the left shows how the selected trading strategy did on each day of the test, each month of the test, each quarter of the test, and each year of the test.
The display on the right shows how the selected trading strategy did per day of the week, per month of the year, per quarter of the year, and per year. These are cumulative totals for the history of the test dates.
These displays can help you find periods of time that may require further attention or seasonal edges that can be exploited.
Randomized Out of Sample Testing
Randomized Out of Sample testing is a simple check that a strong trend in our out of sample test period did not contribute too greatly to our favorable out of sample results. For example, it may be very easy for a strategy to pass out of sample tests if the underlying price data exhibits a very strong up trend.
Randomized out of sample testing runs 1,000 tests where each iteration selects random, non-continuous dates to serve as our out of sample period. This ensures we do not have a strong trend or pattern in our out of sample period that allowed a weak strategy to pass out of sample testing. It also allows us to view a distribution of outcomes vs. a single backtest’s out of sample results.
For a more specific and detailed explanation of this testing please view this post: Randomized Out of Sample
Easy Language Code
Build Alpha can generate TradeStation EasyLanguage Code and MultiChart’s PowerLanguage code that is ready to trade and automate with the click of a button. Just click the “Generate EL Code” button on the Output Interface or Portfolio Interface.
NinjaTrader 7 & 8 Code (C#)
Build Alpha can generate NinjaTrader C# code that is ready to trade and automate with the click of a button. Just click the “Generate NT Code” button on the Output Interface and Portfolio Interface.
MetaTrader4, Pro Real Time, and Quantopian Python Code
Build Alpha can generate code for MetaTrader4, Pro Real Time, and Quantopian that is ready to trade and automate with the click of a button. Just click a button on the Output Interface or Portfolio Interface.
*strategies have been blacked out*
Any strategy can be added to the portfolio. Inside portfolio mode traders and money managers can turn strategies on/off, view individual and combined equity curves, and run all of the stress tests (Monte Carlo and variance) on the entire portfolio. Finally, the Print button inside Portfolio mode prints code for all the strategies to co-exist. A unique feature to help combine uncorrelated strategies to produce ALPHA!
You can switch back to individual strategies by selecting In Sample, Out of Sample or All. Seemlessly add and subtract strategies. Strategies added to the Portfolio will be saved and stay in the portfolio even AFTER you have shut down the software.
Your portfolio can be accessed from both the Input and Output interface.
Minimum Variance Portfolio
Minimum Variance Portfolio or Modern Portfolio Theory is a simple test that generates optimal weights to give each strategy inside the portfolio in order to optimize the portfolio’s risk-adjusted return or Sharpe Ratio.
The trader or money manager can scroll over the points on the graph and view the individual weights given to each strategy to create that specific point.
The highlighted red point is the result of using even weights on each strategy.
Build Alpha also allows you to view each and every strategy against the underlying asset’s buy and hold as well as the S&P500 buy and hold performance.
The chart on the left shows a Crude Oil strategy (blue) against the S&P500 buy and hold (red) over the same period.
The middle chart shows the same Crude Oil strategy (blue) against the underlying Crude Oil market’s buy and hold (grey) performance.
The right chart shows the same Crude Oil strategy (blue ) against both the aforementioned benchmarks.
There is no point in trading a strategy that cannot outperform buy and hold.
The Correlation Matrix resides inside the Portfolio Interface. The CM allows traders and money managers the ability to view how correlated individual strategies have been. This gives the trader or money manager the ability to construct portfolios of uncorrelated strategies.
The correlations are calculated using marked to market daily returns. This is an industry standard method and allows Build Alpha to compare/contrast strategies of different styles, holding periods, and exits.
Out of Sample Highlighting
Build Alpha now highlights out of sample period to give a clear view of the performance differences in both in and out of sample testing.
Regime Switching Models
The graph on the left goes long the S&P500 when the market enters into a bullish regime. When the market enters into the bearish regime most trading systems go flat.
However, Build Alpha allows you to test the same trading idea but invest in a second market instead of being flat. The idea being.. this can often lead to more profits, reduced drawdown, and an over smoother return on capital.
The graph on the right shows the equity curve when going long the S&P500 when the market enters into the bullish regime and going long US 10 Year Note Futures when the market enters into the bearish regime.
No other software or platform allows users to create market regime switching strategies.
View the strategy’s drawdown in comparison to buy and hold’s drawdown. No point in trading a strategy unless it offers better risk-adjusted returns than simply parking the money in some asset.
Create Your Own Custom Signals
Build Alpha also gives the ability for traders and money managers to create their own signals to test. Build Alpha comes with a library of over 5,000 pre-built signals ranging from OHLC, volume, intermarket, technical analysis, etc. but I understand flexibility is important to many traders.
There are two options in order to create your own signals: drag and drop builder and a full python environment to code up any signals.
Drag and Drop: This builder allows traders and money managers to create custom signals with NO programming by selecting indicators and indicator settings from drop down lists.
Python: This is for more sophisticated users who want to include machine learning code and create their own advanced signals. Build Alpha allows custom python scripts to be passed into the strategy creation engine. Now you can test machine learning signals in mass alongside other custom built indicators and the 5,000+ pre-built signal library.
Ensemble and Hedging Strategies
*above selection would allow Build Alpha to build strategies that only entered if at least 2 of the 6 listed strategies above had a position*
Build Alpha also offers the ability for traders and money managers to build two unique types of strategies: ensemble strategies and hedging strategies.
The ability to build specific hedging strategies can go a long way in creating robust portfolios that survive changing market conditions – far too many system developers leave ‘hedging’ up to chance. In Build Alpha, the trader or money manager can specify to the software to create a new [hedging] strategy to only initiate positions when another user selected strategy is already in a position. For example, the ability to build a strategy that enters short when condition1 is true, condition2 is true, and trend following strategy X has an open long position. This can be very powerful; condition1 and condtion2 can be any custom or pre-built signal Build Alpha offers and of course you are NOT limited to only 2 conditions.
Ensemble strategies allow the trader and money manager to create trading strategies that use other trading strategies as input. For example, the trader might develop three unique strategies (price action, mean reversion, trend following) and then create an ensemble strategy that only enters a position when at least 2 of the 3 strategies are in agreement and have an existing position.
Ensemble strategies are an advanced method of turning simple models into a single stronger and more stable model while also reducing the chances of overfitting. This is a powerful method used by many top machine learning and algorithmic hedge funds and trading shops and is now available all point and click.