Skip to content

amchercashin/asset-allocation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Asset Allocation Portfolio

Интерактивная модель стратегического распределения активов на основе индексов полной доходности акций MCFTRR, государственных облигаций RGBITR и индекса потребительских цен.

Сайт: https://amchercashin.github.io/asset-allocation/

Данные

  • MCFTRR и RGBITR загружаются в браузере через API Московской биржи.
  • Месячный ИПЦ по Российской Федерации берётся из официального раздела Росстата «Цены, инфляция».
  • Накопленный официальный ряд хранится в data/inflation-monthly.json.
  • ipc_data.js генерируется из канонического JSON и остаётся статическим: посетитель сайта не зависит от доступности Росстата и CORS.

Обновитель находит актуальный файл Росстата вида ipc_mes_MM-YYYY.xlsx, проверяет всю сохранённую историю и добавляет только новые последовательные месяцы. Исторические пересмотры, пропуски, неверная структура или аномальные значения останавливают обновление до ручной проверки. При ошибке уже опубликованный сайт не меняется.

Локальный запуск

python3 -m http.server 8000

Откройте http://127.0.0.1:8000/.

Обновление ИПЦ

python3 -m pip install -r requirements.txt
python3 scripts/update_inflation.py
python3 -m unittest discover -s tests -v

Повторный запуск без новой публикации не изменяет файлы. В JSON сохраняются URL фактического XLSX, момент получения и SHA-256 исходного файла.

TLS Росстата

На момент реализации сервер Росстата не передаёт intermediate своей TLS-цепочки. Для строгой проверки соединения в репозитории хранится только необходимый Russian Trusted Sub CA:

  • файл: certs/russian-trusted-sub-ca-2024.pem;
  • SHA-256: 2155785036c900dbb5f1bb2a1569c80c55595bd6bf94867a29bbddbc7d88a3f2;
  • срок действия: до 19 июля 2029 года.

Обновитель по-прежнему требует валидный сертификат и проверяет имя rosstat.gov.ru; отключение TLS-проверки не используется. Сертификат следует заменить до истечения срока, сверив новый fingerprint с официальной публикацией Национального удостоверяющего центра.

Автоматизация

GitHub Actions запускает проверку ежедневно и вручную через workflow_dispatch. После 20-го числа обновитель также требует, чтобы источник содержал данные как минимум за предыдущий месяц: устаревший, но формально доступный файл больше не может дать ложный зелёный результат. При появлении нового месяца workflow:

  1. обновляет JSON и ipc_data.js;
  2. запускает тесты совместимости и целостности;
  3. фиксирует новые данные в master;
  4. публикует тот же проверенный набор файлов в GitHub Pages.

Commit, созданный GITHUB_TOKEN, сам не инициирует Pages build, поэтому обновление и публикация выполняются в одном workflow.

About

Strategic asset allocation portfolio model

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors