Скачать MetaTrader 5

SOM: способы приготовления

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Alexey Burnakov
3008
Alexey Burnakov 2011.04.28 17:48 

Добрый день!

Уже давно подступаюсь к применению самоорганизующихся карт на Форексе. Решил провести эксперимент: взял дневные бары с 2001 года по конец марта 2011 года, построил входные векторы для нейросети размеров 40, обучил SOM размером 7 на 7 нейронов, таким образом разбив пространство векторов по 49 ячейкам. Далее для каждой ячейки посчитал вероятность хода цены через 5 баров вверх или вниз. Результат анализа см. ниже:

Далее идет выделение интересных с практической точки зрения кластеров. Желтым цветом подсвечены кластеры, которые отмечают точки входа Buy. Оранжевым - точки входа Sell (их меньше, так как, по-видимому, на EURUSD преобладали восходящие тренды последние 10 лет).

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

Ниже идет получившийся график баланса на периоде обучения SOM (640 сделок за 9 лет):

А теперь

- график баланса на периоде OOS - последний год (66 сделок, прибыль около 400%):

В MT4 реализовать можно, SOM обучать в статистическом пакете и подключать через dll, от сети получать номер ячейки и заходим в buy, sell, или ждем.

Что думаете? Меня смущают просадочки большие. Целый квартал может идти вниз. Да и стратегия довольно примитивная.

Victor Nikolaev
Модератор
14638
Victor Nikolaev 2011.04.28 17:58  

Карты Кохонена можно довольно легко реализовать в любом языке программирования, в том числе и в MQL4

Библиотека не нужна

Комбинатор
16012
Комбинатор 2011.04.28 22:18  

Странно, делал нечто подобное -- не прокатило -- был слив на ООС.

Можете дать конкретный пример формирования входа\выхода?

Все равно сейчас один из проектов коррелирует... можно и Кохонена попробовать заодно.

Diamant
337
Diamant 2011.04.29 01:40  

А что значит "вероятность хода вверх или вниз"? Просто что цена через 5 баров будет скорее сверху (снизу) от текущей?

Сеть у вас какая? Однослойная, двуслойная? 40 - это размер чего?


Просто навскидку.. сеть из 40 входов не обучится на таком малом к-ве данных (это еще мягко говоря). Приведенная карта не обнадеживает :) Кластеров на ней, в общем-то нет. Ваш результат - случайность.

Alexey Burnakov
3008
Alexey Burnakov 2011.04.29 09:18  
Vinin:

Карты Кохонена можно довольно легко реализовать в любом языке программирования, в том числе и в MQL4

Библиотека не нужна


Спасибо! Буду знать. Я вообще хотел в большей степени обсудить не способы реализации СКП Кохонена в Метатрейдере, а слияние этого метода с торговой стратегией и специфические особенности карт Кохонена применительно к котировкам Форекс или любых других финансовых рынков.

TheXpert

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

Diamant

Откуда такая уверенность в случайности результата? Вы зашли в ветку, чтобы тупо поспорить?

Что значит мало данных? Это сколько? А сколько достаточно?

Комбинатор
16012
Комбинатор 2011.04.29 09:45  
alexeymosc:

Конкретно, на вход подавал 40 последних цен открытия дневных баров, но не в сыром виде, а отмасштабированном, чтобы избежать нестационарности уровня цен.

А можно пощупать эти самые входы?

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

У Вас в таблице сумма для кластера не равна 100%, т.е. кроме простого сравнения выше\ниже есть еще что-то -- учет спреда?

Alexey Burnakov
3008
Alexey Burnakov 2011.04.29 09:53  

По входам, ок, щас на работе, как немного освобожусь - скину эксель в архиве ( в личку ))

Сумма не равна 100% - верно, и вот почему: я делал такой расчет: если Open [t+5] - 0.0010 > Open [t] 1 else 0. То есть, в анализ попали случаи, когда цена в будущем минимум на 10 пунктов выше текущей. Также сделано и для анализа движения цены вниз (10 пунктов порог).

Комбинатор
16012
Комбинатор 2011.04.29 09:55  

Ок, спасибо. Не обещаю, что быстро, но посмотрю обязательно.

Да, нечто подобное я и предполагал.

Vladimir Gomonov
8283
Vladimir Gomonov 2011.04.29 15:56  
alexeymosc:

По входам, ок, щас на работе, как немного освобожусь - скину эксель в архиве ( в личку ))

А можно мне тоже? Или сюда прямо кидайте, если не жалко.
Victor Nikolaev
Модератор
14638
Victor Nikolaev 2011.04.29 17:27  
Лучше архив сюда было бы скинуть
Alexey Burnakov
3008
Alexey Burnakov 2011.04.29 20:33  

Хорошо, я не возражаю, если у вас есть желание познакомиться с работой.

Было бы хорошо как то улучшить эту систему.

Файлы:
12345678
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий