Skip to content

vitalii-84/Stock-market-automated-portfolio-report

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 

Repository files navigation

Pipeline GitHub Actions Last run Scheduled

Portfolio Project Role

Data Source

Python Pandas Plotly

Telegram

📊 Automated Stock Portfolio Report

Автоматизований проєкт для щоденного моніторингу вартості інвестиційного портфеля акцій з використанням Python та GitHub Actions.


🚀 Опис проєкту

Проєкт автоматично:

  • завантажує актуальні біржові дані з Yahoo Finance
  • розраховує вартість кожної позиції в портфелі
  • обчислює загальну вартість портфеля (Total Value)
  • будує лінійний графік динаміки за останні 7 днів:
    • для кожної акції
    • для загальної вартості портфеля
  • зберігає результати у файли (CSV, HTML)
  • надсилає Telegram-сповіщення про зміну вартості портфеля
  • запускається повністю автоматично за розкладом без ручної участі

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

Запуск реалізований через GitHub Actions:

  • 🔄 автоматичний запуск за cron-розкладом (щодня)
  • ▶️ можливість ручного запуску через GitHub UI
  • 🤖 надсилання сповіщень у Telegram при кожному виконанні
  • ⛔ автозапуск обмежений у часі (до 31.12.2025)

📈 Приклад Telegram-повідомлення

📊 Total Value: $11,720.35 (+0.123%)

Пояснення:

  • Total Value — загальна вартість портфеля
  • значення в дужках — відсоткова зміна відносно попереднього дня

📁 Структура проєкту

.
├── portfolio_report.py        # Основний Python-скрипт
├── README.md                  # Опис проєкту
└── .github/
    └── workflows/
        └── daily_portfolio.yml  # GitHub Actions workflow


🛠 Стек технологій

  • Python 3.11
  • yfinance — отримання біржових даних
  • pandas — обробка та агрегація даних
  • plotly — побудова інтерактивних графіків
  • Telegram Bot API — сповіщення
  • GitHub Actions — автоматизація та планування запусків

🔐 Безпека

  • Репозиторій є публічним
  • Telegram Bot Token та chat_id не зберігаються в коді
  • Використовується GitHub Secrets для безпечного зберігання конфіденційних даних
  • Секрети доступні лише під час виконання GitHub Actions

🎯 Мета проєкту

Проєкт створено як:

  • приклад end-to-end автоматизації
  • демонстрацію роботи з реальними фінансовими даними
  • pet-project / portfolio project для Data Analyst / Data Engineer
  • основу для подальшого розширення (алерти, ML, BI-дашборди)

📌 Можливі покращення

  • алерти при досягненні порогових значень
  • інтеграція з BI-інструментами
  • прогнозування вартості портфеля
  • підтримка декількох портфелів
  • деплой у хмарі

About

Automated daily stock portfolio report using Python, yfinance and GitHub Actions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages