Automated Portfolio Managers (APMs)
I Need Your Help With Testing
Important: There is no guarantee that ATS strategies will have the same performance in the future. I use backtests and forward tests to compare historical strategy performance. Backtests are based on histolatrical data, not real-time data so the results shared are hypothetical, not real. Forward tests are based on live data, however, they use a simulated account. Any success I have with live trading is untypical. Trading futures is extremely risky. You should only use risk capital to fund live futures accounts and if you do trade live, be prepared to lose your entire account. There are no guarantees that any performance you see here will continue in the future. I recommend using ATS strategies in simulated trading until you/we find the holy grail of trading strategy. This is strictly for learning purposes.
I’m on a quest for the holy grail of automated trading. Questions? Check the FAQs or feel free to reach out directly: AutomatedTradingStrategies@protonmail.com.
Housekeeping: First, I know we’ve had a lot of new people to join ATS over the last month or so. Welcome!! Please reach out to me if you have any questions. It may take a few days for me to get back to you, but I promise you I will.
Second, I’m looking for five people to help debug the Automated Portfolio Manager (APM) prototype. You must be:
a subscriber.
able to run the ATS Portfolio Manager (ATS PM) on NT8.
able to run the PM for one week in a forward test (preference will go to those with a VPS).
If you’re not working with NT8, don’t fret. I’ll have a separate session to help you once I get NT8 worked out.
What do YOU get for helping me debug?
Unlike all ATS strategies, the code for each PM will only be shared with those that help with debugging. That is, all subscribers will be able to use the PMs, but the code for each will be hidden. Only those that help with debugging will be able to see the full code. I will also comp you with one month free of the newsletter.
Shoot me an email if you’re interested.
Okay, let’s get into it…
Eight weeks into Q4, the portfolio is basically flat to positive, but when I applied Hidden Markov Model (HMM) state-based selection to trade data, it dramatically outperformed the baseline. It also outperformed traditional day-of-week and time-of-day filtering. So as many of you know, I’m transitioning the Forward Test to this HMM-based approach. The final product: an automated portfolio manager that can be used with all published ATS strategies.
The first step in the process is developing a logic. How do you actually apply HMM to automated trading? You can read more about that in a series that starts here.
The next step is developing a process to achieve that logic. What architecture is required to effectively and efficiently run an Automated Portfolio Manager (APM)? Minor changes in architecture can have a huge impact on process and therefore performance.
The third step is testing that process in various conditions. That’s where you come in. I’m currently testing five APMs. Each APM is designed with it’s own strategy selection logic and risk management system.
Building a Machine Learning Brain That Never Forgets
I spent the last three months building something I’ve never seen in retail trading: a Hidden Markov Model engine that lives inside an automated NinjaTrader Portfolio Manager, recognizing market states in real-time and adapting its profit factor calculations on the fly across 10+ child strategies.
The concept was the easy part. Finding the right HMM logic—the thresholds, the profit factor matrix, the feature set—was the puzzle I expected to solve. I’ve been sharing bits and pieces of that puzzle with you over the last two months. What I didn’t expect was the nightmare that came after: teaching the APM to remember what it learned yesterday, last week, last month, without breaking, without forgetting, without phantom data corrupting everything. The entire process almost broke me. It was the trading equivalent of a complete rectal examination.
So data persistence became the bane of my existence, but solving it meant solving the real problem: how do you build an intelligent system that actually gets smarter over time, in production, without human intervention?
The answer is: You don’t wait.

