@@ -8,6 +8,7 @@ class RLTraderCLI:
8
8
def __init__ (self ):
9
9
config_parser = argparse .ArgumentParser (add_help = False )
10
10
config_parser .add_argument ("-f" , "--from-config" , help = "Specify config file" , metavar = "FILE" )
11
+
11
12
args , _ = config_parser .parse_known_args ()
12
13
defaults = {}
13
14
@@ -17,44 +18,56 @@ def __init__(self):
17
18
defaults = dict (config .items ("Defaults" ))
18
19
19
20
formatter = argparse .ArgumentDefaultsHelpFormatter
20
- self .parser = argparse .ArgumentParser (
21
- formatter_class = formatter ,
22
- parents = [config_parser ],
23
- description = __doc__
24
- )
21
+ self .parser = argparse .ArgumentParser (formatter_class = formatter ,
22
+ parents = [config_parser ],
23
+ description = __doc__ )
25
24
26
- self .parser .add_argument ("--data-provider" , "-o " , type = str , default = "static" )
27
- self .parser .add_argument ("--input-data-path" , "-t " , type = str , default = "data/input/coinbase-1h-btc-usd.csv" )
25
+ self .parser .add_argument ("--data-provider" , "-d " , type = str , default = "static" )
26
+ self .parser .add_argument ("--input-data-path" , "-n " , type = str , default = "data/input/coinbase-1h-btc-usd.csv" )
28
27
self .parser .add_argument ("--pair" , "-p" , type = str , default = "BTC/USD" )
29
- self .parser .add_argument ("--debug" , "-n " , action = 'store_false' )
28
+ self .parser .add_argument ("--debug" , "-D " , action = 'store_false' )
30
29
self .parser .add_argument ('--mini-batches' , type = int , default = 1 , help = 'Mini batches' , dest = 'n_minibatches' )
31
30
self .parser .add_argument ('--train-split-percentage' , type = float , default = 0.8 , help = 'Train set percentage' )
32
- self .parser .add_argument ('--verbose-model' , type = int , default = 1 , help = 'Verbose model' )
33
- self .parser .add_argument ('--params-db-path' , type = str , default = 'sqlite:///data/params.db' ,
34
- help = 'Params path' )
35
- self .parser .add_argument (
36
- '--tensor-board-path' ,
37
- type = str ,
38
- default = os .path .join ('data' , 'tensorboard' ),
39
- help = 'Tensorboard path' ,
40
- dest = 'tensorboard_path'
41
- )
42
- self .parser .add_argument ('--parallel-jobs' , type = int , default = multiprocessing .cpu_count (),
31
+ self .parser .add_argument ('--verbose-model' , type = int , default = 1 , help = 'Verbose model' , dest = 'model_verbose' )
32
+ self .parser .add_argument ('--params-db-path' , type = str , default = 'sqlite:///data/params.db' , help = 'Params path' )
33
+ self .parser .add_argument ('--tensorboard-path' ,
34
+ type = str ,
35
+ default = os .path .join ('data' , 'tensorboard' ),
36
+ help = 'Tensorboard path' )
37
+ self .parser .add_argument ('--parallel-jobs' ,
38
+ type = int ,
39
+ default = multiprocessing .cpu_count (),
43
40
help = 'How many processes in parallel' )
44
41
45
42
subparsers = self .parser .add_subparsers (help = 'Command' , dest = "command" )
46
43
47
44
optimize_parser = subparsers .add_parser ('optimize' , description = 'Optimize model parameters' )
48
45
optimize_parser .add_argument ('--trials' , type = int , default = 1 , help = 'Number of trials' )
49
-
50
- optimize_parser .add_argument ('--verbose-model' , type = int , default = 1 , help = 'Verbose model' , dest = 'model_verbose' )
46
+ optimize_parser .add_argument ('--prune-evals' ,
47
+ type = int ,
48
+ default = 2 ,
49
+ help = 'Number of pruning evaluations per trial' )
50
+ optimize_parser .add_argument ('--eval-tests' , type = int , default = 1 , help = 'Number of tests per pruning evaluation' )
51
51
52
52
train_parser = subparsers .add_parser ('train' , description = 'Train model' )
53
- train_parser .add_argument ('--epochs' , type = int , default = 1 , help = 'Number of epochs to train' )
53
+ train_parser .add_argument ('--epochs' , type = int , default = 10 , help = 'Number of epochs to train' )
54
+ train_parser .add_argument ('--save-every' , type = int , default = 1 , help = 'Save the trained model every n epochs' )
55
+ train_parser .add_argument ('--no-test' , dest = "test_trained" , action = "store_false" , help = 'Test each saved model' )
56
+ train_parser .add_argument ('--render-test' , dest = "render_test" ,
57
+ action = "store_true" , help = 'Render the test environment' )
58
+ train_parser .add_argument ('--no-report' , dest = "render_report" , action = "store_false" ,
59
+ help = 'Render the performance report' )
60
+ train_parser .add_argument ('--save-report' , dest = "save_report" , action = "store_true" ,
61
+ help = 'Save the performance report as .html' )
54
62
55
63
test_parser = subparsers .add_parser ('test' , description = 'Test model' )
56
- test_parser .add_argument ('--model-epoch' , type = int , default = 1 , help = 'Model epoch index' )
57
- test_parser .add_argument ('--no-render' , action = 'store_false' , help = 'Do not render test' )
64
+ test_parser .add_argument ('--model-epoch' , type = int , default = 0 , help = 'Model epoch index' )
65
+ test_parser .add_argument ('--no-render' , dest = "render_env" , action = "store_false" ,
66
+ help = 'Render the test environment' )
67
+ test_parser .add_argument ('--no-report' , dest = "render_report" , action = "store_false" ,
68
+ help = 'Render the performance report' )
69
+ test_parser .add_argument ('--save-report' , dest = "save_report" , action = "store_true" ,
70
+ help = 'Save the performance report as .html' )
58
71
59
72
subparsers .add_parser ('update-static-data' , description = 'Update static data' )
60
73
0 commit comments