Сообщество - Лига биржевой торговли

Лига биржевой торговли

4 623 поста 8 287 подписчиков

Популярные теги в сообществе:

Kaкиe poccийcкиe aкции MOЖHO пoкупaть?

Ceгoдня мы пoгoвopим c Teмнeйшим o глaвнoм oтличии poccийcкиx aкций oт aмepикaнcкиx и o тoм, кaкиe poccийcкиe aкции мoжнo пoкупaть.

Kaкиe poccийcкиe aкции MOЖHO пoкупaть?

- Kaкoe глaвнoe oтличиe poccийcкиx aкций oт aмepикaнcкиx?
- Глaвнoe oтличиe - этo дoля чинoвникoв (дeйcтвующиx пoд бpeндoм "Гocудapcтвo") в кaпитaлe эмитeнтoв. Cpaвнитe, вec тaкиx эмитeнтoв в индeкce IMOEX c вecoм тaкиx эмитeнтoв в индeкce S&P500. Эти вeca нужнo публикoвaть вмecтe c индeкcaми, чтoбы инвecтopы увидeли чудoвищнoe oтличиe oдниx aкций oт дpугиx.

- A кaкaя paзницa, ктo кoнтpoлиpуeт эмитeнтoв?
- Ecли вы 5-лeтний peбeнoк, тo paзницы нeт. Ho ecли вы взpocлый чeлoвeк, тo дoлжны пoнимaть, чтo живeтe в миpe людeй, гдe вce пpoиcxoдит пo чьeй-тo вoлe. Cpaвнитe мoтивaцию и пocтупки нaeмнoгo чинoвникa, кoнтpoлиpующeгo кoмпaнию, c мoтивaциeй и пocтупкaми чacтнoгo влaдeльцa кoмпaнии. Paзницa - пpoпacть.

- Kaк вeдут ceбя чинoвники в кoнтpoлиpуeмыx кoмпaнияx?
- Чинoвник - чeлoвeк вpeмeнный. Paбoтaeт пo нaйму. Пoдчиняeтcя нaчaльcтву. Eгo глaвный мoтив - укpeплeниe личнoй влacти и pocт личнoгo дoxoдa (в видe зapплaты, пpeмий, пeнcий, льгoт, кoppупциoнныx cxeм, выплaт, нaчиcлeний, нaдбaвoк и т.д.). Ha кaпитaлизaцию кoнтpoлиpуeмoй кoмпaнии eму плeвaть. Eгo влacть и дoxoд нe cвязaны c цeнoй aкций кoмпaнии.

- Kaк вeдут ceбя чacтныe влaдeльцы кoмпaний?
Чacтный влaдeлeц - чeлoвeк пocтoянный. Paбoтaeт нa ceбя. Пoдчиняeтcя cвoим инcтинктaм и пpинципaм. Eгo глaвный мoтив - pocт кaпитaлизaции кoмпaнии. Eгo дeйcтвия нaпpaвлeны нa pocт цeны aкций кoмпaнии.

- Пoлучaeтcя, чтo инвecтopaм c чинoвникaми нe пo пути?
- Ecли экoнoмичecкиe или пoлитичecкиe интepecы чинoвникoв coвпaдaют c интepecaми инвecтopoв, тo aкции тaкиx эмитeнтoв мoгут pacти. Haпpимep, чинoвники мoгут opгaнизoвaть пoглoщeниe или cлияниe, кoтopoe пpивeдeт к pocту aкций кoнтpoлиpуeмoгo эмитeнтa. Или мoгут cнизить/oтмeнить нaлoги/пoшлины для нeгo. Ho в цeлoм, нe лoгичнo пoкупaть aкции эмитeнтa, ocнoвнoй влaдeлeц кoтopoгo нe зaинтepecoвaн в pocтe иx cтoимocти.

- A кaкиe poccийcкиe aкции цeлecooбpaзнo пoкупaть?
- Bыбиpaйтe эмитeнтa, ocнoвнoй влaдeлeц кoтopoгo имeeт cpeдcтвa, мoтив и вoзмoжнocть для pocтa кaпитaлизaции cвoeгo бизнeca. Иcxoдитe из paзумнoгo пpeдпoлoжeния, чтo oн пpимeнит имeющиecя в eгo pacпopяжeнии pecуpcы, чтoбы cдeлaть ceбя бoгaчe. И вac зa oднo.

- Чтo тaкoe cpeдcтвa для pocтa кaпитaлизaции?
- Этo мaтepиaльныe, чeлoвeчecкиe и дeнeжныe pecуpcы, кoтopыми мoжeт pacпopяжaтьcя ocнoвнoй влaдeлeц кoмпaнии для дocтижeния cвoиx цeлeй.

- Чтo тaкoe мoтив для pocтa кaпитaлизaции?
- Kaпитaлизaция кoмпaнии нe pacтeт caмa пo ceбe, кaк дepeвo или гpиб. Для этoгo тpeбуeтcя чья-тo вoля и энepгия, пpoявлeниe кoтopыx являeтcя cлeдcтвиeм мoтивa - жeлaния и/или пoтpeбнocти живoгo чeлoвeкa. Heт мoтивa - нeт pocтa. Ecть мoтив - ecть pocт. Taк paбoтaeт миp людeй.

- Чтo тaкoe вoзмoжнocти для pocтa кaпитaлизaции?
- Этo кoмбинaция внутpeнниx и внeшниx уcлoвий cpeды, cпocoбcтвующaя coвepшeнию дeйcтвий, нaпpaвлeнныx нa pocт кaпитaлизaции. Haпpимep, вoзмoжнocть мeждунapoднoй экcпaнcии. Или вoзмoжнocть пoглoщeния/уничтoжeния кpупнeйшeгo кoнкуpeнтa. Или вoзмoжнocть пoвышeния пpoизвoдитeльнocти тpудa зa cчeт пpимeнeния нoвыx тexнoлoгий.

- A кaк жe фундaмeнтaльный aнaлиз (ФA)?
- ФA пpигoдитcя пocлe тoгo, кaк инвecтop cocтaвит cпиcoк эмитeнтoв c пoдxoдящими влaдeльцaми. Cнaчaлa oцeнивaeм кaчecтвo и вoзмoжнocти людeй, a пoтoм oцeнивaeм тo, чтo oни твopят. He нaoбopoт.

- Kaк нaйти эмитeнтoв, влaдeльцы кoтopыx имeют cpeдcтвa, мoтив и вoзмoжнocти для pocтa кaпитaлизaции?
- Cнaчaлa выбиpaeм кoмпaнии c дocтaтoчнo бoльшoй кaпитaлизaциeй. Убиpaeм кoмпaнии, кoнтpoлиpуeмыe чинoвникaми. Пoтoм бeжим пo cпиcку и oцeнивaeм пoтeнциaл кaждoй кoмпaнии для pocтa кaпитaлизaции в oбoзpимoм будущeм. Пoтoм изучaeм дeйcтвия влaдeльцeв выбpaнныx кoмпaний зa пocлeдниe тpи гoдa - кaк oни pacпopяжaлиcь имeющимиcя у ниx cpeдcтвaми и к чeму этo пpивeлo. Пocлe этoгo coбиpaeм и aнaлизиpуeм нoвocти вoкpуг этиx пepcoн. B peзультaтe, ocтaнутcя нaибoлee пepcпeктивныe aкции, кoтopыe нужнo будeт будeт пpoгнaть чepeз ФA. Boзмoжнo, чepeз этoт фильтp пpoйдeт тaк мaлo aкций, чтo cтaнeт гpуcтнo. Ho у нac и pынoк кpoxoтный. Bce зaкoнoмepнo.

- Ho этo жe oгpoмнaя paбoтa!
- Зa этo инвecтop и пoлучaeт дeньги.

Koммeнтapии пpивeтcтвуютcя.

-------------------------------------

Пишу правду в цифрах. Инвестирую в активы, растущие в золоте.

Показать полностью
1

Как получать выплаты каждый месяц?

Как получать выплаты каждый месяц?

Получать выплаты каждый месяц вполне реально.

Твои деньги работают, а ты отдыхаешь. Вполне реальная картина мира, нужно лишь, грамотно подойти к выбору инструментов.

Подобрал для Вас шесть ОФЗ, которые аккурат выплачивают купоны по два раза в год.

✅️ ОФЗ 26233 $SU26233RMFS5

Доходность к погашению 16,8%

Выплаты: январь и июль

✅️ ОФЗ 26240 $SU26240RMFS0

Доходность к погашению 17,3%

Выплаты: февраль и август

✅️ ОФЗ 26244 $SU26244RMFS2

Доходность к погашению 17,7%

Выплаты: март и сентябрь

✅️ ОФЗ 26230 $SU26230RMFS1

Доходность к погашению 17,1%

Выплаты: апрель и октябрь

✅️ ОФЗ 26241 $SU26241RMFS8

Доходность к погашению 18,5%

Выплаты: май и ноябрь

✅️ ОФЗ 26243 $SU26243RMFS4

Доходность к погашению 17,5%

Выплаты: июнь и декабрь

Данный вид активов, не про заработать иксы. Это больше про сохранить свой депозит от излишней волатильности.

В период снижения ключевой ставки на дальних ОФЗ можно хорошо заработать за счет роста тела. От номинала многие облигации торгуются с дисконтом в 50%

Переходи в мой профиль и подписывайся на блог, чтобы не пропустить следующие посты

Наш телеграм канал

'Не является инвестиционной рекомендацией

Показать полностью 1
1

Непопулярные графические паттерны

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

🔹Собака Баскервилей

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

Свое название паттерн унаследовал из повести о Шерлоке Холмсе «Собака Баскервилей». Животное было намазано убийцей специальным раствором, который светится в темноте, из-за чего собака воспринималась как мистическое существо (не то, чем являлось).

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

🔹Дракон

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

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

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

🔹Гармонические паттерны

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

Одна из простейших гармонических моделей — ABCD (AB=CD). Цена начинает рост из точки A, затем достигает локальной вершины B и разворачивается вниз к точке C, далее растет до нового максимума D. На первый взгляд, это просто часть растущего тренда с промежуточной коррекцией вниз. Но есть ключевое условие — расположение точек C и D должно подчиняться соотношениям Фибоначчи. Необходимо, чтобы точка C находилась в диапазоне между 61,8 и 78,6%-ым уровнями Фибоначчи (в качестве базы 0–100% берется отрезок BA), а точка D — между 127,2 или 161,8%-ым уровнем по отрезку CB.

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

Показать полностью
1

Мосбиржа на поддержке

Доброе утро, коллеги.

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

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

Дополнительным драйвером для подпитки фондового рынка на этой неделе может выступать нефть, ОПЕК+ продлевает до конца декабря добровольные сокращения добычи нефти на 2,2 млн. б/с, а также выборы президента США. Победа Трампа может снизить геополитическую напряженность в мире. По результатам выборов 2020 года, с президентом де-факто определились через четыре дня.

Всем успешных торгов.

График дневные свечи

График дневные свечи

Показать полностью 1
7

Сбер . Дешевле капитала


Вышел отчет у Сбера за 9 месяцев 2024. Коротко пройдемся по основным моментам отчета у главного банка страны + выскажу свое субъективное мнение о том, почему я готов начать делать покупки Сбера к себе в портфель.

📌 Что в отчете?

Тут будут сухие цифры:

Чистые процентные доходы.  Выросли на 19% до 2 175 млрд (1 кв. 2024 = 700 млрд., за 2 кв. 2024 = 713 млрд., )

Чистые комиссионые доходы. Выросли на 10% до 612 млрд (1 кв. 2024 = 184 млрд, 2 кв. 2024 = 210 млрд, 3 кв. 218 = млрд)

Чистая прибыль. Выросла на 7% до 1 227  млрд (1 кв. 2024 = 397,4 млрд., за 2 кв. 2024 = 418,7 млрд, 3 кв. 411 = млрд). Третий квартал показал нулевую динамику год к году по двум причинам: пересчет налоговых обязательства из-за роста ставки на прибыль с 20 до 25%, а также сильным ростом резервов до 125 млрд в 3 квартале (за весь год 277 млрд).

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

📌 Текущая ситуация

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

Толпу обули. Акции Сбера были и есть почти у каждого в портфеле. Если посмотреть на народный портфель, то на акции Сбера приходится более 40%! В итоге куда-то сдулось большинство фанатов акции, а некоторые безумцы покупали полгода назад Сбер по 320+ ради дивидендов в 30 рублей. Почему сейчас не покупаете по 240 при потенциальном дивиденде в 40 рублей? Странные люди, хотя сейчас наоборот начинается время покупок...

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

1) Сжатие чистого процентного дохода, так как стоимость привления депозитов растет, а кредиты все труднее выдавать по текущим ставкам

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

3) Резервы могут сильно подскочить, так как еще не было банкротств (некоторым даже крепким бизнесам с кредитами будет тяжело), но мы уже видим как Сбер сильно нарастил резервирование, что дает нулевый результат год к году.

📌 Почему сейчас хорошая цена 🧐

По Сберу есть отличный индикатор: это соотношение капитализации к собственному капиталу. При текущей капитализации в 5370 млрд Вы покупаете Cбер по P/BV >0.8, что отлично! Если посмотреть на горизонте 10 лет, то сильно дешевле по этому показателю Сбер стоил только в 2022 году.

Да, в моменте у банка может сильно просесть прибыль, но очень маловероятно, что капитал начнет испаряться, поэтому смотрю в первую очередь на P/BV, а не на P/E. Также важно понимать, что исторически компания эффективна (ROE в 25%) и способна приносить деньги акционерам в отличии от ВТБ 🏦

Могут ли акции уйти ближе к 200 рублям? Конечно, могут, поэтому надо аккуратно формировать позицию, так как тут падающий нож. Зачем ловить падающий нож? Во-первых, никто не знает где дно, а во-вторых, меня текущая цена почти устраивает!

Вывод: проблемы в экономике начинают набирать обороты, что видно из роста резервирования у Сбера, но акцию укатали уже на 30% ниже капитала! Считаю, что текущая цена - это хорошая возможность, которая редко выпадает, поэтому думаю о том, чтобы постепенно начать аккуратно формировать позицию в лучшей акции на нашем фондовом рынке.

Сбер . Дешевле капитала

Подпишись, мне будет приятно!

https://t.me/roman_paluch_invest

Показать полностью 1
5

Яндекс отчитался за III кв. 2024 г. — менеджмент вновь получил увесистое вознаграждение, раскрыли прибыль/убытки объединённого сегмента!

Российский Яндекс отчитался за III квартал и 9 месяцев 2024 г. Главное событие в жизни компании уже произошло — это продажа российского бизнеса нидерландской Yandex N.V. консорциуму частных инвесторов за 475₽ млрд (50% скидка). Но тем интереснее, фин. результаты эмитента, которые очищены от различных убыточных зарубежных направлений в бизнесе:

💬 Выручка: 9 м. 754,4₽ млрд (+37% г/г), III кв. 276,8₽ млрд (+36% г/г)

💬 Скорректированная EBITDA: 9 м. 139,9₽ млрд (+71% г/г), III кв. 54,7₽ млрд (+66% г/г)

💬 Скорректированная чистая прибыль: 9 м. 69,6₽ млрд (+98% г/г), III кв. 25,1₽ млрд (+118% г/г)

📱 Сегмент поиск и портал продолжает быть основным добытчиком прибыли для компании. Рентабельность скорр. показателя EBITDA за 9 м. 2024 г. снизилась до 49,9% (годом ранее — 51,9%), происходит это из-за роста расходов на персонал, а также инвестиций в развитие продуктов и технологий, включая генеративные нейросети.

📱 Ещё в I кв. появился новый объединённый сегмент: райдтех, электронная коммерция и доставка. Объединение произошло, чтобы скрыть убыточность электронной коммерции и доставки, моё предположение подтвердилось, потому что ранее Яндекс не раскрывал полноценно данный сегмент, а представлял общую EBITDу, но в данном кв. цифры пролились на свет. Направление райдтеха (такси, самокаты и каршеринг) тянет всех наверх — EBITDA: 9 м. 58₽ млрд (+72% г/г), а вот электронная коммерция (маркет, лавка и еда) — EBITDA: 9 м. -38,9₽ млрд и доставка убыточны уже на протяжении долго периода — EBITDA: 9 м. -3,4₽ млрд. Хотя стоит признать, что убытки снижаются по сравнению с 2023 г.

📱 Сегмент плюс и развлекательные сервисы уже 2 кв. подряд безубыточны, EBITDA: 9 м. 1,3₽ млрд (-51% г/г). Снижение по сравнению с 2023 г. связано с инвестициями в создание и продвижение контента, увеличением расходов на персонал и маркетинг, но III кв. провели ударно за счёт прироста на 40% подписчиков Яндекс Плюса — EBITDA: III кв. 1,5₽ млрд (+45% г/г).

📱 Сегмент сервисы и объявления в III кв. вышел в плюс — EBITDA: 9 м. -0,8₽ млрд, III кв. 0,6₽ млрд (+171% г/г), I и II кв. были убыточны из-за инвестиций в путешествия и недвижимость.

📱 Сегмент прочие бизнес юниты и инициативы убыточен — EBITDA: 9 м. 34,2₽ млрд, III кв. 10,8₽ млрд. Начиная с 2022 г. убыток в данном сегменте растёт двойными темпами (если раньше он был по ~3₽ млрд в кв., то сейчас +10₽ млрд), причём облако и станции Алисы навряд ли убыточны (учитывая конъюнктуру рынка, да и несколько лет назад Яндекс хвастался, что устройства Алисы вышли в безубыточность). Тот же финтех (Яндекс Банк) набирает обороты и клиентуру.

📱 Чистая прибыль носит отрицательный характер за 9 м. — -4,1₽ млрд, но убыток является бумажным и связан с вознаграждением менеджмента через распределение акций, поэтому скоррект. ЧП в +. Я всё же думал, что вознаграждения окончатся во II кв. (52,3₽ млрд), но в III кв. выписали ещё 17,7₽ млрд, как итог на вознаграждения сотрудникам за 9 м. потратили 73,2₽ млрд, на минуточку на дивиденды за I п. потратили 29,2₽ млрд (80₽ на акцию).

📱 OCF увеличился до 136,7₽ млрд (+73,2% г/г), CAPEX 79,8₽ млрд (+65,4% г/г, причём резкий скачок в III кв. 38₽ млрд, штаб-квартира в Москве стоит дорого),как итог FCF составил 48₽ млрд. То есть с уходом убыточного зарубежного бизнеса, у компании не хило так подрос денежный поток.

📌 Менеджмент прогнозирует, что скорр. EBITDA под конец года составит 170-175₽ млрд, но проблема в том, что большая часть уходит на вознаграждения и инвестиции (долг подрос со 140,8₽ млрд до 194₽ млрд, % расходы увеличились вдвое за год — 23,8₽ млрд), поэтому ожидать сверх дивидендов не стоит. Напрягает убыточность сегмента прочие бизнес юниты (он реально огромен, возможно, хитрый бухгалтерский ход) и будущая дополнительная эмиссия акций (20% за 4 года).

С уважением, Владислав Кофанов

Телеграмм-канал: t.me/svoiinvestor

Показать полностью 3
4

Казна Баффета полна как никогда

Berkshire Hathaway Баффета имеет $325 млрд свободного кэша. Оракул из Омахи распродавал акции в течение лета, и казна компании полна как никогда.

Что он мог бы на него купить?

Казна Баффета полна как никогда

Баффет также имеет достаточно денег, чтобы теоретически купить все команды НФЛ

заходите на тг канал https://t.me/TradPhronesis

5

Тестирование торгового робота на Московской бирже в режиме «песочницы»

Перед тем как использовать торгового робота на живых деньгах хочется всё протестировать на демо-счете (или «песочнице»). Это когда программные ошибки не имеет особой стоимости.

Операция продажи через OrdersService/PostOrder

Операция продажи через OrdersService/PostOrder

Я планирую использовать робота на Московской бирже, через АПИ одного из брокеров. Чтобы частному инвестору начать торговать на бирже нужен брокерский счет. Однако минимальное число российских брокеров имеют свои API (на текущий момент я знаю только ФИНАМ, Алор, Тинькофф Инвестиции). По субъективным причинам я выбрал работать с T‑Bank Invest API (это бывший Тинькофф) через среду выполнения JavaScript Node.JS.

В статье разбираюсь как используя песочницу:

  1. Открыть счёт.

  2. Пополнить баланс счёта рублями через специальный запрос.

  3. Посмотреть все свои открытые счета в песочнице.

  4. Купить 1 акцию.

  5. Продать 1 акцию.

  6. Получить все открытые позиции указанного счёта.

  7. Закрыть счёт.

SilverFir-TradingBot\src\sandbox.js

Этот код Node.js взаимодействует с API Tinkoff Invest, позволяя имитировать торговые операции на виртуальном счете, что позволяет протестировать некоторые функции API в ручном режиме. Вот что делает этот код:

1. Импорт модулей

  • secrets: импортирует ключи доступа и идентификаторы из внешнего файла конфигурации (secrets), что помогает защитить конфиденциальную информацию.

  • logger: импортирует модуль ведения журнала, который записывает журналы в файл или консоль. Это важно для отслеживания активности бота и отладки.

  • logFunctionName: импортирует утилиту для получения имен функций, что упрощает ведение журнала текущего контекста функции.

  • TinkoffClient: импортирует клиентский модуль для взаимодействия с API Tinkoff Invest. Этот клиент обрабатывает запросы к API.

2. Настройка клиента

  • API_TOKEN: получает токен API (в режиме песочницы) из внешнего файла конфигурации (secrets) для аутентификации.

  • tinkoffClient: создает экземпляр TinkoffClient с токеном песочницы, настраивая связь API для среды песочницы.

3. Функции песочницы

  • sandboxAccount(): это основная функция, демонстрирующая различные операции с учетной записью песочницы, с несколькими действиями, которые в настоящее время закомментированы.

  • logFunctionName(): регистрирует имя функции в консоли, что полезно для отслеживания в сложных приложениях.

  • GetSandboxAccounts: получает все открытые позиции указанного счёта.

Закомментированные операции:

  • OpenSandboxAccount: регистрирует новый счет в песочнице, что позволит начать тестирование заново.

  • SandboxPayIn: зачисляет средства на счет в песочнице в российских рублях (RUB). Здесь указанная сумма составляет 30 000 руб.

  • CloseSandboxAccount: закрывает указанный счет в песочнице, используя его accountId, что позволяет выполнить сброс после тестирования.

  • GetSandboxPositions: извлекает и регистрирует все открытые позиции для указанного идентификатора счета.

  • placeMarketOrder: отправляет рыночные ордера на покупку и продажу указанного инструмента (здесь BBG004730N88). Это позволит протестировать функциональность размещения ордеров в песочнице.

Ошибки

  • sandboxAccount().catch(logger.error): запускает sandboxAccount асинхронно и регистрирует любые обнаруженные ошибки.

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

Запрос SandboxService/GetSandboxAccounts

Запрос SandboxService/GetSandboxAccounts

// Импорт необходимых модулей
const secrets = require('../config/secrets'); // Ключи доступа и идентификаторы

const logger = require('./services/logService'); // Логирование в файл и консоль
const logFunctionName = require('./services/logFunctionName'); // Получение имени функции

const TinkoffClient = require('./grpc/tinkoffClient'); // модуль для взаимодействия с API Tinkoff Invest
const API_TOKEN = secrets.TbankSandboxMode;
const tinkoffClient = new TinkoffClient(API_TOKEN);


async function sandboxAccount() {
// https://tinkoff.github.io/investAPI/swagger-ui/#/SandboxServ...
logger.info(`Запуск функции ${JSON.stringify(logFunctionName())}\n`);

// // Регистрации счёта в песочнице
// const OpenSandboxAccount = await tinkoffClient.callApi('SandboxService/OpenSandboxAccount');
// logger.info(`Регистрации счёта в песочнице:\n ${JSON.stringify(OpenSandboxAccount, null, '\t')}\n\n`);

// // Пополнение баланса счёта песочницы
// const RUB = {
// "accountId": secrets.AccountID,
// "amount": {
// "nano": 0, // Дробная часть отсутствует
// "currency": "RUB",
// "units": 30000, // Сумма в рублях
// }
// };
// const SandboxPayIn = await tinkoffClient.callApi('SandboxService/SandboxPayIn', RUB);
// logger.info(`Пополнение баланса счёта песочницы:\n ${JSON.stringify(SandboxPayIn, null, '\t')}\n\n`);

// // Закрытие счёта в песочнице
// const accountId = {
// "accountId": secrets.AccountID
// };
// const CloseSandboxAccount = await tinkoffClient.callApi('SandboxService/CloseSandboxAccount', accountId);
// logger.info(`Закрытие счёта в песочнице:\n ${JSON.stringify(CloseSandboxAccount, null, '\t')}\n\n`);

// Посмотреть счета в песочнице
const GetSandboxAccounts = await tinkoffClient.callApi('SandboxService/GetSandboxAccounts');
logger.info(`Список счетов в песочнице:\n ${JSON.stringify(GetSandboxAccounts, null, '\t')}\n\n`);

// // Получить все открытые позиции указанного счёта
// const accountId = {
// "accountId": secrets.AccountID
// };
// const GetSandboxPositions = await tinkoffClient.callApi('OperationsService/GetPositions', accountId);
// logger.info(`Все открытые позиции счёта ${secrets.AccountID}:\n ${JSON.stringify(GetSandboxPositions, null, '\t')}\n\n`);

// // Функция для отправки рыночного ордера
// tinkoffClient.placeMarketOrder('BBG004730N88', 1, 'ORDER_DIRECTION_BUY'); // Купить 1 акцию
// tinkoffClient.placeMarketOrder('BBG004730N88', 1, 'ORDER_DIRECTION_SELL'); // Продать 1 акцию
}

