Through the past two years at Asirikuy we have developed a substantial amount of knowledge in the generation, evaluation and live trading of automatically generated trading strategies. The first of our software development efforts in this field, Kantu, has now become deprecated within our community (see why below) and I have therefore decided to release this code into the open community in order to avoid wasting all this work and instead encourage others to also explore the possibilities of algorithmic system generation using an already built open framework.
Kantu is a trading system generator that creates trading strategies based on price-action derived rules (comparison of different open/high/low/close values) using OHLC data. Using it you can search for strategies within a selected logic space, finding those that match the statistical characteristics imposed by the user (for example you can search for systems which have a given Sharpe, reward to risk ratio, winning percentage, etc). You can see how the program looks on the image below:
These are the main characteristics of the software:
- This and all future versions of OpenKantu will be available for free with fully open source code :o)
- Coded in FreePascal/Lazarus , full source code available under the GPL v2 license.
- Manual included.
- Includes expert advisor (RecordBars_MT4) to export data from MT4 into a csv that can be used by OpenKantu
- Multi-platform support. Precompiled binaries available for Windows but the software can be compiled from source on Windows, Linux and MacOSX.
- Fast simulations, a 25 year test using daily data takes only 3 milliseconds while a 25 year 1H test can take around 60-80 milliseconds. This allows you to perform millions of tests within a realistic amount of time.
- Multi-core support, you can perform tests using as many computer cores as your computer allows
- Configure the system creation process to search systems with or without SL/TP within a set rule complexity (maximum shift, maximum rule number, etc)
- Configure an out-of-sample window if this is desired
- You can search for strategies on any financial instrument.
- Filter systems using the pre-built statistics or a custom built filtering rule
- Get trade-by-trade system results
- Simulate portfolios made up of different generated systems
- Get a mathematical expectancy analysis (MAE-MFE) for long/short trades for all generated systems
- Get balance graphs with trade results showing on an OHLC graph of the data (see where the system has traded)
- Export generated strategies to MT4
I would also like to point out that OpenKantu is NOT a holy grail generator and that use of the program without a good understanding of potential sources of bias (curve-fitting bias, data-mining bias) is bound to lead to losing strategies in forward/live trading. Remember that past performance is never a guarantee of future results. Although OpenKantu is coded in good faith end users are responsible for all uses of the software. The software is provided as-is, with no guarantees, implicit or implied. OpenKantu is also provided without any support, please refer to the manual for instructions on how to use the software. You can download windows binaries and the program’s source files by using the following links:
notes on building from source: If building from source make sure you install Lazarus, then install the synapse and ZMSQL packages included within the github repository before attempting to build the software. If you would like to make code contributions please contact me (leave a comment on this page) and we’ll coordinate so that you can contribute on github. All contributions that improve the software for the open community are welcome.
Remember that to reproduce the same testing results obtained in OpenKantu on MT4 simulations you need to use the exact same data within the generation process and the MT4 backtesting. Along the same lines your live/demo broker’s GMT, DST and weekly opening/closing times need to exactly match those of the data used within the generation process. Using different data leads to unpredictable changes in simulation results between the programs.
You may wonder why we decided to discard use of Kantu within our community (given all the above positive characteristics) we decided to move to pKantu as it has many advantages over our initial Kantu (now OpenKantu) implementation. With pKantu we have the following features:
- Coded in OpenCL/Python with speed as the top priority
- Explicit evaluation of the entire logic space (openKantu uses random sampling instead which can lead to important issues when attempting to evaluate some sources of statistical bias)
- Extremely fast simulations using GPUs, around 100-1000x faster than OpenKantu
- Evaluation of data mining bias using automatic random data generation
- Community cloud mining implementation that allows us to sum up all our system creation and bias evaluation efforts
- Many alternative stop loss evolution mechanisms (which means we have access to more advanced exit techniques)
If you’re interested in learning more about sources of statistical bias in automatic system generation and using pKantu, our latest automated system generation software please consider joining Asirikuy.com, a website filled with educational videos, trading systems, development and a sound, honest and transparent approach towards automated trading in general.