После того как ко мне пришло небольшое понимание того, как минимизировать финансовые убытки, я начал заимствовать немного кода с Kaggle Learn. С помощью чего попытаюсь в этой статье показать, как определить на какие позиции лучше не лезть, пока вы еще плохо понимаете рынок.

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

Предыстория:

Торговле на бирже я заинтересовался узнав про форекс, первичное изучение технического анализа дало понять как устроена кухня и я забросил торги до начала игр в Eve Online. В этой ММО по странному стечению обстоятельств я больше всего занимался торговлей. Потом когда Ева мне наскучила открыл брокерский счет на 10 тысяч рублей.

  1. В первую итерацию выиграл на акциях 3.6% годовых при среднем проценте по вкладу в банках 8%.

  2. В во вторую итерацию видя печаль с выплатами дивидендов, решил перейти на рынок облигаций, перед тем как понять что такое дюрация потерял около 4% брокерского счета, вложившись не в тот момент, не в те облигации … сильно переоценив тенденцию к восстановлению экономики РФ.

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

Скрининг рынка Облигаций Федерального Займа:

Итак, чтобы выйти из среднего минуса по брокерскому счету, нанесенному несвоевременным вложением большей части средств, которых не жалко потерять … в попытках отыграться, в облигации ОФЗ с дюрацией по 2038 год … в первую очередь мне потребовалось изучить максимально возможное число облигаций за приемлемое время.

Изучение с помощью таблицы:

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

Диверсификация лучше должна быть взвешенной диверсификацией, а это означает, что закупать среднячков для хранения пока не имеет смысла, так как накопленный купонный доход будет немного меньше падения стоимости самих облигаций. От закупленных в надеждах на восстановление экономики 243 лучше потихоньку избавляться в пользу 234. Ну и потихоньку надо поискать еще пару тройку позиций для открытия, раз уж с ОФЗ все так грустно.

Изучение с помощью графиков:

Облигации также отсортированы, от наиболее прибыльной к наиболее убыточным, немного присмотревшись к графикам, возникает вопрос - если вдруг дно 243 будет скоро достигнуто, не проще ли их продажи совместить с небольшими спекуляциями, не столько ради дальнейших убытков от перепродаж на падающих курсах, сколько для практики в ощущении рынка.

Исследование гистограмм:

В течении года 207 неплохо торговались до 88, потом случился обвал до 86 потом слабые торги на фоне снижения до 84 … 219, 226 аналогично с небольшим смещением по стоимости

234 в течении года единичный рост до 90, единичное падение до 88 и отличные торги между 88 и 90

243 отлично торговались до 85, потом выраженое падение с 85 до 80, слабые и опасные торги с 80 до 76, падение 76 - 74, очень слабые и опасные торги 74-68

В течении 2х последних месяцев: 226 умеренное падение с 88 до 87, хорошие торги на 86.5 незначительно падение на 86, хорошие торги на 85

234 хорошие торги в боковом флете на 89+89.7, разовый скачок до 90

243 падение на 74-71, удовлетворительные и несколько опасные торги на 70-68

Если подытожить - картинка последних 2х месяцев на рынке облигаций выглядит несколько оптимистичнее, чем за последний год

Изучение с помощью диаграмм рассеяния:

Диаграммы рассеяния помогают оценить обстановку на рынке после последнего разворота тренда. Фазы плато или дна, если не ошибаюсь, которые иногда на свечах отмечаются фигурой голова-плечи.

234: 87.6-88.1 рост после 2х циклов колебаний, а дальше очень хорошие торги с 88 до 90

226: удовлетворительные торги до 88.8 на фоне небольшого падения, на протяжении 10 дней падение до 86.7, дальше 14 дней торгов в районе 86.5, далее падение на полпроцента за 2-3 дня, далее 24 дня торгов на уровне 85.7 - 84.8

Торговля выглядит немного рискованно на 38 дней торгов с небольшим снижением, приходится 16 дней падения на 2.5%

243: удовлетворительные торги на фоне небольшого падения с 88 до 84.5, далее падение  до 79.5, далее плохие торги  с падением до 76.5, падение до 73.2, далее очень плохие торги

Дополнительное изучение разрывов таблицей:

243 демонстрирует отличную торговлю, на фоне минимального снижения цен

207 демонстрируют отличную торговлю на фоне чуть большего снижения цен чем минимальное до середины мая 2024, затем крайне стремительное падение по 24 мая, потом довольно рискованные торги на фоне выраженного снижения цен.

243 демонстрируют немного опасную торговлю на фоне умеренного снижения цен по середину февраля, потом умеренное падение по март весьма сомнительное до торгов, чуть меньшее падение по май сомнительное для торгов, стремительное падение в мае,  умеренное падение с конца мая сомнительное для торгов

Итоги и выводы:

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

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

  • Облигации с дюрацией по 2038 год, в случае их держания приносят убытков своим падением намного больше, чем прибыли от их Накопленного Купонного Дохода.

  • Начав переброску средств из 243 в 234 я отыграл примерно полпроцента убытков нанесенных мне длительным держанием 243.

  • При низком уровне кодинга голый питон не принесет никакого понимания в изучение исторических данных.

  • После подключения pandas появилась табличка, которая помогла качественно сделать выбор новой позиции.

  • После изучения seaborn и matplotlib я смог детализировать свои ошибки количественно

  • В качестве подготовки перед написанием сигнального бота будет полезно изучить историческую ситуацию на рынке с помощью питона и Data Science библиотек

Комментарии (10)


  1. lrrr11
    26.07.2024 03:54
    +1

    Облигации с дюрацией по 2038 год, в случае их держания приносят убытков своим падением намного больше, чем прибыли от их Накопленного Купонного Дохода

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

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


    1. marimero Автор
      26.07.2024 03:54

      Ну я как бы с 243 спекуляциями и не занимался - просто взял их и держал, поначалу не понимая откуда такие убытки...

      Когда я их брал рынок не выглядел падающим, поговаривали что ключевая ставка может немного снизиться.

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


    1. marimero Автор
      26.07.2024 03:54

      Тут ведь большой вопрос для чего вам занятие инвестициями.

      Лично у меня объем накоплений таков, что я серьезно сомневаюсь, что в обозримом будущем, прибыль от инвестиций превысит 1% от моей зарплаты.

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

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

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


  1. mrprogre
    26.07.2024 03:54
    +1

    Оцени моего бота новостного Avandy News. Добавишь слово для мониторинга и как только заголовок с ним появится - получишь сообщение. Как раз для трейдеров и делал изначально.


  1. mrprogre
    26.07.2024 03:54

    Вот ещё скажу. Работа проделана мощная и видно, что много целей и есть интерес. Безусловно всегда есть закономерности и ты их ищешь, это круто! Почему я своего новостного бота посоветовал, потому что в случае акций, к примеру, новости бешено влияют на их курсы и когда ты раньше всех получаешь весточку, то можешь принимать быстрые решения (не факт что правильные, но тем не менее).
    К чему я.. попробуй на новостных базах тоже анализировать как, что и на что влияло.. к примеру по слову дивиденды. Вот тебе новости за пару лет по дивидендам в csv (понятно, что что-то мог пропустить, но основное есть):

    https://cloud.mail.ru/public/tKhj/cqjEVrgEF


    1. marimero Автор
      26.07.2024 03:54

      Витая в облаках, задумался о NLP в плане прогнозов на стоимость облигаций - но пока это выглядит слишком круто для меня, пока в планах только потестить RegressionTree - фундаментальный анализ рынка но основе новостей для меня пока выглядит слишком сложно


  1. MordorianGuy
    26.07.2024 03:54

    Было бы интересно почитать про API Мосбиржи или откуда автор брал данные. У них есть pdf в качестве документации на 7 страниц, явно не отвечающий на все вопросы. Например, был бы благодарен автору или тем, кто имел с этим API опыт, как получить в один запрос не просто список облигаций, а их актуальную цену закрытия (на вчера хотя бы) и текущую амортизацию.


    1. marimero Автор
      26.07.2024 03:54

      Если у вас трудности с апи, то простейший способ экспортировать данные: зайти в квик, открыть график нужной позиции правая кнопка мыши по столбцу: сохранить в файл


    1. marimero Автор
      26.07.2024 03:54

      как вариант примеры апи можно почитать в chat GPT 4.0 - он сейчас намного толковее пишет, чем те примеры которые написаны на сайте мосбиржи


    1. marimero Автор
      26.07.2024 03:54

      Насчет амортизации не знаю, но вот цены закрытия теоретически можно получить через:

      https://iss.moex.com/iss/engines/stock/markets/bonds/securities/SU26212RMFS9/candles.json?interval=24&from=20221101

      надо только после секуритис идентификатор облигации вставить, насчет текушего дня не знаю, но вот за предыдущий день точно безо всякой авторизации данные выдает