Skip to content

S-eungwon/2025_DB_GAPS

Repository files navigation

💹 2025_DB_GAPS - 투자 대시보드

제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                 # 금융 계산 함수들

🚀 설치 및 실행

1. 저장소 클론

git clone https://github.com/S-eungwon/2025_DB_GAPS.git
cd 2025_DB_GAPS

2. 의존성 설치

pip install -r requirements.txt

3. 애플리케이션 실행

streamlit 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)

  • 티커, 이름, 거래일, 거래유형, 구분, 거래수량, 평균단가, 금액

🔧 주요 모듈 설명

utils/finance.py

  • 포트폴리오 수익률 계산: 실시간 가격 기반 평가손익 계산
  • 실현손익 계산: 매수/매도 매칭을 통한 실현손익 추적
  • FIFO(First In First Out) 매칭: 선입선출 방식의 포지션 관리

utils/data_loader.py

  • 데이터 로드: CSV 파일 및 실시간 시장 데이터 수집
  • 가격 데이터: FinanceDataReader를 통한 실시간 가격 정보
  • 세션 관리: Streamlit 세션 상태를 통한 데이터 관리

pages_module/

  • 국내계좌 분석: ETF 포트폴리오 성과 분석 및 기술적 지표
  • 해외계좌 분석: 개별종목 성과 분석 및 환율 적용

📈 기술적 지표

각 종목에 대해 다음 기술적 지표를 제공합니다:

  • RSI (상대강도지수): 과매수/과매도 판단
  • ADX (방향성 지수): 추세의 강도 측정
  • 볼린저밴드: 변동성 및 가격 범위 분석

🎯 사용법

  1. 메뉴 선택: 사이드바에서 원하는 분석 메뉴 선택
  2. 데이터 입력: 거래 정보 입력 페이지에서 매수/매도 내역 기록
  3. 성과 분석: 실시간 포트폴리오 성과 및 수익률 확인
  4. 기술적 분석: 각 종목의 기술적 지표 확인

🔄 데이터 업데이트

  • 실시간 가격: FinanceDataReader를 통한 자동 업데이트
  • 거래 내역: CSV 파일 수동 업데이트 또는 웹 인터페이스 입력
  • 기준일: 최신 거래일 기준으로 성과 계산

📝 라이선스

이 프로젝트는 제11회 DB GAPS 투자대회를 위해 개발되었습니다.

🤝 기여

팀 아마따의 투자 대시보드 프로젝트입니다.


개발팀: 팀 아마따
프로젝트: 2025 DB GAPS 투자대회
기술스택: Streamlit, Python, Pandas, FinanceDataReader

About

2025 제11회 DB GAPS 투자대회 팀 아마따 레포지토리

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages