- Обновлен config.py с оптимизированными словарями секторов и индексов - Удалены устаревшие классы exchange.py и moex_class.py - Модернизирован moex_history.py с улучшенной логикой получения данных - Обновлен requirements.txt с современными зависимостями для финансовой платформы - Упрощен open_router.ipynb с фокусом на экономических темах |
||
|---|---|---|
| classes | ||
| frontend | ||
| get | ||
| .gitignore | ||
| 4.2.0 | ||
| api.py | ||
| config.py | ||
| data_collector.log | ||
| data_collector.py | ||
| get_news_and_analyze.py | ||
| models.py | ||
| news_parser.py | ||
| open_router.ipynb | ||
| README.md | ||
| requirements.txt | ||
| sector_tickers.json | ||
| test.ipynb | ||
Финансово-аналитическая платформа
Платформа для отображения финансовых данных, новостей и аналитики.
Структура проекта
Проект состоит из следующих компонентов:
- Backend: FastAPI сервер для обработки запросов
- Frontend: Next.js приложение для отображения данных
- Сборщик данных: Скрипт для сбора и обновления данных
Требования
- Python 3.8+
- Node.js 16+
- npm или yarn
Установка и запуск
Backend
- Установите зависимости Python:
pip install -r requirements.txt
- Запустите сборщик данных для первоначального сбора:
python data_collector.py --init
- Запустите FastAPI сервер:
uvicorn api:app --reload
Сервер будет доступен по адресу: http://localhost:8000
Frontend
- Перейдите в директорию frontend:
cd frontend
- Установите зависимости:
npm install
# или
yarn install
- Запустите Next.js приложение:
npm run dev
# или
yarn dev
Приложение будет доступно по адресу: http://localhost:3000
Запуск планировщика задач
Для регулярного обновления данных запустите планировщик задач:
python data_collector.py --schedule
Планировщик будет выполнять следующие задачи:
- Сбор финансовых данных каждые 12 часов
- Сбор новостей каждые 2 часа
- Анализ новостей каждые 24 часа в полночь
API Endpoints
/sectors- Получение списка всех доступных секторов/sector/{sector_name}- Получение данных по сектору/tickers- Получение списка всех доступных тикеров/ticker/{ticker_name}- Получение данных по тикеру/news/topics- Получение списка всех доступных тем новостей/news- Получение новостей/analytics/latest- Получение последнего доступного анализа новостей/analytics/{date}- Получение анализа новостей по дате/dashboard- Получение сводных данных для главного экрана
Структура базы данных
- moex_data.db - База данных с финансовыми данными
- news_data.db - База данных с новостями
- analytics.db - База данных с результатами анализа новостей