Последние пару лет переключившись на крипту — был в долгом поиске рабочих алгоритмов.
Пробовал вообще все, что накопилось в моем опыте за годы в трейдинге. Но так как рынок особенный и относительно молодой — ничего толком не получалось от слов совсем!
Главные сложности, конечно, высокая волатильность и сильное влияние новостей + цикличность рынка крипты. Понимая это все — не удается подобрать толкового мани/рискменеджмента. любой стоп сносится, любые плечи ликвидируются и грабли грабли грабли.
Единственно к чему смог прийти — мартингейл.
Не буду расписывать про кучу скама и проекты которые имеют партнерство с мм командами аля dwflabs. Но уточню — любой проект который мы выбираем для торговли — нужно анализировать на то, кто его маркетмейкер, и каким образом развивается проект. есть у него продукт на деле или только на бумаге.
Итак — предположим мы нашли себе не самые щиткоины и готовы их торговать. Мой алгоритм действий относительно простой, но я ни в коем случае не пишу это как рекомендация — лишь делюсь опытом.
Самая большая проблема у меня — поиск алгоритма, который будет доходнее чем если б мы инвестировали 20лет назад и забыли о торговле.
То есть купили акции и держим. Яркий пример — попробуйте сделать алгоритм который превысит доходность например биткоина, если б вы купили его в первый день торгов на 1000$. Да, охренелеард процентов обогнать сложно, в этом и суть.
Часто при построении алгоритма этот момент упускается из виду (конкретно у меня). Итак на примере я взял акции мосбиржи (как я думал, но случайно скачал фьючерсы… а так как это не конец, то позволил себе лень и не переделал под акции) с 2009 года. То есть практически постоянный рост бумаг имеем, и соответственно наш алгоритм должен быть как к минимум не хуже.
Напоминаю, суть именно данного алгоритма, только лонги по портфелю акций, но внутри мы распределяем количество, уменьшая и увеличивая количество купленных акций.
В предыдущей статье показал пример использования одного из фильтров по недельному росту/падению. В принципе вместо недели можно использовать месяц, день, минуту — это вопрос скорее а надо ли нам оно, чем сама эффективность. В данном случае логика сохраняется. Если неделя была растущая то мы докупаем 10% дополнительно акций, если падающая неделя была то продаем либо 5 либо 10% бумаг. Разница только лишь в нашем риске, если скидываем по 10% то уменьшаем свой риск так как чем продолжительнее падение тем меньше у нас денег останется в рынке, и больше денег тем самым сохраним, и при зарождении роста — будем покупать по более выгодной цене. Но если продолжительных падений не предвидится то естественно оставаясь в рынке большей суммой — возможность заработать больше — растет. Сама процентовка пока что примитивная — только для примера.
Следующее ограничение — бюджет. У нас нет самосвала денег, потому для начала используем 1млн, с возможностью максимум добрать до 5млн (на примере фьючерсов реальных денег конечно будет задействовано меньше, но я игнорировал ГО и расчет вел по именно полной максимальной сумме денег (то есть если фьюч газпрома стоит 30 000 то значит именно эта сумма требуется для покупки 1 лота, а не по ГО).
Вот так выглядел бы график если мы просто затарились на 1млн денег на сбере, газпроме, лукойле и роснефти в 2009году.
Приветствую всех.
Принцип такой — если вы посмотрите на график бумаги, которую не мониторите 24/7 то маловероятно, что легко сможете сообщить причину падения 12 го февраля 2019го или резкий рост в июле 21го. Даже если не рассматривать вариант с бектестом, если мы находимся в позиции, то без инсайда все равно будет действовать «по ситуации» — то есть крыть позу если рынок позволит или же уменьшать или усреднять и тд.
Теперь немного к деталям.
Один из методов работы с позицией и ее весом в портфеле выбрал режим «предыдущей волатильности». То есть я рассматриваю недельный бар, размеры его теней и тела, вывел себе формулу (пока что не готов показать ее) по которой фильтрую сделки на след неделю. Смысл такой — если бар неоднозначный, хоть и растущий или падающий, но с большими тенями и вверх и вниз — то это говорит о некотором возможном риске и потому торговля ограничивается на ближайшую неделю.
Продемонстрирую работу фильтра на 1 тикере (бтс выбран произвольно)
Приветствую всех.
Давно не писал, возможно сменилось поколение на смартлабе!)
Понятно никому не интересны ни философские мои причины отсутствия, ни физические причины!) Потому пропустим этот момент и перейдем к теме статьи!
Когда ты на рынке не первый год — вне зависимости от того, заработал ты миллионы или потерял их, возникает ситуации когда ты становишься «звездуном». Не в том смысле, конечно, что ты мега гуру и все знаешь, а в том — что ты перестаешь искать идеи с «нуля». Большинство идей еще на стадии осмысления отметаются как некий примитив и что это сто процентов фигня нерабочая.
За собой заметил такую тенденцию — приходят часто с вопросами: помогите собрать и пара строк идея! Естественно первое что хочется сказать — фигня это а не идея, не нужно ее даже пытаться смотреть! Чаще всего конечно стараюсь так не говорить, но при этом подобная мысль есть в голове и это прежде всего моя ошибка, допускать такие мысли.
Такая же ошибка — если после прочтения статьи или просмотра моих видео — начинают реализовывать алгоритм и «слепо» запускать «болванки» в торговлю. В момент когда узнаю о подобных инцидентах — начинает глаз дергаться.
Сейчас в целом другое мнение. С чего-то ведь нужно начинать? Потому в последних видео которые снимал — я пользовался тактикой — начинай с нуля. То есть даже если идея казалась мне бредовой когда-либо, я все равно пробую реализовать и развить во что-то! Все таки алгоритмы которые запущены были в работу вне зависимости от итога — начинались с нуля, а все модификации которыми пытался адаптироваться к рынку — так толком и не запускал считая, что текущий робот лучше или что модификация в принципе не стоит того чтобы рисковать лишний раз.
Потому теперь не брезгую начинать с нуля, любой примитив. Это оказалось полезно — особенно с учетом крипторынка — где в принципе крайне мало работают «законы физики»
Ниже видео первой примитивности
Приветствую всех.
Оговорюсь изначально — статья — лишь мое мнение, мой взгляд на трейдинг и не более того.
Предпосылки к данной теме — слишком частые вопросы касаемо поиска идей и методов оптимизации — оценка коэффициентов и прочих сопутствующих изысканий.
Читая обсуждения тем и переписки на форумах, телеграмм каналах — невольно делаю выводы об основных «акцентах внимания». Основная масса людей зависают в проблемах оптимизации, другая в поисках идей которые потом так же сводят к оптимизации. Именно потому хотелось бы немного рассказать о целях в трейдинге.
Если вы пришли на рынок с целью резко разбогатеть и поисков алгоритмов которые дают 200% в секунду (как удачно пошутили в чате, менять бентли когда заполнится пепельница) — то нужно просто быть готовым к резкому разочарованию. Если у вас нет другого источника дохода, то ожидания от трейдинга будут завышены и естественно не оправданы. Если нет большого капитала, на который в случае чего можно жить 2-3 года, пока не пришли к стабильному доходу — так же будут разочарования.
И, как мне кажется, самое важное, цель заработать кучу денег не коррелирует со стабильным доходом. Основную задачу нужно ставить перед собой, не в создании одного хорошего робота, который на истории в 120 лет показывает вечно растущую прогрессию дохода. Ставьте верные приоритеты и будьте готовы двигаться и развиваться вместе со своими алгоритмами.
Не раз от меня читали или в видосах слышали, хоть и торгую ртс с переносами через ночь, но позиции не хеджирую как-либо, например, по си.
Естественно сильные гэпы не раз наказывали меня за такую «дерзость». Тут решил проверить с точки зрения статистики — стоит ли в принципе задумываться о «перекрытии» позиции?!
П.С. суть алгоритма абсолютно обычная трендследящая, много раз ее показывал и рассказывал, мой самый древний алго — акцентировать на нем внимание не будем.
Так как истории у меня не было длинной, помощь зала в телеге, оперативно поделилась своими архивами, за что им спасибо)
Итак к статистике.
Первая мысль — о как все красиво, но в реальности конечно было не так)) хоть алгоритм и был на 90% сделан в 10-м году, позже в 14м вносилось изменение, переход от статичного уровня, к адаптивному, относительно текущего рынка, чтобы не следить за рынком и алгоритм делал это все сам!
Приветствую.
Не станем углубляться в философию оптимизации своего алгоритма, и для чего нужен бектест. Могу сказать свое мнение — оптимизировать можно, но только делайте это правильно. В своей практике, бектестинг для меня играет крайне малую роль при создании алгоритма. Но все же некие аспекты и зависимости можно выделить.
Для начала хотелось бы показать как вообще это выглядет все в рамках TSLab.
Два примера — на первом рисунке дефолтно созданный алгоритм под простые индикаторы, RSI 20 поверх SMA20. Купили когда индикатор близок к 100, продали когда близок к нулю. Никаких фильтров и усложнений (так нужно для данного поста). Так же для примера показана таблица результатов под 400проходов. От 5 до 100 с шагом 5 для каждого индикатора. (тоже лишь для примера). В ней можно усмотреть что количество отрицательных результатов — довольно маленькое. (удачный пример, не более)
Приветствую всех!
Настолько давно не писал — что забыл свой пароль от смартлаба… каюсь виновен!
По существу. Часто в тестировании используют методы бек/форвард тест, иногда устраивают стресс тест, на хаотичных котировках, но в данном примере хотелось показать как смоделировать ситуацию, когда в алгоритме все хорошо, но по той или иной причине нашу заявку не исполнили. Причин реально много может быть, опоздали с выставлением, проблемы с интернетом, проскальзование, сбой в работе биржи/брокера/софта и тд
Чтобы получить на истории такие сбои, достаточно к условиям торговли — добавить случайное событие, и в зависимости от логики алгоритма, задавать эту случайность. Например если вы торгуете по рынку то случайность событий возможна на максимум в 10% случаев. Если торгуете по уровням, с условными заявками — то в принципе в зависимости от проскальзования, так же будет 10-20% случайностей, но важно учитывать что уровни обычно сохраняются и если мы не открылись сейчас то можем по той же цене открыться позже, и на тесте ситуации не сильно исказятся. Торгуя против рынка лимитками некий скальпинг — можно смело ставить случайность в 80% случаев так как там сюрпризов намного больше и они чаще.
То есть нельзя унифицированно использовать одну какую то случайность под все алгоритмы, это важно понимать. Так же, кстати, случайное число генерируется тоже не так и случайно. потому при использовании рандома, обычно пользуются дополнительной настройкой генерации чисел, с помощью которой можно посмотреть немного разные случайности.
Если есть вопросы пожелания пишите))
П.С. канал в телеграмме если нужно онлайн общение https://t.me/msvTslab