Parameter optimization of Neural strategies
#2
I help you with the config.
All other things solve by yourself.
Apply that pull request from git.
Code:
const randomExt = require('random-ext');

const config = {
 stratName: 'neuralnet',
 gekkoConfig: {
   watch: {
     exchange: 'binance',
     currency: 'BTC',
     asset: 'NCASH'
   },

    daterange: {
       from: '2018-04-10 19:15',
       to: '2018-04-14 19:13'
   },

   simulationBalance: {
     'asset': 0,
     'currency': 100
   },

   slippage: 0.10,
   feeTaker: 0.10,
   feeMaker: 0.10,
   feeUsing: 'maker', // maker || taker

 },
 apiUrl: 'http://localhost:3000',

 // Population size, better reduce this for larger data
 populationAmt: 20,
 //  How many completely new units will be added to the population (populationAmt * variation must be a whole number!!)
 variation: 0.5,

 // How many components maximum to mutate at once
 mutateElements: 3,

 // How many parallel queries to run at once
 parallelqueries: 8,

 // profit || score
 // score = profit * sharpe -- feedback?
 // profit = recommended!
 mainObjective: 'profit',

 // optionally recieve and archive new all time high every new all time high
 notifications: {
   email: {
     enabled: false,
     receiver: '',
     senderservice: 'gmail',
     sender: '',
     senderpass: '',
   },
 },
 candleValues: [ 2, 3, 5 ],
 getProperties: () => ({
   // Strat settings must be flattened and cannot be nested for mutation to work properly!

 historySize: 20,
 threshold_buy: randomExt.float(1.20,0.30).toFixed(2),
 threshold_sell: randomExt.float(-0.30,-0.80).toFixed(2),
 price_buffer_len: 100,
 learning_rate: randomExt.float(1.10,0.01).toFixed(2),
 momentum: 0.10,
 decay: 0.10,
 min_predictions: 20,
 candleSize: randomExt.pick(config.candleValues)    
 })
};

module.exports = config;
And ofc tailor the parameters as you wish
Good luck
  Reply


Messages In This Thread
RE: Parameter optimization of Neural strategies - by Remo - 01-13-2019, 09:27 AM

Forum Jump:


Users browsing this thread: