ChatGPT로 미국 주식 양도소득세 절세 계산기 만들기
매년 5월에 찾아오는 세금 폭탄, 미리 피하는 방법
매년 미국 주식으로 250만 원을 넘게 벌면 양도소득세를 내야 합니다. 지난번 KREAM 리셀 역프 봇으로 쏠쏠한 재미를 봤다면, 이번에는 내 돈을 지키는 방법을 함께 만들어보려고 해요. 증권사에서 다운로드한 실현 손익 CSV 파일만 넣으면 최적의 절세 시나리오를 계산해 주는 화면을 바로 띄워보겠습니다.

준비물은 정말 간단합니다
이번 프로젝트는 복잡한 설치가 필요 없습니다. ChatGPT 하나만 준비하시면 충분하거든요. 파이썬이나 데이터베이스 설정 없이 index.html 파일 하나로 모든 걸 끝내겠습니다.

한 번에 끝내는 제작 흐름
우선 데이터 파일을 올릴 수 있는 기본 화면을 만듭니다. ChatGPT에게 이렇게 명령을 내려봅니다.
이 단계에서는 복잡한 기능보다 파일이 깨지지 않고 깔끔하게 업로드되는지만 확인하면 됩니다. 뼈대만 단단히 잡아둬도 다음 작업이 훨씬 수월해져요. 브라우저에서 실행했을 때 파일 업로드 버튼이 정상적으로 보이면 통과입니다.
이제 업로드한 데이터에서 실제 손익을 계산할 시간이에요. 계산 공식을 얹기 위해 다음 프롬프트를 보냅니다.
ChatGPT가 250만 원 기본 공제를 초과한 금액의 22% 세율을 바탕으로 예상 세금을 계산해 줄 겁니다. 만약 지금 수익 상태라면, 어떤 종목을 일부러 손절해서 세금을 깎을 수 있는지 제안하는 팁까지 화면에 띄워줍니다. 계산 결과가 표 형태로 가지런히 출력되면 성공입니다.
텍스트로만 보면 눈에 잘 안 들어오니 다크 테마와 도넛 차트를 입혀보겠습니다. 화면을 깔끔하게 다듬어 달라고 요청할게요.
순식간에 프리미엄 금융 대시보드 느낌의 화면이 완성됩니다. 그래프 위로 마우스를 올리면 반응하는 인터랙티브 차트까지 아주 부드럽게 작동할 거예요. 이로써 누구나 쉽게 쓸 수 있는 1인용 절세 계산기가 완성됩니다.
여기서 막히면
- 현상: 업로드한 CSV의 한글 종목명이 깨지거나 이상한 문자로 나옵니다.
원인: 국내 대부분의 증권사는 CSV 파일을 UTF-8이 아닌 EUC-KR 또는 CP949 방식으로 인코딩해 내보내기 때문입니다.
해결: ChatGPT에게 '자바스크립트 FileReader에서 텍스트를 읽을 때 인코딩 방식을 EUC-KR로 처리하도록 코드를 고쳐줘'라고 명시적으로 요청하세요. - 현상: 파일을 업로드했는데 화면에 아무 반응이 없고 에러가 뜹니다.
원인: 증권사마다 CSV의 첫 줄 헤더 명칭(예: 종목명 vs 상품명, 실현손익 vs 평가손익)이 달라서 매칭에 실패한 탓입니다.
해결: 텍스트 파싱 부분에서 '종목, 손익, 이익, 매도' 같은 키워드가 포함되면 자동으로 해당 컬럼을 매핑하도록 정규식 매칭 처리를 추가해 달라고 지시합니다. - 현상: 마이너스 손실 종목을 계산할 때 합산 금액이 이상하게 커집니다.
원인: CSV 내의 마이너스 금액 표시가 일반 기호(-) 대신 괄호나 쉼표가 섞여서 문자열로 처리되었기 때문입니다.
해결: 숫자로 파싱하기 전에 특수 기호를 걷어내고 parseFloat로 확실히 형변환하도록 정규식 정제 로직을 넣어 달라고 ChatGPT에게 시키면 해결됩니다.
다음에 붙여볼 것
이번에는 내 컴퓨터에서 작동하는 단일 파일 계산기로 가볍게 시작했습니다. 다음에는 환율 변동을 자동으로 반영해 원화 환산 세금까지 정밀 분석해 주는 에이전트로 업그레이드해 보겠습니다. 이렇게 조금씩 붙여 나가면 남들이 유료로 파는 서비스도 뚝딱 만들어 낼 수 있습니다.
이런 글도 있어요
관련 검색어
- 🔍 ChatGPT 사용법
- 🔍 ChatGPT 비교
- 🔍 미국 주식 사용법
- 🔍 미국 주식 비교
- 🔍 양도소득세 사용법
- 🔍 양도소득세 비교