Hi. I'm Kris.

I taught myself to algo trade
and became a hedge fund quant.

Learn how I did it.

Fundamentals of Algorithmic Trading
Learn to design, test and
trade your own algos.
Can't code? We'll get you up to speed with that too. Fast.
Find out more
Advanced Algorithmic Trading
Take your algo trading to the next level with the statistical, quantitative and machine learning tools used by professionals.
Find out more
Community & Exclusive Content
A global community of supportive and collaborative algo traders &
a library of code and tools to
propel your progress.
Find out more
Course Units
Coded Examples

Learn the approach that transformed my career

I taught myself the skills of algorithmic and quantitative trading and managed to ditch my  engineering job for a career in the markets. I’ve been a hedge fund quant and now I consult to financial institutions and trading firms on algorithmic trading, machine learning and big data analytics.

While consulting to the professionals is my job, my passion is seeing non-professional and aspiring DIY traders succeed. I come from that background myself and I know how challenging and frustrating it can be to navigate the markets as an individual trader. From the huge forest of well-intentioned but dangerous information to the outright charlatans who promise you easy and fast riches, there is no denying that making it as an individual trader is incredibly difficult.

Professionals have access to cutting edge tools, comprehensive data and expertise in the form of the accumulated knowledge of their peers. In short, they work in environments where they are being set up to succeed. The opposite is usually true for individual traders. Individuals have little to no proven external expertise on which to rely and are constrained to using tools and data that fit with comparatively modest budgets.  Individual traders that succeed do so against the odds. I want to change that and level the playing field by sharing the knowledge and skills that got me snapped up by a hedge fund and later enabled me to consult to the finance industry.

My intention is not to take away from the achievements of professional traders. I’ve met some of the most incredibly intelligent and driven people I’ve ever come across inside professional trading firms, and I have the highest respect for them. To make money in the markets through ingenuity and intelligence, regardless of one’s professional status, is a significant achievement. However, the fact is that professionals are far more likely to succeed than individuals simply because of their environment.

At Robot Wealth, we are creating an environment that facilitates the success of individuals by sharing the tools, knowledge and support that professionals have access to.

To help you take your trading to the next level, I’ve written a series of courses that encapsulate all the algorithmic trading knowledge that I wish I’d had access to when I was starting out. It’s the information that would have saved me an incredible amount of time and effort, not to mention money, if I’d known about it back then.

The markets have been good to me. Beyond the financial rewards, I’ve made some great friends and I get to spend my time unravelling fascinating problems from which I continue to learn. The markets have enabled me to live life on my terms, and as a result I feel an immense amount of satisfaction that I simply didn’t get in my previous career. My vision is to enable such success and satisfaction across the non-professional trading community. I believe that everyone should be able to live life on their terms, and Robot Wealth is my contribution to that.

Become brilliant at the basics ...
... and set yourself up for success.

Fundamentals of Algorithmic Trading

The course that gets you up to speed with tools and methods used by professionals.

Fundamentals of Algorithmic Trading takes you from beginner to skilled algorithmic trader. Anyone at any level can pick up the course at the module that is aligned with their current knowledge level – from someone who can’t yet put their ideas into code to an advanced practitioner looking to apply the latest machine learning tools to their trading. With dozens of practical code examples throughout and  ten example strategies to get you started, Fundamentals provides a solid grounding in the tools of the trade, and a robust workflow for practical experimentation and design of algorithmic trading strategies.

  • Coding for Algorithmic Trading

    Get up and running with the Lite-C scripting language, a simple yet extremely powerful and flexible coding language that is perfect for research and development of trading strategies.  Even complete beginners can learn Lite-C quickly – I’ve had non-coders write simple algorithms after a single weekend when delivering this content face to face. If there is a simpler way to get started with coding, I have not seen it. This module is written to get novice coders writing their own algorithms as quickly as possible, but seasoned programmers will find it a quick and efficient portal to the best backtesting platform on the market for its price today. Find out more about why I recommend this under-appreciated language and it’s professional-grade trading platform in the FAQ.

  • A Robust Approach for Developing Trading Algorithms

    You’ve learned how to operate the tools of the trade; now learn how to use them wisely. Professional trading firms use processes and systems to ensure research is efficient, robust and ultimately profitable There are just too many traps and pitfalls to not take a systematic approach to the development workflow itself. We will teach you about the subtle statistical biases that contaminate strategy research, and just how easy it is to abuse the powerful tools we have at our disposal. You will learn a professional workflow for robust strategy development that avoids these traps and leads to confidence in your decision to trade or discard a strategy.  

  • Practical Examples of Automated Strategies

    Professionals talk to their colleagues and share their thoughts on trading strategies, which leads to new ideas that the sharer might not have thought of. The more strategies you’ve discussed or seen, the deeper your pool of inspiration. We provide 10 example strategies with detailed explanatory notes to illustrate the practicalities of using Lite-C for research and development and to use as inspiration or starting points for your own strategies. The example strategies are exactly that and we don’t recommend trading them. However, they do provide practical insights into how a strategy is put together programmatically and will likely provide frameworks for you to build upon. Strategy examples include momentum, mean-reversion, price-action, seasonal volatility and machine learning.

Fundamentals Course Curriculum
Fundamentals of Algorithmic Trading
This course will take you from novice algo trader to skilled strategy researcher and developer. After successfully completing the course, you will have the ability to automate, test and optimize a trading strategy. More importantly, you will have the tools to make objective decisions about what to do with that strategy. You will be well placed to tackle the exciting realms of quant finance, machine learning and artificial intelligence based on a solid foundation of robust strategy development.
Module 1 Introduction
Background reading and an overview of what you're in store for.
Unit 1 Welcome to Fundamentals of Algorithmic Trading Module 1: Introduction
Unit 2 Welcome Aboard!
Unit 3 Why Algorithmic Trading?
Unit 4 What this Course Is Not
Unit 5 What Can You Expect from This Course?
Module 2 Introduction to Algorithmic Trading Tools
This module gets you up and running with the Lite-C scripting language and the Zorro trading automation platform, both the syntax of the language and practicalities such as connecting to a broker, downloading historical data and simulating certain trading conditions. Lite-C is simple yet extremely powerful and flexible. Even complete beginners can learn to code in Lite-C relatively quickly. Zorro is a backtesting and trade execution platform that was specifically designed with accuracy, simplicity and robust design in mind. A student of ours who comes from an MQL background says that developing with Zorro is like a breath of fresh air in comparison. If there is a simpler way to get started with coding, I have not seen it.
Unit 1 Welcome to Fundamentals of Algorithmic Trading Module 2: Introduction to Algorithmic Trading Tools
Unit 2 Introduction To My Programming Tools Of Choice
Unit 3 A Simple Trading Strategy Put To The Test
Unit 4 Introduction to Lite-C
Unit 5 Digression - Digital Filters
Unit 6 Variables and Constants
Unit 7 Variable Types
Unit 8 Arrays
Unit 9 Pointers
Unit 10 Strings
Unit 11 Structs
Unit 12 Commenting Your Code
Unit 13 Operators
Unit 14 Expressions
Unit 15 Comparisons
Unit 16 Statements
Unit 17 Statement Blocks
Unit 18 Functions
Unit 19 Global, Local And Static Variables
Unit 20 Static Variables - A Common Application
Unit 21 Using The Manual For General Function Syntax
Unit 22 Series
Unit 23 Frequently Used Keywords and Commands
Unit 24 Script Flow Control
Unit 25 Debugging
Unit 26 Header Files
Unit 27 Lite-C For Trading Systems Development
Module 3 Developing Trading Algorithms
This module focuses on robust strategy development. It takes what was learned in the previous module and applies it to a practical workflow for strategy development. In particular, you will learn how easy it is to abuse the incredible power of the tools we use and how to harness it sensibly to build robust strategies. While the previous module shows you how to use the tools of the trade, this one shows you how to use them properly.
Unit 1 Welcome To Fundamentals of Algorithmic Trading Module 3: Developing Trading Algorithms
Unit 2 Should This System Be Automated? An Introduction To Robust Development
Unit 3 Back-Test Theory, Biases and Measuring Performance
Unit 4 Simulation Accuracy
Unit 5 Development Methodology And Biases
Unit 6 Documentation And Record Keeping
Unit 7 Robust Optimization Part 1 - Setting Up And Looking Under The Hood
Unit 8 Controlling Trade Entries and Exits
Unit 9 Trade Entry Functions
Unit 10 Trade Entry Parameters
Unit 11 Example Usage Of Trade Entry Functions and Parameters
Unit 12 Trade Entry Helper Functions
Unit 13 Robust Development Part Two: An Optimization Work-Flow
Unit 14 Development Step 1: System Description
Unit 15 Development Step 2: Validation Data Set
Unit 16 Development Step 3: Strategy Framework
Unit 17 Development Step 4: Initial Parameter Investigations
Unit 18 Development Step 5: Optimize Exits
Unit 19 Development Step 6: Optimize Entry And Exits Together
Unit 20 Development Step 7: Feedback
Unit 21 Development Step 8: Out Of Sample Testing
Unit 22 Development Step 9: Walk Forward Analysis
Module 4 Understanding Automated Trading Strategies
This module consists of 10 example strategies with explanatory notes to illustrate the practicalities of using Lite-C for research and development. The strategies are examples only and we don’t recommend trading them. However, they provide practical insight into how a strategy is put together algorithmically. They might even provide you with inspiration or a starting point for your own strategies. The example strategies include indicator-based and price-action systems, mean-reversion and trend following systems, breakout strategies, a system that takes signals from multiple time frames, one that uses digital signal processing algorithms, and one based on a machine learning algorithm.
Unit 1 Welcome to Fundamentals of Algorithmic Trading Module 4: Understanding Automated Trading Strategies
Unit 2 Introduction
Unit 3 Strategy 1: MAX
Unit 4 Strategy 2: A Classic Breakout
Unit 5 Strategy 3: Classic Mean Reversion
Unit 6 Strategy 4: Price Action 1
Unit 7 Strategy 5: Price Action 2
Unit 8 Strategy 6: The London Breakout
Unit 9 Strategy 7: The Alligator
Unit 10 Strategy 8: Multiple Time Frames
Unit 11 Strategy 9: Digital Filters
Unit 12 Strategy 10: Artificial Intelligence
Module 5 Conclusions
Wrapping up!
Unit 1 Welcome to Fundamentals of Algorithmic Trading Module 5: Conlusions
Unit 2 Concluding Remarks
Unit 3 Final Word

You're doing well with the Prius ...
... next take the wheel of the Ferrari.

Advanced Algorithmic Trading

Learn to think like a quant and take your algos to the next level.

Now that you’re brilliant at the basics, it’s time to learn the quantitative tools that the professionals use and propel your algo trading beyond the amateur ranks.

Advanced Algorithmic Trading builds on the skills you learned in the Fundamentals course and introduces a whole range of advanced statistical, quantitative, and machine learning tools used in professional practice. You’ll learn to think like a quant and put your ideas to the test by designing statistically sound experiments. You’ll also learn how to build portfolios of trading algorithms across multiple markets and time scales that diversify risk and compound returns. 

The course is currently under development with modules being published incrementally – view the curriculum below for additional details on those modules that have already been released. You can take advantage of pre-release pricing until the full course is published. 

  • Risk Management and Quantitative Portfolio Construction

    This is where you will start learning to think like a quant. You will begin to see trading as less of a forecasting exercise and more of a problem of taking and managing risk. Seeing the markets in those terms is a sure sign of a growing sophistication and maturity as a trader – and we’ll help you get there! The course provides a holistic treatment of risk management and portfolio construction with a sharp focus on the practical. The emphasis is on empowering you with the tools to make objective, practical, and data-driven decisions about risk management and portfolio construction that you can apply in real life.

  • On the Shoulders of Giants

    R is a programming language for statistical computing used widely in both academia and industry. It’s power lies in the more than 13,000 (!) packages that have been contributed by users (a package is a set of pre-written functions – including documentation – related to some task or subject). This means that R is unparalleled in its capabilities for statistical computing, data science, and advanced analytics: almost anything you might care to do has likely already been implemented. The course will get you up to speed fast with the sometimes strange nuances of R and you will learn how to use any R package directly in your trading algorithms. From Kalman filters to cointegration tests to neural networks…you will learn how to stand on the shoulders of giants and leverage cutting edge tools without having to implement them from scratch.

  • Advanced Analytical Tools

    The Zorro trading automation platform incorporates a suite of tools for advanced analytics that originated in fields as diverse as engineering, statistics, information theory, machine learning and finance. You will learn how to leverage the power of these tools to build innovative and robust trading systems through numerous practical code examples and detailed explanations.

  • Trade Management Functions

    The algorithmic micro-management of individual trades is one of the most useful and frequently used tools in the algo trading arsenal. Learn how Zorro’s framework for trade micro-management works including the programming concepts that are critical for a detailed understanding. Also included are detailed code examples and descriptions of the extremely useful things you can do with trade management functions, like scaling into and out of positions, designing custom order types, adjusting stop levels based on indicators, and much more.

  • Advanced Algo Trading Utilities

    There are a lot of moving parts in any serious algo trading technology stack, and as time goes on you will incorporate many tools and utilities that support yours. We show you how to build and design such utilities that optimize and automate as much of the research and execution environment as possible. This part of the course is all about leveraging automation and outsourcing as much as possible to machines: you’ll learn how to incorporate web-based or other external data into your trading algorithms in real time, to build user-interfaces to control how an algorithm trades, to send warning SMS and email messages from your trading algorithms, to control aspects of the windows environment, and more.

  • Working With Time

    Time is a critical factor in many trading algorithms. Markets very often behave differently depending on the time: in the 24-hour world of FX and some futures markets, often day boundaries are arbitrary and trading strategies will perform very differently depending on where that boundary is set. Time is in general an under-appreciated component of trading system research, but learning to use it to your advantage can be enormously beneficial. You will learn everything you need to know to incorporate this crucial aspect of the markets in your research and development.

