Самый быстрый способ определить лучшие переменные, чтобы получить максимальную отдачу - PullRequest
0 голосов
/ 28 января 2020

Я пытаюсь найти лучшие переменные для бота, торгующего на бирже, чтобы получить лучший доход. Даже с небольшим объемом данных уже несколько сотен миллиардов циклов, что занимает некоторое время. Когда я масштабирую это с большим количеством данных, это займет еще больше времени, чтобы найти лучшие переменные.

То, что я делаю, это наличие нескольких вложенных циклов, которые пробуют каждый другой сценарий, чтобы определить лучшие переменные, чтобы получить самые высокие переменные. return.

Ниже приведен пример. Хотя очевидно, что лучшие переменные для этого сценария, это всего лишь макет того, что я делаю, и это не код из проекта, а скорее упрощенная версия того, чего я пытаюсь достичь.

let bestReturn = 0;
for (let variableOne = 0; variableOne < 10; variableOne++) {
  for (let variableTwo = 0; variableTwo < 10; variableTwo++) {
    for (let variableThree = 0; variableThree < 10; variableThree++) {
      if ((variableOne * variableTwo * variableThree) > bestReturn) {
        bestReturn = variableOne * variableTwo * variableThree
      }
    }
  }
}

В настоящее время я просто запускаю это на моем Windows P C, но есть ли система, которая обрабатывает этот процесс быстрее, например, Linux? или есть лучший способ сделать это? Спасибо!

1 Ответ

0 голосов
/ 29 января 2020

Выполнение поиска по сетке (что очень важно для ваших циклов) в пространстве многомерных параметров не кажется многообещающим. Но, по крайней мере, вы можете увеличить размер своей сетки и уточнить поиск после первого грубого сканирования пространства параметров.

Оптимизация параметров - это огромное поле и, по крайней мере, для обобщенных функций цели c, которые не могут решаться аналитически, лучшее, что вы можете сделать, - это применить эвристику, чтобы найти некоторый (и, надеюсь, неплохой) локальный минимум.

Симплексный метод на спуске чрезвычайно прост в реализации и достаточно эффективен. так что, возможно, вы хотите начать с этого. Попробуйте запустить его несколько раз с рандомизированными начальными параметрами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...