daily_stock_analysis은(는) 무엇을 하나요?
LLM 기반 A/H/미국 주식 스마트 분석: 다중 데이터 소스 시세 + 실시간 뉴스 + LLM 의사결정 대시보드 + 다중 채널 푸시, 제로 비용 정기 실행, 완전 무료. LLM-powered stock analysis system for A/H/US markets.
개요
이 프로젝트는 LLM(대규모 언어 모델)을 사용하여 A주(중국 본토), H주(홍콩), 미국 주식을 지능적으로 분석합니다. 주식 시세, 재무 데이터, 시장 뉴스를 다중 소스에서 수집하여 LLM 기반 의사결정 엔진에 전달하고, 매수, 매도, 보유와 같은 투자 권장 사항을 생성합니다. 생성된 분석 결과는 직관적인 대시보드에 표시되며, 다양한 채널을 통해 자동으로 푸시됩니다.
주요 기능
- 다중 데이터 소스 시세: 여러 소스(Akshare, Yahoo Finance 등)에서 주식 시세와 재무 데이터를 수집합니다.
- 실시간 뉴스 통합: 긍정/부정 감정 분석을 포함한 최신 재무 뉴스를 가져옵니다.
- LLM 의사결정 대시보드: LLM이 처리한 종합적인 투자 분석과 점수를 제공합니다.
- 다중 채널 푸시: 이메일, Telegram, Slack, WeChat 등을 통해 분석 결과를 보냅니다.
- 제로 비용 정기 실행: GitHub Actions 작업 또는 로컬 크론 작업을 통해 무료로 정기 실행되도록 설정할 수 있습니다.
시작하기
사전 요구사항
- Python 3.8+
- 다음 데이터 소스에 대한 액세스 권한:
akshare,yfinance,requests,pandas - 이메일, Telegram, Slack 등의 푸시 채널에 대한 선택적 API 키
설치
git clone https://github.com/ZhuLinsen/daily_stock_analysis.git
cd daily_stock_analysis
pip install -r requirements.txt
구성
- 프로젝트 루트에
.env파일을 만들고 다음 변수를 추가합니다:
# 필수: LLM API 키 (예: OpenAI)
LLM_API_KEY=sk-your-api-key
# 선택적: 푸시 채널 구성
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
[email protected]
EMAIL_PASS=your-password
TELEGRAM_BOT_TOKEN=your-telegram-bot-token
TELEGRAM_CHAT_ID=your-chat-id
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/xxx
- 분석할 주식을
config/stocks.json에서 구성합니다:
{
"A주": ["000001.SZ", "600519.SH"],
"H주": ["00700.HK", "09988.HK"],
"미국": ["AAPL", "TSLA"]
}
사용법
수동 분석 실행
python main.py
GitHub Actions를 통한 정기 실행
- 저장소 설정으로 이동 →
Secrets and variables→Actions→New repository secret - 위 단계의 모든
.env변수에 대한 시크릿을 추가합니다. - 그러면
.github/workflows/daily.yml에 정의된 워크플로우가 매일 자동으로 실행됩니다.
아키텍처
+---------------+ +----------------+ +------------------+
| 데이터 소스 | -> | LLM 분석 엔진 | -> | 대시보드 생성 |
| (Akshare, | | (GPT-4/Claude) | | (HTML/JSON) |
| Yahoo Finance)| | | +------------------+
+---------------+ +----------------+ |
v
+----------------+ +------------------+ +------------------+
| 푸시 채널 | <- | 결과 포맷 | <- | 저장소 |
| (Email,Telegram| | & 압축 | | (로컬/GitHub) |
| Slack,WeChat) | +------------------+ +------------------+
+----------------+
환경 변수
| 변수명 | 설명 | 필수 여부 |
|---|---|---|
LLM_API_KEY | LLM 제공업체(예: OpenAI)의 API 키 | 예 |
LLM_MODEL | 사용할 LLM 모델 (예: gpt-4, claude-3-opus) | 아니요 |
EMAIL_USER | 전송자 이메일 주소 | 아니요 |
EMAIL_PASS | 이메일 비밀번호 또는 앱 비밀번호 | 아니요 |
TELEGRAM_BOT_TOKEN | Telegram 봇 토큰 | 아니요 |
TELEGRAM_CHAT_ID | 메시지를 보낼 채팅 ID | 아니요 |
SLACK_WEBHOOK_URL | Slack 웹후크 URL | 아니요 |
지원되는 데이터 소스
- 주식 시세:
akshare(중국),yfinance(미국/글로벌) - 재무 데이터:
akshare의 재무제표,yfinance의 밸류에이션 지표 - 실시간 뉴스: 여러 RSS 피드 및 API를 통해 수집됩니다 (예:
newsapi)
라이선스
MIT