Early Days
When I first started toying with automated investment strategies in 2011, I nicknamed the project PerlStock, as my first implementation was in Perl. I know that’s an odd choice, but it was a fun project, with the following key features:
- download quotes from Yahoo! finance
- event-driven backtesting engine, calculating various indicators on daily bars
- portfolio-oriented algorithm, selecting 10 stocks from a universe of about 200 names, and weighting them to achieve performance and risk objectives
- reporting engine, exporting backtesting results to Excel
Bertram Solutions
After promising simulations, it was time to prove the concepts in live trading in 2012. The project has undergone several rewrites since, leaving not a single line of code from the original project in place. However, the key concepts of this first venture into day-trading remain valid to this day, leading to the decision to start a new business in early 2018: Say hello to Bertram Solutions!

Yet Another Backtesting Engine
In summer 2018, and after being frustrated with the limitations of commercial backtesting engines, I decided once more to roll my own. This time, it is written in C# and named TuringTrader in admiration of Alan Turing. A quick summary of TuringTrader’s key features:
- Features
- Simulate equity trades, portfolios of equities, and options
- Calculate indicators, with a growing library of standard indicators
- Simple Windows Desktop UI for interactive sessions
- Strong focus on easy-to-use time-series APIs, making coding a breeze
- Multi-threaded optimizer engine, able to utilize all available CPU cores
- Data Inputs
- Import data in any CSV format with configurable column-mapping
- Automatic download/ update of data files from Norgate, IQFeed, Tiingo, Yahoo, and FRED
- Query account summary and positions from Interactive Brokers
- Report Outputs
- Create beatiful native reports, based on customizable C# templates
- Create customized Excel reports with just a few lines of VBA
- Create customized R reports, either in straight R, or with R-Markdown
- Status
- Production quality code, actively maintained, and tested
- Onlin API documentation, and quick start guide
- Demo algorithms to shorten the learning curve
I quickly became quite confident in this project, and as of November 2018, pretty much all of Bertram Solutions’ R&D ran on TuringTrader, most notably all of the firm’s Model Portfolios.
Throughout my careers, I have relied on work that others have done. This time, I felt it was my turn to give back to the community. Consequently, I released the backtesting engine under an open-source license,published on TuringTrader.org.
TuringTrader as a Service
TuringTrader has grown tremendously. What started out as a clunky tool for nerds, has progressed to a consumer-friendly tool used by quantitative researchers and technical traders around the world.

Encouraged by this success, I made yet another step towards consumer-friendliness. In late 2019, I launched TuringTrader.com. This is a membership site offering the following features:
- Portfolios
- basic, from well-regarded books and publications
- premium, based on our own research
- Features
- daily updated charts, metrics, and target allocations
- customizable dashboard
- email subscriptions
- background information, reviews, technical articles