Advanced Course Curriculum
Advanced Algorithmic Trading
Leverage statistical, quantitative and risk management tools used by professionals.
Module 1 Introduction
The introductory module provides an overview of the material presented in the course, how it is structured, what you can expect to get out of it, and what you will need in order to succeed.
There are no units in this module.
Module 2 Intra-Trade Management: All About Trade Management Functions
The algorithmic micro-management of individual trades is one of the most useful and frequently used tools in the algo trading arsenal. While it is difficult to set up a framework for trade micro-management in a stand-alone or bespoke simulation environment, Zorro provides exceptionally powerful and efficient functionality for managing trades on a tick-by-tick basis. Learning to use this functionality will be one of the most practical and useful skills you will master in your algorithmic trading journey, and while intra-trade management is certainly not as intellectually attractive and interesting as hunting for alpha-generating signals, it will often make or break a strategy - so it is worth learning and learning well! This Module teaches you the details of how Zorro's framework for trade micro-management works including the programming concepts that are critical for a detailed understanding. The Module also introduces some practical usage of trade micro-management that sets the scene for the detailed examples in the next module.
Unit 1 Intra-Trade Management: All About Trade Management Functions
Unit 2 Introduction to Trade Management Functions
Unit 3 Structs and Their Importance for Trade Management Functions
Unit 4 Structs Built In To Zorro
Unit 5 Getting Practical with Trade Management Functions
Module 3 Practical Examples of Trade Management Functions
Examples, code and descriptions of extremely useful things you can do with trade management functions, from customizing the movement of a stop loss to submitting one-cancel-other and stop-and-reverse orders to storing information about market conditions at trade entry and trade exit for further analysis. This Module provides everything you need for a detailed understanding of how to create your own customized trade management functions and how such functions are used in a practical sense.
Unit 1 Examples of Trade Management Functions
Unit 2 Move Stops Depending on Trade Profit
Unit 3 Move Stops with a Technical Indicator - Using AssetVars
Unit 4 Controlling Script Behavior Using TMFs
Unit 5 Calculating ATR Inside a TMF
Unit 6 Scale into a Position
Unit 7 One-Cancels-Other Orders
Unit 8 Stop-And-Reverse Orders
Unit 9 The price()  Functions inside a TMF
Unit 10 Typecasting Trade-Specific Variables (why printf()  is not working!)
Unit 11 Cycling Through the Trade List
Unit 12 User-Defined Trade-Specific Variables
Module 4 Risk Management 1: Measuring Performance
In order to manage risk and build portfolios effectively, we must first have the tools to measure and describe performance at the trade, strategy and ultimately the portfolio level. This Module takes you on a detailed yet practical journey, teaching you how to analyze performance both quantitatively and critically, ultimately enabling you to make objective, data-driven decisions about risk management and portfolio construction.
Unit 1 Introduction
Unit 2 Introduction to Trade and Returns Analysis
Unit 3 Trade Distribution Analysis
Unit 4 Maximum Adverse and Favourable Excursion
Unit 5 Trade Summary Statistics and Returns Correlation
Unit 6 Trade Statistics By Period
Unit 7 Drawdown Analysis and Random Processes
Unit 8 Risk
Unit 9 Measuring Risk and Reward
Module 5 Risk Management 2: Quantitative Portfolio Management
Portfolio construction in the context of algorithmic trading is ultimately about combining components in an optimal way through selection and capital allocation. "Optimal" is something of a loaded term and can mean different things depending on one's preference for theory over practicality. Theories and assumptions abound in the world of portfolio construction. This Module provides a practical and holistic guide to portfolio construction with a strong emphasis on application in the real world. We investigate a number of approaches to capital allocation with a view to understanding the assumptions that drive them and ultimately how and when to apply them in the real world of trading.
Unit 1 Introduction to Quantitative Portfolio Construction
Unit 2 Loop Functions: Zorro's Shortcut to Building Portfolios
Unit 3 Modern Portfolio Theory
Unit 4 Optimal F and The Kelly Criterion
Unit 5 Performance-Based Allocation
Unit 6 Reinvesting, and Other Capital Allocation Methods
Unit 7 When to Pull Out: A Quantitative Approach
Unit 8 Portoflios - Conclusions
Module 6 Working With Time
Time is a critical factor in many trading algorithms. Markets very often behave differently depending on the time: market open and close, regular news releases, and cyclical volatility aligned with economic forces are all real and potentially powerful drivers of market activity. In the 24-hour world of FX and some futures markets, often day boundaries are arbitrary and trading strategies will perform very differently depending on where that boundary is set. Time is in general an under-appreciated component of trading system research, but learning to use it to your advantage can be enormously beneficial. This Module teaches you how Zorro manages time and how you can incorporate it into your trading algorithms through practical examples and use cases.
Unit 1 Your Reference Framework: Arbitrary or Principled?
Unit 2 The Basics of Working with Time
Unit 3 Multiple Perspectives: Analyzing Data at Different Timeframes
Unit 4 Seasonal Effects
Unit 5 Plotting Seasonality
Unit 6 Correlogram Plots
Unit 7 Exploiting Seasonality
Unit 8 Exploiting Seasonality: Stock Index ETF Monthly Patterns
Unit 9 Exploiting Seasonality: Overnight Effects
Unit 10 Exploiting Seasonality: Non-Farm Payrolls Drift
Unit 11 Conclusions
Module 7 Advanced Analytical Tools for Traders
Zorro incorporates a suite of advanced algorithmic trading tools that originated in fields as diverse as engineering, statistics, information theory and finance. This Module teaches how to use these tools by exploring the theory that underpins them and then applying it in real world examples. It is a how-to guide on using Zorro's advanced research tools to get the most out of your development process and includes examples of using regression, machine learning, and pattern recognition algorithms. We also explore tools for dealing with data mining bias, making your limited data go further, hack Zorro's optimization engine, and more.
Unit 1 Advanced Analytical Tools for Traders: Introduction
Unit 2 Regression 1: An Introduction
Unit 3 Regression 2: Smoothing and Trend Estimation
Unit 4 Regression 3: Polynomial Regression
Unit 5 Regression 4: Beta
Unit 6 Regression 5: Further Considerations
Unit 7 Spearman Rank Correlation
Unit 8 Pattern Recognition with the Frechet Distance
Unit 9 Shannon Entropy
Unit 10 Machine Learning 1: Introduction to Machine Learning in Zorro
Unit 11 Machine Learning 2: A Brief Overview
Unit 12 Machine Learning 3: First Steps with Zorro
Unit 13 Machine Learning 4: Decision Trees
Unit 14 Machine Learning 5: Ensembling Machine Learning Models in Zorro
Unit 15 Machine Learning 6: Perceptrons, The Simplest Neural Networks
Unit 16 Machine Learning 7: Data Mining for Predictive Patterns
Unit 17 The Insidious Threat of Data Mining Bias
Unit 18 Dealing with Data Mining Bias: The Empirical Approach
Unit 19 Dealing with Data Mining Bias using Synthetic Price Data
Unit 20 Dealing with Data Mining Bias using Bootstrapped Backtests
Unit 21 Applications of Digital Signal Processing to Trading
Unit 22 Oversampling for Getting More out of Data
Module 8 Advanced Utilities for Algo Traders
Learn to leverage the power and flexibility of Zorro for performing programming tasks: from incorporating web-based or other external data into your trading algorithms in real time, to building user-interfaces to control how an algorithm trades, to controlling aspects of the windows environment, mastery of these tools makes a huge difference to what you can accomplish with Zorro.
Unit 1 Introduction to Algo Trading Utilities
Unit 2 Introduction to String Manipulation (or Why It Pays to Be a Manipulator of Strings)
Unit 3 String Manipulation Example 1: Reading in a Binary Balance Curve
Unit 4 String Manipulation 2: Exporting Data to a CSV File
Unit 5 String Manipulation 3: Scraping Sentiment Data from the Web
Unit 6 Advanced Script Flow Control
Unit 7 The Command Line: Enabling an Efficient and Productive Workflow
Unit 8 Sending Free Email and SMS from a Trading Algorithm
Unit 9 External Input 1: Sliders
Unit 10 External Input 2: Control Panels
Unit 11 Conclusion: Algo Trading Utilities
Module 9 Extending Zorro with R: The Language of Statistical Computing
The R statistical computing package is widely used by statisticians and data scientists thanks to its enormous library of classical and specialized statistical, modelling and graphical packages. This Module shows you how to leverage this huge array of tools within the Zorro environment via a series of practical, relevant examples.
There are no units in this module.
Module 10 Conclusion
Summarizing and wrapping up the course, and some advice on where to go from here.
There are no units in this module.

Education gets you started ...
... community keeps you going.

Members' Only Forum and Slack Channels

Don’t sit in the dark. Connect and collaborate with like-minded individuals and accelerate your trading journey.

Connect with other algo traders

Connect with people from all over the world who share your passion for algo trading


Collaborate on a trading system or help solve a coding problem

Share insights and ideas

Discuss your ideas with others and learn from their experiences

Accelerate your learning

Maintain your motivation and share your progress with others

Join the conversation in our members’ forum and find answers, make new connections and be inspired by a thriving global community of DIY algo traders.

Exclusive Content

Implement new strategies using our development frameworks, extensive code downloads and in-depth articles.

Exclusive Code Downloads

Exclusive code with detailed explanation for your personal implementation and experimentation

Research frameworks

Further your strategy development using our robust research frameworks

Advanced Tool Insights

Leverage a suite of statistical tools to gain insight into your strategy’s ability to hold up in a changing market

In-depth articles and bonus tools

Comprehensive articles and custom applications to assist your strategy development

We are adding to our exclusive code library all the time – it is an incredible resource to take your strategy development in new directions and provide inspiration. Save time and effort by leveraging pre-written research frameworks that you can use to experiment with various approaches, like machine learning.

“This course will get you to the point of being able to test most strategies whilst understanding sound back testing methodology and optimization techniques.

I wish I’d found it sooner.

Alex B.

“There’s always a focus on robustness… Don’t expect to be handed a couple of winning strategies so that you can sit back and trade them forever.  Instead, you will learn how to develop and test strategies while taking into consideration biases and pitfalls that affect traders.

I highly recommend this course, Kris truly knows his stuff.

Luis T.


Working with Kris is the equivalent to having your own Quant. You have access to levels beyond simple trade automation!”

Jamie I.



Fundamentals Course

Advanced Course*

Exclusive Members’ Content

Private Members’ Forum

Private Slack Channel

*Advanced Algorithmic Trading course is currently under development and being released incrementally. Refer to the course Curriculum for full details as to which units are published to date.



Fundamentals Course

Advanced Course*

Exclusive Members’ Content

Private Members’ Forum

Private Slack Channel

*Advanced Algorithmic Trading course is currently under development and being released incrementally. Refer to the course Curriculum for full details as to which units are published to date.

Four months free!

Frequently Asked Questions

What will I learn from your courses?

Simply, you’ll learn everything that I would seek to learn if I were starting my algo trading journey all over again.

The courses cover a lot of ground. At a high level, you will learn the technical skills that enable algorithmic trading. You will also learn about the various statistical biases and traps that tend to thwart aspiring amateur algo traders. You’ll also learn research processes, workflows, and quantitative tools & techniques that you would find in a professional quantitative trading firm.

For more detail, including descriptions of modules and titles of individual units, check out the curricula for the Fundamentals and  Advanced courses respectively.

What prerequisite knowledge will I need?

To get the most out of the course, you will need as a minimum a beginner’s level of knowledge about the financial markets. In particular, you should know about the mechanics of trading, for example, the different order types, the difference between exchange-traded and over-the-counter markets, and stop losses and position sizing. Ideally, you will have done some manual trading already.

If you don’t have this level of knowledge, you’ll get the best value for your membership if you do some research prior to signing up. There is plenty of material available online for free that will get you up to speed with these prerequisites. Get started with our Back to Basics: Introduction to Algorithmic Trading blog series and one or two of the more introductory texts in our recommended reading list.

Note that programming knowledge is NOT required as a prerequisite – we will get you up to speed with what you need to know. See the next FAQ for more detail.

I've never coded before. Where should I start? Is this course for me?

If you have no prior coding experience, that’s OK! In fact, the first module of Fundamentals of Algorithmic Trading was designed specifically with you in mind! It will get you up to speed with Lite-C – an extremely flexible, powerful, yet simple scripting language – in a surprisingly short amount of time. In fact, you will likely be writing your first code within hours of starting the Fundamentals course.

In many ways, the first part of the Fundamentals course is an ideal introduction to programming. It will take you through all the important basic concepts and will leave you with the ability to turn simple trading ideas into code. As you progress through the remainder of the Fundamentals course and the Advanced courses, your programming skills will continue to grow. Both courses contain dozens of fully explained code examples and you will be supported via the member forums.

I'm an experienced coder, what's in it for me?

If you already know coding, that’s great! That means you already have one of the key skills for successful algo trading and can dive into the others, like statistically sound backtesting, risk management, portfolio construction, and the rest. These other skills, particularly their practical application, are the subject of the latter part of Fundamentals and the entire Advanced course.  Fundamentals will help you leverage your existing coding skills by showing you how to apply them wisely and effectively in a research process for algo trading. Advanced will show you how to take that process further by incorporating quantitative, statistical and machine learning tools into your arsenal.

If you are already a coder, you can probably skip the first part of Fundamentals, however it will provide a handy reference for Lite-C syntax and have you up and running with the language in a matter of hours.

Math is not my strong suit. Can I cope with this course?

This is something I feel really strongly about, so brace yourself for a long answer.

Algo trading is first and foremost a practical endeavour. Sure, there is probably a minimum level of cross-disciplinary knowledge that is needed, but contrary to popular belief you most definitely don’t need to be a mathematician or physicist to succeed at algo trading. In fact, the theoretical grounding that comes with such a background might even hinder progress rather than help it.

My personal approach to learning algo trading was empirical and experimental in nature. I tried everything I could think of in order to discover what was worth keeping and what to throw away. This was a fascinating path of discovery and really ignited my passion for algo trading. Later, I learned a bunch of theory about why things worked and others didn’t, but if I’d started with the theory I’d have probably lost interest before I even got started.

My point is that you really shouldn’t let your lack of theoretical background stand in your way. Algo trading is all about solving practical problems in the real world, and theory might not even be the best place to start looking for solutions. As you make real progress, you’ll probably become naturally interested in the theory, as I did.

When you’re starting out, rather than having knowledge of advanced mathematics, far more important is having a good, robust research process and the ability to apply the tools that help support it. This is exactly what the Robot Wealth courses provide.  We’ll teach you how to operate a tool that enables efficient, useful and above all practical research. We’ll share with you a process for using that tool wisely. We’ll provide you with dozens of coded examples so that you can implement things straight away that are beyond your current coding abilities. If you start out with these, and work hard to understand the examples line by line, you’ll be well on your way in no time.

Of course, there is a place for theory, and you can always take a top-down approach and tackle it first. After all, that’s the way most things are taught at university. But following the empirical path, you tend to learn whatever theory you need to at the right time – and you get to simultaneously test it out in real life. Further, the theory tends to stick a lot better when you are actually using it in context. If you didn’t become proficient at mathematics through formal study, I’d be willing to bet that the empirical approach leads you to a level of proficiency that you never dreamed possible. I’m absolutely serious about this – you will surprise yourself.

In my experience, the bottom up, empirical approach is a lot more fun and yields faster results, so long as you’ve got the right systems and guidance in place. Being first and foremost a practical problem, algo trading really lends itself to this approach, so don’t let your perceived lack of mathematical ability stand in your way.

I don't have a scientific background. Can I still be an algo trader?

Unlike a background in advanced mathematics, a scientific approach to algo trading is critical. But a scientific approach is a skill that can be learned. It is also highly amenable to being encapsulated in a process or a workflow. We will teach you how to approach the markets from a scientific perspective and you’ll see the processes and workflows that worked for me.

The scientific approach is actually a very practical one. After all, science is all about experimentation, observation and inference. If you don’t come from this world, you just need to be shown how it’s done. We’ll introduce you to these concepts in the Fundamentals course, and they’ll be a constant theme throughout the Advanced course as well.

