24 декабря 2019 long-short.ru Кургузкин Александр
Допустим у нас есть некая модель движения цены, из которой вы можете выкроить паттерн, предположительно профитный. Имеем некие условия, которые описывают вход, и вначале они довольно мутные, из разряда “вот как-то так”.
Есть два варианта чего с этим делать.
Любой уважающий себя алготрейдер скажет, что нужно непременно все это закодить. Довести условия до полной формализации, чтоб никаких нигде сомнений. И получить точный результат прохода бэктестом.
Невозможно не согласиться, что это, конечно же, замечательное решение.
Но есть другой вариант.
Забить на полную формализацию и пройти чарт, используя свое понимание паттерна в терминах “вот как-то так”.
Это я называю “слабой формализацией” – когда вы описываете условия только до уровня “я узнаю его, когда увижу” (с).
Остается куча свободно болтающихся параметров и мутных мест, но совершенно необязательно это создает проблемы вот прямо сразу (“я воспитан иначе” проблемой не является). Вы просто оставляете все это свободно болтаться до момента, когда увидите, что эта неопределенность реально создает проблемы, и только тогда делаете следующий шаг в формализации.
Слабой формализации вполне достаточно, чтобы идти по чарту и набирать данные. Придется использовать свои глаза и мозг для этого. Все это занимает время. Но вы в итоге получаете некие данные, и это позволяет делать какие-то заключения и планировать следующие шаги в процессе моделирования этой реальности.
Тут может наблюдаться некий трейдофф. Вы экономите время на кодинге полного комплекта правил. Взамен получаете данные, которые имеют некую чувствительную стоимость в человеко-часах.
Зато со временем обнаруживается ключевое достоинство. Вы можете проходить довольно сложными паттернами. Которые хрен знает как закодить. Не то, чтобы совсем невозможно, но вот действительно – хрен его знает, как это закодить. Наверное можно как-то, но люди с этим заданием неизбежно куда-то пропадают, да и самому в это ввязываться не сильно хочется. Хотя глазами все на чарте обнаруживается без проблем после некоторой тренировки.
Так вот, ключевой вопрос касается скорости прогресса вашего видения. Где скорость прогресса оказывается выше – когда вы используете слабую формализацию, вкладывая усилия в сбор данных, или когда вы вкладываете усилия в кодинг полной формализации?
И вот у меня сложилось ощущение, что слабая формализация таки дает большую скорость прокачки.
Относительно устойчивые вещи – довольно сложные. Все простое легко обнаруживается, а значит по определению не может быть устойчивым. А сложное – оно неизбежно попадает в категорию “хрен закодишь”, потому что все, что легко кодится, является простым (для алгоритмов) и легко (алгоритмами) обнаруживается.
Таким образом, слабой формализацией вы можете проходить вещами любой сложности за относительно фиксированную таксу в человеко-часах за сотню входов. Кроме того, проходку глазами нельзя полностью считать рутиной – это в том числе и практика, порождающая инсайты.
К тому же, сырость/мутность всего происходящего не всегда является реальной проблемой, потому что большинство получаемых данных все равно имеет оценочный характер и добывается для того, чтобы качественно прояснить тот или иной элемент модели.
То есть, можно сказать, что слабая формализация дает маневренность. Несмотря на то, что на первый взгляд выглядит тяжеловесной по расходам времени. Но вам не нужно переписывать фреймворк из-за того, что у вас внезапно поменялось видение и вам нужно проходить новый набор паттернов.
Мы тут с подписчиками немного поделали упражнения по ручному сбору данных, и можно оценить стоимость процесса в человеко-часах. Мы пока делали однофакторные проходы, но я думаю что для двухфакторных эта стоимость будет не сильно больше, потому что основная работа здесь это собственно опознавание паттерна. Думаю, можно оценить стоимость данных в два часа на 100 входов. Тысяча входов это двадцать часов работы.
Много ли это? Тысяча входов это достаточно плотно прострелянная табличка 10х10, в которой вы наверняка увидите пару резонансных зон. Что дает шанс добавить паттерн-другой на проверку качества (и далее в продакшн портфель).
Но самое главное, отсмотрев тысячу входов, вы совершенно точно будете знать, чего проверять дальше. Поэтому получается достаточно линейный процесс, в результате которого ваша модель происходящего становится все проработаннее, а ваш портфель продакшн паттернов постепенно растет.
Почему этим никто не занимается? Причина, на мой взгляд, банальна.
Никто не хочет работать.
http://www.long-short.ru/ (C)
Не является индивидуальной инвестиционной рекомендацией | При копировании ссылка обязательна | Нашли ошибку - выделить и нажать Ctrl+Enter | Отправить жалобу
Есть два варианта чего с этим делать.
Любой уважающий себя алготрейдер скажет, что нужно непременно все это закодить. Довести условия до полной формализации, чтоб никаких нигде сомнений. И получить точный результат прохода бэктестом.
Невозможно не согласиться, что это, конечно же, замечательное решение.
Но есть другой вариант.
Забить на полную формализацию и пройти чарт, используя свое понимание паттерна в терминах “вот как-то так”.
Это я называю “слабой формализацией” – когда вы описываете условия только до уровня “я узнаю его, когда увижу” (с).
Остается куча свободно болтающихся параметров и мутных мест, но совершенно необязательно это создает проблемы вот прямо сразу (“я воспитан иначе” проблемой не является). Вы просто оставляете все это свободно болтаться до момента, когда увидите, что эта неопределенность реально создает проблемы, и только тогда делаете следующий шаг в формализации.
Слабой формализации вполне достаточно, чтобы идти по чарту и набирать данные. Придется использовать свои глаза и мозг для этого. Все это занимает время. Но вы в итоге получаете некие данные, и это позволяет делать какие-то заключения и планировать следующие шаги в процессе моделирования этой реальности.
Тут может наблюдаться некий трейдофф. Вы экономите время на кодинге полного комплекта правил. Взамен получаете данные, которые имеют некую чувствительную стоимость в человеко-часах.
Зато со временем обнаруживается ключевое достоинство. Вы можете проходить довольно сложными паттернами. Которые хрен знает как закодить. Не то, чтобы совсем невозможно, но вот действительно – хрен его знает, как это закодить. Наверное можно как-то, но люди с этим заданием неизбежно куда-то пропадают, да и самому в это ввязываться не сильно хочется. Хотя глазами все на чарте обнаруживается без проблем после некоторой тренировки.
Так вот, ключевой вопрос касается скорости прогресса вашего видения. Где скорость прогресса оказывается выше – когда вы используете слабую формализацию, вкладывая усилия в сбор данных, или когда вы вкладываете усилия в кодинг полной формализации?
И вот у меня сложилось ощущение, что слабая формализация таки дает большую скорость прокачки.
Относительно устойчивые вещи – довольно сложные. Все простое легко обнаруживается, а значит по определению не может быть устойчивым. А сложное – оно неизбежно попадает в категорию “хрен закодишь”, потому что все, что легко кодится, является простым (для алгоритмов) и легко (алгоритмами) обнаруживается.
Таким образом, слабой формализацией вы можете проходить вещами любой сложности за относительно фиксированную таксу в человеко-часах за сотню входов. Кроме того, проходку глазами нельзя полностью считать рутиной – это в том числе и практика, порождающая инсайты.
К тому же, сырость/мутность всего происходящего не всегда является реальной проблемой, потому что большинство получаемых данных все равно имеет оценочный характер и добывается для того, чтобы качественно прояснить тот или иной элемент модели.
То есть, можно сказать, что слабая формализация дает маневренность. Несмотря на то, что на первый взгляд выглядит тяжеловесной по расходам времени. Но вам не нужно переписывать фреймворк из-за того, что у вас внезапно поменялось видение и вам нужно проходить новый набор паттернов.
Мы тут с подписчиками немного поделали упражнения по ручному сбору данных, и можно оценить стоимость процесса в человеко-часах. Мы пока делали однофакторные проходы, но я думаю что для двухфакторных эта стоимость будет не сильно больше, потому что основная работа здесь это собственно опознавание паттерна. Думаю, можно оценить стоимость данных в два часа на 100 входов. Тысяча входов это двадцать часов работы.
Много ли это? Тысяча входов это достаточно плотно прострелянная табличка 10х10, в которой вы наверняка увидите пару резонансных зон. Что дает шанс добавить паттерн-другой на проверку качества (и далее в продакшн портфель).
Но самое главное, отсмотрев тысячу входов, вы совершенно точно будете знать, чего проверять дальше. Поэтому получается достаточно линейный процесс, в результате которого ваша модель происходящего становится все проработаннее, а ваш портфель продакшн паттернов постепенно растет.
Почему этим никто не занимается? Причина, на мой взгляд, банальна.
Никто не хочет работать.
http://www.long-short.ru/ (C)
Не является индивидуальной инвестиционной рекомендацией | При копировании ссылка обязательна | Нашли ошибку - выделить и нажать Ctrl+Enter | Отправить жалобу