Генетический алгоритм. Шаг 7. Реализация блока управления капиталом |
Автор megabax | |
24.02.2011 г. | |
Генетический алгоритм. Шаг 7. Реализация блока управления капиталомБлок управления капиталом так же будет представлять сбой нейросеть. На входах которой сигнал от блока торгового сигнала, информация о текущих позициях и денежных средствах. И так, для я провел мозговой штурм составил список возможных стратегий управления капиталом:
Еще мы можем применить смешанный размер позиции, поставим дополнительные нейрон на вход которого подадим сигналы от групп нейронов, реализующих отдельную стратегию. Теперь поговорим о том, как реализовать эти подходы на нейросети. Во первых, очевидно, что надо подавать на вход нейросети информацию о предыдущей сделке и ее результате. Во вторых, на вход должна подаваться информация об ограничениях рынка: размер плеча, допустимость шортов и так далее. Значит, в программе придется реализовать объект, который будет хранить настройки рынка (отдельная настройка для Forex, отдельная для ФОРТС, для ММВБ и так далее). В первых версиях системы, возможно, роботы будут торговать только одним инструментом. Но в дальнейшем я планирую реализовать возможность диверсификации - торговля несколькими инструментами. Тут роботу еще и придется принимать решение, каким именно инструментом торговать. Тут тоже возможны варианты:
Для простоты пока ограничения рынка рассматривать не будем. Сделаем допущение, что у нас на входе присутствует следующая информация:
Для метода Монтенгейла имеет следующую матмодель: если Вх1=0 то Вых=0 иначе: если Bх4>=0 или это первая сделка, тогда Вых=Вх2/Вх3*К1 где К1 - коэффициент использования капитала при первоначальной сделке. если Вх4<0 тогда Вых=Вх5*K2/Вх3 где K2 - коэффициент, на который умножается ставка после каждой неудачной сделки. Например, пусть коэффициент использования капитала у нас 5%, стоп лосс ставим на 10% от цены, тэйк профит на 30%. Коэффициент К2=2. Тогда, допустим, мы получили прибыль на 3-ей сделке. К тому времени мы уже торгуем 20% от депозита (5%, потом 10%, потом 20%). Итого мы проиграли 5%*0.1+10*0.1=1,5%. Выиграли 20%*0.3=6%. Наша прибыль составила 3.5%. Правда, если мы будем долго проигрывать, у нас в конце концов, не хватит депозита. Увы, это существенный недостаток системы Монтенгейла. Но в рамках данной статьи достоинства и недостатки мы не рассматриваем. Мы думаем, как эти подходы реализовать на нейросетях, а хороша стратегия или плоха решит естественный отбор. И так, нейросеть для реализации этой матмодели будет выглядеть вот таким образом: Формулы Вых=Вх5*K2/Вх3 и Вых=Вх2/Вх3*К1 реализуются геометрическими нейронами, где для деления у нас будут просто применятся отрицательные весовые коэффициенты. Собственно говоря, для реализации этой формулы нам понадобиться два нейрона, один для умножения на коэффициент (обычный нейрон с одним входов и соответствующим весовым коэффициентом и геометрический нейрон для реализации деления), но для наглядности я их объединил в один. Условия реализуются геометрическим нейроном с коэффициентам 1 либо -1, в зависимости от того, какое надо проверить условие. Собственно, на схеме реализация этих условий так же показана упрощенно, тут еще на персептрон нужно применить, что бы сигнал Вх преобразовать к единице. Функцию ИЛИ мы реализуем обычным нейроном с коэффициентами 1. Остальные стратегии можно реализовать на нейросетях аналогичным образом. |
|
Последнее обновление ( 29.06.2011 г. ) |
« След. | Пред. » |
---|