How much time and effort is this going to require?

I wish I could tell you that the path to mastery is one that is quickly and easily navigated. But that’s just not true. The reality is that algo trading is HARD. It is difficult because it requires both a broad and detailed knowledge base: ideally you would possess skills in programming, risk management, statistics, finance, markets, computer simulation and data management.

Learning enough about these different fields is not something that happens overnight. If you’re new to both programming and algo trading, you are looking at a minimum of six months of consistent effort (a couple of hours a day, most days) to become competent with all our course material. It may take significantly longer, depending on how much time you can devote to it. If you already have experience with algo trading, you can probably take a couple of months off that figure, again depending on how much time you can devote to the courses.

Also remember that getting through the courses will provide you with the knowledge and tools to develop your own trading algorithms in a scientifically robust manner. You still have to do the actual research and development to get your algorithms into production.

That sounds like a lot of time and effort, but consider that it took me several years to work this stuff out on my own. Here you have a repository of everything I would learn if I were starting out again.

Just to be clear, algo trading is not a get rich quick scheme. Yes the potential rewards are significant, but you will have to work very hard over a long period of time to attain them. As one old pro once told me, “trading is the hardest way to to make easy money.” You’ll need to put in a lot of work over at least a six month period (and probably longer) to attain the skills and knowledge required of successful algo traders.

When will I start making money?

I don’t know. It really depends on you and how much work you put in. As mentioned in the previous question, algo trading is difficult and it takes time to accumulate the multi-disciplinary skills that are needed for success. Of course, the potential rewards are enormous, but they are not easily attained.

Having said that, if you want to get up and running with an algorithmic trading system quickly, you can always take something from our members’ library and start using it immediately. We provide code for a variant of Dual Momentum, a long-term trend following strategy requiring only monthly ETF rebalancing. It tends to be a good place to start for many (but I don’t know your circumstances and this is not advice) since it is simple to implement and manage and is backed by an extensive body of research. While such a slow-moving strategy is generally not what people look for when they come to algorithmic trading, starting off slow and simple is usually a good idea.

Dual Momentum won’t make you rich overnight, and who knows, it might stop working at some point in the future. In any event, you’ll give yourself the best chance of making consistent money when you have a process for developing algorithms and adding them to a well-diversified portfolio managed with sensible oversight. That’s what you’ll be able to do having completed the Robot Wealth algorithmic trading courses; how quickly you get there is completely up to you.

What support will I have while I'm doing the course?

You will be supported via the Members’ Forum, which is currently moderated by Kris. He replies to questions directed to him within 48 hours. We also offer email support, but ask that this be reserved for non-technical support. For everything else, the strong preference is for support to be via the forums. Someone else might have a similar question later, and answers preserved in the forum are beneficial for the entire community. This approach also saves Kris some time, which he can better spend contributing to the community’s collaborative research and development efforts.

What are the computer and software requirements? How much do they cost?

You will need to download the Zorro automated trading platform. You can complete the course using the free version, which enables nearly all the functionality of the commercial version, but in live trading has a cap on account size and annual profit. This is a nice aspect of the Zorro platform: the developers ask for nothing until you start making some money with it. You will also need a computer that runs Windows in order to use Zorro.

 If you decide to purchase the licensed version of Zorro, Robot Wealth members get 15% of the purchase price refunded. Get in touch to find out more.

Towards the end of the Advanced course, we also use the R programming language for statistical computing. R is free and open source. We use and recommend the R Studio integrated development environment.

What on earth is this Zorro platform you refer to? I've never heard of it!

The Zorro automated trading platform might just be the best kept secret in the world of algorithmic trading. Zorro is a lot of things, including:

  • A professional grade backtesting engine that includes support for walk-forward analysis and parameter optimization
  • An execution engine, able to trade with multiple brokers and asset classes, out of the box
  • A suite of advanced (but simple to use) analytical tools, including statistics, artificial intelligence and signal processing

I have personally designed and executed algorithms in a professional setting using Zorro, and I know that I am not the only one to do so.

 Zorro is the ideal tool for individuals to get started with algorithmic trading because:
  • With some guidance, it is extremely learnable for new coders thanks to the simple syntax of Lite-C and the huge library of pre-built functionality.
  • Zorro makes doing serious algo research and trading about as simple as it can possibly get. Note the word serious – forget drag and drop software or any tool that promises you can do algo trading without coding. The fact is that you simply can’t, at least if you don’t want to waste your time. If you’re serious about algo trading, you simply have to bite the bullet and learn to code. Zorro makes that about as painless as it could possibly be, without sacrificing performance, power and flexibility.
  • Zorro’s simple scripting language combined with the abstraction of the vast majority of the minutiae associated with algo trading code (MQL coders – you know what I’m talking about) results in a platform that truly facilitates fast and efficient research and prototyping of trading strategies. Once proficient, you will spend 90% of your time testing ideas for trading strategies, rather than writing and debugging code. For beginners, this may not sound all that exciting, but I can assure you that it is a huge win. It wouldn’t be unreasonable to say that developing in MQL means you spend 90% of your time writing and debugging code and only 10% of your time testing ideas. Guess which option leads to faster, better results.
  • Zorro compiles your scripts to machine code and uses a flat file structure for historical data stored in binary format. This makes Zorro backtests super fast – 10x faster than MQL, 100x faster than Python and 400x faster than R on benchmark code.
  • The combination of fast prototyping and lightning backtests leads to more efficient research. Most individual traders are forced to use what little spare time they have for trading, therefore research efficiency is crucial for sticking with it long term, and ultimately for success.
  • Zorro backtests are accurate. This is a big deal, as the markets are notoriously difficult to simulate with high fidelity since you have variable transaction costs and execution dynamics to contend with. Most commercial backtesters I’ve used tend to deliver optimistic backtests, which is great for getting you excited about a trading idea, but really poor for hanging onto your money.
  • Zorro goes from research environment to execution engine with the flick of a switch. This is incredibly handy because it means that your research code can be used directly for execution. This saves a lot of time and potential errors. Out of the box, Zorro has support for trading with Interactive Brokers, Oanda, Dukascopy, FXCM and any broker offering the MetaTrader 4 platform. Plugins can be written to trade with any broker.
  • Zorro is highly extensible and customizable. While it is a very advanced piece of software out of the box, it is easily extended to access the library of R packages (over 13,000 at last count) and control other windows processes and leverage external DLLs.
  • Zorro can download data from various sources and store them as efficient binary files in your own data library.

