I've been building trading systems for over 15 years. Over those years, my method for building strategies has evolved. My method, which I call the Profit Lab Method, is summed up very well in the blog post, How To Build Profitable Trading Systems. Below is a visual representation of the steps of the Profit Lab Method.
My approach for building strategies is a manual process of coding, testing, editing, and validating. I record my observations and results each step of the way. This process takes a lot of time, as you can imagine. To make matters worse, most trading ideas fail to work out. Thus, most of my time is spent discovering strategies that end up in the garbage. You spend a lot of time figuring out what does not work.
In the end, the amount of time you invest in finding one idea that will make money is enormous. I sometimes wish I had recorded the hours worked to build one system. On second thought, maybe I don't want to know.
Times Are Changing
When I look at a cell phone from 15 years ago, I have to smile at how crude it looks. Remember those physical keyboards to type your text message? Back then, there was no app store. The Internet was really just starting to appear on phones. I remember in amazment when a friend showed me checking movie times on a website while we're driving down a road. Amazing!
Technology moves so fast it's hard to imagine a cell phone from 15 years ago was, at the time, so modern, so sleek and cool. Today it looks like a dinosaur, which got me wondering...Is my strategy development process a dinosaur?
Is my development process like using a 2006 phone in 2021? Put another way, is my process becoming outdated by newer tools and methodologies?
Most technological advances help you do more with less. Well, let's apply that concept to strategy development and ask, can I leverage my time better with strategy development tools?
To answer this question, I started looking into automated strategy builders. These are tools that help you research, test, and validate possible trading strategies.
These strategy developer tools are very potent and could help save a lot of time. They can data mine for possible profitable market edges by testing hundreds of thousands of trading signals. Some strategy builders provide validation tools to help eliminate strategies that might be over-fit to the historical data (curve fitting). Finally, they can even generate the EasyLanguage code, which can be imported into your platform easily. No coding is required!
In short, some of these tools can condense what takes me 8 hours of work into less than 60 minutes. That's considerably time-saving.
With this in mind, several months back, I started looking into a popular strategy-building tool called Build Alpha.
How Can Build Alpha Help Me?
I like to think of Build Alpha as a research tool to help me locate, test, and validate trading systems. Build Alpha allows you to access the most popular futures and forex symbols on daily data right out of the box. Right away, you can start building and testing trading systems.
Currently, Build Alpha offers over 5,000 pre-built entry signals such as MACD, RSI, Stochastics, ATR, Kaufman Efficiency Ratio, Hurst Exponent, DMI, Moving Averages, Composite
Indicators, etc. Build Alpha also includes candlesticks, volume analysis, consecutive OHLC (open, high, low, close) conditions, seasonality, holidays, and much more. You can even access secondary data signals such as the VIX, VIX Term Structure, and Treasury yields and spreads. Not done yet, you can also access gamma exposure, dark pool index, market breadth and economic data.
On the main screen, you can configure your criteria for allowing Build Alpha to build strategies.
For example, you can select the market(s) you wish to build on. Then choose the signals you would like to use (you can use them all), the exit conditions, fitness function, the in-sample period, the out-of-sample period, and many other settings. Then you can let Build Alpha work its magic (genetic search). Build Alpha will search the hundreds of thousands of possible combinations of strategies to find the best ones. Build Alpha has built-in checks and balances to help reduce curve fitting while performing this search.
Once Build Alpha has completed its search, it will display the best performing strategies on the Output Interface screen.
You can quickly sift through hundreds of generated strategies by clicking a button or arrow keys on this screen. Quickly view the in-sample and out-of-sample results. Next, you can then test the most promising strategies through a series of robustness testing capabilities. These tests are discussed below.
Crush Curve Fitting!
It is easy to data-mine and generate a "curve-fit" system. This is the bane of all strategy development. However, the creator of Build Alpha has placed a strong emphasis on providing tools to prevent curve fitting.
One of the excellent ways Build Alpha helps you avoid curve fitting is by comparing your strategy to randomly generated strategies. During the development phase, Build Alpha will develop thousands of random strategies based on your chosen signals. The performance of these random strategies will be collected, and they act as a baseline helping you discern whether your final generated strategies will perform better than random
If your final strategy is based upon random chance (curve-fit), it will likely look indistinguishable from the other random strategies. However, if your strategy performs better than the thousands of random strategies, your strategy may possess some edge more significant than could be found by random chance. This is a test from Jaffray Woodriff's chapter 5 in Hedge Fund Market Wizards.
Below are some of my favorite robustness tests within Build Alpha to help quickly locate strategies that might be overfitted to the historical data.
- Variance Testing: This unique test simulates how well a trading strategy should do over the following N trades. It creates hypothetical equity curves into the future based on the distribution of the backtest results. This type of stress testing can help determine if a strategy has an unrealistic backtest or is part of a stable distribution poised to perform near desired expectations moving forward.
- Noise Test: This test introduces noise to the price data. Noise is accomplished by slightly changing some of the open, high, low, and close values. Build Alpha then re-trades the selected strategy on 1,000 newly generated price series with varying amounts of noise. The idea is to see if the noise in the data crashes our strategy or does it continue to do OK.
- Distribution vs. Random: Build Alpha will compare your strategy against thousands of random strategies to see if a significant edge exists. The idea here is your strategy should demonstrate an advantage greater than could be found by random chance.
- Standard Monte Carlo: This is a bit different than most Monte Carlo tests. First, Build Alpha will reshuffle the order of the backtest'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 the possible future paths. I use this to help project possible best case, worst case, average returns and drawdowns for my strategy.
- Random Monte Carlo: This is a great test. Build Alpha will re-trade the entry signals while changing the exit criteria. For example, Build Alpha 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 point of the "Randomized Monte Carlo" test is to raise confidence that we did not curve-fit the exits.
If your strategy passes the robustness test, you can export the code and load it into your trading platform. No coding is required.
Build on Any Bar Type
Out of the box, Build Alpha is ready to build trading systems with daily data. Purchasing Build Alpha includes access to 30+ futures markets, 30+ ETFs, and 30+ Forex pairs. Almost all have data available for more than 10+ years - some dating as far back as the 1960s.
However, you can also import price data. For example, you can import 60-minute bars or 13-minute bars. Thus, you have great flexibility in building a trading system in any timeframe.
Add Your Own Indicators (Signals)
Build Alpha comes with over 5,000 signals. Some of these were mentioned at the beginning of this article. Other signals included are market breadth signals, economic news, and data, Dark Pool Index (DIX), Gamma Exposure (GEX), and term structure signals.
Build Alpha also has a signal editor. This editor will allow you to build custom signals. I like to use this feature to construct a price action library of my favorite price patterns. Build Alpha will then use my custom signals to find strategies in combination with the pre-built signal choices. For those of you who know python, you can import your signals via a python script.
One type of custom signal you can build is what Build Alpha called a "Trigger Signal." A trigger signal is a unique signal where two events must happen within a given time window. For example, the price must close above an upper Bollinger band, and the price must fall back to the center band within 10 bars. This is a trigger signal, and Build Alpha makes this easy to construct.
What Type of Strategies Can You Build?
Build on Multiple Symbols: Most of the time you build a trading system for a single market. Take the S&P500 for example. However, Build Alpha can attempt to build a trading system across several symbols simultaneously. For example, instead of just using the S&P500 to build a trading system, you can simultaneously have Build Alpha use the price data from S&P500, NASDAQ, and DOW. Build Alpha will evaluate the best indicator and parameter values across all three markets. This is another way to help avoid curve-fitting.
- Ensemble Strategies: These are strategies that use other strategies as input signals. The simplest way to describe ensemble strategies is a voting system. Let's say you developed five Crude Oil strategies. You can build an ensemble strategy that will only enter a trade when three of the strategies agree. Ensemble approaches are widely believed to be superior to most machine learning, prediction, and data science problems.
- Rebalance Strategies: Rebalance strategies rank a subset of symbols on specific criteria then enter positions in the top-ranked (or bottom ranked) symbols on the rebalance date. For example, we have the Dow 30 stocks as our subset of symbols and want to trade the top 5 each month based on last month's performance. Build Alpha can buy and hold for the entire month, rebalancing into the next top 5 the following month.
Rebalance strategies do not need a specific entry or exit signal; however, you can use entry and exit signals to provide a strategy overlay on top of the rebalance logic. For example, Build Alpha can also find which are the top 5 symbols each month and then apply a strategy to only these 5 symbols for the duration of the month.
Build Alpha can test and find the best ranking method, rebalance period, and amount of symbols to trade in the subset.
- Regime Switching Models: This technique attempts to improve strategy return by enabling or disabling a strategy based upon market conditions. For example, you might have an S&P500 strategy that only takes long trades when the market is in a bullish regime. When the market enters into a bearish regime the long strategy is disabled. In other words, the strategy will remain flat.
Build Alpha also allows you to test the same trading idea but invest in a second market instead of being flat. This allows you to put your capital to work on markets that are more favorable given the current market regime. This can lead to more profits, reduced drawdown, and an overall smoother return on capital.
See the graphs below. The graph on the left is a long only strategy for the S&P500. This strategy goes long when the market is in a bullish regime and goes flat during a bearish regime. The graph on the right shows the same strategy but when the market becomes bearish, it enters long the U.S. 10 Year Note Future when the market enters into the bearish regime.
- Intermarket: This allows you to select a second and third market to help find profitable trading opportunities. For example, Build Alpha can create a S&P500 system that takes into account when Gold is above its 30-day moving average on volume and US Bonds are below its 200-day moving average.
- Multi-Timeframe: With Build Alpha you can also construct multi-timeframe signals. That is, Build Alpha can trade the 30-minute chart only when the daily chart confirms.
Discover Profitable Insights
Build Alpha also has some unique ways of looking at your strategy’s performance to provide meaningful insights. These insights are listed below.
- Drawdown Comparison - Does your strategy experience too much drawdown.
- Signal Breakdown - Determine which signals produce the best trading results so you can focus on the signals that work for your market.
- Breakdown and Seasonality - Determine if your strategy has any particular relations to calendar events so you can maximize profit and reduce drawdown.
- Meta System - This is sometimes called “equity curve trading”. Build Alpha can check if equity curve techniques can improve the performance of your system.
- Intraday Checks - Build Alpha will test often-missed intraday edges that can be found by only trading during specific times during the day, limiting the maximum number of trades per day, or even limiting the amount the strategy that can win or lose per day.
Build Alpha will help you construct an optimal portfolio. You can begin creating a tradable portfolio by selecting several of your favorite strategies within the “Portfolio Mode” of Build Alpha. Easily enable or disable any strategy, view individual and combined equity curves, run all the stress tests on the entire portfolio.
Here is what you can view and test:
- Portfolio Equity Curve
- Monte Carlo Testing
- Variance Testing
- Minimum Variance Portfolio
- Correlation Matrix
With these portfolio tests, you can determine which strategies are an ideal fit to be within the same portfolio so you can maximize return and reduce drawdown. The most important one here, I feel, is the Correlation Matrix. With the Correlation Matrix, you can view how correlated individual strategies have been historically. This gives you the ability to construct portfolios of uncorrelated strategies.
The Correlation Matrix computes correlations using marked-to-market daily returns. This industry-standard method allows Build Alpha to compare/contrast strategies of different styles, holding periods, and exits.
Video Demo of Build Alpha
Here is a 24 minute video where I show you using Build Alpha to create a strategy.
Benefits of Using Build Alpha
At this point, I will say this. Build Alpha is incredibly fast at building and backtesting strategies. You could quickly test dozens of trading systems every day. With its vast library of signals, you'll be amazed at what Build Alpha can develop. And you have a variety of strategy types you can build, including intermarket, regime-switching, Ensemble, and rebalancing strategies. However, Build Alpha shines in its ability to help separate the overfit strategies from ones that might have a proper edge.
Below are the benefits in a nutshell.
- The speed at developing trading ideas. You're going to be testing more strategies every day, every week than you ever could with a manual strategy development process.
- Strong validation tests. This is critical. With so many strategies generated by Build Alpha, you'll need a set of tests to help eliminate curve fit strategies. Build Alpha got this covered.
- Portfolio construction. Building a portfolio of uncorrelated strategies is your key to consistent profits. Build Alpha allows you to quickly test which strategies will work well together in a portfolio.
- No coding required - once you have a strategy that you like, export the code to your platform.
Overall, Build Alpha is a complete strategy development process in a box. You have the tools needed to test and validate trading systems and even construct portfolios.
Limitations of Build Alpha
While Build Alpha has some incredible features to help you build great trading systems, it's not perfect. Like any complex software, there are little things I would do differently. But I’m going to ignore the little stuff for now and focus on the bigger fish.
Lack of Automation
Naturally, the entire process of building and validating requires human intervention. It's also a very linear process. For example, you build one type of strategy at a time. Then you validate it. Having the ability to batch up some of these activities would be helpful.
I can imagine having the ability in Build Alpha to queue up several strategy-building simulations at once. Maybe I queue three different strategy simulations before going to bed. While I'm sleeping, Build Alpha is generating strategies on the daily bars of the S&P500. Then when finished, it starts building strategies for bars of Gold daily. Then on 60-minute bars on Oil. The following day the results for each run are available for me to review.
Now, this brings me to the next part of the development process, validation. Validation is a very manual process. Each validation test must be looked at for each strategy generated during the simulation. This is rather laborious. Imagine if Build Alpha could automate this validation process. Maybe not entirely, but it could provide some help.
For example, Build Alpha would take the top 20 strategies from a given simulation and test them against my preferred validation tests after a simulation has been completed. A strategy would get a score for each of the validation tests. The software could provide a higher score for a "good-looking" Noise Test, Variance Test, etc. I'm assuming you could objectively score these validation tests. I think that's possible?
Once you have strategies scored based upon your favored validation tests, you could quickly locate the better strategies via the highest score. This would go a long way at digging through the possible strategies for the more viable strategies.
Only One Portfolio
Build Alpha only allows you to have one portfolio. You can load 50 strategies into the "Portfolio Mode", select a subset of those as your portfolio and run your desired tests. Then, if you want to construct a different portfolio with the other remaining strategies, you can. But your current portfolio of selected strategies can't be saved. It would be nice to have the ability to have multiple portfolios.
Another improvement is to have Build Alpha create the best combinations of strategies within the portfolio. It could do this by maximizing net profit vs. drawdown given a maximum account size, for example. Or, Build Alpha could generate the optimal portfolio and provide the account size required to trade it, given you want to have a drawdown that is 25% of your max drawdown.
My Final Impressions
I've only scratched the surface of Build Alpha in this article. But this should give you a good starting overview.
I've been experimenting with Build Alpha for months. During that time, I've been very impressed with Build Alpha's capabilities for creating and validating trading systems. I've imported price data, made custom indicators, emailed the software creator with some questions, and built all types of strategies. All of this was an attempt to understand how to use it properly.
I highly recommend you take a look at Build Alpha. You can learn more at the Build Alpha website.
You can also read a bit more about Build Alpha by checking out these articles on EasyLanguage Mastery. They were all written by David Bergstrom, the creator of Build Alpha.
- Can You Short The S&P Successfully?
- Equity Curve Trading
- A Strategy For Each Day of the Week [Seriously?]
- Three Trading “Truths” Quantified
- Rebalance Strategies
Does Build Alpha Really Work?
Can Build Alpha build trading systems that work on the live market? Can you make money with Build Alpha?
That's the million-dollar question.
However, keep in mind Build Alpha is a tool. You can't simply press a button and have Build Alpha construct a winning portfolio of 20 strategies that will allow you to retire from your day job next month. It's a tool that you must learn to master.
Think of it like learning EasyLanguage. Just because you know EasyLanguage does not mean you know how to build winning strategies. Those are two different skill sets. Even with a tool like Build Alpha, you need to be familiar with what it takes to build winning systems. You need to know what to look for. You need to understand the validation tests and there implications. You need a development process. You need experience. And this all takes time.
So, does Build Alpha work. You bet!
Build Alpha a tool to help you speed up your development process and to help you explore possible edges. Build Alpha makes it easier to test ideas. You can quickly test intermarket ideas, multi-timeframe ideas and even have Build Alpha search for a better exit. So, yes, it works!
I've been building and trading strategies for over a decade, and I'm thoroughly impressed at what I've seen.
For years I've been saying, to build winning strategies consistently, you need a well-defined process. That's still true. But now with Build Alpha, I can test more ideas and more deeply validate systems with the feature set found in Build Alpha.
Build Alpha is a formula one race car. You need to know how to use it. You first need to learn the basics of the road before getting behind a race car.
Which brings me to a new course I just created.
The complete, step-by-step formula to build winning strategies with Build Alpha without coding.
The course is closed right now. But get notified when it becomes available. You need to be on my mailing list to get access to join Alpha Compass.