vault backup: 2026-05-18 21:11:52
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
---
|
||||
status: seed
|
||||
type: guide
|
||||
tags:
|
||||
- admin
|
||||
- nginx
|
||||
- reverse-proxy
|
||||
- homelab
|
||||
created: 2026-05-18
|
||||
updated: 2026-05-18
|
||||
title: Nginx Proxy Manager под path
|
||||
source: "[[Лайфхак для NPM. Как проксировать не на поддомен а на под путь]]"
|
||||
---
|
||||
|
||||
# Nginx Proxy Manager под path
|
||||
|
||||
Кейс: сервис нужно опубликовать не на отдельном поддомене вида `service.domain.ru`, а в подкаталоге основного домена: `domain.ru/<path>`.
|
||||
|
||||
## Решение
|
||||
|
||||
В Nginx Proxy Manager нужно добавить `location` для нужного маршрута и в дополнительных настройках срезать prefix перед проксированием:
|
||||
|
||||
```nginx
|
||||
rewrite ^/<path>/?(.*)$ /$1 break;
|
||||
```
|
||||
|
||||
Смысл правила:
|
||||
|
||||
- пользователь открывает `domain.ru/<path>/...`;
|
||||
- Nginx убирает `/<path>` из URI;
|
||||
- upstream получает путь так, будто сервис открыт в корне `/`.
|
||||
|
||||
## Когда это нужно
|
||||
|
||||
Подход полезен, если:
|
||||
|
||||
- не хочется заводить отдельный поддомен под мелкий сервис;
|
||||
- сервис живет за reverse proxy в homelab;
|
||||
- внешний URL должен быть компактным;
|
||||
- нужно спрятать несколько внутренних сервисов за одним доменом.
|
||||
|
||||
## Ограничения
|
||||
|
||||
Не каждый сервис нормально работает под path-prefix. Возможные проблемы:
|
||||
|
||||
- абсолютные ссылки на `/assets`, `/api`, `/static`;
|
||||
- WebSocket-маршруты;
|
||||
- OAuth/callback URL;
|
||||
- hardcoded base URL внутри приложения;
|
||||
- редиректы на `/`, из-за которых пользователь выпадает из `/<path>`.
|
||||
|
||||
Если приложение поддерживает настройку base path/base URL, лучше указать ее явно. Rewrite в proxy — рабочий хак, но не полноценная замена поддержке subpath внутри приложения.
|
||||
|
||||
## Связанные заметки
|
||||
|
||||
- [[Infrastructure — ada-dev]] — где NPM используется как публичный и локальный reverse proxy.
|
||||
- [[CA и NGINX]] — TLS и базовая настройка Nginx.
|
||||
- [[Docker - Дополнительные знания]] — эксплуатация сервисов в контейнерах.
|
||||
@@ -0,0 +1,97 @@
|
||||
---
|
||||
status: seed
|
||||
type: knowledge
|
||||
tags:
|
||||
- programming
|
||||
- ruby
|
||||
created: 2026-05-17
|
||||
updated: 2026-05-17
|
||||
title: Ruby - массивы
|
||||
source: "[[Ruby - массивы]]"
|
||||
---
|
||||
|
||||
# Ruby — массивы
|
||||
|
||||
Массив в Ruby — экземпляр класса `Array`. Поскольку массивы являются объектами со своими методами, работа со списками данных упрощается.
|
||||
|
||||
Связанные темы: [[Ruby - основы языка]]
|
||||
|
||||
## Создание массива
|
||||
|
||||
```ruby
|
||||
a1 = [1, 2, 3] # литерал
|
||||
a2 = %w{word1 word2} # массив строк без кавычек
|
||||
a3 = ['start', nil, 5, [1, 2]] # разнотипные элементы, вложенный массив
|
||||
|
||||
a4 = Array.new # пустой массив
|
||||
a5 = Array.new(3) # [nil, nil, nil]
|
||||
a6 = Array.new(5, "Test") # ["Test", "Test", ...]
|
||||
a7 = Array.new(5) { |i| i * i } # [0, 1, 4, 9, 16]
|
||||
a8 = Array.[](1, 'a', /^A/) # через метод класса
|
||||
```
|
||||
|
||||
Ruby поддерживает многомерные массивы с элементами разной размерности.
|
||||
|
||||
## Индексация
|
||||
|
||||
```ruby
|
||||
a[0] # первый элемент
|
||||
a[-1] # последний элемент
|
||||
a[-2] # предпоследний
|
||||
```
|
||||
|
||||
### Размер
|
||||
|
||||
```ruby
|
||||
a.size # количество элементов
|
||||
a.length # синоним size
|
||||
```
|
||||
|
||||
## Поиск элементов
|
||||
|
||||
```ruby
|
||||
a.include?(obj) # => true / false
|
||||
a.index(obj) # индекс первого вхождения или nil
|
||||
```
|
||||
|
||||
## Добавление элементов
|
||||
|
||||
```ruby
|
||||
a << 4 # в конец
|
||||
a += [5] # объединение
|
||||
a.push(6) # в конец (синоним: append)
|
||||
a.unshift(0) # в начало (сдвигает остальные вправо)
|
||||
a.insert(2, x) # вставить перед элементом с индексом 2
|
||||
```
|
||||
|
||||
## Удаление элементов
|
||||
|
||||
```ruby
|
||||
a.delete(obj) # удалить все вхождения obj
|
||||
a.delete_at(index) # удалить по индексу
|
||||
a.delete_if { |x| block } # удалить все, подходящие под условие
|
||||
a.shift # удалить и вернуть первый элемент
|
||||
a.pop # удалить и вернуть последний элемент
|
||||
```
|
||||
|
||||
## Срезы
|
||||
|
||||
```ruby
|
||||
a[1..3] # диапазон индексов
|
||||
a[1, 3] # начиная с индекса 1, длиной 3
|
||||
a.values_at(0, 2, 4) # элементы по перечисленным индексам или диапазонам
|
||||
a.first(n) # первые n элементов
|
||||
a.last(n) # последние n элементов
|
||||
```
|
||||
|
||||
## Полезные методы
|
||||
|
||||
```ruby
|
||||
a.flatten # развернуть многомерный массив в одномерный
|
||||
a.flatten! # то же, но изменяет сам массив
|
||||
|
||||
a.sample # случайный элемент
|
||||
a.sample(n) # n случайных элементов
|
||||
|
||||
a.select { |x| block } # массив элементов, для которых block == true
|
||||
```
|
||||
@@ -0,0 +1,121 @@
|
||||
---
|
||||
status: seed
|
||||
type: knowledge
|
||||
tags:
|
||||
- programming
|
||||
- ruby
|
||||
created: 2026-05-17
|
||||
updated: 2026-05-17
|
||||
title: Ruby - основы языка
|
||||
source: "[[Ruby - основы языка]]"
|
||||
---
|
||||
|
||||
# Ruby — основы языка
|
||||
|
||||
Ruby — объектно-ориентированный язык, но допускает процедурный стиль написания кода. Всё является объектом, включая числа и булевы значения.
|
||||
|
||||
Связанные темы: [[Ruby On Rails]]
|
||||
|
||||
## Синтаксис
|
||||
|
||||
- Знак препинания в конце строки не нужен
|
||||
- Отступы не несут синтаксического смысла (в отличие от Python)
|
||||
- Несколько команд в одной строке разделяются через `;`
|
||||
|
||||
```ruby
|
||||
puts "Hello World!"
|
||||
puts 42; puts "next line"
|
||||
```
|
||||
|
||||
## Комментарии
|
||||
|
||||
```ruby
|
||||
# однострочный комментарий
|
||||
|
||||
=begin
|
||||
многострочный
|
||||
комментарий
|
||||
=end
|
||||
```
|
||||
|
||||
## Типы данных
|
||||
|
||||
```ruby
|
||||
"Hello".class # => String
|
||||
true.class # => TrueClass
|
||||
5.class # => Integer
|
||||
6.4.class # => Float
|
||||
nil.class # => NilClass
|
||||
```
|
||||
|
||||
### Именование
|
||||
|
||||
- Переменные — с маленькой буквы: `my_var`
|
||||
- Классы — с большой буквы: `MyClass`
|
||||
- Ключевые слова языка использовать нельзя
|
||||
|
||||
### Преобразование типов
|
||||
|
||||
**Явное:**
|
||||
|
||||
| Метод | Что делает |
|
||||
|--------|-----------------------------------------|
|
||||
| `to_i` | к целому числу (дробная часть отсекается) |
|
||||
| `to_f` | к вещественному числу |
|
||||
| `to_s` | к строке |
|
||||
|
||||
**Неявное:** при математических операциях `Integer + Float` → `Float`.
|
||||
|
||||
## Управляющие конструкции
|
||||
|
||||
```ruby
|
||||
# if без ветвления
|
||||
if a > 0
|
||||
action
|
||||
end
|
||||
|
||||
# if-elsif-else
|
||||
if a > 0
|
||||
...
|
||||
elsif a == 0
|
||||
...
|
||||
else
|
||||
...
|
||||
end
|
||||
|
||||
# unless — выполнится, если условие ложно
|
||||
unless a > 0
|
||||
action
|
||||
end
|
||||
|
||||
# case
|
||||
case a
|
||||
when 1 then puts "один"
|
||||
when 2 then puts "два"
|
||||
else puts "другое"
|
||||
end
|
||||
```
|
||||
|
||||
## Циклы
|
||||
|
||||
| Оператор | Назначение |
|
||||
|----------|-----------|
|
||||
| `loop` | бесконечный цикл; выход через `break` |
|
||||
| `while` | цикл с условием выполнения |
|
||||
| `until` | цикл, пока условие ложно |
|
||||
| `for` | итератор по перечислимому объекту |
|
||||
| `next` | пропустить текущий шаг |
|
||||
| `redo` | повторить текущий шаг заново |
|
||||
|
||||
**Диапазоны в `for`:**
|
||||
|
||||
```ruby
|
||||
for i in 1..5 # от 1 до 5 включительно
|
||||
for i in 1...5 # от 1 до 4 (5 не входит)
|
||||
```
|
||||
|
||||
**Деление с остатком:**
|
||||
|
||||
```ruby
|
||||
x, r = x.divmod(n)
|
||||
```
|
||||
@@ -0,0 +1,118 @@
|
||||
---
|
||||
status: seed
|
||||
type: concept
|
||||
tags:
|
||||
- homelab
|
||||
- infrastructure
|
||||
- devops
|
||||
created: 2026-05-18
|
||||
updated: 2026-05-18
|
||||
title: Infrastructure — ada-dev
|
||||
source: "[[Infrastructure]]"
|
||||
---
|
||||
|
||||
# Infrastructure — ada-dev
|
||||
|
||||
Заметка фиксирует текущую схему homelab-инфраструктуры `ada-dev`: публичный VPS, домашние узлы, reverse proxy, overlay-сеть и пользовательские сервисы.
|
||||
|
||||
![[infra.excalidraw.md.md|950]]
|
||||
|
||||
## Общая схема
|
||||
|
||||
Инфраструктура состоит из трех ключевых зон:
|
||||
|
||||
- `Internet` — внешний доступ пользователей.
|
||||
- `ru-vps` с белым IP — публичная точка входа.
|
||||
- локальные узлы `mini-pc` и `cloud-pc`, связанные с VPS через ZeroTier overlay network.
|
||||
|
||||
VPS принимает внешний трафик и проксирует его дальше. Домашние сервисы не обязаны напрямую светиться в интернет: доступ к ним можно строить через публичный [[CA и NGINX|Nginx]]/NPM и приватную overlay-сеть.
|
||||
|
||||
## Узлы
|
||||
|
||||
### ru-vps
|
||||
|
||||
`ru-vps` — публичный сервер с белым IP. На схеме он выполняет роль внешнего шлюза:
|
||||
|
||||
- `NPM (публичный)` — reverse proxy для публичных доменов и маршрутов;
|
||||
- `Nginx (80, 443)` — входная точка HTTP/HTTPS;
|
||||
- `ufw` — базовый firewall;
|
||||
- `ZeroTier` — связь с домашним сегментом;
|
||||
- `Portainer Agent` — управление контейнерной средой через Portainer.
|
||||
|
||||
Практический смысл VPS — держать наружу только минимальный набор портов и не раскрывать домашнюю сеть напрямую.
|
||||
|
||||
### mini-pc
|
||||
|
||||
`mini-pc` описан как `N150 / 12 GB / 256 GB`. По схеме это небольшой домашний узел для инфраструктурных сервисов:
|
||||
|
||||
- `AdGuard Home`;
|
||||
- `NPM (локальный)`;
|
||||
- `Vaultwarden`;
|
||||
- `ZeroTier`;
|
||||
- `Portainer Agent`.
|
||||
|
||||
Логика узла: локальная инфраструктура и сервисы, которым полезно быть рядом с домашней сетью.
|
||||
|
||||
### cloud-pc
|
||||
|
||||
`cloud-pc` описан как `i5 / 16 GB / 256 GB + 5 TB`. Это более крупный узел для сервисов и хранения:
|
||||
|
||||
- `Portainer Server`;
|
||||
- `Cockpit`;
|
||||
- `Gitea + Registry`;
|
||||
- `Gitea Actions Runner`;
|
||||
- `Nextcloud`;
|
||||
- `SMB/BU/Files (5 TB HDD)`;
|
||||
- `ZeroTier`.
|
||||
|
||||
Логика узла: сервисы разработки, файлы, backup/storage и управление контейнерами.
|
||||
|
||||
## Сетевой слой
|
||||
|
||||
ZeroTier используется как overlay-сеть между VPS и домашними узлами. Это позволяет:
|
||||
|
||||
- проксировать трафик с публичного VPS на локальные сервисы;
|
||||
- не открывать сервисные порты домашней сети наружу;
|
||||
- держать управление и межузловые соединения в приватном сегменте;
|
||||
- упростить маршрутизацию между VPS, `mini-pc` и `cloud-pc`.
|
||||
|
||||
`ufw` на VPS должен ограничивать внешний периметр. Базовая модель: наружу открыты только необходимые публичные порты, а внутренние сервисы доступны через ZeroTier и reverse proxy.
|
||||
|
||||
## Reverse proxy
|
||||
|
||||
На схеме есть два уровня NPM:
|
||||
|
||||
- `NPM (публичный)` на VPS — отвечает за публичный доступ;
|
||||
- `NPM (локальный)` на `mini-pc` — может обслуживать локальные маршруты и внутренние сервисы.
|
||||
|
||||
Такой подход полезен, если нужно разделить внешний и внутренний контуры. Публичный NPM принимает домены из интернета, локальный NPM может маршрутизировать сервисы внутри homelab.
|
||||
|
||||
Смежная заметка: [[Nginx Proxy Manager под path]].
|
||||
|
||||
## Сервисы
|
||||
|
||||
Ключевые пользовательские сервисы:
|
||||
|
||||
- `Vaultwarden` — self-hosted password manager;
|
||||
- `Gitea + Registry` — Git-сервер и container registry;
|
||||
- `Gitea Actions Runner` — CI runner;
|
||||
- `Nextcloud` — файловая синхронизация;
|
||||
- `SMB/BU/Files` — файловое хранилище и backup на 5 TB HDD;
|
||||
- `AdGuard Home` — DNS/ad blocking;
|
||||
- `Cockpit` — web-управление сервером;
|
||||
- `Portainer Server/Agent` — управление контейнерами.
|
||||
|
||||
## Замечания по устойчивости
|
||||
|
||||
- Публичный VPS — критическая точка входа. Если он падает, внешний доступ к сервисам пропадает, даже если домашние узлы живы.
|
||||
- ZeroTier — критическая зависимость для связности между VPS и домашними узлами.
|
||||
- `cloud-pc` несет сразу несколько ролей: Git, registry, runner, Nextcloud и storage. Для важных данных нужен отдельный backup-контур.
|
||||
- `Vaultwarden` стоит держать максимально изолированным: отдельный volume, backup, HTTPS, минимальный доступ к админке.
|
||||
|
||||
## Связанные заметки
|
||||
|
||||
- [[CA и NGINX]] — TLS-сертификаты и Nginx как входной HTTP/HTTPS-слой.
|
||||
- [[VPN]] — близкая идея приватного сетевого контура.
|
||||
- [[Docker - Дополнительные знания]] — контейнерная эксплуатация сервисов.
|
||||
- [[Основы - Docker]] — базовая модель контейнеризации.
|
||||
- [[DevOps - основы]] — инфраструктура, автоматизация и эксплуатация.
|
||||
@@ -0,0 +1,381 @@
|
||||
---
|
||||
status: seed
|
||||
type: guide
|
||||
tags:
|
||||
- finance
|
||||
- investments
|
||||
- bonds
|
||||
- funds
|
||||
- gold
|
||||
created: 2026-05-18
|
||||
updated: 2026-05-18
|
||||
title: База инвестора
|
||||
source:
|
||||
- "[[78e94a8b-66be-410f-8618-0345ff3918e5]]"
|
||||
- "[[8e65f8ca-b8eb-4e10-97e1-fde245b1c9c4]]"
|
||||
- "[[a2713c5f-1e6b-429c-98cc-710b179bc017]]"
|
||||
- "[[a5d627bd-c616-43bb-8490-bdeef3f27d15]]"
|
||||
- "[[b280330d-7651-4a92-856c-869ab2b317db]]"
|
||||
- "[[b4100a43-8a47-4dad-923f-39fb309c849e]]"
|
||||
- "[[b63b403c-1855-498f-8866-2052120fff61]]"
|
||||
- "[[be737cd3-f448-4b6c-b765-8097229f153f]]"
|
||||
- "[[db7c2cfc-acde-4abe-a59e-87ab4a232034]]"
|
||||
- "[[e74de470-d705-4000-80d0-5daecd564267]]"
|
||||
---
|
||||
|
||||
# База инвестора
|
||||
|
||||
Инвестиционный портфель строится от цели, горизонта и риск-профиля. Отдельные инструменты — облигации, фонды, золото, акции — имеют смысл только внутри структуры портфеля.
|
||||
|
||||
Не является индивидуальной инвестиционной рекомендацией.
|
||||
|
||||
## Базовый алгоритм
|
||||
|
||||
1. Определить цель и горизонт: зачем инвестировать и когда нужны деньги.
|
||||
2. Определить риск-профиль: какую просадку портфеля реально выдержать без паники.
|
||||
3. Выбрать стиль: пассивный, активный или трейдинг.
|
||||
4. Выбрать стратегию: индексная, дивидендная, value, growth, облигационная, защитная.
|
||||
5. Собрать портфель из классов активов, а не из случайных идей.
|
||||
6. Проверить налоги, комиссии, ликвидность, валютные и кредитные риски.
|
||||
7. Периодически ребалансировать портфель, но не дергать его из-за каждого рыночного шума.
|
||||
|
||||
## Риск-профиль
|
||||
|
||||
Риск-профиль складывается из трех блоков:
|
||||
|
||||
- готовность к риску: отношение к волатильности, прошлый опыт, эмоциональная устойчивость;
|
||||
- возможность риска: стабильность дохода, финансовая подушка, обязательства и долги;
|
||||
- цель: горизонт инвестирования и требуемая доходность.
|
||||
|
||||
Типовые профили:
|
||||
|
||||
| Профиль | Цель | Комфортная просадка | Типовая структура |
|
||||
|---|---|---:|---|
|
||||
| Консервативный | сохранность капитала | просадка больше 5% уже дискомфортна | облигации 85-90%, акции 10-15% |
|
||||
| Умеренный | баланс риска и доходности | 15-20% без паники | акции 60%, облигации 40% |
|
||||
| Агрессивный | максимальный рост | готовность к просадкам больше 30% | акции 80-100% |
|
||||
|
||||
Из другого источника: консервативный инвестор может ориентироваться на просадку до 15%, умеренный — до 35%, агрессивный — до 60%. Это не противоречие, а разные шкалы грубости. Практический вывод: риск-профиль лучше задавать не красивым названием, а конкретной максимальной просадкой в рублях и процентах.
|
||||
|
||||
## Стили инвестирования
|
||||
|
||||
- Долгосрочный/пассивный инвестор — тратит до пары часов в месяц, держит качественные активы и фонды.
|
||||
- Активный инвестор — тратит несколько часов в неделю, следит за макроэкономикой, секторами и идеями.
|
||||
- Трейдер — работает с рынком почти ежедневно, зависит от графиков, новостей, дисциплины и риск-менеджмента.
|
||||
|
||||
Риск-профиль должен ограничивать стиль. Консерватору логичнее пассивная база и надежные инструменты. Умеренный профиль допускает пассивную базу и часть активных идей. Агрессивный профиль может использовать активные стратегии и трейдинг, если есть время и навык.
|
||||
|
||||
## Психологические ловушки
|
||||
|
||||
- стадное чувство;
|
||||
- FOMO и эмоциональный трейдинг;
|
||||
- отсутствие диверсификации;
|
||||
- инвестирование на заемные средства;
|
||||
- погоня за максимальной доходностью без понимания риска;
|
||||
- вера, что знакомая компания автоматически надежна.
|
||||
|
||||
## Макроэкономика и портфель
|
||||
|
||||
Цены активов зависят от будущих доходов, ставок, роста экономики, инфляции, курса рубля и геополитической премии за риск.
|
||||
|
||||
Ключевые индикаторы:
|
||||
|
||||
- ВВП, бизнес-настроения, безработица, зарплаты и спрос;
|
||||
- инфляция годовая и текущая;
|
||||
- ключевая ставка, доходности ОФЗ и корпоративных облигаций;
|
||||
- курс рубля;
|
||||
- нефть, газ, золото, промышленные металлы, удобрения;
|
||||
- бюджетная политика и налоги.
|
||||
|
||||
Для российского рынка после ухода значительной части нерезидентов важнее стали внутренние драйверы: прибыль компаний, ставки, инфляция, бюджет, розничные инвесторы. Доля экспортеров в капитализации снизилась примерно до 50%, но сырье и курс рубля все еще важны.
|
||||
|
||||
Практические зависимости:
|
||||
|
||||
- снижение ставок обычно поддерживает акции и длинные облигации;
|
||||
- рост ставок давит на длинные облигации и повышает привлекательность денежного рынка;
|
||||
- ослабление рубля поддерживает экспортеров и валютные/квазивалютные инструменты;
|
||||
- высокая инфляция повышает значимость флоатеров, линкеров и защитных активов;
|
||||
- геополитическая неопределенность увеличивает риск-премию и волатильность.
|
||||
|
||||
## Облигации
|
||||
|
||||
Облигация — долговой инструмент: инвестор дает деньги эмитенту, получает купоны и возврат номинала при погашении. Главная идея: доход предсказуемее, чем в акциях, но риск не нулевой.
|
||||
|
||||
Базовые понятия:
|
||||
|
||||
- эмитент — государство, регион, муниципалитет или компания;
|
||||
- номинал — сумма, которую вернут при погашении;
|
||||
- купон — процентное вознаграждение;
|
||||
- дата погашения — момент возврата номинала;
|
||||
- доходность к погашению — ожидаемая доходность при удержании до погашения и реинвестировании купонов;
|
||||
- дюрация — средний срок возврата денег и чувствительность цены к изменению доходности;
|
||||
- оферта — возможность досрочного выкупа.
|
||||
|
||||
Важный принцип: смотреть нужно не только на купон, а на доходность к погашению/оферте. Большой купон не означает хорошую сделку, если бумага куплена сильно выше номинала.
|
||||
|
||||
## Виды облигаций
|
||||
|
||||
По эмитенту:
|
||||
|
||||
- ОФЗ — федеральные облигации, базовый надежный рублевый инструмент;
|
||||
- муниципальные облигации — выше доходность, ниже ликвидность и выше риск, чем у ОФЗ;
|
||||
- корпоративные облигации — выше доходность за счет кредитного риска компании.
|
||||
|
||||
По погашению номинала:
|
||||
|
||||
- обычное погашение в конце срока;
|
||||
- амортизация — номинал возвращается частями, купонная база постепенно уменьшается;
|
||||
- индексируемый номинал — номинал растет вместе с инфляцией.
|
||||
|
||||
По купону:
|
||||
|
||||
- фиксированный купон — предсказуемые выплаты;
|
||||
- плавающий купон/флоатер — купон зависит от RUONIA, ключевой ставки, инфляции или другого индикатора;
|
||||
- флоатеры полезны при риске роста ставки, но при снижении ставки купоны уменьшаются.
|
||||
|
||||
По валюте:
|
||||
|
||||
- рублевые облигации;
|
||||
- замещающие и квазивалютные облигации — выплаты в рублях, но привязка к валюте;
|
||||
- юаневые облигации — валютная диверсификация в российской инфраструктуре.
|
||||
|
||||
Отдельные рискованные типы:
|
||||
|
||||
- субординированные облигации — ниже в очереди кредиторов, возможна отмена выплат;
|
||||
- ипотечные облигации — обеспечены ипотечными платежами, есть риск досрочного погашения;
|
||||
- ВДО — высокодоходные облигации с повышенным риском дефолта;
|
||||
- золотые облигации — номинал и купон привязаны к цене золота.
|
||||
|
||||
## Дюрация и ставка
|
||||
|
||||
Цена облигации обратно зависит от рыночной доходности и ключевой ставки:
|
||||
|
||||
- ставка растет — старые облигации дешевеют;
|
||||
- ставка падает — старые облигации дорожают;
|
||||
- чем выше дюрация, тем сильнее реакция цены.
|
||||
|
||||
Пример логики: ОФЗ с дюрацией 5 лет может дать около 5% переоценки при снижении доходности на 1 п.п. Поэтому длинные облигации — это не просто "надежно", а ставка на снижение ставок. Если ставка неожиданно вырастет, длинная бумага даст временную просадку.
|
||||
|
||||
## Как выбирать облигации
|
||||
|
||||
Чек-лист:
|
||||
|
||||
1. Оценить доходность к погашению или оферте.
|
||||
2. Сравнить доходность с ОФЗ сопоставимого срока через кредитный/G-spread.
|
||||
3. Проверить кредитный рейтинг: на старте разумнее AAA-AA, для более рискованных идей не ниже A.
|
||||
4. Проверить долговую нагрузку эмитента: Net Debt/EBITDA, динамику выручки, прибыли и процентного покрытия.
|
||||
5. Выбрать срок под свой горизонт. Деньги нужны через 2 года — не покупать 10-летнюю бумагу только ради доходности.
|
||||
6. Проверить ликвидность через объем торгов.
|
||||
7. Диверсифицировать по эмитентам и отраслям.
|
||||
8. Не пропускать оферты и пересмотр купона.
|
||||
|
||||
Красные флаги:
|
||||
|
||||
- рейтинг BB и ниже;
|
||||
- отсутствие рейтинга;
|
||||
- доходность сильно выше рынка без понятной причины;
|
||||
- маленький выпуск до 1 млрд рублей;
|
||||
- высокая долговая нагрузка;
|
||||
- долги по налогам;
|
||||
- странные сделки;
|
||||
- оборотный капитал растет быстрее выручки;
|
||||
- бизнес непонятен инвестору.
|
||||
|
||||
## Стратегии в облигациях
|
||||
|
||||
### Держать до погашения
|
||||
|
||||
Покупать облигации со сроком, близким к финансовой цели. Это снижает риск вынужденной продажи по плохой цене. Кредитный риск остается, поэтому важен надежный эмитент.
|
||||
|
||||
### Лестница облигаций
|
||||
|
||||
Покупать выпуски с разными сроками погашения. Деньги от погашений направлять в новые длинные выпуски. Плюсы: часть портфеля регулярно высвобождается, доходность фиксируется на долгий срок, купоны приходят регулярно.
|
||||
|
||||
### Золотовалютный доход
|
||||
|
||||
Использовать замещающие, квазивалютные, юаневые или золотые облигации для защиты от слабости рубля.
|
||||
|
||||
### "Зарплата" на облигациях
|
||||
|
||||
Идея — собрать портфель так, чтобы купоны приходили каждый месяц. Это не покупка одной бумаги с большим купоном, а структурирование денежных потоков.
|
||||
|
||||
Варианты:
|
||||
|
||||
- 1.0: фиксированные купоны — максимальная предсказуемость;
|
||||
- 2.0: фиксированные купоны + флоатеры — регулярность и защита от роста ставки;
|
||||
- 3.0: фиксированные купоны + флоатеры + валютные облигации — добавляется валютная диверсификация.
|
||||
|
||||
Пример принципа сборки:
|
||||
|
||||
- фиксированные — 40%;
|
||||
- флоатеры — 30%;
|
||||
- валютные — 30%.
|
||||
|
||||
Адаптация под задачу:
|
||||
|
||||
- процентный баланс: фиксированные 40%, флоатеры 40%, валютные 20%;
|
||||
- двойная фиксация ставок: фиксированные 50%, валютные 50%;
|
||||
- следование за циклом: флоатеры 50%, валютные 50%.
|
||||
|
||||
Вывод: регулярный доход требует структуры и дисциплины. Погоня за максимальным купоном часто заканчивается концентрацией кредитного риска.
|
||||
|
||||
## Высокодоходные облигации
|
||||
|
||||
ВДО — облигации компаний с рейтингом BBB+ и ниже, небольших бизнесов, компаний с высокой долговой нагрузкой или нестабильной моделью.
|
||||
|
||||
Для начинающего инвестора чаще всего не подходят. Причина простая: высокая доходность — компенсация за высокий риск, а не подарок рынка.
|
||||
|
||||
Что проверять в ВДО:
|
||||
|
||||
- чем занимается компания;
|
||||
- рынок и устойчивость бизнес-модели;
|
||||
- история бенефициаров;
|
||||
- выручка и ее динамика;
|
||||
- долговая нагрузка;
|
||||
- долги по налогам;
|
||||
- странные сделки;
|
||||
- качество оборотного капитала.
|
||||
|
||||
Главная задача начинающего инвестора — не максимальная доходность, а предсказуемый и стабильный портфель.
|
||||
|
||||
## Фонды
|
||||
|
||||
Фонд — коллективный портфель активов. Инвестор покупает пай и получает долю в портфеле, которым управляет управляющая компания.
|
||||
|
||||
Плюсы фондов:
|
||||
|
||||
- диверсификация внутри одного инструмента;
|
||||
- низкий порог входа;
|
||||
- профессиональное управление;
|
||||
- ликвидность биржевых фондов;
|
||||
- налоговая эффективность внутри фонда;
|
||||
- автоматическое реинвестирование купонов и дивидендов, если фонд не делает выплаты;
|
||||
- доступ к инструментам, которые сложно собрать самому.
|
||||
|
||||
Минусы:
|
||||
|
||||
- комиссия управления;
|
||||
- риск ошибки слежения;
|
||||
- зависимость от качества УК;
|
||||
- один фонд редко решает все задачи портфеля.
|
||||
|
||||
## Как выбирать фонд
|
||||
|
||||
Чек-лист:
|
||||
|
||||
- комиссия фонда;
|
||||
- ошибка слежения за индексом;
|
||||
- способ репликации: физическая предпочтительнее сложной двойной структуры;
|
||||
- размер активов под управлением;
|
||||
- состав и веса активов;
|
||||
- история фонда и поведение в кризисы;
|
||||
- ликвидность паев;
|
||||
- соответствие фонда текущей фазе экономического цикла.
|
||||
|
||||
Типы фондов:
|
||||
|
||||
| Тип | Когда полезен | Риск | Горизонт |
|
||||
|---|---|---|---|
|
||||
| Денежный рынок | временное размещение денег, высокая ставка | низкий | до года |
|
||||
| ОФЗ | снижение ставки, надежная облигационная база | низкий/средний из-за дюрации | от года |
|
||||
| Корпоративные облигации | премия за кредитный риск, стабильная экономика | средний | 1-3 года |
|
||||
| Валютные облигации | защита от ослабления рубля | средний | от года |
|
||||
| Золото | защитный актив и валютный риск | средний | от года |
|
||||
| Российские акции | рост капитала | высокий | от 3 лет |
|
||||
| Недвижимость | альтернативный доход | средний | от 3 лет |
|
||||
| Венчур | ставка на быстрый рост частных компаний | высокий | от 5 лет |
|
||||
|
||||
## Фонды и ставка
|
||||
|
||||
Фонд денежного рынка хорош, когда ставка высокая или растет: он дает ликвидность и ежедневный положительный доход, но не фиксирует высокую доходность на годы.
|
||||
|
||||
Фонды ОФЗ и длинных облигаций интереснее при ожидании снижения ставки: цена облигаций растет, но дюрация добавляет волатильность.
|
||||
|
||||
Корпоративные облигационные фонды дают премию за кредитный риск. Их логичнее использовать в стабильные периоды и при горизонте от года.
|
||||
|
||||
Валютные облигационные фонды нужны для снижения риска ослабления рубля, но результат зависит от курса и рублевых ставок.
|
||||
|
||||
## Золото
|
||||
|
||||
Золото — защитный актив, который используют для снижения риска портфеля в кризисы, периоды высокой инфляции, геополитической нестабильности и валютных шоков.
|
||||
|
||||
Драйверы золота:
|
||||
|
||||
- ослабление доллара;
|
||||
- реальные процентные ставки;
|
||||
- высокая инфляция;
|
||||
- геополитическая нестабильность;
|
||||
- спрос центробанков;
|
||||
- ювелирный и промышленный спрос;
|
||||
- инвестиционный спрос.
|
||||
|
||||
После 2022 года мировые центробанки заметно нарастили покупки золота, снижая долю резервов в государственных облигациях США. Доля центробанков в мировом спросе стала выше прежней.
|
||||
|
||||
Практическое правило из материалов: около 10% золота в портфеле может улучшать соотношение доходности и риска. Это не жесткая норма, а ориентир для защитной доли.
|
||||
|
||||
## Как инвестировать в золото
|
||||
|
||||
Инструменты:
|
||||
|
||||
- слитки и монеты;
|
||||
- биржевое золото;
|
||||
- фонды на золото;
|
||||
- акции и облигации золотодобытчиков;
|
||||
- золотые облигации.
|
||||
|
||||
Сравнение:
|
||||
|
||||
| Инструмент | Плюсы | Минусы |
|
||||
|---|---|---|
|
||||
| Слитки и монеты | независимость от брокера, нет НДС при покупке | спред покупки/продажи, хранение, повреждения снижают цену |
|
||||
| Биржевое золото | высокая ликвидность, быстро купить/продать | комиссия брокера/хранения |
|
||||
| Фонд на золото | низкий порог входа, ликвидность | комиссия управления |
|
||||
| Акции/облигации золотодобытчиков | потенциально выше доходность, дивиденды/купоны | риск компании и фондового рынка |
|
||||
|
||||
Налоговая логика из материалов:
|
||||
|
||||
- налог платится с дохода от продажи золотого инструмента;
|
||||
- при владении золотом, биржевым золотом и фондами больше 3 лет может применяться освобождение;
|
||||
- для акций и облигаций применимы стандартные правила налогообложения и льгота долгосрочного владения.
|
||||
|
||||
## ИИС-3
|
||||
|
||||
ИИС-3 — налоговая оболочка для инвестиций.
|
||||
|
||||
Ключевые параметры из материалов:
|
||||
|
||||
- комбинированная льгота: вычет на взнос и вычет на доход;
|
||||
- можно открыть до трех ИИС-3;
|
||||
- нет лимита на пополнение;
|
||||
- минимальный срок владения для счетов 2024-2026 годов — 5 лет, далее срок поэтапно увеличивается;
|
||||
- можно вывести деньги на дорогостоящее лечение с сохранением права на льготы;
|
||||
- можно выводить дивиденды на банковский счет;
|
||||
- с 2026 года активы на ИИС-3 застрахованы до 1,4 млн рублей у брокеров и УК, участвующих в системе возмещения.
|
||||
|
||||
## Практическая структура портфеля
|
||||
|
||||
Для старта разумнее строить не "портфель идей", а портфель ролей:
|
||||
|
||||
- ликвидная часть: денежный рынок, короткие ОФЗ, кэш;
|
||||
- защитная часть: ОФЗ, надежные облигации, золото;
|
||||
- доходная часть: корпоративные облигации инвестиционного уровня;
|
||||
- ростовая часть: акции или фонды акций;
|
||||
- валютная защита: замещающие/квазивалютные/юаневые облигации, золото.
|
||||
|
||||
Минимальный здравый подход:
|
||||
|
||||
- не брать плечи;
|
||||
- не начинать с ВДО;
|
||||
- не концентрироваться в одном эмитенте;
|
||||
- не покупать длинные облигации без понимания дюрации;
|
||||
- не держать весь портфель в одном классе активов;
|
||||
- фиксировать причину покупки до сделки.
|
||||
|
||||
## Связанные заметки
|
||||
|
||||
- [[Производные финансовые инструменты]] — отдельный класс финансовых инструментов с другой природой риска.
|
||||
- [[Налог на доходы физических лиц (НДФЛ)]] — налогообложение инвестиционного дохода.
|
||||
- [[Налоговые вычеты]] — налоговые льготы, включая инвестиционные вычеты.
|
||||
- [[Экономическая безопасность - база]] — макроэкономический контекст: инфляция, ВВП, финансовая устойчивость.
|
||||
- [[Бухгалтерский баланс]] — анализ долговой нагрузки и финансового состояния компании.
|
||||
- [[Отчет о финансовых результатах]] — прибыль, выручка и показатели бизнеса.
|
||||
Reference in New Issue
Block a user