.
Дневник разработчика торговой стратегии. Шаг 21. Эксперименты с нейросетью. Продолжение.
Автор megabax   
02.06.2014 г.
New Page 1

Дневник разработчика торговой стратегии. Шаг 21. Эксперименты с нейросетью. Продолжение.

Что бы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


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

    /// <summary>

    /// Типы генерации синтетических котировок

    /// </summary>

    public enum PriceSourceGeneratedTypes

    {

        /// <summary>

        /// Синусоида

        /// </summary>

        sin,

 

        /// <summary>

        /// Синусоида со случайными тенями

        /// </summary>

        sin_shadow_random,

 

        /// <summary>

        /// Синусоида с белым шумом (включая тело свечи и тени)

        /// </summary>

        sin_white_noise

    }

Соответственно,  надо переделать метод get_type класса PriceSourceGenerated...

...

...Вот как примерно будут выглядеть сгенерированные котировки:

Дневник разработчика торговой стратегии. Шаг 21. Эксперименты с нейросетью. Продолжение.

Все, теперь можно начинать эксперимент. И так, на периоде 10. Все параметры такие же, как и на прошлом шаге. И вот результат*:

Дневник разработчика торговой стратегии. Шаг 21. Эксперименты с нейросетью. Продолжение.

...

На периоде 200*:

Дневник разработчика торговой стратегии. Шаг 21. Эксперименты с нейросетью. Продолжение.

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

...

... один нейрон не может эффективно торговать на белом шуме. А синтетические котировки с большим периодом по сути и являться белым шумом:

Дневник разработчика торговой стратегии. Шаг 21. Эксперименты с нейросетью. Продолжение.

Теперь попробуем использовать двухслойную нейросеть. У нее на первом слое 2 нейрона, которые интегрируются третьими нейроном на втором слое:

Дневник разработчика торговой стратегии. Шаг 21. Эксперименты с нейросетью. Продолжение.

Но сначала проверим, а вообще, обучается ли эта нейросеть:

Дневник разработчика торговой стратегии. Шаг 21. Эксперименты с нейросетью. Продолжение.

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


Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями  программного продукта "Microsoft Excel", авторское право на который принадлежит "Microsoft".