If Zorro is so awesome, why aren't more people using it?

At the time of writing, Zorro’s user base was relatively small, but growing at an accelerating rate.

I am a massive fan of what the developers of Zorro have built (and continue to build – they roll out new features every few months), but it is pretty clear to me that they are genius software engineers first and foremost. With all the respect in the world, I speculate that judging by their website, they aren’t the world’s best marketers or salespeople (says the guy with the electric green website). A lot of people would never get past that first page and download the software, although Johan’s (the lead developer) blog is certainly getting the word out that the software is the real deal.

The other obstacle is that the software isn’t particularly well documented. Sure, the manual describes all the functionality, but important things are hidden away in remarks or comments sections and are almost sure to be overlooked. This is not meant to be critical – I’m actually really glad that the documentation is what it is as I’d rather the developers spend their time working on new features than filling the manual with perfectly written technical prose.

This is not really an issue for verteran programmers looking to pick up Zorro, but the downside however is that there is a siginificant barrier to proficiency for non-coders. My belief is that it is not feasible for non-programmers to pick up the software, learn to write code, learn how to apply the advanced functionlaity of Zorro using that code, as simple as that code is, in a reasonable amount of time. I think many non-coders would walk away in frustration.

That’s where Robot Wealth can really help – our courses start off by approaching Zorro form the absolute beginner’s perspective, using it as a vehicle to teach programming rather than assuming that programming is already known. With a focus on the practical, we teach you firstly how to operate the software and then how to use it wisely through extensive code examples that are broken down and fully explained.

What data do you use in the course? Do you supply data?

The data that we use in the course is all available for free with the Zorro platform. We also show you how to use Zorro and other software to build your own library of data from freely available and paid sources. We will be rolling out a shared data platform for members, subject to licensing conditions and constraints imposed by the providers.

What programming languages do you teach?

The courses focus on Lite-C and R.

Lite-C is a powerful, simple, C-based language that enables rapid development, efficient research and fast backtesting.

R is a hugely popular and widely used language for statistical computing, data science and visualization. While the syntax of R certainly has it’s own unique nuances, its library of over 13,000 packages give it an enormous amount of power. Thanks to these packages, we can readily use advanced tools from the fields of statistics, econometrics, data science, artificial intelligence and many others without having to code them from scratch.

Lite-C and R make a formidable partnership: we can rapidly prototype and debug trading algorithms using the former, then call advanced R functions directly in our Lite-C script.

What have you got against Python?

Absolutely nothing! I love Python. I use it on an almost daily basis, especially for standalone machine learning or artificial intelligence work. Amongst general purpose programming languages, Python almost has to be the first choice.

The Lite-C + R combination we use in the courses is just a really simple and easy way to get almost a complete algo trading technology stack out of the box: an accurate and fast backtester, an efficient research environment, advanced statistical tools and a trade execution engine. We could get all of this and more with Python, but it would take a lot longer to set up and ongoing effort to maintain.

When it comes to programming languages, I am agnostic for the most part. I take a pragmatic approach by using the best tool for the given task. In this case, the task is to set up an algo trading technology stack that is accessible to beginners and experts alike and which allows the trader to focus on strategy research and development by taking care of as much of the painful detail as possible. The Lite-C and R combination accomplishes this with minimal fuss, but a similar stack could be set up using Python as well.

While Lite-C and R are the programming languages of our courses, the courses are really about an approach to algo trading rather than using a specific programming tool. Everything in the courses can be implemented in Python, and other programming languages as well for that matter.

What's the deal with this community of algo traders you refer to?

Robot Wealth aims to provide individual DIY traders with the tools and resources that professionals have access to. One of those resources is a group of other traders, developers, and risk managers of diverse backgrounds and complementary skillsets. Professional traders have the luxury of being able to be a specialist in one or two of the skills needed for successful algo trading, since they can work in teams that together cover all the bases.  Individual traders don’t really have that luxury – unless they are part of a wider community.

The power of the Robot Wealth community is that through knowledge sharing and the combination of various skills and experience, we can achieve a lot more together than any of us could individually. We all come from different backgrounds, and at the time of writing, we counted everyone from complete beginners to ex bank and hedge fund traders as our members. Imagine the power of such a diverse community of motivated and driven individuals, all armed with a baseline level of knowledge from the Robot Wealth courses, working together to build trading systems.

Pretty exciting, isn’t it?

In practical terms, we communicate via an online forum and the messaging application Slack. The forums are repositories of knowledge that we wish to preserve for the benefit of the entire community. Slack is more used for informal discussion and trading system collaboration. We are always on the lookout for new members who are keen and willing to either simply be involved or to even lead the development of a particular trading strategy or idea.

What happens if all the Robot Wealth members start trading the same strategy?

We are unlikely to significantly degrade a strategy given the volumes that we would be trading as a group of individuals and the liquidity of the markets we would be focusing on. If this ever looked like becoming a problem, we would be able to finesse the execution of each individual’s copy of the algorithm, or target more liquid markets. I don’t see this becoming a problem for a while though.

Do you recommend any particular broker?

Not really. I personally trade with Interactive Brokers and Oanda, both of whom I am happy with and maintain good relationships with.

Can you be my mentor?

Honestly, I would love to work one on one with you, show you the ropes and help you get to where you want to be. The reality is however, that I just don’t have the time. If my story resonates with you, the best way to work with me is as a part of the Robot Wealth community. That way, I can share what I’ve learned with as many people as care to learn about it.

Can you consult on my project?

I would love to work with you, and it pains me to turn down the opportunity to work with the driven and intelligent people that make up the DIY trading community, but I have had to stop consulting to individuals due to time constraints.  If you’re an individual, the best input you can get into your project is via our community. If you post there, I’ll end up helping out out anyway, without charging you a hefty consulting fee. You will get a lot from the community in return for sharing your project, far beyond assistance with your project.

If you’re a trading firm or a financial institution, I can best help you out via my consulting firm Quantify Partners.

Can you help me out with my project?

Not on a one-on-one basis, but certainly via our community.

Can I collaborate with you?

Unfortunately I’ve had to start saying no to collaboration offers. For a long time I tried to say yes to everyone and ended up just spreading myself so thinly that I wasn’t helping anyone, including myself. If you’d like to collaborate, consider joining our community where apart from me, you’ll find a driven, intelligent and passionate group of likeminded individuals who would love to welcome you into their ranks.

What is your background?

I’ve got a couple of engineering degrees and I worked in that profession for over a decade. I spent most of my time in the resources industry where I worked on computer simulations of environmental processes, particularly hydrology. The highlight was working on a whole-of-life data project that involved constructing networks of environmental monitoring stations in the Australian outback, and then using the collected data to empirically model groundwater dynamics – which doesn’t sound all that interesting, but was actually quite a departure from the generally accepted contemporary methods. It was a lot of fun and I learned plenty.

I enjoyed the resources industry because it really epitomizes the concepts of practical design: you end up engineering things on the run to be ‘fit for purpose’, making do with potentially less equipment and materials than you’d prefer in some fairly remote and challenging environments. A lot of problems are solved through gathering data, experimentation and testing – not unlike algo trading.

Towards the end of my engineering career, I became really interested in artificial intelligence. I was lucky enough to work on problems like building machine learning algorithms capable of identifying endangered species habitat from high-resolution LiDAR data.

In parallel with my engineering career, I was also fascinated with the markets, particularly algo trading. For several years, I spent most of my spare time learning all I could about algo trading, conducting research and writing trading algorithms. This was a long process and even now I look back and shudder at the amount of time I spent pursuing dead ends and false leads (helping you avoid this is one reason for Robot Wealth’s existence, by the way).

Through sheer perseverance, I eventually started getting somewhere with algo trading. I wrote a couple of algos that did really well and started quietly sharing the results with friends of friends and other tenuous connections in the finance industry. This attracted the attention of some high net worth investors, who backed my approach and funded me. This was my first real break, and as things progressed, I wound up being offered a fairly senior role within a hedge fund. The fund was fairly traditional in its approach, but recognized the benefit of automation and more advanced analytics. I was brought in to automate the fund’s existing strategies and to find new sources of alpha through machine learning and big data.

In the beginning, working at the fund was something of a dream come true. I couldn’t believe that I was really here in this world of high finance, being paid to research and trade – the very things I’d freely given all my spare time to for years! Upon entering that world, I assumed that everyone who inhabits it would know the things I know and would be able to do the things that I could do. But it quickly became apparent that this is simply not the case. Sure, there are some firms out there that are literally on the bleeding edge of the latest technologies, like artificial intelligence and even quantum computing. But there are also a lot of firms out there who don’t have a handle on the brave new world of big data and machine learning, and who are at grave risk of becoming irrelevant as a result. It seemed to me that the best informed and brightest fund managers were actively seeking to learn about this new world.

The entrepreneur in me recognized a huge opportunity to provide consulting services to these firms, and working long hours and commuting to the office every day was starting to wear thin (I’ve never been very good at spending time in offices) so I set up Quantify Partners. We help out trading firms and fund managers who either have a unique and complex data set they want to better understand or even monetize, or who simply want help building capacity in artificial intelligence, quantitative analytics and big data. We are lucky enough to be picky about the projects we take on, which frees me up to spend time with the Robot Wealth community, which is my real passion.

You can read more about my journey from engineer to hedge fund quant to industry consultant on Robot Wealth’s About page. People tell me its an interesting story, so check it out if you’re curious.

Why are you doing this? If you know so much about algo trading, why not just sit back and get obscenely rich off the profits?

I love this question.

There are so many reasons why algo trading doesn’t work this way that it is hard to know where to start. Ignoring the fact that you don’t just ‘sit back’ and let the algos do their thing (proper oversight can be like a full time job, depending on your trade frequency, and there will always be bugs and infrastructure issues to stay on top of), I don’t want trading to be the sum total of what I do. I love teaching, which provides an enormous amount of personal satisfaction that I simply don’t get from trading alone. Even more than that, my early experiences of learning algo trading in a vacuum really instilled in me a deep belief in the power of community and knowledge sharing.

 Community and knowledge sharing is ultimately about empowerment, and financial empowerment is a big deal in my home country, Australia, and most places around the world. We have a superannuation (retirement fund) industry that is worth billions in annual management fees, yet many funds consistently return less than the local benchmark. We pay billions in fees for this sort of performance and retirees depend on the returns for their livelihoods. A huge part of Australia’s wealth is tied up in this industry and it really disturbs me to see the retirement funds of people who worked hard all their lives needlessly dwindle away. Middle class wage growth has been stagnant for decades while the cost of living continues to go up, so in the future our standard of living as a society is going to be tied more than ever to the performance of retirement funds.

I would love to empower people to take responsibility for their own participation in the markets. After all, no one is going to look after your money as diligently as you!

Further, whenever I share some part of my approach, I invariably get something valuable in return. Sometimes it is as simple as understanding on a deeper level through articulating the concepts. Sometimes it is refinement through feedback, suggestions and ideas that would never have occurred to me. Other times it is simply a new connection with a like-minded person. Very rarely have I regretted sharing what I’ve learned with another person.

I don’t want to give the impression that I want to be the Robin Hood of the finance world. I don’t. I absolutely enjoy making money as much as the next person. I also enjoy the challenges of working in the institutional space, which are different to the DIY space. But the money is only one part of the whole story and would be kind of boring and unfulfilling on its own. I’d also love to see more DIY traders meeting their objectives, as well as a more efficient superannuation industry that returned more money to investors’ pockets, leading to a little more freedom, a little more comfort and a higher standard of living. Those are things that make for a nicer society. And of course I’d like to have some fun and meet some interesting people along the way.