Блог им. myaucha

Алготрейдинг: Начало

    • 17 октября 2024, 15:15
    • |
    • myaucha
  • Еще
Сейчас выдалась свободная «минутка», и я решил попробовать принести немного пользы начинающим трейдерам-программистам.

Кто является целевой аудиторией данного топика?!

1. Вчерашние студенты IT-специальностей
2. Уставшие или выгоревшие IT-специалисты с опытом
3. IT-специалисты-пенсионеры, для которых садовый сезон подошел к своему логическому завершению
4. Остальные, кто имеет навыки программирования и интересуется трейдингом

Теперь, кто не является целевой аудиторией.

1. Опытные трейдеры-алгоритмисты
2. Инвесторы — те, кто покупают активы и держат 
3. Трейдеры-фундаменталисты и теханализаторы

Это не потому, что я считаю их способ торговли ошибочным или сомнительным, а потому, что для одних это будет банально, а для других мало интересно в принципе.

Кроме того, хочу отметить, что это лишь один из подходов к автоматизации торговли, но далеко не единственный.

Шаг 1. Самоопределение.

Если инвестирование вам не очень интересно, но у вас есть некий капитал, то просто отнесите средства в банк под процент.

Если для вас актуален вопрос сохранения нажитого непосильным трудом, то купите объект недвижимости.

Если вас интересуют вопросы инвестирования на долгий срок, то купите акции или облигации и держите, получая купоны и дивиденды.

Если у вас мало свободных средств, но есть навыки программирования, то попробуйте себя в автоматизированной торговле. Что значит попробуйте?! Это означает, что есть естественные причины, которые этому могут препятствовать. И первая из них — свободное время. Большую часть своего времени мы тратим на работу и сон. Остальное на семью — детей, жену, родителей. Еще какую-то часть на еду, друзей и совсем немного на себя.

Алгоритмический трейдинг требует времени. Сколько?! Много. Точно не скажет никто. У всех разные стартовые возможности — уровень образования и интеллекта. Но времени потребуется все равно много. Если вы не обладаете свободным временем, значит сразу идем в инвесторы и пытаем удачу там.

Если вы относительно молоды (хотя это совсем необязательно), у вас нет семьи, вы можете после работы позволить себе «вторую» смену… Или если вы готовы посвятить свои выходные кодингу или чтению техлитературы… Или сделать паузу по вашему основному месту работы (что не рекомендую, но делал неоднократно сам)… Или если вы пенсионер и мозг ваш еще не раскис и сохранился хоть какой-то интерес к научным (или псевдонаучным) изысканиям… то можно попробовать себя в алгоритмической торговле. Если у вас на работе есть временные «окна», то тоже можно попробовать, но как правило, продуктивность таких попыток не впечатляет, а вот на основной работе точно скажется негативно. 

И важный момент! Не думайте о профите. Думайте о системе и ее будущей технической реализации. И не торопитесь!

Шаг 2. Выбор брокера?!

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

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

Так ли нужен брокер, чтобы начать?! На самом деле нет. Например (не в целях рекламы), компания ARQA предоставляет доступ к демо-торгам через торговый терминал QUIK, который поддерживают многие брокеры и который уже существует и развивается (ну не особо развивается, конечно, но это даже в плюс — стабильность) продолжительное время. Скачать дистрибутив у них можно на сайте, а затем и получить доступ (ключи). По другим терминалам не скажу. Не исключаю, что есть нечто подобное и у других производителей.

В общем начинать писать свою торговую систему можно и без счета у брокера. Здесь же можно получить и навыки выставления заявок в ручном режиме. Я бы даже рекомендовал начинать именно с этого, а затем уже плавно переходить на терминал брокера. Демо-торги у ARQA отличаются от реальных торгов набором инструментов, их параметрами, интенсивностью, временем проведения. Даже перейдя на терминал брокера совсем необязательно заключать реальные сделки. Вы можете предусмотреть в своей будущей системе возможность заключения виртуальных сделок на основе реальных данных.

Шаг 3. На чем писать?!

