Alexandr Shuravin
12
All posts from Alexandr Shuravin
Alexandr Shuravin in Alexandr Shuravin,

Генетический алгоритм. Шаг 16. Библиотека эмуляции биржи на C#

 

Генетический алгоритм. Шаг 16. Библиотека эмуляции биржи на C#

Все статьи по данной теме.

Давно не писал о ходе экспериментального проекта "Генетический алгоритм". Но, тем не менее, работы по нему велись, ведутся и будут вестись. Результатом работы по данному проекту является библиотека "Stock-эмулятор", написанная на C#. Она предназначена для тестирования будущих роботов на истории котировок.  Информационный анонс этой библиотеки и условия получения исходников можно посмотреть здесь, а   анонс урока по использованию библиотеки здесь.

И так, библиотека для эмуляции сделок есть, заготовка нейросети тоже. Как будет работать генетический алгоритм, я уже знаю: стратегия торговли кодируется в нейросеть, а нейросеть уже стандартным  способом кодируется в "гены". Обрабатываться эти гены будут так же стандартным способом, благо его уже давно изобрели. Решен вопрос, как будут кодироваться в нейросеть сигналы (см. шаг 6) и как будет устроен блок управления капиталом (см. шаг 7). Стопор вышел на этапе проектирования блока обучения. Что бы разработать методику реализации этой части программы, я проводил кучу экспериментов с тестированием стратегий в Metatrader (те кто следят за темой, это отлично помнят).  Эти эксперименты буквально ничего мне не дали. Поэтому придется пойти другим путем. Для начала решил составить список идей, как может обучатся робот:

  • Корректировка весовых коэффициентов нейронной сети.

  • Корректировка связей между нейронами (удаление старых связей и добавление новых).

  • Изменение входных связей.

  • Изменение типов нейронов.

Данные способы можно комбинировать между собой. Кроме того, каждый способ можно разбить на подспособы. Например, первый вариант, изменение коэффициентов:

  • Можно корректировать коэффициенты блока сигналов. Более того, этот блок, как и другие, может быть многослойным, и нужно как то выбирать, какой именно слой (или даже несколько слоев) корректировать.

  • Аналогичным же образом можно корректировать коэффициенты в нейронах блока управления капиталом.

  • Можно одновременно менять коэффициенты и в блоке сигналов, и в блоке управления капиталом.

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

Генетический алгоритм. Шаг 16. Библиотека эмуляции биржи на C#


Все статьи по данной теме.