📌 AI랑 같이 만든 미국주식 현황판 '월가 작전실' 개발기 2편이에요. 이번엔 매일 아침 텔레그램으로 오는 보고와 앱 첫 화면이 어떻게 만들어졌고, 어디서 삽질했는지 정리했어요. 수량·평단·금액은 ???로, 보유 현황은 종목 이름까지 가렸고, 투자 권유가 아닙니다. 결론만 보실 분은 맨 아래 최종 요약으로 가세요.
지난 1편에서는 왜 만들었는지, 무엇은 하고 무엇은 안 하는지를 적었어요. VIX(공포지수) 기준선에 닿으면 "매수 검토", "매도 검토"로 알려 주는 구조였죠.
📎 궁금하신 분들은 지난 「AI한테 33억 토큰 써서 나만의 '월가 작전실'을 만들었다」 포스팅을 참고하세요 → 글 보러 가기
⚠️ 1편 정정: 1편에 매수 검토 기준을 VIX 30, 리밸런싱 비중을 20%로 적었는데, 이건 설정 파일의 처음 값이었어요. 실제로는 10월 초에 화면에서 매수 검토 20 · 매도 검토 13 · 비중 10%로 바꿔서 쓰고 있어요. 아래 화면에 "매수 검토 ≥20"이 보이는 이유예요.
1. 아침에 오는 메시지 한 통
평일 아침 8시 반이 되면 맥미니가 데이터를 모아서 텔레그램으로 보고를 보내요. 출근길에 폰만 열면 오늘 시장이 어떤지, 내 계좌가 어떤지 한 번에 보이게 하는 게 목표였어요.

위에서부터 읽는 순서가 정해져 있어요.
- 🧭 요약: 기준선 도달, 하이일드 스프레드 급등, 금리 역전, S&P500 장기 이동평균 아래 같은 신호를 한 줄로. 없으면 "특이 신호 없음".
- 📈 VIX: 값과 1주 변화, 지금 구간, 1990년 이후 몇 % 위치인지, 그리고 '추이' 한 줄.
- 📊 보조 지표: 하이일드 스프레드, 장단기 금리차, 원/달러, S&P500.
- 💼 보유 현황: 종목별 수익률·비중·금액, 비중이 기준을 넘으면 ⚖️ 표시.
- 🗞 그다음: 분기 재무 판정, 새 공시, 실적 일정, 뉴스 요약.
맨 끝에는 늘 "지표·기준 정리이며 투자 권유가 아닙니다. 판단은 직접 하세요."가 붙어요. 원화 금액은 만 원 단위로 줄이고, 1억이 넘으면 "N억 M만원"으로 써서 폰에서도 한눈에 읽히게 했어요.
💡 하이일드 스프레드: 신용등급 낮은 회사채가 국채보다 이자를 얼마나 더 주는지예요. 이 차이가 갑자기 벌어지면 시장이 불안하다는 신호로 봐요.
처음 만든 날은 10월 4일이에요. 보고 코드는 그날 오후에 나왔는데, "3일 연속으로 제시간에 도착해야 완성"이라는 기준을 걸어 둬서 손으로 세 번 보낸 건 완성으로 치지 않았어요. 첫 자동 도착은 10월 6일 아침이었어요. 맥이 잠들어 있으면 깨어날 때 보내고, 전원이 꺼져 있으면 그날은 건너뛰어요.
2. "높다, 낮다"만으론 부족했다: VIX 추이 한 줄
처음 보고는 VIX가 기준보다 높은지 낮은지만 알려 줬어요. 10월 26일에 이렇게 고쳐 달라고 했어요.
"단순 기준값대비 높고 낮음만 판단해서 알려주지말고, 과거 일정주기 움직임까지 판단하여 … 20에 가까이 계속 머무르고 있음. 그럼 해당 상황에 대한 간단한 브리핑도 같이 있어야함"
그래서 최근 20개 값의 기울기, 하루 움직임, 기준선 근처에 며칠 머물렀는지를 계산해서 상태를 붙였어요. '진입', '임박', '근처 머무름', '접근 중', '횡보', '멀어짐' 중 하나예요. 이 계산은 AI 모델을 부르지 않는 단순한 계산이라, 같은 데이터면 늘 같은 답이 나와요.

처음엔 "과거에 비슷한 상황에서 몇 % 확률로 닿았다" 같은 문장도 넣었는데, 검토를 맡은 다른 AI가 "확률처럼 보이면 예측으로 읽힌다"고 지적해서 뺐어요. 대신 끝에 늘 "예측·권유가 아닙니다"를 붙이고, 단정하는 말투는 테스트로 막아 뒀어요. 텔레그램에는 "└ 추이: 접근 중, 매수 검토 20까지 3.09, 최근 10일 중 5일 근처 (참고)" 같은 한 줄만 들어가요.

