
안녕하세요, 귀찮음 MAX 찍은 자동화맨입니다.
토스증권 앱은 수익률은 알려주는데, 왜 움직였는지는 안 알려주더라구요.
그래서 매주 종목마다 뉴스 뒤지다가 주말 끝나기 일쑤였습니다.
그래서 만들었습니다.
매주 토요일, 내 주식 종목이 왜 움직였는지 메일로 받아보는 자동화입니다.
결과부터 보면

매주 토요일이 되면 네이버 메일로 증권 리포트가 도착합니다.
자동화 흐름은 이렇습니다.
1. 토스증권 API로 내 계좌 조회
2. 파이썬으로 주간 손익 계산
3. 클로드 코드가 웹 검색으로 원인 분석
4. 네이버 메일로 발송
리포트는 다섯 덩어리로 구성돼 있습니다.
① 요약
이번 주 계좌가 얼마나 움직였는지 한눈에 보여줍니다.
② 손익 분석
해외주식은 주가가 그대로여도 환율 때문에 수익률이 바뀌거든요.
"내 종목이 잘한 건지, 달러가 잘한 건지"를 나눠서 보여줍니다.
③ 왜 움직였나

종목별로 왜 오르고 내렸는지 국내외 증권 소식을 참고해 판단을 내려줍니다.
④ 증권가 전망

해당 종목에 대한 증권사·애널리스트 의견을 모아줍니다.
⑤ 다음 주 일정
실적 발표, 경제 지표 발표처럼 다음 주에 챙겨볼 일정입니다.
그럼 이걸 어떻게 만들었는지,
먼저 이 모든 것의 시작인 토스증권 Open API부터 짚고 가겠습니다.
토스증권 open API

쉽게 말하면 내 토스증권 계좌를 클로드가 들여다볼 수 있게 열어주는 창구입니다.
앱에서 손가락으로 확인하던 걸 클로드가 대신 꺼내오는 거죠.
연동하면 할 수 있는 건 크게 다섯 가지입니다.
· 시세·시장 정보 : 국내·미국 주식 현재가, 일봉·분봉, 환율, 장 운영 시간
· 내 계좌·자산 : 계좌 목록, 보유 종목, 평가금액·손익
· 주문 : 매수·매도, 정정, 취소
· 조건주문 : 정해둔 가격에 도달하면 자동으로 매매
· 실시간 : 체결·호가·내 주문 소식을 실시간으로 받기
그래서 이런 걸 만들 수 있습니다.
이번 글 같은 주간 리포트, 가격 알림, 나만의 대시보드, 그리고 자동매매까지.
(자동매매는 제 멘탈이 아직 준비가 안 됐습니다)
이렇게 구축했습니다
1단계 : 토스증권 API 키 발급

일단, 토스증권 홈페이지에 방문해 API 키를 발급 받으세요.
발급하면 Client Id와 Client Secret 두 개가 나오는데,
둘 다 있어야 API를 쓸 수 있습니다.
참고로 키는 발급일로부터 1년간 유효합니다.

그리고 허용 IP 관리에서 IP 추가를 눌러, 주로 쓰는 곳의 IP를 등록합니다.
저는 집 PC에서 돌릴 거라 집 공인 IP를 넣었습니다.
여기 등록 안 된 곳에서는 API가 막혀요.
토스증권 API 키는 토스증권 계좌가 있어야 발급받을 수 있습니다.
토스증권을 안 쓰신다면 한국투자증권이나 키움증권에서도 API 키를 발급받을 수 있어요.
구조는 비슷하니, 증권사만 바꿔서 같은 자동화를 만들어 보셔도 됩니다.
2단계 : 연결 작업
키 발급을 완료했다면 이제 연결 작업을 해야 합니다.
① 파이썬 확인
주식 종목 분석은은 파이썬으로 돌아가고, 맥은 기본으로 들어 있습니다.
터미널에 이렇게 쳐보세요.
"python3 --version"
3.9 버전 이상이면 OK입니다.
② .env에 키 넣기
.env는 키와 비밀번호만 따로 넣어두는 금고 파일입니다.
이 파일은 Claude한테 만들어 달라고 했습니다.
"토스 API 키랑 네이버 메일 정보 넣을 .env 파일 만들어줘. 값은 내가 직접 넣을게"
그러면 빈칸만 있는 파일이 생깁니다.
TOSS_CLIENT_ID=
TOSS_CLIENT_SECRET=
NAVER_ID=
NAVER_MAIL_PASSWORD=
MAIL_TO=
네이버 아이디는 @naver.com를 빼고 넣고
비밀번호는 로그인 비밀번호가 아니라 애플리케이션 비밀번호입니다.
MAIL_TO를 비워두면 본인 메일로 옵니다.
③ 연결 테스트
토스증권 연결이 제대로 됐는지 체크해야 하는데
터미널에 이렇게 쳐보세요.
"python3 check.py"
성공하면 아래 예시처럼 나오게 됩니다.
✔ 토큰·계좌 조회 성공 — 계좌 1개
· BROKERAGE ****1234 (accountSeq)
✔ 보유 종목 (****1234) — 1종목
- QQQ (QQQ) 0주 $0 손익 +0% 오늘 +0.%
✔ 환율 USD/KRW 1360.0
3단계 : 클로드 앱 예약 작업
연결 작업을 마쳤다면 이제 매주 발송을 위한 예약 작업을 하면 되는데
클로드에게 딱 한마디만 하세요.
"지금까지 내용 바탕으로 토요일 아침 9시마다 네이버 메일이 오도록 예약 작업으로 만들어"

그러면 클로드가 알아서 예약 작업을 만들어 줍니다.
여기서 하나 챙겨야 할 게 있습니다.
원인 분석을 하려면 Claude가 웹 검색을 하는데, 그때마다 허용할지를 물어봅니다.

거부 / 항상 허용 / 한 번만 허용, 세 가지 중에 고르는 창인데요.
"한 번만 허용"을 누르면 다음 실행 때 또 물어봅니다.
토요일 아침에 제가 자고 있으면 클로드 혼자 허락을 기다리다 끝나는 거죠.
그래서 매주 알아서 돌게 하려면 "항상 허용"을 눌러두는 게 좋습니다.
4단계 : 최종 확인
모든 세팅을 완료한 다음에는 클로드에게 모든 작업이 완료 됐는지
테스트를 해달라고 요청해보세요.

클로드가 완료라고 메시지 주고 메일까지 왔다면 '최종 완료'.
참고로 클로드 앱이 켜져 있어야 실행됩니다.
꺼져 있었으면 다음에 앱을 켤 때 발송이 진행됩니다.
토요일 아침 9시 정각에 받고 싶다면 PC는 켜 두셔야 해요.
이런 문제도 있었습니다

이 글의 본론은 여기입니다.
토스 증권 API 발급과 클로드 코드 연동까지는 쉬운데
리포트 자동 발송에서 막힐 가능성이 높거든요.
저도 처음에 메일이 오지 않았습니다.
연동 완료했는데 네이버가 로그인을 거절하면서 메일이 안 나가더라구요.
마치 배민 주문했는데 배달 기사님이 문 앞에서 돌아간 상황인거죠.
원인은 네이버 메일의 SMTP 사용 설정이 꺼져 있던 것이었습니다.
이게 꺼져 있으면 비밀번호가 맞아도 똑같이 발송 오류가 납니다.
해결은 간단했습니다.

네이버 메일 → 왼쪽 아래 환경설정 → POP3/IMAP 설정
→ IMAP/SMTP 설정 탭에서 "IMAP/SMTP 사용"을 사용함으로 변경 → 저장

설정을 켜고 다시 돌리니 리포트가 메일로 도착했습니다.

정리하면 이렇습니다.
수익률만 보면 된다 → 증권 앱 확인
왜 움직였는지도 궁금하다 → 자동화 구축
어차피 장기투자다 → 그냥 잔다