Это ответственный момент. Неверный выбор инструментария может привести к потере времени и полному сворачиванию трейдерских потуг. Если вы пишете на основной работе на высокоуровневых прикладных языках (например 1С, SQL, Java-фреймворки под web-разработку и т.п.), то лучше приготовтесь освоить что-нибудь пониже. Опускаться до C или C++ острой необходимости нет, но что-то C#-подобное или Java-подобное имеет смысл рассмотреть. Есть и специализированные языки. Например, многие используют язык и библиотеки самого терминала. В упомянутом выше QUIK-е это LUA. Но любой встроенный язык — это всегда потенциальные ограничения, с которыми рано или поздно приходится сталкиваться. Кроме того, не стоит забывать, что в идеале ваша торговая система должна быть независима от терминала или относительно легко переносима на другой (ну это в идеале).

Глубокое освоение нового языка не требуется. Например, в C# достаточно освоить базу (классические конструкции процедурных языков, классы, коллекции, события). Ну и важная часть — потоки. Вы должны понимать суть работы потоков и управления ими. Как частный случай, понимать принцип работы однопоточного аппартамента (это когда методы класса вызываются самим экземпляром в своем потоке и ни один поток извне не может обратиться к методу напрямую, только через proxy-вызов). Плюс немного знаний по интеграции DLL-библиотек в свои приложения (примеров в сети достаточно).

Можно ли писать на современных и модных языках?! Смотря какая цель. Я подразумеваю, что начинающий алгоритмист не имеет четкого видения стратегии будущей торговли. Если попытаться взять условный Python и задаться целью прикрутить AI к своей системе без понимания того, на чем, собственно, и как будем зарабатывать, то это кажется бессмысленной затеей. Можно ли скачать исторические данные по инструменту и на них натравить умные библиотеки AI с целью выявления закономерностей? Можно. Здесь не к языку или библиотекам вопросы, а к вашему опыту. Достаточно ли вы подкованы математически, интеллектуально, и обладаете пониманием того, что ищете и что делаете. Я вот, например, не специалист. Для меня AI — апроксиматор и не более того. И если бы мне пришлось осваивать сначала все прелести AI-библиотек для поиска закономерностей, а потом еще писать торговую систему, то процесс явно затянулся. Мы же сейчас пытаемся пройти коротким путем, проторенной дорожкой.

Следует понимать, что в процессе создания торговой системы (не путать с торговой стратегией) вы можете (но не обязаны) параллельно исследовать исторические данные (не важно на чем, на VBA for Excel, Python, или более специфических языках/платформах), читать спецификации на инструменты, правила выхода на исполнение контрактов у вашего брокера, строить и проверять гипотезы. Но если у вас не будет работающего приложения (торговой системы), способной проверить вашу гипотезу на реальных торгах (выставлять и снимать заявки, проще говоря), то ваши многочисленные изыскания на «свечках» так и останутся гипотезами. К тому же, как показывает практика (моя, не ваша), очень многие гипотезы, не имеющие строгого математического обоснования, не более чем выдавание желаемого за действительное, иными словами — подгонка.

Шаг 4. Как писать?!

Начинать от частного к общему. Например, сделать акцент на приеме данных из терминала. В моем случае это был QUIK и DDE-протокол. Торговый терминал состоит из окон, которые вы создаете и настраиваете сами. Чтобы ваше приложение (торговая система) могло оперировать этими данными, нужно научиться получать их из этих окон в режиме онлайн. 

Далее можно заняться выставлением заявок из вашего приложения в QUIK и получением реакции (событий) на их исполнение (или не исполнение).

В итоге вы получите два разрозненых кусочка условно полезного кода, каждый из которых состоит из нескольких классов. Следующим этапом будет оформление их в некий промежуточный слой обмена данными с терминалом. По сути, это сведение и «причесывание» того, что уже сделано.

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

Затем необходимо создать интерфейс для торговой стратегии. Реализацией этого интерфейса может быть абстрактный класс с условным названием Алгоритм. Все методы этого класса должны вызываться в его родном потоке, то есть экземпляр класса создает поток, в который любой другой поток (например, с уровня интрефесного торгового слоя, но не он один) может передавать данные только посредством прокси-вызовов. Этот процесс называется маршалингом. Я, например, не использолвал какие-то стандартные средства для маршалинга, а реализовывал свой (классическим способом — через очередь). Каждая реализация класса Алгоритм имеет собственный список инструментов, собственный список заявок, сделок и т.п. Алгоритмы друг о друге ничего не знают.

