BacktestTool - batch backtest, import and strategy parameters optimalization - Printable Version +- Gekko Forum (https://forum.gekko.wizb.it) +-- Forum: Gekko (https://forum.gekko.wizb.it/forum-13.html) +--- Forum: Third Party Software (https://forum.gekko.wizb.it/forum-18.html) +--- Thread: BacktestTool - batch backtest, import and strategy parameters optimalization (/thread-1670.html) |
BacktestTool - batch backtest, import and strategy parameters optimalization - xFFFFF - 02-27-2018 I present Gekko's BacktestTool. Script written in Perl. How it's work? The tool allows you to perform multiple backtests on previously defined multiple pairs, strategies and candleSize. All you have to do is enter your variables into the configuration file and run the program. Then BacktestTool will perform all the tasks you have ordered. Results are printed as terminal output and saved in csv file. Example of csv file is here: https://github.com/xFFFFF/Gekko-Strategies/blob/master/backtest_database.csv Features - Test multiple candleSize, strategies and mulitple pairs on one run
- Start multiple PaperTraders - Multiple datasets import - Backtests results are exported to CSV file - Multithreading - in contrast to raw Gekko backtest this tool uses 100% of your processor - Extended statistics DEMO Start backtests All results are exported to CSV file (You can open it in Excel or LibreOffice Calc) Installation 1. Clone git https://github.com/xFFFFF/GekkoBacktestTool.git 2. Copy files to Gekko's main directory 3. Install dependies by command: Code: $ sudo cpan install Parallel::ForkManager Time::ParseDate Time::Elapsed Getopt::Long List::MoreUtils File::chdir Statistics::Basic DBI 4. Edit backtest-config.pl in text editor. Run for backtest: Code: $ perl backtest.pl For import: Code: $ perl backtest.pl -i For start multiple paperTraders: Code: $ perl backtest.pl -p Available commands: Code: usage: perl backtest.pl Example usage: Backtests of all available pairs for Binance Exchange in Gekko's scan datarange mode: Code: $ perl backtest.pl -p binance:ALL` Backtest on all pairs and strategies defined in backtest-config.pl with candles 5, 10, 20, 40 and 12 hours warmup period: Code: $ perl backtest.pl -n 5:144,10:73,20:36,40:15` Import all new candles for all BNB pairs: Code: $ perl backtest.pl -i -p binance:BNB:ALL -f last -t now` Import all candles for pairs defined in backtest-config.pl from 2017-01-02 to now: Code: $ perl backtest.pl -i -f 2017-01-02 -t now` Sample backtest output Link: https://github.com/xFFFFF/Gekko-BacktestTool/blob/master/sample_output.csv Github Check our Git for more info: https://github.com/xFFFFF/GekkoBacktestTool Feel free to submit suggestions or features request. RE: Gekko backtest tool - PapoKarlo - 03-20-2018 how to change it to use one srtat with different params? RE: BacktestTool - batch backtest, import or paperTrader on single run - xFFFFF - 03-22-2018 This same way like Gekko cli. In config file of backtesttool is some examples like this: Code: config.RSI_BULL_BEAR_ADX = { RE: BacktestTool - batch backtest, import or paperTrader on single run - donkykong017 - 03-28-2018 thx for that. worked well for me. its a good way to quickly search for a good match. RE: BacktestTool - batch backtest, import or paperTrader on single run - xFFFFF - 04-07-2018 New version was released today. New features: Quote:- Gekko BacktestTool external config file support. Default config is backtest-config.pl, but You can create own and use backtest.pl RE: BacktestTool - batch backtest, import or paperTrader on single run - Kris191 - 04-08-2018 xFFFFF, will this tools suggest better parameters for the start or will it show results based on the config and i manually adjust them an retest? i'm looking for a simple setup tool to brute force test a strat. Can i set this for data ranges and certain pairs only? example is that i know the pairs i want to trade and i do not want to backtest the December bull run as it will knock the figures out massively. RE: BacktestTool - batch backtest, import or paperTrader on single run - xFFFFF - 04-08-2018 This tool only do mass backtests on multiple pairs or strategies with strat's parameters defined by You. You can use defined period of backtest on multiple pairs Code: ./backtest.pl -p binance:USD:BTC,binance:BTC:BNB -f "2018-01-01" -t "2018-02-02" Code: ./backtest.pl To brute force strat's parameters You can use: https://github.com/Gab0/japonicus https://github.com/gekkowarez/gekkoga https://github.com/tommiehansen/gab In my opinion japonicus finding best values in shorter period and allow to set two different pairs to bruteforce. RE: BacktestTool - batch backtest, import or paperTrader on single run - xFFFFF - 04-10-2018 To make the program's idea easier to understand I have expanded README. Available commands: Code: usage: perl backtest.pl Example usage: Backtests of all available pairs for Binance Exchange in Gekko's scan datarange mode: Code: $ perl backtest.pl -p binance:ALL Backtest on all pairs and strategies defined in backtest-config.pl with candles 5, 10, 20, 40 and 12 hours warmup period: Code: $ perl backtest.pl -n 5:144,10:73,20:36,40:15 Import all new candles for all BNB pairs: Code: $ perl backtest.pl -i -p binance:BNB:ALL -f last -t now Import all candles for pairs defined in backtest-config.pl from 2017-01-02 to now: Code: $ perl backtest.pl -i -f 2017-01-02 -t now New features: Code: - price *volality* (based on relative standard deviation) in CSV output Sample backtest output https://github.com/xFFFFF/Gekko-BacktestTool/blob/master/sample_output.csv RE: BacktestTool - batch backtest, import or paperTrader on single run - xFFFFF - 04-19-2018 BacktestTool is working on MS Windows from now! Other changes: Code: - price: open, close, high, low, average for dataset period in CSV output RE: BacktestTool - batch backtes, import and strategy optimalization - xFFFFF - 04-28-2018 New "layout" @Kris191 from new version BacktestTool support searching best parameters for strategies. Feature can be run on multiple pairs, so you can found optimal parameters on different market condition. Enabling brute force mode Searching parametrs At end strategy (and settings) are sorted in table like this: New feature can find best pairs too Binaries of BacktestTool Since version 0.5 you do not need to install any additional dependencies for BacktestTool on Linux, Windows and FreeBSD. Just download the binary version and run the program with the ./backtest or backtest.exe command. Binaries are available here: https://github.com/xFFFFF/Gekko-BacktestTool/releases All changes Code: - after completion of the backtests, the analysis module displays three tables with data: ALL RESULTS, TOP STRATEGIES, TOP DATASET |