// ======================================================================================
// ============ Запуск функций ===================================================
// ======================================================================================

sandboxAccount().catch(logger.error);

Быстройдействие

Я не ждал какого-то особо быстродействия. Для человека это очень быстро, но вот для робота это медленно. Это придётся учесть при разработке торговой стратегии.

[Running] node "d:\Synology ...\SilverFir-TradingBot_github\src\sandbox.js"
2024-11-01 14:11:57 [INFO]: Запуск функции "sandboxAccount"

2024-11-01 14:11:58 [WARN]: Операция продажи выполнена успешно для Сбер Банк (SBER) (BBG004730N88).
2024-11-01 14:11:58 [INFO]: Детали операции:
{
"orderId": "27a35903-2134-4aaf-XXXX-3b38bc38c5e5",
"executionReportStatus": "EXECUTION_REPORT_STATUS_FILL",
"lotsRequested": "1",
"lotsExecuted": "1",
"initialOrderPrice": {
"currency": "rub",
"units": "2358",
"nano": 100000000
},
"executedOrderPrice": {
"currency": "rub",
"units": "235",
"nano": 810000000
},
"totalOrderAmount": {
"currency": "rub",
"units": "2358",
"nano": 100000000
},
"initialCommission": {
"currency": "rub",
"units": "1",
"nano": 179050000
},
"executedCommission": {
"currency": "rub",
"units": "1",
"nano": 179050000
},
"figi": "BBG004730N88",
"direction": "ORDER_DIRECTION_SELL",
"initialSecurityPrice": {
"currency": "rub",
"units": "235",
"nano": 810000000
},
"orderType": "ORDER_TYPE_MARKET",
"message": "",
"initialOrderPricePt": {
"units": "0",
"nano": 0
},
"instrumentUid": "e6123145-9665-43e0-XXXX-cd61b8aa9b13",
"orderRequestId": "",
"responseMetadata": {
"trackingId": "d059748a138038d3XXXXX93783d61a99",
"serverTime": "2024-11-01T09:11:57.919185435Z"
}
}
2024-11-01 14:11:58 [INFO]: Идентификатор продажи: 27a35903-2134-4aaf-XXXX-3b38bc38c5e5.
2024-11-01 14:11:58 [INFO]: Общая стоимость сделки: 2358.1 руб.
2024-11-01 14:11:58 [INFO]: Цена за 1 шт. Сбер Банк (SBER): 235.81 руб.
2024-11-01 14:11:58 [INFO]: Комиссия за сделку: 1.17905 руб.

[Done] exited with code=0 in 1.146 seconds

Для торгового робота 1,146 секунды от отправки ордера до его исполнения можно считать довольно медленным временем.

В высокочастотной торговле (HFT), где компании конкурируют за время исполнения менее миллисекунды, время обработки ордера более одной секунды будет непозволительно долгим. Стратегии HFT основаны на выполнении тысяч сделок за доли секунды, поэтому 1,146 секунды сделают этого робота неконкурентоспособным.

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

Я планирую использовать свинг-трейдинг — это торговая стратегия, ориентированная на захват краткосрочных и среднесрочных ценовых движений, обычно удерживая активы в течение нескольких дней или нескольких недель. Цель — извлечь прибыль из «колебаний» цены, используя рыночный импульс, когда цены колеблются в рамках тренда или между уровнями поддержки и сопротивления.

Итоги

Проект полностью представлен на Гитхабе: https://github.com/empenoso/SilverFir-TradingBot.
Новые модули будут загружаться по мере написания и тестирования.

Автор: Михаил Шардин

5 ноября 2024 г.

Показать полностью 2
Отличная работа, все прочитано!