Поскольку торговая система — это приложение, то самым простым способом его реализации является консольный вариант (мы хоть и не торопимся, но хотим увидеть результат побыстрее). Консольное приложение подразумевает некий способ взаимодействия с ним. Самым простым способом взаимодействия является командная строка. Поэтому необходимо создать еще один интерфесный слой контроля над алгоритмами. Этот слой ответственен за запуск алгоритмов, их остановку, мониторинг за их активностью, а также имеет набор сервисных функций, которые позволяют получать статистические данные по инструментам и о ходе торгов. Этот слой также интегрируется с другими сервисными слоями для логирования хода торгов (файл) или сохраниния результата торгов (инструментов, заявок, сделок, и прочего) в локальной базе данных в разрезе каждого алгоритма. Вся интеграция осуществляется посредством межпоточного взаимодействия, аналогичного описанному ранее для класса Алгоритм.

Естественно, необходимо предусмотреть сервисные классы по разным классам инструментов, заявкам, сделкам, в которых реализуется базовая логика расчета доходности, комиссий, открытых позиций и прочего, но все это уже помещается, как в контейнер, в класс алгоритма. Если вы собираетесь получать данные по свечкам и анализировать бары, то вам придется тоже создать свой сервисный класс и обеспечить всю расчетную часть. В этот момент может возникнуть вопрос, а может надо было все-таки изучать LUA и не городить огород?! Этот пост в целом предлагает читателю подумать и принять правильное (или неправильное) решение. Мне, например, анализ свечек пока не был нужен в торговой стратегии. Анализ свечек можно проводить на исторических данных в других инструментальных средах, то есть это отдельная исследовательская работа, которая позволяет сформировать некую идею. Но проверять эту идею придется в торговой системе. Например, можно взять два инструмента, акцию и фьючерс на нее, и визуально исследовать их график на разных тайм-фреймах, почитать спецификацию, почитать регламент брокера. Из спецификации понять, что к моменту экспирации цены сходятся. Из регламента — что ваш брокер не даст вам выйти на исполнение контракта. Из графика — убедиться, что цены при экспирации сходятся, но бывают и расхождения. Подумать и логически объяснить причину такого поведения. Посмотреть каким образом можно уменьшить риски — возможно стоит сменить брокера на другого, который предоставляет более удобный способ торговли фьючерсами и акциями с одного счета и т.д. Из приведенного примера понятно, что речь идет об арбитражной стратегии и для ее простой версии реализации свечки не нужны (и спички тоже).

Что касается производительности и нагрузки на компьютер. В свое время запускал около 20 алгоритмов одновременно и нагрузка на систему составляла не более 3-5% на слабеньком компе не помню даже какого года. Потребление памяти тоже было минимальным (ну тут все зависит от того какую логику накрутить и сколько данных напихать). 

Шаг 5. Как использовать?!

Когда все необходимое написано можно приступать к опытной эксплуатации. Для этого следует создать новый класс, наследуя классу Алгоритм. На начальном этапе для проверки достаточно реализовать какой-нибудь простенький вариант алгоритма усреднения для нескольких заранее отобранных акций. Основная задача не получить прибыль, а совершать в автоматическом режиме сделки и наблюдать за системой. Не исключено, что и появится первая прибыль (или убыток). Разумеется будут возникать различные траблы, вы их будете решать, но в конце концов все начинает работать стабильно (если написано без спешки и продуманно).

Затем приходит черед создания второго алгоритма, посредством копирования первого. Вносим некоторые корректировки в параметры и получаем две работающие параллельно стратегии, но немного отличные друг от друга. Когда их становится *цать, приходит понимание ради чего все это затевалось.

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

Шаг 6. Тотальная автоматизация

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

И да, не пользуйтесь Yota. Никогда, никогда, ни при каких обстоятельствах, не пользуйтесь Yota-модемом. Не повторяйте чужих ошибок. Да, я пользуюсь, но давно хочу «завязать». 

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