3. 티커 대신 회사 이름으로
보고에는 원래 티커(AAPL 같은 종목 기호)만 찍혔어요. 10월 27일 "티커로는 실제 회사명을 알기 어려운것들이 있어서."라고 했더니, 실적 보고와 뉴스 줄이 "회사명 (티커)"로 바뀌었어요. 한글 별칭이 있으면 한글, 없으면 영문 회사명, 그것도 없으면 티커 그대로예요. 이름을 찾으려고 인터넷을 새로 뒤지지 않고 이미 모아 둔 데이터에서만 찾게 해서, 이름 하나 때문에 보고가 늦어지는 일은 없게 했어요.
4. 보고가 통째로 안 오는 일은 없게
데이터를 여러 곳에서 받다 보니 어디 하나는 꼭 말썽이에요. 그래서 재무, 공시, 실적 일정, 뉴스를 따로 감싸서, 하나가 실패하면 "⚠️ 뉴스 오류" 같은 한 줄만 넣고 나머지는 그대로 보내요. 지표마다 기준일도 붙여요. 미국 연준 데이터는 하루 이틀 늦게 올라오는 날이 있는데, 그럴 때 "[10-28]"처럼 날짜가 붙어 있으니 늦은 값이라는 걸 숨기지 않아요.
뉴스 요약은 Claude 구독으로 하고, Claude 호출이 실패하면 맥미니에 깔아 둔 로컬 모델이 대신 요약해요. 그 줄에는 "(로컬 요약)"이 붙어요. 원래 gemma4 12b였는데, 같은 과제를 재 보니 gpt-oss 20b가 더 정확해서 10월 31일에 바꿨어요.
📎 궁금하신 분들은 지난 「쓰레드에서 추천하는 로컬 LLM, 24GB 맥미니에서 진짜 돌아갈까」 포스팅을 참고하세요 → 글 보러 가기
로컬로 바꾼 첫 주에 웃긴 일도 있었어요. 로컬 모델은 뉴스를 10건씩 묶어 요약하는데, 하루 호출 횟수를 알파벳 앞쪽 종목들이 다 써 버려서 META 기사가 통째로 빠진 거예요. 종목을 번갈아 돌리게 고쳤어요.
5. 앱 첫 화면: "숫자가 왜 안 바뀌어?"
앱(웹·맥·아이폰 홈 화면)을 열면 총자산, 전일 대비, 현금, 주식 수익률 카드가 먼저 나오고, 그 아래에 시장 카드와 보유 종목이 있어요. 달러와 원화는 버튼 하나로 바꾸고, 기기마다 마지막 선택을 기억해요. 첫 화면 모습은 1편에 실었으니 이번엔 고친 이야기만 할게요.
환율이 하루 늦었다
10월 23일 "작전실 앱 지금켰는데, 자산관련수치와 종목 수치가 업데이트가 안되"라고 했어요. 확인해 보니 환율은 아침에 모아 둔 값을 쓰고 있었는데, 그 값이 원래 하루 늦게 올라오는 데이터였어요. 22일 아침에 모은 값이 20일 환율이었던 거죠. 지금은 화면을 열 때 현재 환율을 받아 "(실시간 HH:MM)"을 붙여요.
'갱신 중'과 '갱신 안 됨'을 나눴다
숫자가 안 바뀌면 기다려야 하는지, 고장인지 알 수가 없었어요. "갱신안됨 / 갱신중 나눠서 표시해줘"라고 해서 지금은 회색으로 깜빡이는 "시세 갱신 중… (보통 1분 안)"과 빨간 "⚠ 시세 갱신 안 됨"이 따로 떠요. 장중에 앱을 막 열면 전일 대비가 어제 등락으로 잠깐 보이던 것도 11월 4일에 고쳐서, 이제 '갱신 중'을 띄우고 10초마다 다시 받아요.

카드는 최신인데 눌러 보면 옛날 값
"카드에는 마감가반영이되는데 막상 카드를클릭하면 반영이 안되어있어." 카드와 상세 창이 서로 다른 데이터를 보고 있었어요. 지금은 상세 창과 차트도 카드와 같은 최신 값을 쓰고, '최신 값'과 '공식 일별 값'을 나눠 보여 줘요.
추이 그래프가 19일에 멈춰 있었다
10월 21일 "오늘 마감이 됐는데 내포트폴리오 추이그래프는 19일에 머물러 있어." 그래프가 아침에 저장한 종가로만 날짜를 만들고 있었어요. 지금은 보유 종목 전부가 새 값을 받았을 때만 그래프 끝에 '오늘 점'을 이어요. 하나라도 빠지면 틀린 총액이 찍히니까요.
같은 그래프에서 두 손가락으로 확대하면 기간이 갑자기 3년으로 바뀌는 버그도 있었어요. 그래프 왼쪽에 여백을 조금 둔 게 원인이었는데, 확대하느라 범위가 살짝만 바뀌어도 "왼쪽 끝을 넘었다"로 읽어서 더 긴 기간을 불러온 거예요. 손가락을 대는 순간을 기준으로 3칸 넘게 더 끌어야 다음 기간을 부르게 고쳤어요. 이런 터치 버그는 자동 테스트로는 재현이 안 돼서, 결국 제 폰으로 직접 확인했어요.
폰에서 표를 옆으로 미는 게 너무 힘들었다
"옆으로 미는게 너무 어려워…" 보유 종목 표가 폰 화면보다 넓었거든요. 이제 표가 칸보다 넓어지면 종목마다 카드로 바뀌어요. 맥미니 창에서는 2열, 폰에서는 1열이에요. 바꾸다 보니 예전 폰 카드에서 칸 번호가 한 칸씩 밀려 손익이 엉뚱한 자리에 있던 것도 발견했어요. 정렬도 전일 대비 %와 금액 두 가지로 나눴어요.
그런데 이 카드 전환이 또 사고를 쳤어요. 스크롤만 하면 하단 탭바가 화면 가운데로 튀어 올라오는 거예요. 카드로 바꿀지 판단하려고 1분마다 화면을 다시 재는데, 그때 페이지 길이가 약 10,000px에서 5,400px로 순간 줄어들었어요. 화면 밖에 몰래 복사본을 만들어 거기서 재도록 바꿔서 해결했어요.
⚠️ 주의사항
⚠️ 투자 권유가 아니에요: 앱은 지표와 제 기준을 정리해 알려 줄 뿐이고, 매매는 직접 판단해요.
⚠️ 무료 데이터라 늦을 수 있어요: 지표마다 기준일을 붙이는 이유예요. 실시간 시세 앱이 아니에요.
마치며
아침 보고 하나에 이렇게 손이 많이 갈 줄 몰랐어요. 기능을 새로 넣은 것보다 "숫자가 왜 안 바뀌지?", "이건 늦은 값인가?"처럼 믿고 볼 수 있게 만드는 일이 훨씬 오래 걸렸어요. 그래도 지금은 출근길에 메시지 한 통만 보면 되니, 퇴근 후에 들인 시간이 아깝진 않아요.

다음 3편에서는 증권사 앱 같은 차트와 분기 재무 점검을 정리할게요.
최종 요약
✅ 결론만 보고 싶은 분
1. 평일 아침 8시 반, 요약 → VIX → 보조 지표 → 보유 현황 → 재무·공시·뉴스 순서로 텔레그램 보고가 와요.
2. VIX는 높다·낮다 대신 '접근 중' 같은 추이 한 줄을 붙였고, 예측처럼 읽히는 문장은 뺐어요.
3. 한 곳이 실패해도 보고는 가고, 늦은 데이터엔 기준일이 붙어요.
4. 앱 첫 화면은 환율 지연, 갱신 표시, 상세 창 값, 오늘 점, 폰 카드까지 "믿고 볼 수 있게" 고치는 데 시간이 제일 많이 들었어요.
· · ·
주식 앱이나 알림 봇 직접 만들어 보신 분 있으면 댓글로 얘기 나눠요!
#월가작전실 #주식앱만들기 #텔레그램봇 #ClaudeCode #맥미니
'만들기' 카테고리의 다른 글
| 뮤즈에게 운동 기록 앱을 만들어 달라고 했다|2주 사용 후기, 권장 무게·증량 순서를 고친 기록 (0) | 2026.11.10 |
|---|---|
| 뒷북으로 따라 만든 AI 에이전트 사무실|결재 올리면 엘리베이터 타고 본부장실로 간다 (0) | 2026.11.04 |
| AI한테 33억 토큰 써서 나만의 '월가 작전실'을 만들었다|맥미니 한 대로 만든 주식 앱 1편 (0) | 2026.10.30 |
| 폰으로 보고, 알림 받고, 맥미니 켜면 저절로|스테이터스 위젯 제작기 2편 (0) | 2026.10.26 |
| 토큰 0으로 AI 사용량 보는 위젯 만들기|스테이터스 위젯 제작기 1편 (0) | 2026.10.24 |