infinummike / r-portfolio-calculations

Создание графиков для отслеживания состояния инвестиционного портфеля

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Создание графиков для отслеживания состояния инвестиционного портфеля

Реализация на R, работает с API Tinkoff или со сделками, поднятыми из CSV. Посильные комментарии в коде есть, но детали того, почему что-то сделано так, а не иначе, описывать не готов.

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

Источники данных:
https://tinkoffcreditsystems.github.io/invest-openapi/
https://eodhistoricaldata.com/financial-apis/

Что умеет делать:
1 – подневный срез: СЧА, прибыль, прирост, прибыль против инвестиций (и индексов), дивидендный поток
2 – понедельный срез: динамика оценки бумаг в портфеле по неделям
3 - помесячный срез: дивденды, прирост прибыли, прибыль, СЧА
4 – историческая прибыль по компаниям (за жизнь портфеля), в % и рублях
5 – прогноз стоимости портфеля в будущее
6 – подневный анализ gap-to-target (сколько осталось до целей по бумагам в портфеле)
7 – аналитика по всем портфелям, сводная – доля прибыли в СЧА, подневный, помесячый и понедельный рост прибыли

Известные баги:
1 – нет облигаций (заменяются на кэш-операции)
2 – нет ETF (заменяются на кэш-операции)
3 – нет фьючерсов (API Тинькова их и вовсе не отдаёт)
4 – не придумал пока, как нормально отображать короткие позиции в недельном чарте, показывающем доли акций в портфеле
5 – 100% будут некоторые расхождения с реальностью, так как API Тинькова не полностью отдаёт комиссии (биржи)

Состав файлов:
_targets.csv – цели по позцииям в портфеле
_oom-raiffeisen.csv – портфель в Райфе (настоящий)
__market 7.2.R - собственно, сам R-скрипт

About

Создание графиков для отслеживания состояния инвестиционного портфеля

License:GNU General Public License v3.0


Languages

Language:R 100.0%