Шаг 7. Вывод

То, что написано выше — не панацея. Можно взять Python или что-нибудь еще более заточенное под биржевые торги, выкачать данные с Финам или из того же QUIK-а и сидеть «шаманить» над ними, искать корреляции, раскорреляции и прочие фелляции. После чего взять за правило каждый день выгружать данные по интересующим инструментам, получать торговые сигналы и выставлять на их основе заявки (возможно даже вручную) в торговый терминал. Тоже вариант. Но вот меня такой расклад не устроил. Я за полную автоматизацию с возможностью находиться в рынке ежесекундно, чтобы можно было забирать случайные неэффективности. И помните, для создания прибыльных стратегий нужны две вещи — умение читать (спецификации, регламенты брокера, тарифы) и здравый смысл. Обилие умных книжек только отнимет у вас время — в них красивые формулы, но у вас вполне возможно не хватит понимания как их применять в биржевой торговле и где конкретно.

PS: Как там пишут в конце… все описанное выше не является торговой идеей. Так вот… как раз все, написанное выше, является торговой идеей. За вами остается лишь ее реализация.

PS2: Насчет моей торговли и ее прибыльности. Торговля ведется в автоматическом режиме, прибыль есть, но весьма скромная







★5
93 комментария
Класс!!! Все в точку… остался только один вопрос: а где взять РАБОЧИЙ алгоритм?
avatar
И помните, для создания прибыльных стратегий нужны две вещи — умение читать (спецификации, регламенты брокера, тарифы) и здравый смысл.

Первое — полный фуфел! Второе — это дополнение к… РАБОЧЕМУ алгоритму!!! Вопрос тот же: где ЕГО взять?!
avatar
Head of Algonaft'$, 
ну как где? Украсть же, еще Пикассо завещал: «Хорошие художники копируют, великие — воруют» ©
Дмитрий Овчинников, "… имя, сестра! ИМЯ?!" (к\ф Три Мушкетера)
avatar
Head of Algonaft'$, 
алготрейдеры периодически продают системы. Начиная от Силаева, заканчивая Пратрейдером. Старые продукты можно найти бесплатно или за совсем малые деньги. 
Более того, есть изначально бесплатные варианты систем, как например в курсе у Жени Ни.

Дмитрий Овчинников, вы прикалываетесь?))) Все, кто что-то там продают типа рабочее алго — конченные околорыночники!!! Ничего из того, что они продают — не работает!!! Вообще ничего! Ибо рабочую систему не продают!
Я задавал вопрос про РАБОЧУЮ систему)))
avatar
Head of Algonaft'$, одну систему (простушку, для) покупали у Силаева. Рабочая, но мои чуточку лучше. Так что если и будем его систему использовать, то только для диверсификации. 
avatar
SergeyJu, ну блин) если вы сами делали свои  системы, то надо тренировать уже себя на создание других систем! Смотреть на рынок под другим углом надо всегда — это чистое творчество! Не понимаю я покупок чужого…
avatar
Head of Algonaft'$, Вы как вчера родились, ей Богу. Я этих систем прорву настругал, некоторые даже оказались рабочими на долгосроке. А вот посмотреть, что делают люди, интересно, вдруг, свежая идея возникнет. Нельзя многие годы вариться в собственном соку.  
avatar
SergeyJu, отличная система на пересечении двух ema за 50 тысяч)
avatar
Сергей777, Вы не знаете того, о чем пишете. 
avatar
SergeyJu, вам прислать pdf его системы?
avatar
Сергей777, мне чужого не надо. То, что было оплачено и получено — работает без машек. Хотя и есть оговорка, что в одно место можно засунуть машку. Только не туда, что прикольно, куда её все обычно суют. 
avatar
Head of Algonaft'$, 
то, что отдавал Женя Ни у него работает в Comon. Точнее является прототипом того, что работает сейчас. Да и у Силаева работает.
Если вы не в теме, не надо повышать на меня голос, минусить, писать капсом и ставить множество восклицательных знаков, иначе быстро уедете в ЧС.
Дмитрий Овчинников, ну если вы мнительный школьник, там есть кнопка — бан. Я переживать не буду, если впредь общение будет без дураков, по типу вас))) и да… я не в теме!
avatar
Head of Algonaft'$, у обоих и у Ни и у Силаева системы работают, да системы тупые, НО работают же.
avatar
Beach Bunny, Блин, но что работает и вы можете написать! Вопрос только сколько приносит… любой тупой ТА засовываете и я вам такой бэктест покажу — в обморок упадете, только покупайте у меня!!
avatar
Head of Algonaft'$, нехрен мне твой бектест, у меня в продакшене это работало до 2022 и зарабатывало.
avatar
Head of Algonaft'$, это вопрос определения «рабочей» системы. Для кого то рабочая система это альфа + 5 процентов к рынку. И это лучше большинства ПИФов, думаю, на этом форуме такие системы и не котируются) Вопрос ещё сколько денег можно влить в систему без деградации. Вот люди такие системы и могут продавать.
avatar
Дмитрий Овчинников, и у обоих тупые системы на машках.
Они конечно работают, НО периодически длинные периоды просадок, и это может быть и до 9 месяцев.
Но как исходный пример можно смотреть.

avatar
Beach Bunny, 
я знаю эти системы.
Beach Bunny, почти все работающие системы — тупые. Но вот та, что я видел у Силаева, не на машках. Да и у меня мало систем на машках. Хотя тоже — тупые. 
Кстати, длинные периоды просадок обычно неизбежная плата трендовых систем за неплохую долгосрочную доходность. 
А нетупой подход заключается в диверсификации по активам и системам. Я больше времени, кстати, трачу именно на метасистемы, то есть системы управления портфелем систем. 
avatar
SergeyJu, та которая простушка может и не на машках, не видел, а вторая на машках — я полное авторское описание читал
avatar
Beach Bunny, не вижу ничего плохого в использовании машек. Топор используют с каменного века, и никто его выкинуть из магазинов и из сараев пока не планирует. У меня есть системы с машками ( не более одной в системе), есть без машек. Есть с оценкой волы, есть без оценки волы. Есть с сезонностью. Не так уж много у нас инструментов, чтобы так вот, о машках, через губу разговаривать. 
avatar
SergeyJu, я и не писал что это плохо.
Я писал что системы достаточно тупые и тем НЕ МЕНЕЕ зарабатывают.
А вообще, давно уже есть более современные варианты замены SMA/EMA ;
с min задержками и без необходимости иметь длинный массив предыдущих значений. Для SMA10 — надо иметь 10предыдущих значений цены, а для EMA10 уже надо примерно 27предыдущих значений.
И тд и тп.
avatar
  
avatar
__rtx,
Два значения это если у тебя есть предыдущее значение EMA, а если лет то N*2.7 
Давай посчитай сколько будет EMA10 для ряда с 2мя значениями цены
Close=10
Close=20
ты же всегда по двум значениям считаешь
avatar
  
avatar
__rtx, да, да,
берем к примеру EMA5
для ряда
2
2
2
3
3
4
4
5
5
6
6
7
7
4
4
Посчитай для него EMA5 по всем 15 значениям
Так же посчитай EMA5 только по 5 последним значениям.
6
7
7
4
4
И сравни.
p.s
Не люблю душно-альтернативно одаренных.
avatar
  
avatar
__rtx, там один коэфициент который альфа=2/(N+1)
все остальное это уже не EMA, а что-то другое.
avatar
  
avatar
  
avatar
  
avatar
__rtx,
Потом поймешь, пока почитай -> habr.com/ru/articles/850172/
avatar
__rtx, если использовать номер отсчета или переменный весовой к-т, можно начинать считать с первой же точки.
Используя частичную сумму арифметической прогрессии.
avatar
  
avatar
__rtx, ну, мелкие вычислительные лайфхаки каждый, я надеюсь, может придумать и применить. Только это все не про рынок, а так, школьный уровень. Лет 10 назад был на небольшом сейшене по поводу алготорговли. Разные люди что-то докладывали. Я тоже  выступил, но как-то коряво. Не как другие, в стиле великий победитель рынка, а как сомневающийся подмастерье. Один господин тоже выпадал из тренда, он рассказал о своем исследовании разных способов расчета волатильности. Помнится, что способов было около 30, а критериев «хорошести» тоже было неслабо, больше 3 заведомо.  Что меня удивило, ни один из способов не был использован для построения торговой системы. В общем — эмпирика наш рулевой, а долгие штудии из теории приближений, матстатистики или, как сейчас модно, глубочайшего обучения, в основном туманят мозги. 
avatar
  
avatar
__rtx, SMA считается тоже тривиально. 
Нужно взять новый отсчет, вычесть из него уходящий, разделить на число компонент SMA и прибавить к старому значению скользяшки. 
Суммировать каждый раз все в окне, как обычно пишут в прогах для трейдеров, не обязательно. 
avatar
  
avatar
SergeyJu, 
а потом в реале один раз ошибка и вы тащите эту ошибку всю оставшуюся жизнь. надо периодически пересчитывать «традиционно», но это уже нюансы, из которых, собственно и складывается или НЕ складывается алготрейдинг.
Дмитрий Овчинников, я не использую SMA. А ЕМА при любой ошибке сходится куда надо. Да и ошибок такого рода я что-то у себя не помню. В любом случае какой-то контроль все равно приходится вести. 
Как-то обнаружилась неправильная обработка дивов. Но это, считай,  мелочь. Вот то, что работающая система перестала работать (постоянно или временно, Бог весть) уже может быть реальной неприятностью. Так что диверсификация, вот что написано за знамени нашей дружины.   
avatar
SergeyJu, 
я до сих пор не могу понять что значит «перестала работать», это какая-то бинарная логика. В моей диверсификации система получает меньше денег при плохой работе и это процесс длительный. Конечно, если денег на систему по параметрам выделеяется настолько мало, что мне уже кажется нет смысла ее процессить, тогда принудительно аллокация становится нулевой, и то, какое-то время я еще буду следить за теоретической эквити.
Дмитрий Овчинников, у меня жестче, вырубаю. Но не навсегда. Оставляю на холостом ходу, может и снова включиться в торговлю. 
avatar
  
avatar
__rtx,
спасибо, вы интересный собеседник, наверное единственный из нового поколения или не нового, но не вхожего прежде в местную тусовку. пишите, с удовольствием читаем! ;)
  
