Комментарии пользователя Whalerman

Мои комментарии:в блогах в форуме
Ответы мне:в блогах в форуме
Все комментарии: к моим постам
wistopus, 

я имею в виду «стоп» как принудительный выход в зависимости от: предельного отклонения цены, % капитала, волатильности и т.п. То есть имеется в виду ситуация когда природа сигнала для выхода отличается от природы сигнала для входа. То есть я предполагаю существование трех сущностей: «сигнал входа», «сигнал выхода», «стоп». 

С уважением
avatar
  • 20 апреля 2024, 11:20
  • Еще
wistopus,

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

С уважением!
avatar
  • 20 апреля 2024, 10:53
  • Еще
wistopus, 

ну полностью равномерного не получается конечно, такое только на HFT возможно наверное или каких-нибудь сеточников с Шарпом > 3 до первого шухера )) 
Вообще трендовые системы по идее должны иметь толстый правый хвост и выбросы по годам вверх как раз это и отражают, а вот равномерная плотность убыточных как раз то что и требуется. Отсюда, возвращаясь к теме топика я бы смотрел на прибыльные и убыточные отдельно, а не как средняя, характер их распределения может быть абсолютно разный.

С уважением
avatar
  • 31 марта 2024, 11:14
  • Еще
wistopus, 

неее тут идея в длинном правом хвосте и коротком левом. А также более менее равномерной плотности распределения во времени. То есть чтобы система держала прибыль и резала убыток — по сути философия трендовой торговли.

С уважением
avatar
  • 31 марта 2024, 10:59
  • Еще
Интересно! Я вот тоже подобный анализ провожу, но смотрю это на этапе тестирования. Главное чтобы линия регрессии доходных сделок имела больший угол и была короче по сравнению с убыточными (но это для трендовых систем актуально). Вот так это выглядит, тут около 120 тыс сделок на 140 акциях.

avatar
  • 31 марта 2024, 10:24
  • Еще

bascomo,

прошу прощения только что увидел вопрос давно не заходил:
> тест на 952 бота;
> часовой таймфрейм с 01/01/2005 года, для нормализации я использую единый вектор времени с 07:00 утра до 0:00 (118 000 строк)
Отсюда несложно посчитать что типичная матрица с данными будет размером 952 * 118 000 (112,3 млн значений) и таких матриц много… )

по времени ориентировочно:
> выгрузка всех данных (отдельная процедура выполняется один раз) — около 30 минут (7 Гб данных в txt формате);
> подготовка данных к расчетам (у меня это отдельная процедура так как из данных на предыдущем шаге я тестирую различные портфели) — около 10 минут;
> расчет 1 цикла (= сценария) около до 1.5 минуты (на портфелях где бумаг меньше быстрее соответственно в разы);
> тестирование портфеля тут уже можно умножать время одного цикла на количество прогонок с учетом многоядерности (но тут я упираюсь в отношение количества ядер к оперативке которой надо много для таких расчетов, моих 64 Гб явно маловато).

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

С уважением!

avatar
  • 03 февраля 2024, 23:48
  • Еще
Байкал, 

Кальмар не меняется в зависимости от плеча портфеля (по крайней мере у себя на портфеле я такой анализ провожу и такой вывод делаю) и сохраняется на ± одном уровне. Меняется Шарп и Сортино, фактор восстановление и т.п.
Отсюда все верно, чтобы уменьшить просадку надо будет жертвовать доходностью, что кстати возможно будет и неплохо судя по «пилообразоному» характеру кривой доходности. Но оставим это на усмотрение автора.

С уважением!

 
avatar
  • 20 января 2024, 19:26
  • Еще
Не в защиту Кирилла Глухова но справедливости ради надо отметить, что CAGR / MDD (Кальмар) равный 4 это хороший показатель. А вот Кальмар равный 20 это уже из области фантазий или на коротком промежутке возможно только.

С уважением!
avatar
  • 20 января 2024, 18:58
  • Еще
bascomo, приветствую! 

Эта задачка не из простых. Нигде не видел нормальной реализации, максимум что бывает это корреляционная матрица скриптов в пуле, поэтому как всегда придется все писать самому. Надо объединять всю логику на уровне портфеля, полностью воспроизводить денежные потоки между скриптами, маржинальный кредит, дивиденды, комиссии, расчёт маржинального обеспечения на уровне брокера (чтобы система не набирала бесконечный кредит) и много ещё чего. Плюс весь расчёт надо выполнять в логике «по кассе» и «по начислению» для корректности.

Я делаю это следующим образом:
1) по каждому скрипту экспортирую матрицу с сигналами (вектор входа, вектор выхода, вектор в позиции) и индексный вектор с датами;
2) объединяю все данные (котировки, сигналы, дивиденды и тп) в матрицы (они очень объёмные для примера у меня на 1000 скриптов (столбцы) и строки это 18 лет на часовиках, одна матрица весит 3 Гб). На этом этапе добавляется весовая модель портфеля;
3) дальше по сути идут векторные операции с минимумом циклов (иначе простой обсчет одного витка будет идти сутки);
4) в конце когда вся логика будет готова можно уже проводить портфельную оптимизацию.

У меня это достаточно много кода (где-то 2 тыс строк или около того так как разбито на несколько файлов). И расчет на многоядерных вычислениях все равно занимает не мало времени и ресурсов требует много (но опять же у меня много ботов одновременно работает и тест за 18 лет на часовиках).

С уважением!
avatar
  • 24 декабря 2023, 16:32
  • Еще
В прдолжении я бы еще добавил что оценивать результаты необходимо не по точкам а окрестностям. А это в свою очередь позволяет работать с областью и изучать несколько характеристик (например среднюю, характер распределения, волатильность характеристик и т.п.).

С уважением!
avatar
  • 20 декабря 2023, 22:22
  • Еще
SergeyJu, не уверен что смогу просто обьяснить если вкратце но это уравнение типа a1w1 + a2w2 +… + a6w6 = целевое состояние (тут с вашего позволения не буду расписывать) где a — это параметры а w — веса и решая задачку оптимизации с ограничениями нахожу оптимальные w. Да в работе только акции с 2016 года… до этого были только фьючи.

С уважением! 
avatar
  • 20 декабря 2023, 22:14
  • Еще
Приветствую! 

Очень интересная тема. В эту же копилку напишу кратко свой путь решения подобной задачки. В работе больше около тысячи ботов одновременно (это на одном счете). Работа на 140 акциях в 7 стратегиях (на текущий момент и число постепенно растет). Оптимизация этого хозяйства дело очень хлопотное поэтому лет 7 назад написал свой алгоритм оптимизации на R с генетическим алгоритмом отбора. И как раз внутрь этого генетического алгоритма погружен многокритериальный механизм отбора.
Но я бы тут добавил важный на мой взгляд момент: для многокритериального отбора необходимо придать веса каждому фактору, а эти веса вытекают из модели. У меня в основе лежит многопараметрическая модель в рамках которой определяются веса каждого фактора, а сами факторы я рассчитываю как ранг через нормализованный ряд минимакс. Если отбирать все параметры через одну модель мы получаем ботов с однородными характеристиками, которые отвечают критериям исходной модели (глобальным характеристикам портфеля алгоритмов). Чета непонятно как-то написал… но мысль общая думаю ясна 

С уважением!
avatar
  • 20 декабря 2023, 21:32
  • Еще
wistopus, приветствую!

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

С уважением
avatar
  • 29 ноября 2023, 14:45
  • Еще
Доброго дня!

Стоп — не более чем подгонка кривой. Если система работает только при условии наличии стопа — с ней что-то не так. 

С уважением
avatar
  • 29 ноября 2023, 14:06
  • Еще
Мурен(а), странно у меня открывается, хотя когда пытаюсь открыть с смартлаб тоже выдает блок, а если напрямую открыть — дает открыть… можно вбить в гугл «iss moex» и выдаст сразу.
Как вариант можно еще качать (сам не качал но знаю что это работает и знаю людей которые качают именно так) через MT4 у брокера (ФИНАМ тотже). Но все это через API правда.

С уважением!
avatar
  • 23 ноября 2023, 12:48
  • Еще
Можно брать тут:
www.mfd.ru
www.moex.com/a2193

Если нужно качать в автоматическом режиме и нет времени или умения  писать свой парсер, для питона вот рабочий инструмент: wlm1ke.github.io/apimoex/build/html/index.html

С уважением!
avatar
  • 23 ноября 2023, 10:54
  • Еще
Выберите надежного брокера, чтобы начать зарабатывать на бирже:
....все тэги
UPDONW
Новый дизайн