mirror of
https://github.com/shawnkim1997/All-in-one-Financial-Analysis.git
synced 2026-08-14 19:08:06 +00:00
91 lines
3.9 KiB
Markdown
91 lines
3.9 KiB
Markdown
# All-in-One Financial Analysis Dashboard
|
||
|
||
**하이브리드 금융 대시보드** — 10-K·MD&A AI 인사이트, DCF/밸류에이션, 산업 비교, 포트폴리오·워치리스트, 크립토(빗썸/바이낸스)를 한 화면에서 제공합니다.
|
||
|
||
- **비용 효율**: 숫자/차트는 yfinance·YahooQuery 기반, **텍스트 인사이트만 Gemini** 사용
|
||
- **다중 시장**: 미국·한국 등 글로벌 티커 검색 및 통화(USD/KRW/JPY 등) 지원
|
||
|
||
---
|
||
|
||
## 최근 업데이트
|
||
|
||
### Portfolio & Watchlist
|
||
- **통화(Currency) 컬럼**: 종목별 매수 통화 선택 (USD, GBP, EUR, KRW, JPY, CNY). Sync 시 자산 거래 통화로 FX 환산 후 수익률 계산.
|
||
- **소수 수량(Quantity)**: 분수 주식·소수 주식 지원 (예: 30.395107). AI 스크린샷 추출 시에도 소수점 유지.
|
||
- **FX 반영 수익률**: 입력 평단가·통화 → 실시간 환율로 자산 통화 기준 `adjusted_avg` 계산 → `Total Return %` = (현재가 − adjusted_avg) / adjusted_avg. 다중 통화 포트폴리오에서 일관된 수익률 표시.
|
||
- **AI 스크린샷 (Gemini Vision)**: 브로커 화면에서 Ticker, Average Price, **Currency**($, £, €, ₩, ¥ → USD/GBP/EUR/KRW/JPY), **Quantity**(소수 포함) 자동 추출.
|
||
|
||
### 앱 전반 다중 통화·환율
|
||
- **티커별 통화**: `get_currency_for_ticker`로 종목 거래 통화 자동 감지 (USD/KRW/JPY 등).
|
||
- **실시간 환율**: `get_fx_rate`(통화→통화), `get_fx_rate_to_usd`(→USD). yfinance FX 페어 사용, TTL 60~120초 캐시.
|
||
- **가격 표기**: 비-USD 종목에 대해 `format_price_with_usd`로 로컬 통화 + USD 환산 병기 (예: ₩ 181,200 (≈ $ 132.50)).
|
||
|
||
### Valuation Hub (DCF / RIM)
|
||
- DCF·Reverse DCF·RIM 결과가 **티커 통화** 기준으로 표시되며, 비-USD일 경우 USD 환산액을 함께 표시.
|
||
|
||
### Earnings & Estimates
|
||
- 애널리스트 목표가·추천·현재가에 **티커 통화** 적용 및 필요 시 USD 환산 표기.
|
||
|
||
---
|
||
|
||
## 주요 기능 (8개 탭)
|
||
|
||
| 탭 | 설명 |
|
||
|----|------|
|
||
| **10-K & MD&A Insights** | SEC 10-K Item 7·Item 1A 기반 Gemini 요약, DuPont·Altman Z·Red Flags·YoY, Sankey·Radar·5년 재무·KPI |
|
||
| **Market Heatmap** | 섹터·매크로 히트맵, 금리·원유·VIX 등 지표 |
|
||
| **Valuation Hub** | 표준 DCF, Reverse DCF, RIM(잔여이익) 밸류에이션 |
|
||
| **Industry Analysis & Comps** | 산업 동료사 비교(Forward P/E, EV/EBITDA, P/B), AI 산업 전망 |
|
||
| **SEC Filings (Raw)** | SEC 제출 문서 목록 및 원문 링크 |
|
||
| **Earnings & Estimates** | 실적 컨센서스, Beat/Miss 차트, 애널리스트 목표가·추천 |
|
||
| **Portfolio & Watchlist** | 보유 종목 **종목별 통화(USD/GBP/EUR/KRW/JPY/CNY)**·**소수 수량** 지원, AI 스크린샷 추출, **실시간 FX 환산 수익률** |
|
||
| **Crypto** | 빗썸(KRW)·바이낸스(USD) 실시간 시세 |
|
||
|
||
---
|
||
|
||
## 설치 및 실행
|
||
|
||
### 요구 사항
|
||
|
||
- Python 3.10+
|
||
- [requirements.txt](requirements.txt) 의존성
|
||
|
||
### 1. 저장소 클론 후 의존성 설치
|
||
|
||
```bash
|
||
cd ici
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
### 2. 환경 변수 (선택)
|
||
|
||
- **Google API Key**: 사이드바에서 입력하거나 `.env`에 `GOOGLE_API_KEY=...` 설정
|
||
- Tab 1(10-K 인사이트), 포트폴리오 스크린샷 AI 추출에 사용
|
||
- **SEC 이메일**: 10-K 다운로드 시 User-Agent용 이메일 (사이드바 입력 권장)
|
||
|
||
### 3. 실행
|
||
|
||
```bash
|
||
streamlit run app.py
|
||
```
|
||
|
||
브라우저에서 `http://localhost:8501` 로 접속합니다.
|
||
|
||
---
|
||
|
||
## 프로젝트 구조
|
||
|
||
```
|
||
ici/
|
||
├── app.py # 메인 Streamlit 앱 (탭·API·UI)
|
||
├── requirements.txt # Python 의존성
|
||
├── data/ # 10-K 캐시 (ticker_latest.json 등, .gitignore 권장)
|
||
└── .app_prefs.json # 로컬 저장 API 키·이메일 (선택, .gitignore 권장)
|
||
```
|
||
|
||
---
|
||
|
||
## 라이선스
|
||
|
||
이 프로젝트는 개인/교육 목적으로 제공됩니다. 외부 API(Google Gemini, SEC EDGAR, Yahoo Finance 등) 사용 시 각 서비스 약관을 확인하세요.
|