avatar
__rtx,
Все говорят про стопы/профиты и т.п.(для трейдерской среды это как бы база) но в хфт(и не только) это может вообще никак не использоваться(например 5000 сделок в день и какая мне разница в + я или в -, само значение стоп/профит в течении дня будет пи%де# каким разным что его невозможно даже поставить и когда кому-то в стакане будет больно и сигналы алгоритму об этом скажут то никакой стоп/профит не будет иметь значения будут просто улетать ордера в нужную сторону).


В моем албанском hft © именно диверсификация и решает. То есть на одном инструменте можно достаточно сильно уехать в просадку, но в обшей системе это не имеет значения. Но, в любом случае, на нашем рынке это вопрос малых денег. Как ни диверсифицируй, больше, чем 6/7-значную цифру рублей туда не засунуть :(
Дмитрий Овчинников, в акции можно относительно легко засунуть несколько миллиардов. Результат будет не слишком шикарным, но процентов 20 в год в среднем будет. С просадками раза в два меньше, чем у индекса. Для ПИФа результат выдающийся, для алго на фьючах, конечно, грустно.
avatar
SergeyJu,
в акции можно относительно легко засунуть несколько миллиардов.

Здесь речь идет о системах с высоким количеством сделок и мелкой средней сделкой. В акции такие системы не засовываются, комиссия выедает всю прибыль.
Дмитрий Овчинников, здесь и про ХФТ идет речь и про не хфт, хотя разница огромная.   Почему бы и более медленные систем не вспомнить. Даже если это Вас сейчас не интересует, может стать интересным впоследствии. 
avatar
SergeyJu,
медленные конечно интересуют и использую по полной программе. вот только рынок в этом году не дает заработать.
Дмитрий Овчинников, индекс полной доходности с конца декабря = -6%.
Первая десятка ПИФ дает плюс. Ну, Аленка с +28% уникальна, но и среди остальных не все результаты случайны. 
Если взять пятилетний период, 2 фонда получили среднегодовую больше 20% и еще 2 ПИФ где-то рядом. 
Но мы же не скованы жесткими ограничениями, можем хеджироваться фьючерсом, можем сокращать позицию в акциях хоть до 0. Тут есть неплохая альфа. 
avatar
SergeyJu,
грустная правда жизни в том, что ноль по этому году будет где-то в районе плюс 20%, а все, что ниже минус. Поэтому приходится бежать ещё быстрее…
Дмитрий Овчинников, почему 20 это плохо? 
Инфляция 9-10, до этого было два хороших года, по мне, мало кто вообще плюсом закроется в этом году, кроме депозитчиков и любителей коротких облигаций. 
avatar
__rtx, я тоже не использую ни стопы ни профиты, хотя у меня сделок в день (в расчете на одну систему) буквально единицы. Может быть и несколько десятков, а может быть и ни одной. 
Вообще, тема стопов и профитов раздута теми, кто торгует руками с частотой, позволяющей концентрироваться на одной сделке. Большинство из них без стопов весьма быстро вывалились бы в ноль. А так могут мучиться долго. И вот им кажется, что синяя птица прямо под рукой. 
avatar
  
avatar
__rtx, 
кстати плавная линия эквити обязана inventory risk'у + большому кол-ву трейдов
я об этом пытался намекнуть коллеге @bascomo здесь:
https://smart-lab.ru/blog/1070354.php#comment17389078
  
avatar
SergeyJu,
это все потому, что у вас в продакшне все системе с одинаковым коэффициентом, у вас и вариантов нет никаких, или +1 или 0.
Дмитрий Овчинников, сейчас у меня развесовка по сортино, просто вариант с равным весом не намного хуже, но куда проще. И как раз еще кучу вариантов изучаю. Писал же, что много времени на эту работу трачу.
avatar
  
avatar
Beach Bunny, поскольку массивы у нас имеют длину тысячи, что 10, что 27 — без разницы. Если брать простое среднее и экспоненциальное с одинаковой средней задержкой, вес последних значений у экспоненциальной будет больше. На самом деле разница между ними не велика. Существует огромное количество всяких «оптимальных» в каком-нибудь смысле фильтров, но на практике на ценовых рядах преимущества их не увидел. С адаптивными скользяшками тоже принципиально лучших результатов не получается. Будь иначе, их бы в любую книжку бы не пихали. 
Системы с минимальной задержкой и даже с предсказанием вперед я на модельной задаче легко нарисую. Но, увы, у нас не модельная задача.  Так что топором, лопатой, тачкой. А не карьерным экскаватором. Увы.
avatar
  
avatar
__rtx, сам посчитай за 5мин в питоне и увидишь с каких значений начинается стабилизация индикатора EMA и какой у него lookback период.
Зачем объяснять элементарные вещи или в инете почитай там тоже про это много написано.
avatar
  
avatar
SergeyJu, 
Кстати, длинные периоды просадок обычно неизбежная плата

Не обязательно.
А нетупой подход заключается в диверсификации по активам и системам.
Только частично, есть другие варианты.
avatar
  
avatar
__rtx, Я ничё не продаю, поэтому мне это особо не нужно — все объяснять.
Но если взять к примеру мой пост — smart-lab.ru/blog/1069844.php
то ориентировочно это может торговать до 1-3млн — там тренд берется по кусочкам и стопы используются.
А если взять систему Евгения Ни — то до 2022 года вполне можно было торговать и 20млн.

Если у вас так много готовых копеечных систем которые могут торговать суммы только до 1млн но с доходностью 30%, так опишите их здесь на смарт-лабе, вам же они как я понимаю даром не нужны. Так запилите серию постов.

А потом и разговаривать можно,
а так «Нет тренировки, не вижу морковки!»
avatar
  
avatar
__rtx, я торговал свои модификацию того что «Евгения Ни» на 2млн на Si с плечом до 4го. Проблем не было и 2022 в момент начала СВО получил хороший дополнительный плюс. Андерстанд?
avatar
  
avatar
__rtx, ты тупой?
Я тебе написал, что торговал Si имея на счете 2млн и задействовал до 4плеча.
avatar
  
avatar
__rtx, понятно, значит так альтернативно одаренный:
Я писал smart-lab.ru/blog/1072328.php#comment17408680



Научись внимательно читать, для особо непонятливых, написано что «Не обязательно иметь длинные периоды просадок»
avatar
  
avatar
Head of Algonaft'$, в ынтернете есть все.

avatar
Для начала проще взять что то готовое, уже есть куча фреймворков и библиотек. Если что то получится и станут понятны очевидные блокеры в развитии решения, можно параллельно начать разрабатывать свою вундервафлю.
avatar
Привет! Почему так настроены к нам? :( Если замечаете неполадки с интернетом, расскажите, пожалуйста, об этом в личных сообщениях VK (vk.me/yota) или в чате на сайте (yota.ru/support), уточнив номер счета и адрес. Все проверим и поищем решение!
avatar
YotaRussia, 

Вот тебе, бот, три заявки за последние три дня. Иди, грызи

14.10 — 1199611595
15.10 — 1200066665
17.10 — 1200993850

avatar
Удаленный выделенный сервер — и не надо заморачиваться со связью, каждодневными запусками квиков, скриптов, роботов и т.д. 
Самая большая проблема — рабочий стабильно зарабатывающий алгоритм.

   Yota — нормальный провайдер, надо просто использовать нормальный промышленный роутер, а не бытовые погремушки.
avatar
Anest, У этого нормального провайдера на протяжении 6 лет одни сервисные работы в районе м. Водный стадион. И дело не в модеме или роутере, а в том, что Мегафон им по остаточному принципу каналы раздает. Так что защищать их не надо. Народный рейтинг у них чуть выше 1*
avatar
Я щщитаю, сей творческий человек должен продолжить свои мысли.

Алготрейдинг: Развитие, Финал. Придумать более креативные названия.
avatar
 Статья в стиле — "
Папа у Васи силен в математике,
учится папа за Васю весь год,
Где это видано где это слыхано
папа решает а Вася сдает!"

— ниачём.
avatar
загоняем хомяков на биржу))). без рабочей ТС нет алго. без опыта трейдинга нет ТС. по поводу всяких систем в интернете - полная лажа. нет там рабочих систем, вообще не надо питать иллюзии. очень опасно вводить людей в блуд при этом самому заблуждаться.
avatar
PrAct, 
по поводу всяких систем в интернете — полная лажа. нет там рабочих систем,
Есть, одна. Но понять и освоить её требуется много времени. А вот после освоения можно уже за несколько часов на том же фунт-доллар сказать на каком уровне и когда по времени он развернется внутри дня. Погрешность +-6-10 пунктов.  Иногда вообще без погрешностей.
avatar
последнее, что требуется в алго — так это программирование. А время действительно уходит, но на рисерчи. Начинать можно с классики вот например https://www.researchgate.net/publication/24086205_High_Frequency_Trading_in_a_Limit_Order_Book

или вот

https://www.amazon.com/Portfolio-Selection-Efficient-Diversification-Investments/dp/1557861080

на худой конец хотя бы отсюда стоить начать https://ocw.mit.edu/courses/18-05-introduction-to-probability-and-statistics-spring-2022/mit18_05_s22_probability.pdf

или отсюда https://www.amazon.com/Applied-Dynamic-Programming-Princeton-Library/dp/0691079137


здесь можно подсмотреть за тем у кого получилось https://www.economics.uci.edu/files/kassouf/pdfs/beatthemarket.pdf







avatar
черепашонка,

Литература — это прекрасно и источников ее в инете море, и читать можно ее долго...
«
Читать и восхищаться,
Вздыхать и ковыряться,
Уставши — обессилить,
В Бозе коньки откинуть
»
avatar
На алго можно сделать расчет участия в сделке, стоп лосс и защиту прибыли .
Сигнал может быть тупым, как у черепашек — лонг выше хаевой  средней (20) для тайма день и (10 ) для тайма неделя .
Правильный сигнал — свеча приседающий или приседающий угол. Это трудно алгоритмировать.
avatar
Пункт 6 — гарантированно потерять деньги.
avatar

теги блога myaucha

....все тэги



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