Post

개발 기획

자동 주식 매매 프로그램 개발 기획

개요

본 문서는 사용자 설정을 기반으로 주식 정보를 수집하고, 실시간 주가를 모니터링하며, 설정된 조건에 따라 주식을 자동으로 매매하는 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 내장 차트 및 데이터프레임을 사용하여 복잡한 시각화 작업을 간소화하고 직관적인 손익 현황을 제공합니다

개발 일정

본 개발 일정은 예상 일정이며, 상세 개발 내용에 따라 변경될 수 있습니다.

단계시작일완료일주요 작업 내용
1DateDate기획 및 환경 설정, 핵심 기능 정의, Streamlit 프로젝트 구조 설계 (Calendar event 프로젝트 킥오프 미팅)
2날짜날짜소셜 로그인 기능 통합 (Google/Naver 클라이언트 키 발급, 인증 모듈 및 세션 관리 로직 구현)
3DateDate기능 1(정보 수집)

2(실시간 조회) 구현 및 UI 레이아웃 구성
4DateDate기능 3(자동 매매), 4 (손익 대시보드) 구현 및 증권사 API 연동
5DateDate통합 테스트 및 UI/UX 개선 ((Plotly 캔들차트, KPI 메트릭, 커스텀 CSS 적용, 버그 수정 포함)
6DateDate최종 검토 및 배포

(운영 서버: 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 공식 문서)

연락처

문의 사항은 백흠경 에게 연락 주시기 바랍니다.