제11회 DB GAPS 투자대회 팀 아마따 레포지토리
이 프로젝트는 Streamlit 기반의 종합 투자 대시보드 애플리케이션입니다. 국내/해외 계좌의 투자 성과를 실시간으로 분석하고, 포트폴리오 관리를 위한 다양한 도구를 제공합니다.
- ETF 포트폴리오 성과 분석
- 실시간 수익률 계산 및 평가손익 추적
- 기술적 지표 분석 (RSI, ADX, 볼린저밴드)
- 목표 수익률 대비 성과 평가
- 개별종목 투자 성과 분석
- 원화/달러 변환 지원
- 동일한 기술적 지표 분석
- 실시간 환율 적용
- 실현손익 및 평가손익 통합 관리
- 현금 잔고 및 총 자산 추적
- FIFO 방식의 매수/매도 매칭
- 수수료 적용 손익 계산
- 거래로그 입력 및 수정
- CSV 기반 데이터 저장
- 실시간 시장 데이터 연동
2025_DB_GAPS/
├── app.py # 메인 Streamlit 애플리케이션
├── requirements.txt # Python 의존성 패키지
├── README.md # 프로젝트 문서
├── data/ # 데이터 파일들
│ ├── trading_log.csv # 국내계좌 거래 내역
│ ├── trading_log_us.csv # 해외계좌 거래 내역
│ ├── 국내계좌_투자대상_ETF.csv # 국내 ETF 목록
│ └── 해외계좌_투자대상_개별종목.csv # 해외 개별종목 목록
├── pages_module/ # 페이지 모듈들
│ ├── page_kr.py # 국내계좌 분석 페이지
│ └── page_us.py # 해외계좌 분석 페이지
└── utils/ # 유틸리티 모듈들
├── config.py # 설정 관리
├── data_loader.py # 데이터 로더
└── finance.py # 금융 계산 함수들
git clone https://github.com/S-eungwon/2025_DB_GAPS.git
cd 2025_DB_GAPSpip install -r requirements.txtstreamlit run app.py- streamlit: 웹 애플리케이션 프레임워크
- pandas: 데이터 처리 및 분석
- finance-datareader: 금융 데이터 수집
- ta: 기술적 분석 지표
utils/config.py에서 다음 설정을 관리할 수 있습니다:
INITIAL_CAPITAL_KR = 800000000 # 국내계좌 초기자본 (8억원)
INITIAL_CAPITAL_US = 147449 # 해외계좌 초기자본 (147,449달러)
FEE_RATE_KR = 0.001 # 국내 수수료 (0.1%)
FEE_RATE_US = 0.002 # 해외 수수료 (0.2%)
EXCHANGE_RATE = 1379.1 # 환율 (1달러 = 1,379.1원)국내계좌 (trading_log.csv)
- 구분1, 구분2, 티커, 종목명, 거래일, 거래유형, 거래수량, 평균단가, 금액
해외계좌 (trading_log_us.csv)
- 티커, 이름, 거래일, 거래유형, 구분, 거래수량, 평균단가, 금액
- 포트폴리오 수익률 계산: 실시간 가격 기반 평가손익 계산
- 실현손익 계산: 매수/매도 매칭을 통한 실현손익 추적
- FIFO(First In First Out) 매칭: 선입선출 방식의 포지션 관리
- 데이터 로드: CSV 파일 및 실시간 시장 데이터 수집
- 가격 데이터: FinanceDataReader를 통한 실시간 가격 정보
- 세션 관리: Streamlit 세션 상태를 통한 데이터 관리
- 국내계좌 분석: ETF 포트폴리오 성과 분석 및 기술적 지표
- 해외계좌 분석: 개별종목 성과 분석 및 환율 적용
각 종목에 대해 다음 기술적 지표를 제공합니다:
- RSI (상대강도지수): 과매수/과매도 판단
- ADX (방향성 지수): 추세의 강도 측정
- 볼린저밴드: 변동성 및 가격 범위 분석
- 메뉴 선택: 사이드바에서 원하는 분석 메뉴 선택
- 데이터 입력: 거래 정보 입력 페이지에서 매수/매도 내역 기록
- 성과 분석: 실시간 포트폴리오 성과 및 수익률 확인
- 기술적 분석: 각 종목의 기술적 지표 확인
- 실시간 가격: FinanceDataReader를 통한 자동 업데이트
- 거래 내역: CSV 파일 수동 업데이트 또는 웹 인터페이스 입력
- 기준일: 최신 거래일 기준으로 성과 계산
이 프로젝트는 제11회 DB GAPS 투자대회를 위해 개발되었습니다.
팀 아마따의 투자 대시보드 프로젝트입니다.
개발팀: 팀 아마따
프로젝트: 2025 DB GAPS 투자대회
기술스택: Streamlit, Python, Pandas, FinanceDataReader