An open API service indexing awesome lists of open source software.

https://github.com/topotun77/stock_data_analysis

Анализ и визуализация данных об акциях. GUI-приложение. (python, Pandas, tkinter, matplotlib, yfinance)
https://github.com/topotun77/stock_data_analysis

gui matplotlib pandas python tkinter yfinance

Last synced: 8 months ago
JSON representation

Анализ и визуализация данных об акциях. GUI-приложение. (python, Pandas, tkinter, matplotlib, yfinance)

Awesome Lists containing this project

README

          

# Анализ и визуализация данных об акциях (GUI-приложение)

### Описание приложения:

• Графический и консольный интерфейс приложения.
• Использование фреймворков: yfinance, Pandas, tkinter, matplotlib.
• Расчет различных финансовых индикаторов, таких как: RSI, MACD и ATR.
• Различные варианты выбора периодов для анализа.
• Выбор тикета из списка или ввод наименования вручную.
• Отображение результата запроса в виде таблицы в GUI версии.
• Построение различных графиков, вывод их на экран и сохранение в файл.
• Возможность выбора стиля оформления графиков.
• Определен список финансовых кризисов с 1969 года с возможностью отметки их на любом графике.
• Возможность построения интерактивного графика по ценам (Открытия, Закрытия, max, min).
• Возможность построения интерактивного графика по любым выбранным пользователем столбцам. Реализован выбор столбцов таблицы посредством нажатия на заголовок столбца в таблице.
• Экспорт данных в CSV формате через меню «Файл/Сохранить в CSV» и «Файл/Сохранить как...» с выводом результата экспорта пользователю через внешнее приложение.
• Уведомление пользователя, если цена акций колебалась более чем на заданный процент за период.
• ООП подход при создании окна GUI интерфейса.
• Подробная документация и аннотация переменных, функций и классов.
• Организовано меню приложения с возможностью вывода данных в файл и построения различных графиков.

---

Для консольной версии запустите `main.py`
Для GUI-версии запустите `main_win.py`

### Окно приветствия - информация о приложении:
![img01](https://github.com/Topotun77/stock_data_analysis/blob/master/ScreenShots/n001.jpg?raw=true)
### Меню `Файл` и интерфейс приложения:
![img02](https://github.com/Topotun77/stock_data_analysis/blob/master/ScreenShots/n005.jpg?raw=true)
### Меню `Построение графиков`:
![img02](https://github.com/Topotun77/stock_data_analysis/blob/master/ScreenShots/n010.jpg?raw=true)
### График с RSI и MACD (исторический момент - 05.12.2024 стоимость биткойна обновила исторический максимум, превысив $100 тыс.):
![img03](https://github.com/Topotun77/stock_data_analysis/blob/master/ScreenShots/n006.jpg?raw=true)
### Сообщение в случае превышения порога уведомления о разнице цен:
![img04](https://github.com/Topotun77/stock_data_analysis/blob/master/ScreenShots/n004.jpg?raw=true)
### Визуализация данных с отметками финансовых кризисов:
![img05](https://github.com/Topotun77/stock_data_analysis/blob/master/ScreenShots/n007.jpg?raw=true)
### Индикаторы ATR и MACD:
![img06](https://github.com/Topotun77/stock_data_analysis/blob/master/ScreenShots/n008.jpg?raw=true)
### Другой стиль оформления графика:
![img07](https://github.com/Topotun77/stock_data_analysis/blob/master/ScreenShots/n009.jpg?raw=true)
### Интерактивный стандартный график цен:
![img08](https://github.com/Topotun77/stock_data_analysis/blob/master/ScreenShots/n012.jpg?raw=true)
### Интерактивный график с возможностью выбрать данные для визуализации:
![img09](https://github.com/Topotun77/stock_data_analysis/blob/master/ScreenShots/n011.jpg?raw=true)

### Консольный вывод приложения:
```
Добро пожаловать в инструмент получения и построения графиков биржевых данных.
Вот несколько примеров биржевых тикеров, которые вы можете рассмотреть: AAPL (Apple Inc), GOOGL (Alphabet Inc), MSFT (Microsoft Corporation), AMZN (Amazon.com Inc), TSLA (Tesla Inc).
Общие периоды времени для данных о запасах включают: 1д, 5д, 1мес, 3мес, 6мес, 1г, 2г, 5г, 10л, с начала года, макс.
Введите тикер акции (например, «AAPL» для Apple Inc): aapl
Введите период для данных (например, '1mo' для одного месяца): 3mo
График сохранен как AAPL_3mo_stock_price_chart.png
Среднее цена закрытия: 227.5798
Введите значение порога колебания цены, при котором следует уведомлять пользователя: 10
Цена акций колебалась более чем на 10.0 % за выбранный период.
Максимальная цена: 242.39999389648438
Минимальная цена: 216.082275390625
Колебание составило: 12.18 %
Данные сохранены в файл: AAPL_2024-09-03-2024-12-03_data.csv.
```

## Для запуска приложения:
1. **Установите все необходимые зависимости, выполнив команду:**
```
pip install -r requirements.txt
```
2. **Произведите все настройки в файле [`constants.py`](https://github.com/Topotun77/stock_data_analysis/blob/master/constants.py).**
В файле настроек есть подробное описание каждого параметра.

3. **Запустите приложение командой:**
- Для консольного приложения используйте команду:
```
python main.py
```
- Для GUI-приложения приложения используйте команду:
```
python main_win.py
```