Блог им. sgluhov

Рост алготрейдера (на каком вы этапе?)

    • 12 апреля 2012, 12:25
    • |
    • sgluhov
  • Еще
Этот пост будет абсолютьно не понятен трейдерам, но возможно поможет алготрейдерам понять кривую знаний и чуть чуть ускориться в своем развитии.

Я коротко разбил бы всех алготрейдеров на четыре этапа развития.

1) Базовый. Алготрейдер сам описывает стратегии — на данном этапе для него значимыми кажуться те индикаторы которые он использует, скорость оптимизаций параметров и т.д. Из-за оптимизаций и очень простых алгоритмов трейдер часто видет в тестере супер результаты того как экити позволяет уме удвоиься за пару месяцев.
Этот этап заканчивается как только алготредер понимает, что рынок постоянно меняется (и реальное эквити болтается около нуля) и особенности которые он нашел ранее, могут как работать так и нет. Но так как алгоритм туп — он не выключается когда особенности рынка отключаются. По инстурментам — очень многие заччем то начинают учить s# на данном этапе, так как сразу хотят запустить робота в дело. Мой совет — остановитесь — хорощий экзькюшион вам понадобиться на этапе 4 не ранее.


2) Продвинутый. Алготрейдер понимает, что под каждый этап рынка нужна своя стратегия, и теоретически надо предугадывать будущее состояние рынка. Тут все у всех по разному — кто то пытается паттернами определять состояние рынка, кто-то рисует свои индикаторы, кто то отслеживает доходность стратегий и на основании этой доходности их меняет. Варинтов тьма. Главное — что практически все приходят к пониманию, что рынок еще более сложная структура и описать его самостоятельно очень тяжело.
Часто тут тоже запускают оптимизатор и часто получают результаты еще хуже чем на первом этапе.


3) Пусть машина пишет.  Алготрейдер понимает, что все особенности рынка он сам не опишет, и что это не нужно — машина сама может учиться всем особенностям рынка и сама может все предсказывать. На данном этапе сначала ударяются в нейросети, потом в data mining (есть ли это понятие на русском?), часть народа делает свою нейросеть через попытку постоить корреляционную модель между индикаторами и результатами (при этом зачастую полностью игнорируя тот факт, что это таже нейросеть вид сбоку). Часть народа начинает думать что паттерны и их распознавание. Главное на этом этапе следующее — в машинку подаются данные  и результаты, машинка сама чему то учится и потом добро отдает прогнозы.
На самом деле не важно как на данном этапе вы програмируете машинку — главное мысль которая должна до вас дойти, что данные в прошлом на котором учиться ваша машина, не являются наилучшим матерьялом для ее обучения — они полны хаоса.

4) Борьба с хаосом данных. Алготрейдер понимает, что часть данных из прошлого только уменьшает эффективность обучения, и данные надо подготавливать как то, либо не обучать машину на определенных участках. Тут многие либо забивают — например начинают обучать машинку на небольших (последних) участках рынка, либо пытаются получить отфильтрованные данные — например если подавать на обучение фючерс РТС против корзинки из г. фишек, то хаоса меньше (вариантов воевать в хаосом тьма — можно даже индикаторы свои наделать).

В итоге, если у вас все хорошо — машинка учится, мешаюшие данные вырезаются, вы получаете прогноз который исполняется почти с 90% вероятностью ( RMSLE<0,45).

Как только вы на данном этапе — пора  брать s# в руки и пилить уже исполнение.

Есть много историй как люди зарабатывали и на 1 и на 2 и на 3 этапе, но это не повод останавливаться в развитии.
★7
41 комментарий
ещё бы эти этапные заключения подкрепить графиком эквити
avatar
Sekator,

графиком чаго? Как только вы на этапе 3 — вас уже мало интресует еквити — вас уже интересует вероятность исполнения прогноза — она становится ключевым элементом. По эквивти уже судить нельзя.
avatar
Вы сами сейчас на каком этапе?
avatar
на 4 =) я на рынке старичек
avatar
sgluhov, я бы выделил всего 2 этапа, на первом алготрейдер использует неприбыльные стратегии, на втором — находит прибыльные…
avatar
ну а что есть прибыльная стратегия? та кторая месяц прибыльно торговала?

в моем понимании хорошая стратегия — это то что использовали все возможности рынка, которые могла предсказать. И к сожалению не всегда она может быть прибыльной.
avatar
sgluhov, а как можно предсказать рынок?
avatar
ИМХО спорно и неоднозначно.

Прогресс от интеллектуального датамайнинга к самообучению систем под большим вопросом. Вариант прогресса от подгонки индикаторов и нейросетей (кто во что горазд) к интеллектуальному поиску неэффективностей выглядит минимум не хуже. По сути дела нейросети и самообучение выбирают люди с дефицитом идей относительно маркета (математик или программер которые бросаются в борьбу с ценовым рядом без изучения маркета). Основная проблема в том что мы должны предполагать где искать чтобы натравить туда компьютер а если мы знаем то можно зачастую обойтись и примитивной оптимизацией.

«Этот этап заканчивается как только алготредер понимает, что рынок постоянно меняется (и реальное эквити болтается около нуля) и особенности которые он нашел ранее, могут как работать так и нет.»

Торгую один паттерн который существовал с 98ого года и все еще работает. Если рынок постоянно меняется значит мы используем неробастный инструментарий. Конечно есть фазы где эффективность плавает но нам надо понимать что мы торгуем чтобы управлять портфелем стратегий, иначе мы скатываемся в анализ еквити и активное управление портфелем неробастных стратегий.

«4) Борьба с хаосом данных. Алготрейдер понимает, что часть данных из прошлого только уменьшает эффективность обучения, и данные надо подготавливать как то, либо не обучать машину на определенных участках.»

Ну да, найденные подгонкой закономерности быстро разваливаются.
avatar
«3) Пусть машина пишет. Алготрейдер понимает, что все особенности рынка он сам не опишет, и что это не нужно — машина сама может учиться всем особенностям рынка и сама может все предсказывать.»
Как это Вы себе представляете?
avatar
онлайн-трейдинг, гуглите data mining. Если не поймете — гуглите — нейросети — они проще для понимания.
avatar
sgluhov, а гугл скажет что подать на вход компутеру?
Это ключевой вопрос.
avatar
nfxzhzh, нет гугль в этом не поможет. Поможет понимание, что чем больше даем тем лучше, а алгоритм сам должен отбросить данные которые не помогают в прогнозе — как отбросить это уже вопрос алгоритма.
avatar
1) я не спорю что есть и всегда будут закономерности которые долго живут.
2) я не утверждаю что путь описанный выше истина. Если нравится самому описывать рынок и искать ручками закономерности — то почему бы и нет. Просто мне кажется что это немного тупиковый путь.
3) а как еще бороться с данными которые уменьшают качество прогноза? Только подгоном к сожалению. AI еще не изобрели.
avatar
sgluhov,

1.Разница между закономерностями и подгонкой в том что мы эксплуатируем особенность маркета. Вот перевели время у нас к примеру и пошел рассинхрон с западом и внутридневной паттерн волатильности стал другим. С какой скорость and if компутер это заметит? Не говоря о том чтобы посмотреть на торгуемые стратегии и сделать вывод где нужно подкорректировать паттерны. Или вот праздники в Штатах.

2. Почему ручками? Вопрос не в том что нравится или нет, вопрос в робастности закономерностей. Обычно если мы понимаем что мы торгуем мы поймем и когда это перестает работать быстрее чем анализ еквити.

3. Нам нужно качество прогноза справа а не слева. Ну и перфекционизм излишен особенно если он ухудшает робастность. Хотя в принципе я выкидываю из тестов например осень 2008 потому что хорошо знаю что было на рынке и могу формализованно определить критерии такого участка.
avatar
nfxzhzh,
1) Незнаю как вы а я загоняю данные по разным тикетам в общую базу данных, где время общее, в не разное. Но в целом да, если правзников не было 10 раз — он тупить будет.
2) Робастность — вообще ключевая проблема. Я просто не зотел писать на таком языке — а то половина алготредеров вообще не поймет о чем речь. У меня в моих алгоритмах есть несколько фильтров которые секут отклоняющие данные как на этапе подготовки данных, так и внутри алгоритма. Означает ли это что у меня хорошая система — нет. Можно ли добиться ручками такого результата как у меня — нет.

3. А я не выкидываю — я ввожу мнимые переменные — такие как состояние рынка, и алгоритм сам с помощью мнимых переменных эти даннае обраюатывает.
Я кстати не согласен с утверждением что прогноз слева неважен — еще как важен — на этом прогнозе и его качестве строится все. Практически если вы слева добились 95-98%, у вас есть высокие шансы иметь справа 90%. А вот если у вас слева на известном дата сете 60%, шансов что справа будет 90 ну совсем мало.
avatar
sgluhov, sgluhov,

1. Всем тикетам всех бирж? Так праздники и по датам гуляют. Вопрос в том что кроме тикеров (тикет это когда я трудился на деске назывался репорт о сделке выписанный корявым почерком традера или распечатка из рейтер дилинга) т е ohlcv много разной инфы которая не вписывается в ценовой ряд.

2. А посмотреть результирующую еквити без отклонения данных как критерий? Причем если мы знаем например что было осенью 2008 на фонде или весной 2009 на рубле или весной 2008 Societe generale то для компутера это аномалия.

3.А критерий формализации переменных? Если ручками то это подгонка периода, сможем ли мы управлять ими в реальной торговле так как слева на графике вопрос.

Прогноз слева важен тогда когда он будет работать справа. Т е нам нужна робастная подгонка а не просто подгонка. Робастность в нашем практическом применении обычно стабильность характеристик при минимуме параметров на большом числе трейдов. Если мы получаем 95-98 без фильтрации (мнимыми переменными, большим числом параметров итд) то нет проблем, иначе мы получаем такие 95-98 что развалятся на правом краю. И потом что у Вас за критерий в %? Прогноз сам по себе еще не дает профита, важен avg trade и вероятность прибыльной.
avatar
nfxzhzh, 1) согласитесь качество прогноза = прибыльности системы. Других параметров просто нет. Это по поводу эквити.
2) по поводу тикетов — я их загружаю как опережающие индикаторы. Дают ли они что то модели сейчас сказать не могу — надо исследование проводить — возможно только ухудщают прогнозирование.
3) я понимаю о чем вы — но к сожалению методы ограничены. Я использую весь набор — от нормализования данных, до фильтраций. Робастность как алгоритма, так и данных это основаня не сильно разрешимая проблема. Но все равно я сичтаю что лучше подогнать — так что бы слева было как можно больше. Критерий — вероятность правильного прогноза в % по данной свечке.
avatar
sgluhov,

1) Принятый критерий оценки инвестиций доха, просадка, еквити. Как то так.

3) Все еще непонятно. Вы прогнозируете hlc свечи? А правильность в чем выражается? Точно попасть тик в тик? Что то сомневаюсь насчет 98%. 90 куда нишло а 98 перебор :)
avatar
nfxzhzh,
1) да но зачем они когда мы оцениваем правильность прогноза?
2) я пытаюсь прогнозировать будущее состояние рынка — всего их у меня 4. Я стараюсь не сомтреть на свечи — там ваще один хаос. Но прогноз рисую для каждой свечи.
avatar
sgluhov,

1) Зачем нам правильность прогноза? Нам нужен баблос. Вы хотите уравнять правильность и баблос но это сложно.

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

если я знаю что впереди тренд без откатов, не пофигу где я в этот тренд заскачу?
avatar
sgluhov, это как раз понятно.

Не пофигу сколько и каких стопов мы огребем даже если правильно определим бар.
avatar
Вы согласны с тем, что если есть интрадей-стратегия, которая дала доход за месяц, то она 100% даст доход и в следующих месяцах?
avatar
онлайн-трейдинг, нет конечно, а с чего особенности рынка жить год или два. таких особенностей не так много к сожалению.

Во вторых если особенность живет долго ее начинает торговать уйма народу — в итоге она схлопывается раньше.

И точно месяц не показатель ни для одной из стратегий.
avatar
sgluhov, в месяце 22 торговых дня, большая часть из них боковик, остальные с хорошим движением вверх либо вниз, это статистика, подтвержденная десятками лет. Это же особенность рынка, которая не меняется никогда? Так почему нельзя ее использовать постоянно?
avatar
онлайн-трейдинг, можно. почему бы и нет. просто чем лучше вы будете предугадывать какие дни будут боковиком а какие с большим трендом — тем лучше для вас. а вот что бы сделать такую модель уже надо работать. этопереход из 1 этапа на второй
avatar
Из википедии: «Data mining и искусственный интеллект. Знания, добываемые методами Data mining принято представлять в виде моделей. В качестве таких моделей выступают:
ассоциативные правила;
деревья решений;
кластеры;
математические функции.
Методы построения таких моделей принято относить к области т.н. «искусственного интеллекта».»

То есть это и есть AI и 3 этап заключается в его использовании?
avatar
онлайн-трейдинг, я веду к тому, что если алготрейдер использует AI, зачем ему 4 этап?

«Есть много историй как люди зарабатывали и на 1 и на 2 и на 3 этапе, но это не повод останавливаться в развитии.»
— зачем так все усложнять?
avatar
онлайн-трейдинг, оставайтесь на том этапе на котором вам нравится — тут судей нет. моя точка зрения пока такая.
avatar
sgluhov, я не спорю, просто хочу разобраться… то есть Вы на 3 этапе создали подобие AI, но он Вам не помог, поэтому Вы пошли на 4 уровень?
avatar
онлайн-трейдинг, нет в вики имется ввиду, что data mining просто относится к такой сфере науки как искусственный интеллект.

3 этап — это когда вы строите самообучающийся алгоритм. Методов там несколько я о них писал.
avatar
поржал… есть типы ботов…
1) индикаторные (в том числе и НС)
2) статистичиские
3) корреляционные
avatar
ves2010, что такое НС?
avatar
онлайн-трейдинг, нейросети вистимо
avatar
ves2010, угу а ves2010 знает все о ботах.
avatar
ves2010,

вопрос от еврея — чем статистические от корреляционных отличаются? =)
avatar
sgluhov, статистичиские и корреляционные? — дохрена писать… в двух словах: корреляционные смотрится взаимосвязь двух и более активов в разных формах как пример: парный трейдинг, арбитраж, поводыри… статистические — как пример рост в конце квартала или вторник покупай-среду продавай, пробои, отскоки, паттерны…… в индикаторных ботах вообще физического смысла нет — там даже цена подменяется значением индикатора… т.е. бот боту рознь…
avatar
имхо грааль прост:
1) потенциал большого движняка
2) короткий стоп…
avatar
ves2010, а помойму 90% всех денег на рынке делается в те дни когда движение нет, ибо таких жней большенство =)
avatar
ves2010, это все 1 этап. 2 этап будет когда вот эти описанные тобой идеи будут в одном боте как то крутится — даже на уровне если условия такие тогда торгуем так.
Третий и четвертый этап — это уже намного сложнее.
avatar

теги блога sgluhov

....все тэги



UPDONW
Новый дизайн