실제 구동 화면 전체 공개
로그인 → 계좌현황 → 스케줄 → 자동매매 → 주문현황 → 이력 → 대시보드 → 알림설정까지, 완성된 웹앱의 9개 패널을 실제 운용 데이터와 함께 공개합니다
1~5편에 걸쳐 기획·구현·디버깅·보안까지 이야기했지만, "실제로 어떻게 생겼는지"가 가장 궁금하실 분들을 위해 실제 화면 스크린샷 전체를 공개합니다. 모의투자 계좌로 테스트하며 실제로 주문이 나간 이력이 그대로 담겨 있습니다.
· 키움증권 REST API (모의투자 계좌 사용)
· Python FastAPI + Vanilla JS, 모바일 반응형 UI
· 브라우저: 같은 와이파이 내 PC / 모바일
1 로그인 화면
서버를 실행하고 브라우저에서 IP:8000으로 접속하면 가장 먼저 만나는 화면입니다. 5편에서 구현한 쿠키 기반 인증 덕분에, 비밀번호를 모르면 이 화면에서 차단됩니다. 로그인 성공 시 쿠키가 30일간 유지되어 재접속 시 자동 통과됩니다.
로그인 화면 — 쿠키 기반 세션 인증
2 계좌현황 패널
로그인 후 첫 번째 탭입니다. 키움 REST API를 통해 보유 종목의 평가금액·평균단가·수익률·포트폴리오 비중을 실시간으로 조회합니다. 종목 옆 토글 버튼으로 리밸런싱 제외/편입을 즉시 설정할 수 있습니다.
계좌현황 패널 — 보유 종목 평가금액 및 비중 현황
배당 순위 검색
계좌현황 탭 하단에는 배당 순위 검색이 있습니다. 코스피·코스닥 고배당 종목을 즉시 조회하고, 원하는 종목을 편입 목록에 바로 추가할 수 있습니다.
배당 순위 검색 — 고배당 종목 조회 및 편입 추가
3 스케줄 설정 패널
매도와 매수 시간대를 각각 설정합니다. 시작·종료 시간과 분할 횟수를 입력하면 엔진이 자동으로 주문 간격 = (종료시간 − 시작시간) ÷ 분할횟수를 계산합니다.
예: 09:05~09:35 사이 매도 3회 → 10분 간격으로 3번. 매수는 매도 미체결이 모두 소진된 후 지정 시간 범위 내에서 시작합니다.
⏰ 스케줄 설정 패널 — 매도/매수 시간대 및 TWAP 분할 횟수
| 항목 | 설명 |
|---|---|
| 매도 시작/종료 | 매도 주문을 집행하는 시간 범위 |
| 매도 분할횟수 | 전체 매도 수량을 몇 회에 나눌지 (TWAP) |
| 매수 시작/종료 | 매도 미체결 소진 후, 이 범위 안에서 매수 시작 |
| 매수 분할횟수 | 목표 매수금액을 몇 회에 나눌지 |
4 자동매매 패널
리밸런싱의 핵심 화면입니다. 스케줄을 시작하면 WebSocket 실시간 로그가 스트리밍되고, 주문 계획(매도·매수 대상 종목, 목표 수량)과 현재 진행 상태를 보여줍니다. 화면이 길어서 아래로 스크롤하면 실시간 로그와 체결 현황까지 확인할 수 있습니다.
烙 자동매매 패널 전체 — 주문 계획 + 실시간 로그 + 체결 현황
↕ 스크롤하여 전체 화면 확인
매수·매도 주문번호, 체결 수량, 평균 단가는 실제 모의투자 데이터입니다. 실계좌와 동일한 UI로 동작하며, config.json의
is_mock: true를 false로 바꾸면 실계좌 거래가 됩니다.
5 주문현황 패널
접수된 주문의 체결 상태를 실시간으로 추적합니다. 미체결 주문은 10분 경과 후 현재가로 자동 정정됩니다. 주문번호·종목·주문수량·체결수량·미체결수량이 한눈에 표시됩니다.
주문현황 패널 — 체결/미체결 주문 실시간 추적
↕ 스크롤하여 전체 화면 확인
· 주문 접수 후 10분 경과 → 미체결 잔량 확인
· 미체결 잔량 > 0 → 현재가로 정정 주문 자동 발송
· OrderQueue를 통해 10초 간격으로 종목 1개씩 순차 처리
6 이력 패널
리밸런싱을 실행할 때마다 SQLite DB에 이력이 자동 저장됩니다. 날짜별 실행 요약, 종목별 매도·매수 내역, 그리고 배당금 수령 이력까지 한 화면에서 확인할 수 있습니다. CSV 내보내기도 지원합니다.
이력 패널 — 리밸런싱 실행 이력 및 배당금 내역
7 대시보드 패널
포트폴리오 성과를 시각화하는 분석 화면입니다. Chart.js로 월별 평가금액 추이와 연도별 배당금 수령 현황을 차트로 보여주며, TWR(시간가중수익률) 기준 누적 수익률과 연환산 수익률을 자동 계산합니다.
대시보드 패널 — 평가금액 추이 + 배당금 차트 + TWR 수익률
| 지표 | 설명 |
|---|---|
| 평가금액 추이 | 월별 스냅샷 기반 포트폴리오 총액 라인 차트 |
| 배당금 차트 | 연도별 수령 배당금 합계 막대 차트 |
| TWR 누적수익률 | 입출금 영향 제거한 순수 운용 성과 |
| 연환산 수익률 | 운용 기간 기준 CAGR 방식 연환산 |
8 알림설정 패널
텔레그램 Bot Token과 Chat ID를 입력하고 알림 항목별로 ON/OFF를 설정합니다. "연결 테스트" 버튼으로 즉시 발송 확인이 가능합니다. 장 시작 전 08:50 포트폴리오 현황 알림은 ScheduledNotifier가 별도 타이머로 자동 발송합니다.
알림설정 패널 — 텔레그램 Bot 연동 및 항목별 ON/OFF
✔ 로그인 — 쿠키 기반 인증, 30일 세션
✔ 계좌현황 — 실시간 잔고 조회 + 배당 순위 검색
✔ 스케줄 설정 — 매도/매수 시간 + TWAP 분할 횟수 설정
✔ 자동매매 — WebSocket 실시간 로그 + 주문 계획 + 체결 추적
✔ 주문현황 — 미체결 실시간 조회 + 10분 자동 정정
✔ 이력 — 리밸런싱 실행 이력 + 배당금 내역 (SQLite)
✔ 대시보드 — 평가금액 추이 + 배당금 차트 + TWR 수익률
✔ 알림설정 — 텔레그램 5종 알림 ON/OFF
직접 실행해보고 싶다면
키움증권에서 REST OpenAPI를 신청하면 App Key와 Secret Key를 발급받을 수 있습니다. 모의투자 계좌로 먼저 테스트한 뒤 실계좌로 전환하는 것을 강력히 권장합니다.
| 편 | 구현 내용 |
|---|---|
| 2편 | KiwoomRestClient (토큰 관리), AccountManager (잔고 조회) |
| 3편 | RebalancingEngine (TWAP 계산), OrderQueue, OrderManager |
| 4편 | WebSocket 실시간 로그, HistoryManager (SQLite TWR), Chart.js 대시보드 |
| 5편 | 쿠키 인증 미들웨어, 버그 수정 3종, 계좌별 설정 분리 |
댓글 없음:
댓글 쓰기