Open IAMtheIAM opened 5 years ago
Sorry bro, bayesian optimization (-b
) is deprecated.
Try running python3 japonicus-run -g[c] --strat mystrat
.
An error message should have been printed in your case, we have some issues with error messages here ^^.
Hey @Gab0 thanks for the tip. I had no idea -b was deprecated. So the new options are either -g or -c? What's -c
Here's what I got in -g
EVOLUTIONARY GENETIC ALGORITHMS v0.92
The profits reported here depends on backtest interpreter function;
interpreter v3:
if <backtest profit> > 0: <shown profit> = <backtest profit> - <market profit>
else <shown profit> = <backtest profit>
found gekko @ http://localhost:3000
japonicus-run -g --strat main
Evolving main strategy;
evaluated parameters ranges:
taLibRSILength.optInTimePeriod(9.8, 18.2)
gekkoRSILength.interval (9.8, 18.2)
evolution candlestick dataset 2016-05-31 20:45:00 to 2019-07-09 00:44:00
ETH/USD @bitfinex
evolution candlestick dataset 2016-05-31 20:45:00 to 2019-07-09 00:44:00
ETH/USD @bitfinex
evaluation candlestick dataset 2016-05-31 20:45:00 to 2019-07-09 00:44:00
ETH/USD @bitfinex
Fatal: deltaDays on Settings.py set to a value bigger than current dataset.
Edit Settings file to fit your chosen candlestick data.
I have 3 years of local data loaded for bitfinex eth:usd so it should be able to see that. Do you know what could cause this?
Error: config failure
is raised on connection on to gekko @ evaluation/gekko/API.py
... maybe gekko's output has more information about that.
I fixed that error, apparently there were more .toml files to change. Then I got the deltaDays error where it seems to not select from the data base pair which I wanted. I deleted the other databases and now it seems to be working, but I'm not sure what to make of the output.
====== EPOCH 0/3000 ======
Locale1
first unevaluated: 50
0 individues removed due to equality
[50]
'performanceReport'
Population dead after trading number filter.
Population dead after roundtrip exposure filter.
Repopulating... Aborting epoch.
EPOCH 0 &50
Maximum profit 0 Average profit -5.047
Minimum profit -6.918 Profit variation 1.632
Population size 50 Max population size 50
Avg trade number 2.900 Avg sharpe ratio -25.445
Avg exposure time 25.520
Locale2
first unevaluated: 50
0 individues removed due to equality
[50]
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
'performanceReport'
Population dead after trading number filter.
Population dead after roundtrip exposure filter.
Repopulating... Aborting epoch.
EPOCH 0 &50
Maximum profit 0 Average profit 0
Minimum profit 0 Profit variation 0
Population size 50 Max population size 50
Avg trade number 0 Avg sharpe ratio 0
Avg exposure time 0
Locale3
first unevaluated: 50
0 individues removed due to equality
[50]
'performanceReport'
'performanceReport'
Population dead after trading number filter.
Population dead after roundtrip exposure filter.
Repopulating... Aborting epoch.
EPOCH 0 &50
Maximum profit 0 Average profit -14.475
Minimum profit -34.985 Profit variation 12.943
Population size 50 Max population size 50
Avg trade number 1.640 Avg sharpe ratio 0
Avg exposure time 1.680
Epoch runs in 94.17 seconds;
====== EPOCH 1/3000 ======
Locale1
Is it working, and how do I interpret these results?
Actually, I think I got it working. I needed to adjust my backtest length in order to get some real numbers. I'll let it run and see what happens!
Ok, the useful output is written at the logs
folder.
@Gabo thanks again. I see the results. This is awesome! now I can hone in my parameters for the best results.
Next question: How do I get Japonicus to use my parameter ranges?
I put them in configStrategies.py
"main": {
"first": {
"param": (1, 200)
},
"second": {
"param": (1, 200)
},
"params": {
"param1": (1, 20),
"param2": (1, 20),
"param3": (65, 90),
},
},
However, it did not use those, and instead referenced the settings in the .toml
file I put in strategy_parameters
folder. THen it generated it's own random parameter ranges:
first.param (7.8, 16.2)
second.param (15.7, 23.3)
params.param1 (3.5, 6.5)
So, It didn't seem to pick up my ranges.
Also, is there a doc on what all these paramters in these files mean? I see the comments but I'm not a statistical analysis wizard so stuff relating to EPOCHS, population size, density, etc is completely foreign to me :-D
_generation.toml
_backtest.toml
_dataset.toml
_evalbrak.toml
Is it very important that I learn and change all these settings or are they optimized at the default? For example, what is the need for 3 different datasets in dataset.toml... likewise, what does it mean by "Locale1, locale2, locale3?"
I really appreciate your help!
Hey, yeah configStrategies
is deprecated.
I guess your config problem is on parameter nesting at the .toml
file...
It should be:
[first]
param = [1, 200]
[second]
param = [1, 200]
[params]
param1 = [1, 20]
....
And we surely need better documentation lol. But I just broke the benchmark system a few releases ago, so it's not possible to quickly evaluate different GA settings. 90% of those strange parameters are experimental, so it may not be worthy to learn everything about them in this current state of development..
ohh Lol that's good to know. I was sitting here wondering what's going on. It took my ranges when I put them in the .toml
file as you said!
Also, good to know a lot of the parameters are experimental, so I'll leave them.
The main ones I'm curious about are
_dataset.toml
(should they all be the same pair and exchange, or can I make them different, and how does this affect the test?ParallelBacktests = 6
- if I have more than 6 threads (such as 4 core 8 thread), could I safely change this to 8
?I'm reading through your changelog to see what else I can learn now.
As I learn more about this, I'll be happy to improve the documentation to make it better to understand.
There are actually no examples of how to run this program. The wiki usage specifies the cli options but without giving a working example.
Please update either the Readme or the Wiki with a working example that can be copied and pasted.
I updated my
configStrategy.py
with the parameters needed and named it the same as my strategy name in the gekko file. I updated_Global.toml
with the path and config file names (which by the way is not clearly explained in the Wiki. That info should be on the Readme or the Usage page. I had to dig through Issues here to figure out the basic info.)I entered
python3 japonicus-run -b --strat mycustomstrat
And the response
What does that mean... did it work? Where are the results? I can't find the .csv file anywhere Thanks for any help, I'm looking forward to using this program