Русский
Русский
English
Статистика
Реклама

Поиск замены депозита в облигациях с учетом того, что с 1 января 2021 года все выплаты облагаются налогами

Полгода назад, летом 2020 года я написал скрипт поиска ликвидных облигаций на Мосбирже. Скрипт нужен для поиска облигаций, которые можно купить прямо сейчас с доходностью гораздо выше банковского вклада. Проценты по вкладам так и остаются на очень низких уровнях, а тут ещё и изменения в налоговом кодексе РФ подоспели.

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

Работа скрипта по поиску облигаций в Visual Studio CodeРабота скрипта по поиску облигаций в Visual Studio Code

Изменения в работе скрипта

1. Убраны неактуальные данные о налоговых льготах.

В 2020 году и ранее в налоговом кодексе РФ действовал п. 25 ст. 217, в соответствии с которым от НДФЛ освобождались проценты по государственным и муниципальным облигациям РФ. В результате чего при получении на брокерский счет, например, процентов по государственным облигациям ОФЗ со стороны брокера не удерживался никакой налог.

Однако с 1 января 2021 г. этот пункт прекратил своё действие. Поэтому с процентов по всем облигациям будет удерживаться НДФЛ. Кроме того, будет удерживаться НДФЛ и с процентов по любым корпоративным облигациям.

Ведь в 2020 году и ранее при соблюдении ряда условий можно было избежать уплаты НДФЛ с процентов по облигациям российских компаний. Для этого облигация должна была быть эмитирована уже после 1 января 2017 г. в рублях. Если по этой облигации проценты выплачивались в пределах порогового значения ставка рефинансирования ЦБ РФ + 5%, то с этих выплат НДФЛ не удерживался. Однако с 01 января 2021 г. все эти нормы были убраны из Налогового кодекса.

В результате чего с начала 2021 года брокеры будут удерживать НДФЛ по ставке 13% с купонов по любым облигациям.

2. Изменен механизм фильтрации неликвидных вариантов.

Под неликвидными вариантами подразумеваются облигации, которые выглядят привлекательными по доходности, но по ним нет покупок и продаж на бирже. Невозможно купить безадресно - если никто на бирже не подал заявку на продажу облигаций, то купить эту облигацию вы не сможете. И в облигациях такое случается часто. Все удерживают и никто не продаёт. Сейчас скрипт отсчитывает 15 дней от текущей даты moment().subtract(15, 'days') и затем проверяет обороты за каждый торговый день - соответствует ли цифра оборота указанному пороговому значению. Если оборотов нет, то бумага в выборку не попадает.

3. Добавлены сводные данные о месяцах, когда происходят выплаты.

График выплаты купонов ВсеИнструменты.ру ООО БО-01 (RU000A0ZZXT0) с сайта МосбиржиГрафик выплаты купонов ВсеИнструменты.ру ООО БО-01 (RU000A0ZZXT0) с сайта Мосбиржи

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

coupondate = json.coupons.data[i][3]inFuture = new Date(coupondate) > new Date()if (inFuture == true) {    couponDates.push(+coupondate        .split("-")[1]    )    console.log(`${getFunctionName()}. Купон для ${ID} выплачивается в месяц ${JSON.stringify(couponDates[couponDates.length - 1])} (строка ${couponDates.length}).`)}

И получается массив с цифрами будущих месяцев выплат. Далее эти цифры приводятся в текстовый вид и получается что-то вроде такой строки с месяцами:

--мар---июн---сен---дек

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

--мар--май---авг----дек-фев--апр--июн---сен---дек

Как пользоваться?

Поиск ликвидных облигаций Мосбиржи под Windows

Для Windows доступен установщик Node.js в разделе загрузить официального сайта.

Скриншот с сайта загрузки Node.jsСкриншот с сайта загрузки Node.js

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

Далее скачиваем код скрипта с гитхаба. После этого переходим в каталог /SilverFir-Investment-Report-master/Node.js Release/bond_search_v2/, где находятся скачанные файлы:

Каталог с необходимыми для запуска проекта файламиКаталог с необходимыми для запуска проекта файлами

И запускаем файл first start.bat, который содержит указание показать установленную текущую версию Node.js и установить необходимые для запуска проекта зависимости node-fetch и moment:

node -vpausenpm install node-fetch moment

После этого всё готово для запуска скрипта поиска облигаций. Для этого запускаем файл start.bat:

Выполнение скрипты поиска облигаций. После запуска файла start.batВыполнение скрипты поиска облигаций. После запуска файла start.bat

Менее чем за минуту будет создан HTML файл с подпапке searching_results с текущей датой в имени он и содержит в себе найденные результаты.

Результат работы скрипта в виде html файлаРезультат работы скрипта в виде html файла

Поиск ликвидных облигаций Мосбиржи под Linux

Если на вашем компьютере установлен Linux, скорее всего вы и сами знаете как лучше сделать. Код скрипта доступен на гитхабе. Перейдите в каталог /SilverFir-Investment-Report-master/Node.js Release/bond_search_v2/.

Проверьте что Node.js установлена:

$ node -v

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

$ npm -v

Установите зависимости (в данном случае это только node-fetch и moment):

$ npm install node-fetch moment

Запустите файл скрипта:

$ npm start

Примерно за минуту html файл будет создан:

fs.writeFileSync(path.resolve(__dirname, `./searching_results/bond_search_${moment().format('YYYY-MM-DD')}.html`), hmtl)
Выполнение работы скрипта под LinuxВыполнение работы скрипта под Linux

Поиск ликвидных облигаций Мосбиржи под macOS

Для macOS доступен установщик Node.js в разделе загрузить официального сайта.

Сам процесс похож на установку под Windows и Linux.

Настройка параметров поиска

Теперь пришла пора настроить именно те параметры которые актуальны для вас, а не те, которые указаны для примера в самом скрипте. Сделать это можно в файле index.js, со строки 45.

Задаваемые параметры поискаЗадаваемые параметры поиска

Редактируем цифры, запускаем скрипт заново и примерно за минуту выборка готова.

Предыдущие версии

Предыдущие версии скрипта, без изменений 2021 года, доступны в следующих видах:

  1. Node.js версия.

  2. Docker версия (форк).

  3. Версия поиска в Гугл таблице.

Итоги

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

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

Скрипт работает только за счет API Московской биржи, с которой я никак не связан. Я использую ИСС Мосбиржи только в личных информационных интересах.

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

4 января 2021 г.

Источник: habr.com
К списку статей
Опубликовано: 04.01.2021 06:11:54
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Javascript

Node.js

Api

Визуализация данных

Финансы в it

Парсинг

Инвестиции

Облигации

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru