Skip to content
Gabriel Araujo edited this page Sep 11, 2018 · 3 revisions

Usage

Open two terminals;

T.1 -> run Gekko on ui mode, or just its webserver:
$node gekko.js --ui
        or
$node web/server.js

T.2 -> $cd [japonicus dir]
       $python japonicus-run [-g|-b] [-c] [-k] [--repeat <X>] [ [-r|--strat <Strategy>|--skeleton <Skeleton>] [-w]

    [main optimization options]
    -g for genetic algorithm;
    
    [optional GA methods]
    -c to use an alternative ~experimental genetic algorithm internal representation;

    [strategy selector] 
    -r run with random strategy
    --strat choose one strat to run;
    --skeleton Genetic algorithm create strategies w/ combined indicators on the fly and run 'em. 'ontrend' is the only skeleton available.
    
    [repeat runs]    
    --repeat to run genetic algorithm X times; then just check evolution.log;

    [evolution visualization options]
    -w launches a neat dash/flask web server @ your local machine, which can be accessed via  webbrowser.
           Address is shown on the first line of console output. (likely http://localhost:5000)

    -k launches a child gekko instance, so no need for the first terminal;

This is written on python because of the nice DEAP module for genetic algorithm, and was worth it. DEAP is required, available on PIP.

All settings are set at Settings.py;

If your Gekko UI http port is not :3000, adjust it;

Backtesting is parallel, running a pool of five workers, adjustable.

Bayesian optimization is a quick method to get and idea of some strat settings, while Genetic Algorithm is a rather detailed parallel GA method that takes a long run time, on standard settings, to try to get a very good setting set on chosen strat.

Remember to review/set parameter ranges for chosen strategy name on configStrategies.py.

Clone this wiki locally