Вначале о грустном. Не понимая теорию нейросетей (НС) у вас вряд ли получится построить на ней ТС. Поэтому лучше для начала почитать теорию, например, Хайкин Саймон. «Нейронные сети. Полный курс». Книга уже достаточно старая и в ней нет новомодных веяний, но она дает базовые представления о НС.
И второе, мы будем далее для построения систем использовать пакет scikit-learn для Python. рекомендую ознакомиться. Есть и более продвинутые пакеты, скажем, TensorFlow и др., но их использовать мы не будем, и ограничимся более простым scikit-learn.
Теперь о том, чего здесь не будет. Здесь не будет теории НС, разве эпизодически и оч кратко. Здесь не будет описания пакетов Python, работы с графикой и пр. Обо всем этом вы можете прочесть в интернете, книгах, и документации Python.
В топике мы будем обсуждать только применение НС к ТС и их построению.
Так как тема достаточно велика, в один топик не влезет, сегодня мы займемся самыми общими вопросами. Следующая часть будет недели через две, раньше не получается.
Работающие стратегии обсуждать неинтересно. Работает себе и работает, и говорить не о чем. С неработающими дело обстоит гораздо лучше. Каждый может сказать свое мнение о том, почему не работает, как нужно и не нужно было делать, и вообще, с таким подходом, изначально ясно, что это работать никак не может.
Но, давайте о самой стратегии.
Пусть текущее состояние инструмента в каждый момент времени описывается вектором X(t)={x1(t),x2(t),...,xi(t),...,xn(t)}, где x(t) — могут быть значениями индикаторов, какими либо значениями, вычисляемыми по неким формулам, значениями, типа, да/нет, фазами Луны, если вы считаете, что Луна как-то связана с поведением инструмента. В общем, значениями чего угодно, что по вашему как-то характеризует состояние инструмента в текущий момент, и может как-то быть связанным с его поведением в будущем. На отрезке истории вектор X(t) будет принимать большое количество различных значений и образует множество состояний или пространство состояний инструмента.
Чтобы как-то получить с инструмента прибыль мы должны предположить, что в пространстве состояний имеются некоторые устойчивые области, при нахождении в которых вектора X(t) мы сравнительно безопасно можем войти в сделку, и даже получить некоторую прибыль. Наша задача в том, чтобы попытаться обнаружить такие области в пространстве состояний. Задача, в общем, не тривиальная, но решаемая методами мат. статистики. Если такие области не будут обнаружены, то, либо они отсутствуют, либо выбранные вами компоненты вектора X(t) не описывают состояний инструмента, и вам следует попробовать другой набор параметров x(t) в векторе X(t).
Если же вам удалось найти такие области, то можно попробовать сократить размерность вектора X(t), выбросив из него малозначимые параметры x(t). После этого нам надо проверить нашу модель на других отрезках истории, и если модель продолжает оставаться работоспособной, то можно переносить ее в торговую систему и готовить к работе на рынке. Если мы не занимаемся пипсовкой, то истории на ТФ 1 мин для таких прогонов вполне хватает.
Именно такой стратегией для фьючерсов Сбербанка я занимался прошлым летом, и получил вот такой результат.
Индикаторы применяют все, даже те кто клянется что их не применяет. Индикаторы предназначены для вычисления какого-либо параметра или параметров текущего или прошлого состояния рынка и/или их изменения. Индикатором можно назвать любую обработку рыночных данных, на выходе которой мы будем иметь число, ряд чисел, или даже просто да/нет, и неважно рисуем мы индикатор на графике, просто получаем ряд чисел или оцениваем что-то в голове — сути это не меняет.
От качества применяемых индикаторов напрямую зависят эффективность принимаемых торговых решений и, естественно, всей торговой системы, и не я это первый сказал. Причем, далеко не первый.)
Вообще-то, лучше проектировать индикаторы под конкретную задачу, но это делают немногие. Большинство использует готовые, стандартные для ТА, индикаторы. Кто-то скачивает продвинутые индикаторы из интернета. Часть даже покупает индикаторы на различных площадках. Часто такие скачанные и купленные индикаторы преподносятся авторами как экстра-супер-пупер, и содержат минимальное описание, типа, безошибочно определяет начало… Бесплатные индикаторы могут содержать исходные коды, но многие ли смогут или будут разбираться в нескольких страницах исходного кода? Очень немногие.
Любое измерительное оборудование имеет область применяемости, и попытка измерить что либо за пределами этой области обречена — прибор будет измерять и показывать невесть что. Даже в области применимости прибор может давать как верные или неверные показания, так и показания не имеющие к действительности никакого отношения. Для таких случаев даже введены специальные показатели:
— вероятность пропуска цели — цель есть, но мы ее не видим,
— вероятность ложной тревоги — цели нет, но мы ее наблюдаем.
Рыночные данные вообще шумоподобны, и любой индикатор в любой момент может показывать все, что угодно, как соответствующее, так и несоответствующее действительному состоянию рынка. Однако выяснить это порой удается значительно позже, когда все решения уже приняты и нам уже как-то надо выкручиваться из ситуации, в которую мы попали.
Часть таких ложных измерений индикаторов можно отсеять, если вы знаете и понимаете принципы его работы, знаете область его применимости, где и на каких участках ему можно верить, а на каких он попадает в зону, где его измерения ничего не стоят.
Теперь вопрос всем, особенно владельцам скачанных/купленных индикаторов — вы знаете как они работают, какие данные и как обрабатывают? Можете ли вы своевременно распознать и блокировать работу ваших супер-индикаторов на участках, где они неработоспособны?
Скорее всего, не можете, так как вообще не представляете чем ваши индикаторы вообще занимаются. И ваш даже реально супер хороший индикатор превращается в совершенно пустую игрушку. А может быть даже в очень вредную.
Гораздо проще людям, использующим стандартные для ТА индикаторы, или индикаторы имеющие подробное описание, включающие алгоритмы их работы. Такие индикаторы расписаны и описаны до мелочей. Их реально можно досконально изучить, выяснить все их преимущества и недостатки и реально и с пользой использовать.
Учите ребята мат.часть, у них там здорово спрашивают. ©
Давайте рассуждать логически.©
Сейчас многие специалисты говорят об эффективности рынка. Даже А.Г. (если не ошибаюсь) N лет назад отметился на конференции с выступлением о эффективности рынка с резюме, что рынок если не эффективен, то почти эффективен.
Эффективность не появляется сама по себе. Как только неэффективность появляется на рынке и выявляется трейдерами, ее пытаются использовать для получения прибыли, в результате чего неэффективность нивелируется и рынок приходит в первоначальное эффективное состояние.
Значительная часть трейдеров, от простых смертных до аналитиков занимаются техническим анализом (ТА) в различных его ипостасях — любители линий ПС, волновики, МАшечники и пр., что образует на рынке существенные по влиянию на рынок группы по интересам. Такой групповой характер воздействия на рынок неизбежно должен порождать возмущения рынка и регулярные неэффективности.
В наш век, когда космические корабли бороздят..., да современными алгоритмами, обнаружить такую регулярную неэффективность несложно уже даже в домашних условиях. Разумеется, с помощью профессионального софта неэффективность будет обнаружена еще быстрее, и разными группами, которые быстренько доведут рынок до полной непонятки (эффективности). Срок жизни такой неэффективности, по моим прошлым устаревшим оценкам, где-то 1.5 — 2 года. Дальше Торговую Систему надо менять.
Методология ТА разрабатывалась еще в докомпьтерную эру. В каких-то книгах читал, что котировки принимались по телефону или даже с гонцом, а графики и индикаторы рисовались на бумаге, и считались чуть-ли не в ручную. И индикаторы и методы разрабатывались в максимально упрощенном виде, чтобы их можно было посчитать максимум на калькуляторе. Перед создателями некоторых индикаторов хочется снять шляпу, настолько это остроумно и просто сделано.
Но может ли все это работать сейчас. За 40-50 и более лет существования ТА все эти методы неизбежно должны быть учтены рынком, нивелироваться, и перестать вызывать возмущения эффективности. Т.е., и сами перестать быть эффективным инструментом.