개발 기획
자동 주식 매매 프로그램 개발 기획
개요
본 문서는 사용자 설정을 기반으로 주식 정보를 수집하고, 실시간 주가를 모니터링하며, 설정된 조건에 따라 주식을 자동으로 매매하는 Streamlit 기반 웹 서비스의 개발 계획을 설명합니다.
사용자는 웹 브라우저를 통해 시스템에 접근하며, Python 단일 언어로 구축된 직관적인 인터페이스를 통해 모든 기능을 이용할 수 있습니다.
이 문서는 Google Docs, Gemini, ChatGPT를 이용하여 작성하였습니다.
주요 기능 및 모듈
| 기능 번호 | 기능 모듈 | 세부 설명 |
|---|---|---|
| 1 | 주요 사이트 정보 스크랩 및 정리 | Yahoo Finance와 같은 특정 금융 웹사이트에서 주식 관련 뉴스, 재무 정보 등을 스크랩하여 구조화된 데이터로 정리하는 기능. Streamlit 버튼 클릭 이벤트를 통해 최신 데이터를 즉시 수집하고 화면에 렌더링합니다. |
| 2 | 티커 검색 : 종목의 전체 또는 일부 이름을 입력하여 관련 티커 및 종목명 목록 찾기 | 별도 라이브러리 사용 또는 검색 API 연동이 필요합니다. (예: yahoofin 라이브러리, 또는 야후 파이낸스의 비공식 검색 API를 requests로 직접 호출) |
| 3 | 실시간 주가 조회 및 웹 UI 표시 | Google Finance API를 활용하여 사용자가 설정한 티커(종목 코드)별 현재 주가를 실시간으로 조회하고, 웹 사용자 인터페이스(UI)에 표시하는 기능 Streamlit의 st.empty 또는 자동 리프레시 기능을 활용하여 별도의 프론트엔드 코드 없이 실시간 변동을 대시보드에 표시합니다. |
| 4 | 자동 매매 시스템 | 사용자가 Streamlit 사이드바 또는 입력 위젯을 통해 설정한 상한가 및 하한가 조건에 도달했을 때, 증권사 API를 통해 주식을 자동으로 매수 또는 매도하는 기능. 매매 실행을 위한 File 증권사 API 연동 문서가 필요합니다.(백엔드 서버에서 실행) |
| 5 | 보유 주식 손익 관리 및 웹 대시보드 | 현재 보유 중인 주식의 매입 단가와 실시간 주가를 비교하여 현재 손익(절대 금액 및 수익률)을 계산합니다. Streamlit 내장 차트 및 데이터프레임을 사용하여 복잡한 시각화 작업을 간소화하고 직관적인 손익 현황을 제공합니다 |
개발 일정
본 개발 일정은 예상 일정이며, 상세 개발 내용에 따라 변경될 수 있습니다.
| 단계 | 시작일 | 완료일 | 주요 작업 내용 |
|---|---|---|---|
| 1 | Date | Date | 기획 및 환경 설정, 핵심 기능 정의, Streamlit 프로젝트 구조 설계 (Calendar event 프로젝트 킥오프 미팅) |
| 2 | 날짜 | 날짜 | 소셜 로그인 기능 통합 (Google/Naver 클라이언트 키 발급, 인증 모듈 및 세션 관리 로직 구현) |
| 3 | Date | Date | 기능 1(정보 수집) 2(실시간 조회) 구현 및 UI 레이아웃 구성 |
| 4 | Date | Date | 기능 3(자동 매매), 4 (손익 대시보드) 구현 및 증권사 API 연동 |
| 5 | Date | Date | 통합 테스트 및 UI/UX 개선 ((Plotly 캔들차트, KPI 메트릭, 커스텀 CSS 적용, 버그 수정 포함) |
| 6 | Date | Date | 최종 검토 및 배포 (운영 서버: Streamlit Community Cloud 또는 개인 서버) |
필요 리소스
프로그램 개발 및 운영을 위해 다음 리소스가 필요합니다.
- 개발자:
- 기술 스택:
- Core: Python
- Web Framework & UI: Streamlit, Plotly (인터랙티브 차트)
- Data & API: 금융 API 라이브러리 (야후 파이낸스 등), 데이터베이스 (SQLite 또는 Pandas 파일 저장), python-dotenv, requests (OAuth 연동용)
- API 접근 권한: Google Finance 및 증권사 API 접근 권한 확보, Google/Naver 소셜 로그인 API 클라이언트 ID/Secret 확보
- 참고 자료: File Yahoo Finance 스크랩 가이드, File (Google OAuth 2.0 공식 문서)
연락처
문의 사항은 백흠경 에게 연락 주시기 바랍니다.