Блог им. DenisEvgenev_f5e
На 300 тысяч рублей у меня получилась расчётная корзина из 43 бумаг индекса Мосбиржи. В загруженном составе их 44. Почти всё на месте, но вес «ФосАгро» оказался 1,69% при целевых 0,67%. Одного списка тикеров для проверки явно мало.
Сравнил три бюджета: 50, 100 и 300 тысяч рублей. Цены, целевые веса и размеры лотов во всех трёх расчётах одинаковые. Комиссия на покупку 0,3%, уже внутри бюджета, покупки целыми лотами. Существующих позиций нет.
Считал в «Дольке», которую разрабатываю. По ссылке заполнен вариант на 300 тысяч, сумму и комиссию можно поменять. Ниже привожу результаты сохранённого снимка, чтобы было понятно, что именно сравнивал.
Как меняется состав
| Бюджет | Бумаг в корзине | Не попало | Их суммарный целевой вес |
|---|---|---|---|
| 50 000 ₽ | 24 из 44 | 20 | около 11,01% |
| 100 000 ₽ | 34 из 44 | 10 | около 4,12% |
| 300 000 ₽ | 43 из 44 | 1 | около 0,21% |
Последний столбец важнее, чем может показаться. На 50 тысяч не попали 20 бумаг, но это не половина индекса по весу. Их суммарная доля составляет примерно 11%.
При увеличении бюджета до 300 тысяч список почти полный. За бортом осталась только «Ренессанс Страхование» (RENI). Один лот в этом снимке стоит 665,40 ₽, а на счёте после распределения осталось 22,45 ₽.
Это результат конкретного алгоритма, а не доказательство, что на 300 тысяч невозможно купить все 44 бумаги. Можно иначе распределить деньги между позициями. Вопрос в том, какие веса тогда получатся.
Что происходит с весами
| Бумага | Целевой вес | На 50 тыс. | На 100 тыс. | На 300 тыс. |
|---|---|---|---|---|
| Лукойл | 16,49% | 21,61% | 16,20% | 16,20% |
| HeadHunter | 1,21% | 0% | 2,73% | 0,91% |
| ФосАгро | 0,67% | 0% | 0% | 1,69% |
Веса посчитаны от стоимости самих акций, без комиссии и остатка денег.
Здесь хорошо видна ступенчатость. HeadHunter на 50 тысяч не попал совсем. На 100 тысяч появилась одна акция за 2 723 ₽, и её вес сразу превысил целевой. На 300 тысяч акция всё ещё одна, но доля уже ниже целевой.
У «ФосАгро» один лот стоит 5 043 ₽. Для корзины на 300 тысяч его целевая доля соответствует примерно 2 тысячам рублей. Купить часть акции в этой модели нельзя: ноль даёт недовес, одна акция даёт перевес.
Максимальное отклонение отдельной позиции от целевого веса в трёх корзинах составило 5,12, 1,52 и 1,02 процентного пункта соответственно. Это отклонение веса сейчас, не прогноз разницы доходности с индексом.
Ограничение моего расчёта
Алгоритм сначала округляет покупки вниз до целых лотов. Затем добавляет доступный лот бумаге с наибольшим недобором в рублях. Такая докупка может перескочить целевой вес. Глобально минимальное отклонение весов этот способ не гарантирует.
Остатки денег получились небольшими: 21,50 ₽, 10,92 ₽ и 22,45 ₽. При этом состав и веса различаются заметно. Поэтому маленький остаток сам по себе мало говорит о точности повторения индекса.
Для себя из этой проверки вынес простую вещь: смотреть надо и на отсутствующие бумаги, и на крупнейшие отклонения весов. На выбранных бюджетах состав стал полнее, а максимальное отклонение уменьшилось. Универсальный порог «с этой суммы индекс уже собран точно» из этого не следует.
Расчёт выполнен 30 сентября 2026 года. Дата состава в источнике: 29 сентября. Использованы одинаковые сохранённые цены; время каждой отдельной котировки в ответе не указано. Данные в калькуляторе обновляются, поэтому новый расчёт может отличаться. Корзины расчётные, сделок не совершал. Спреды, дальнейшие ребалансировки и будущая доходность здесь не оценивались.
Источник состава: ПАО Московская Биржа.