TuringTrader Blog
TuringTrader is in day-to-day use, and under active development. However, it sometimes takes a long time for features to be merged back into the project's main branch for an official release. As a result, this blog does not tell you the full story. To check what we are working on, it is always worth checking the latest commits on the development branch.
Feature: Home Directory Upgrade
March 23, 2023: This new feature automatically upgrades your home directory to the latest data.
Showcase: Keller's Hybrid Asset Allocation
March 07, 2023: Keller's Hybrid Asset Allocation is an expansion on his Bold Asset Allocation. Check it out!
News: TuringTrader 16 and the v2 Engine
Mar 01, 2023: TuringTrader 16 is our biggest release yet. It features our new v2 backtesting engine, doubling down on productivity while developing multi-asset end-of-day strategies.
Showcase: Comparing v1 vs v2 Code
Dec 31, 2022: Development of the v2 engine is nearing completion. A good time to compare how the new engine improves your strategy's code.
Showcase: Keller's Bold Asset Allocation
Nov 23, 2022: Keller's Bold Asset Allocation is the first strategy we publish for the v2 engine. Check it out!
News: An honest review
Mar 25, 2021: Since December 2018, we have implemented over 50 strategies with the TuringTrader open-source simulator. Time to take a critical look at our project.
Feature: Child Algorithms
Jul 12, 2020: One of TuringTrader's main goals is to simplify the development of quant strategies. With TT's child algorithms it is simpler than ever to develop meta-strategies.
Feature: Simulator Hooks
Jul 12, 2020: TuringTrader's new simulator hooks allow developers to fine-tune backtesting behavior.
Showcase: Keller's Lethargic Asset Allocation
May 21, 2020: We are big fans of Wouter Keller and his work. We just implemented his latest portfolio, the Lethargic Asset Allocation, combining macro-economic indicators with trend-following.
Showcase: Connors' Alpha Formula
Apr 6, 2020: We thoroughly enjoyed The Alpha Formula, the latest publication from Chris Cain and Larry Connors. We wrote a lengthy book report elsewhere and focus more on the source code here.
News: Meet TuringTrader.com
Nov 26, 2019: Almost exactly one year ago, we started the TuringTrader.org website to share our tools with the world. It’s been a fun ride, and we are enjoying software development more than ever. And while we made countless improvements to make TuringTrader more approachable, it remains to be a tool for developers and curious nerds. Until today.
Feature: Survivorship-Bias-Free Universes
Oct 9, 2019: When simulating portfolios, the constituents of the traded universe become a critical aspect. How do you avoid survivorship-bias? The latest version of TuringTrader helps with that.
Feature: Splicing Data Source
Sep 13, 2019: Historical quotes are at the center of any backtest. Unfortunately, the range of available quotes is often not sufficient to thoroughly test a strategy. Many instruments can be simulated before inception, by using proxy data. Our latest TuringTrader feature allows splicing data sources to extend the available data and simulation range.
Improvement: New SimpleReport Template
Aug 22, 2019: One of TuringTrader’s great strengths is the ability to create fully customizable reports. However, until now this meant a whole lot of work for developers, as the templates included with TuringTrader were rather basic. With the latest update, we have changed that: The new SimpleReport template offers beautiful aesthetics, new performance metrics, and Monte Carlo analysis.
Update: Better Documentation
Jul 8, 2019: As part of the TuringTrader beta release, we have also updated the documentation: we have entirely rewritten the quick start guide and overhauled the look & feel of the API documentation.
Update: TuringTrader Binary Distribution
Jul 8, 2019: Until now, TuringTrader had to be compiled from source code. To simplify developing with TuringTrader, and to reach a broader audience, we are now making a binary distribution available.
Update: TuringTrader goes Beta
Jul 8, 2019: After ten months of development, we reached a significant milestone this month: TuringTrader goes beta!
Feature: Native Reports and C# Templates
Jul 7, 2019: Until now, TuringTrader required either Excel or R to render reports. With the latest version, TuringTrader can also render natively with C# templates.
Feature: Run Algorithms from Source
Jul 7, 2019: Until now, TuringTrader required a developer to compile the code to a DLL. While that still works, TuringTrader can now also run algorithms directly from the C# source code.
Feature: Algorithms as Data Sources
Jun 14, 2019: TuringTrader supports a variety of data feeds to bring in quotes and other data. But often it is more natural to describe data in algorithmic form. With our latest feature, you can do just that: use an algorithm as a data source.
Feature: FRED Data Feed
May 31, 2019: If you are serious about data-driven investing, your hunger for data probably goes far beyond price action and volume. The Federal Reserve Economic Database, or FRED for short, offers 530,000 data series of economic data. And our latest TuringTrader release makes it as easy as 1-2-3 to access these data.
Feature: Implicit Data Source Descriptors & Tiingo API Support
May 13, 2019: With Milestone 15, we have made it even easier for you to get started with researching your own trading strategies. First, we made the data source descriptors optional, which removes much of the hassle involved with setting up data sources. And second, we have added support for a fabulous, free data source: Tiingo!
Feature: MFE/ MAE Analysis
Apr 10, 2019: When optimizing a strategy, it is helpful to analyze the trades that a strategy has taken. While TuringTrader offers the complete order log for analysis, it was a bit harder to extract the information required for MFE/ MAE analysis. We have changed that with the latest release.
Showcase: Bensdorp's 30-Minute Stock Trader
Apr 5, 2019: In his book ‘The 30-Minute Stock Trader’, Laurens Bensdorp describes a suite of 3 strategies, working in unison, and trading individual stocks from the S&P 500 universe. We implemented these strategies as a showcase.
Showcase: Larry Connors and Cesar Alvarez' Short-Term Strategies
Apr 5, 2019: In their books ‘High Probability ETF Trading’, and ‘Short Term Trading Strategies That Work’, Larry Connors and Cesar Alvarez describe a collection of mean-reversion strategies. We have implemented these strategies as a showcase for TuringTrader.
Improvement: Indicator speed-up
Mar 25, 2019: Automagic indicators are one of TuringTrader’s best features. Unfortunately, this convenience came with a little bit of a performance hit, which became obvious when running indicator-heavy strategies. This week, we have done some major re-factoring of the indicator mechanism, leading to a dramatic increase in indicator performance.
Showcase: Keller's Classical Asset Allocation
Mar 6, 2019: In their fabulous paper Momentum and Markowitz: A Golden Combination, Keller, Butler and Kipnis describe a unique strategy: Unlike the gazillion variations of strategies based on momentum, this strategy is based on Modern Portfolio Theory.
Feature: Markowitz portfolio optimization
Mar 6, 2019: TuringTrader makes the design and implementation of portfolio algorithms a breeze. Today, we are releasing a set of new features to calculate the Efficient Frontier for a universe of assets. These features hugely simplify the process of creating successful portfolios.
Feature: SimpleReport template
Mar 5, 2019: TuringTrader’s reports are fully customizable, with just a little bit of programming in Excel VBA, R, or R-Markdown. However, until now TuringTrader only included some very basic templates. This has changed today: we have just released a gorgeous new template to visualize your strategies.
Showcase: Aeromir's Parking Trade
Feb 19, 2019: To showcase TuringTrader’s capabilities, we have just added a new strategy: Aeromir’s Parking Trade. This strategy was developed by Tim Pierson and Dave Thomas, and is discussed frequently at the Aeromir website.
Showcase: Keller's Defensive Asset Allocation
Feb 17, 2019: To showcase TuringTrader’s capabilities, we have just added another portfolio strategy: Wouter J. Keller’s and Jan Willem Keuning’s Defensive Assete Allocation (DAA). This is an ETF strategy, based on Keller and Keuning’s fabulous paper.
Feature: Option Strategy Risk Graph
Feb 7, 2019: In a previous post, we announced TuringTrader’s support for option greeks. Today, we added yet another feature to improve TuringTrader’s option trading capabilities: The ability to calculate an option strategy’s risk graph.
Feature: Implied Volatility & Option Greeks
Jan 28, 2019: TuringTrader is one of the very few backtesting engines supporting option strategies. Now, we have made it even more useful, by adding the capability to calculate implied volatility, as well as option greeks.
Feature: Norgate Data
Jan 10, 2019: Quote data are the foundation of any backtest. We are pleased to announce support for Norgate Data today, further expanding TuringTrader’s support for 3rd party data feeds.
Showcase: algorithms from various books
Dec 18, 2018: To show TuringTrader’s capabilities, I have implemented the algorithms described in the following books: (1) Muscular Portfolios, by Brian Livingston, (2) Dual Momentum Investing, by Gary Antonacci, (3) The Ivy Portfolio, by Mebane T. Faber, and (4) Stocks on the Move by Andreas F. Clenow
Updated QSG: Portfolio Demo
Dec 9, 2018: We finally got to reworking Demo 03, and the associated section in the Quick Start Guide, covering the trading of portfolios.
Feature: Capital Asset Pricing Model
Dec 8, 2018: We just finished implementing a new indicator for TuringTrader: The Capital Asset Pricing Model, namely calculation of Alpha and Beta. These are very useful functions to have for creating efficient portfolios.
Hello world!
Nov 30, 2018: The TuringTrader project started in September 2018, when the tools I had at my disposal became a burden to my productivity. I searched around, hoping that I could just buy another piece of software that would do what I wanted...