[태그:] 데이터 자동화

  • 해외주식 양도세, 매도 전에 미리 계산하는 법

    해외주식 양도세, 매도 전에 미리 계산하는 법

    매도 버튼 앞에서 망설이는 이유, 세금이 얼마인지 모르니까

    익절했는데 손해 본 기분, 세후 금액을 몰라서

    양도세 미리 계산하는 방법을 검색하는 순간은 대부분 매도 직전이다. 나도 작년에 똑같았다. 평단에 걸어둔 종목이 목표가에 닿았는데 손가락이 안 움직였다. 세금을 얼마 떼일지 모르니까.

    익절인데도 찜찜한 이유가 이거다. 매도 금액은 화면에 있는데 내 통장에 들어올 돈은 안 보인다.

    결정이 늦어지면 기회가 지나간다

    세금 몰라서 하루 미루고 이틀 미루다 가격이 되돌아간 적이 있다. 그때 배운 게, 매도 결정은 세후 숫자를 알아야만 제대로 된 결정이라는 거다. 세전으로 고민하는 건 반쪽짜리 고민이다.

    양도세 계산 공식, 기준가부터 차근차근

    핵심 공식: 양도차익 = 매도가액 − 취득가액 − 필요경비

    양도세란 주식 등을 매도해 실현한 양도차익에 대해 부과되는 소득세다. 계산식 자체는 단순하다. 매도가액에서 취득가액과 필요경비(거래 수수료, 세금 따위)를 빼면 양도차익이 나오고, 여기에 세율을 곱한다.

    예를 들어 취득가액 800만 원짜리 지분을 1,000만 원에 팔고 수수료 등 필요경비가 2만 원이었다면 양도차익은 198만 원이다. 해외주식은 여기서 연 250만 원 기본공제를 뺀 금액이 과세표준이 된다. 이 예시는 198만 원이라 공제 안에서 끝나 세금이 없다.

    국내주식 vs 해외주식, 기준가가 다르다

    국내 상장주식은 대주주가 아니면 장내 매도 차익에 양도세가 붙지 않는다. 그래서 이 글의 계산은 해외주식 기준이다. 해외주식은 달러 매수 금액을 취득일의 기준환율로 원화환산한 게 취득가액이고, 매도금액도 매도일의 기준환율로 환산한다. 여기서 한 번 걸렸다. 내가 처음 해외주식 손익을 정리할 때 매수 당시 환율이 아니라 매도 시점 환율을 취득가액에도 적용했다. 세후 금액이 실제보다 크게 잡혀서 매도를 미룰 뻔했다. 환산 시점이 취득과 매도 각각 다르다는 걸 뒤늦게 확인하고 계산식을 고쳤다.

    20% 세율에 지방소득세를 더한 실제 부담률 22%

    해외주식 양도세율은 양도소득세 20%에 지방소득세 2%(양도소득세의 10%)를 더해 총 22%다. 시뮬레이션 도구를 만들 때 지방소득세를 빼먹으면 세후 금액이 실제보다 크게 나온다. 처음 버전을 만들 때 20%만 넣었다가 지방소득세를 별도 과세분으로 붙이는 걸 놓쳐서 계산을 다시 한 적이 있다.

    250만 원 공제, 실현손익 기준으로 어떻게 소진되나

    당해 연도 실현손익 합산이 먼저다

    250만 원 기본공제는 연간 실현손익 합산에서 뺀다. 여기가 제일 헷갈리는 지점이다. 이 공제는 “한 건 매도당 250만 원”이 아니라 1년 동안 모든 매도손익을 합친 뒤 딱 한 번 적용된다. 다른 종목에서 200만 원 양도차익을 이미 실현했다면 남은 공제는 50만 원뿐이다. 같은 해 손실 난 종목이 있으면 이익과 합산(손익통산)해서 계산한다.

    공제 잔여분 추적법

    그래서 매도 전에 봐야 할 건 “이 종목의 양도차익”이 아니라 “올해 내 누적 실현손익”이다. 미니 예제로 정리한다. 1월에 A종목 양도차익 180만 원을 실현했다. 지금 B종목을 팔면 양도차익 120만 원이 예상된다. 합산 300만 원에서 250만 원을 빼면 과세표준 50만 원, 세금은 22%를 곱해 11만 원이다. 만약 B를 내년 1월에 팔면? 올해 실현손익은 180만 원이라 공제 안에서 끝나 세금 0원이고, 내년에는 공제 250만 원이 새로 주어진다. 연도는 체결일이 아니라 결제일 기준으로 갈리니 연말 매도는 결제일까지 확인한다.

    연중 분할매도가 공제를 갉아먹는다

    나는 원래 익절 목표에 도달하면 몇 번에 나눠 파는 습관이 있었다. 그런데 연중에 여러 종목을 조금씩 깎아내다 보니 공제 잔여분이 0원이 된 해가 있었다. 12월에 잡은 큰 익절이 공제 없이 그대로 과세됐다. 이후로는 매도 전에 올해 누적 실현손익을 먼저 세고, 공제가 얼마 남았는지 본 다음 매도 시점을 정한다.

    해외주식은 환율이 두 번 들어간다

    취득일 기준환율 vs 매도일 기준환율

    해외주식 양도세 계산에서 환율은 취득일과 매도일, 각각 해당 날짜의 기준환율로 두 번 적용된다. 같은 종목, 같은 수량이라도 환율 시점에 따라 양도차익이 달라진다.

    환차익은 세금 계산에 어떻게 녹아드나

    달러로는 본전인 매도라도 원화로는 차익이 날 수 있다. 취득할 때 환율이 낮고 매도할 때 높으면, 주식 자체는 제자리였어도 원화 환산 양도차익이 생긴다. 이 환차익 부분에도 양도세가 붙는다. 달러 강세일 매도하면 세금이 커지는 건 이 구조 때문이다.

    환율 데이터 매칭에서 내가 겪은 실수

    환율을 자동으로 붙이는 파이프라인을 만들 때 매도일 기준환율 매칭에서 실패했다. 주말에 해외주식 매도가 체결된 거래내역이 있었는데, 주말엔 기준환율이 발행되지 않으니 매칭이 비어 있었다. 처음엔 데이터 소스 오류인 줄 알고 API를 갈아끼웠다. 원인은 단순했다. 주말·공휴일 매도는 직전 영업일 환율 처리가 필요했다. 이런 예외 케이스를 직접 겪고 나서야 거래일 캘린더 체크를 앞단에 넣었다.

    해외주식 환율과 거래내역 정리

    매도 전에 내 계좌 기준 세후 금액 확인하는 법

    증권사 거래내역 내려받아 한 번에 모으기

    이제 실전 흐름이다. 내가 매도 전에 돌리는 순서를 그대로 적는다.

    1. 증권사 홈페이지에서 연간 거래내역(매수·매도·해외주식 환율 포함)을 엑셀로 내려받는다.
    2. 올해 실현손익을 합산해 250만 원 공제 잔여분을 계산한다.
    3. 매도 예정 종목의 예상 양도차익에 잔여 공제와 22% 세율을 적용해 세후 금액을 본다.
    4. 오늘 매도와 내년 1월 매도 중 어느 쪽이 세후로 나은지 비교한다.

    세후 시뮬레이션 예시

    손으로 한 번 해보면 감이 온다. 올해 실현손익이 아직 0원인 계좌에서 양도차익 1,900만 원짜리 매도를 앞뒀다면 공제 250만 원을 빼고 과세표준 1,650만 원, 세금 363만 원이다. 이미 누적 차익 200만 원이 쌓인 계좌라면 잔여 공제 50만 원, 과세표준 1,850만 원, 세금 407만 원. 같은 1,900만 원 차익이 세후로는 1,537만 원과 1,493만 원으로 갈린다. 이 숫자를 매도 버튼 누르기 전에 봐야 한다.

    오늘 매도 vs 내년 1월 매도 비교

    구분 오늘 매도 내년 1월 매도
    양도차익 1,200만 원 1,200만 원 (가격 동일 가정)
    공제 잔여 50만 원 250만 원 (갱신)
    과세표준 1,150만 원 950만 원
    세금(22%) 253만 원 209만 원

    주의할 건 이 표가 예상치라는 거다. 실제 세금은 다음해 5월 확정 신고 때 환율·경비 반영 후 확정된다. 시뮬레이션은 매도 결정 지원용이지 신고 대용이 아니다.

    거래내역 매번 손으로 정리하지 않는 방법

    증권사별 파일 형식이 제각각인 현실

    문제는 위 흐름을 매번 손으로 하려면 은근 시간이 든다는 거다. 증권사마다 엑셀 컬럼명이 다르고, 해외주식 환율 컬럼은 아예 없는 곳도 있다. 한 번 정리해두고 매도 때마다 재확인하는 구조가 필요했다.

    자동 수집 + 자동 정리 파이프라인

    나는 지금 여러 개의 cron 을 무인으로 돌리는데, 그중 하나가 거래내역 정리다. 내려받은 엑셀을 지정 폴더에 던져 넣으면 종목별 취득가액 환산, 실현손익 누적, 공제 잔여 계산까지 돌려주는 흐름이다. 초반에 이 파이프라인이 만든 결과를 며칠 믿었다가, 다른 증권사 파일이 들어왔을 때 컬럼 매핑이 밀려서 손익이 이상하게 집계된 걸 나중에 발견했다. 그 뒤로는 자동 계산 결과를 사람이 눈으로 스캔하는 확인 단계를 그대로 두고 있다. 자동화를 믿되 검산 지점은 남겨두는 게 내 기준이다.

    손으로 정리할 때 나오는 실수

    손으로 정리하는 게 나쁜 건 아닌데, 같은 실수가 반복된다. 취득가액을 매수 금액 원화 표시값으로 쓰는 경우(환율 환산을 빼먹는다), 매도 수수료를 필요경비에서 빼먹는 경우, 올해 누적 실현손익을 안 세고 종목 단위로만 계산하는 경우. 셋 다 공제 잔여를 잘못 잡게 만들어서 세후 예상 자체가 틀어진다.

    요약: 매도 결정 전 3분 체크리스트

    공제 잔여 → 환율 → 분할매도 순서로 확인

    매도 전 확인 순서를 정해두면 3분이면 된다. 먼저 올해 누적 실현손익으로 공제 잔여를 세고, 해외주식이면 취득·매도 각각의 기준환율로 환산했는지 보고, 분할매도라면 몇 번째 매도가 공제를 넘어서는지 본다. 순서가 뒤바뀌면 종목 하나만 보고 “세금 없네” 하고 넘기기 쉽다.

    계산은 예상치, 신고는 확정값

    아무리 정확히 시뮬레이션해도 다음해 5월 신고 전까지는 예상치다. 계산 결과를 근거로 매도 시점을 정하는 건 좋은데, 세금 숫자를 확정처럼 여기고 자금 계획을 짜면 곤란해진다. 여유분을 남겨두는 편이 마음이 편하다.

    지금 바로 해볼 수 있는 첫 액션

    오늘 할 일은 하나면 된다. 증권사에서 올해 거래내역 엑셀을 내려받아 실현손익 합계 하나만 세보는 것. 그 숫자만 있으면 250만 원에서 얼마가 남았는지 바로 나온다. 그다음 매도 결정은 훨씬 빨라진다. 세후 숫자를 아는 순간, 매도 버튼은 그저 실행일 뿐이다.

    참고한 공식 문서


    글쓴이 정보

    초안을 쓰는 건 제가 만든 AI 파이프라인이고, 문체·사실성 자동 검사에 걸린 문장은 제가 직접 고친 뒤 공개합니다. 세금 계산은 예상치이며 실제 신고는 국세청 홈택스 기준을 따르세요. 만드는 과정

  • 투자 일지 손으로 쓰면 1년 안에 실패합니다

    투자 일지 손으로 쓰면 1년 안에 실패합니다

    왜 손으로 쓰는 투자 일지는 1년을 못 버티나

    매매할 때마다 수기로 남기려다 세 달쯤에 포기한 경험이 있을 거다. 투자 일지 자동으로 쓰는법을 검색하는 순간은 대개 그 직후다. 장이 끝나고 매매 내역 앱을 열었다가, “내일 몰아서 쓰지” 하다가 결국 안 쓰는 날이 쌓인다.

    수기 일지가 실패하는 세 가지 이유

    내가 여러 번 실패하면서 찾은 패턴이 있다. 첫째는 매매 직후가 아니라 저녁에 쓰려니 체결가·수량을 다시 확인해야 한다. 둘째는 손익 계산이 손이다. 실현손익을 내 방식으로 계산하면 증권사 앱 숫자와 자꾸 어긋나서, 어느 쪽이 맞는지 확인하다 일지 쓰기 자체를 관둔다. 셋째는 회고다. 기록은 그럭저럭 남아도 한 달 치를 뒤져 요약하는 작업이 사람을 지치게 한다.

    기록이 아니라 집계와 회고가 실패 지점이었다.

    내가 자동화로 전환한 계기

    나는 혼자서 AI 자동화로 SaaS 여러 개를 굴리는 1인 빌더다. 지금 무인 크론이 63개 돌고 있고, 작업 폴더가 183개, git 저장소가 90개 쌓여 있다. 이 정도 규모가 되면 사람 손으로 뭔가를 기록하는 방식은 구조적으로 못 버틴다. 콘텐츠 발행도 처음엔 손으로 올리다 지금은 검사 통과분만 자동 공개된다. 투자 일지도 똑같은 문제라고 판단해서, 발행 파이프라인과 같은 구조로 갈아엎었다.

    투자 일지 자동화, 뭘부터 세팅해야 하나

    도구를 고르기 전에 내 자동화 레벨이 어디쯤인지부터 아는 게 빠르다.

    0~3단계 자동화 레벨 진단

    0단계는 전부 수기. 1단계는 매매 내역 엑셀을 증권사에서 수동으로 내려받아 붙여넣기. 2단계는 내려받기까진 사람이 하되 집계·손익 정리는 수식이나 스크립트가 처리. 3단계는 수집부터 회고 초안까지 주기적으로 기계가 하고 사람은 검수만 한다. 대부분 1단계에서 막혀 있는데, 1단계의 문제는 귀찮음이 아니라 “내려받기를 깜빡하면 그날 데이터가 구멍 난다”는 취약성이다.

    데이터 원천을 하나로 정하는 원칙

    SaaS를 만들면서 몸에 밴 원칙이 하나 있다. 원천 데이터는 단일 소스로 정하고 나머지는 전부 파생시킨다. 투자 일지에 대입하면 원천은 증권사 거래 데이터다. 일지·손익·회고는 전부 그 위에 얹히는 뷰일 뿐이다. 내가 예전에 수기 계산과 증권사 숫자가 어긋났던 것도, 원천이 둘이었기 때문이다. 원천을 하나로 정하면 “어느 숫자가 진짜냐”는 질문 자체가 사라진다.

    세팅에 실제로 걸리는 시간

    솔직히 말하면 처음 세팅은 반나절 걸린다. API 키 발급, 스프레드시트 권한, 크론 등록을 순서대로 밟아야 해서다. 다만 이건 일회용 비용이고, 이후 주간 유지는 점검 수준으로 줄어든다. 세팅 시간 아까워서 1단계에 머무는 게 진짜 손해다.

    매매 내역을 수동으로 받지 않고 자동으로 가져오는 법

    증권사별 자동 연동 가능 여부 비교

    국내 증권사는 Open API를 공개하는 곳과 아닌 곳이 갈린다. 한국투자증권은 KIS Developers에서 실전계좌 API 키를 발급받아 당일 체결내역·잔고를 조회할 수 있다. 키움은 영웅문 Open API+가 있는데 조회용 모듈을 로컬에 깔아야 한다. 토스증권·슬로우메이저 등 일부는 공식 개인용 조회 API를 제공하지 않는다. 그런 곳은 다음 절의 차선책으로 간다.

    스프레드시트·크론으로 주기 수집 설계

    내 블로그 발행은 cron이 주기적으로 초안을 만들고 검사를 통과한 글만 공개하는 구조다. 매매 수집도 같은 뼈대다. 매일 장 마감 뒤 한 번, 조회 API를 호출해 어제 분까지 스프레드시트에 붙이고, 이미 들어와 있는 주문번호면 건너뛴다. 중복 방지가 핵심인데, 이건 아래에서 다시 다룬다.

    가장 단순한 형태는 GOOGLEFINANCE로 시세를 당기는 것인데, 이건 시세용이지 내 체결 데이터가 아니다. 체결까지 자동으로 가져오려면 API 호출 스크립트를 cron에 올리는 수밖에 없다.

    # 매일 17시에 체결내역 동기화 (이미 수집한 주문번호는 skip)
    0 17 * * 1-5 /usr/bin/python3 /home/aileego/sync/kis_trades.py --dup-check order_no >> /var/log/trades.log 2>&1
    

    자동 수집이 안 될 때의 차선책

    API가 없는 증권사라면 매일 정해진 시간에 내려받기 자체를 자동화하는 우회로가 있다. 다만 이 방식은 증권사 화면이 바뀌면 깨지고, 로그인 2차 인증이 걸리면 그날 수집이 실패한다. 차선책은 어디까지나 차선이다. 실패하면 어떻게 알림을 받을지까지 같이 세팅해야 진짜 자동화다.

    실현손익·환손익, 왜 내 계산과 다르게 나오나

    증권사가 손익을 계산하는 산식

    실현손익이란 매도 금액에서 매수 금액과 제비용을 뺀, 증권사 산식으로 확정된 손익이다. 내 계산과 어긋나는 첫 지점이 매수 단가 처리다. 분할 매수한 종목을 일부 매도하면 증권사는 보통 이동평균이나 FIFO 방식으로 어떤 매수분을 파는지 정한다. 내가 “맨 마지막에 산 걸 팔았다”고 계산하면 산식이 다른 이상 숫자는 어긋날 수밖에 없다. 내 계산이 틀린 게 아니라 기준이 다른 거다.

    환율 적용 시점이 만드는 차이

    환손익이 말썽인 이유는 적용 환율이 시점마다 다르다. 매수 당일 환율로 잡느냐, 매도 당일 환율이냐, 정산 환율이냐에 따라 원화 손익이 달라진다. 같은 종목을 같은 가격에 사고 팔아도 통화 손익이 플러스일 수 있다. 증권사 앱의 산식 설명 페이지를 한 번 읽어두면, 이후 대사할 때 어긋난 원인을 짚는 속도가 확 달라진다.

    제비용·세금 포함 여부 확인법

    증권사 손익 화면은 수수료와 거래세 포함 여부를 안내 문구로 적어둔다. “수수료·제세금 포함” 같은 문구가 어디까지 감싸는지 확인하지 않고 내 계산과 비교하면 영영 맞춰지지 않는다. 나는 원천을 증권사로 정한 뒤로는 내 손익을 따로 계산하지 않는다. 증권사 숫자를 그대로 가져오고, 계산 로직은 증권사 산식을 따르는 걸로 통일했다.

    투자 일지를 자동으로 기록하는 디지털 루틴

    자동 기록이 사실과 다르게 저장되는 리스크와 검증법

    자동화가 실패하는 대표적인 네 가지 상황

    배치 지연, 중복 집계, 수정 거래 반영 실패, 권한 만료. 이 넷이면 열에 아홉이다. 실제로 겪은 건 배치 지연이었다. 장 마감 직후 조회를 돌렸는데 당일 체결분이 아직 조회 창구에 안 올라와 있어서, 그날 매매가 통째로 일지에서 빠졌다. 스크립트는 성공으로 종료했으니 로그에는 문제가 없었다. 이게 제일 무섭다. 에러 없이 조용히 틀린다.

    사실 검증 3단계 체크리스트

    그 뒤로 대사 루틴을 만들었다.

    1. 주 단위로 증권사 앱의 당주 체결 건수와 시트 행 수를 맞춘다.
    2. 월 단위로 앱의 월간 실현손익과 시트 합계를 맞춘다. 어긋나면 환율·제비용·FIFO 순서로 원인을 좁힌다.
    3. 수집 스크립트가 비정상 종료하면 알림이 오게 해서, 조용한 실패를 막는다.

    자동화 후에도 사람이 볼 지점

    내 블로그도 자동 검사를 통과한 글만 공개되지만, 걸린 초안은 사람이 검토한다. 투자 데이터도 구조가 같다. 숫자 집계는 기계 몫, “이 숫자가 진짜 맞나”를 눈으로 찍는 대사는 사람 몫으로 남긴다. 그래서 주간 10분 점검을 아래 루틴에 넣어뒀다.

    월간 회고까지 자동으로 만드는 루틴

    주간 10분 점검 루틴

    주말에 커피 한 잔 들고 세 가지만 본다. 이번 주 체결 건수 맞는지, 미리 정해둔 대사 항목 이상 없는지, 알림 온 게 있었는지. 여기서 어긋나는 걸 발견하면 그 자리에서 원인을 좁힌다. 미루면 다음 달에 세 배 고생한다.

    월간 30분 회고 자동 생성 흐름

    월간 회고 파이프라인은 블로그 발행 파이프라인을 그대로 재활용했다. 월 1회 크론이 월간 거래 요약(종목별 손익, 잦은 매매 패턴, 미국장 통화 손익)을 모아 회고 초안을 만든다. 이때 프롬프트는 사실만 다루게 좁혀둔다.

    아래 월간 거래 요약 표만 근거로 회고 초안을 써라. 표에 없는 해석·감정·전망은 한 줄도 쓰지 마라. 종목별 손익, 매매 빈도, 최대 손실 종목 순서로 정리하라.

    감정이나 전망을 기계가 지어내면 그 순간부터 회고가 소설이 된다. 근거 없는 문장을 봉쇄하는 프롬프트 설계가 회고 자동화의 절반이다.

    사람이 써야 할 한 문단

    매매 이유와 그때 심리는 사람이 쓴다. “급등 보고 물탔는데 흔들렸다” 같은 문장은 데이터에서 나오지 않는다. 자동 생성 요약 뒤에 빈 칸 하나를 남겨두고 거기만 손으로 채우는 구조다. 자동화 몫과 사람 몫의 경계선을 안 지키면, 회고가 점점 텅 비고 일지는 다시 죽는다.

    정리: 오늘 세팅하고 주말에 끝내는 행동 순서

    첫 주에 할 일 3가지

    첫째 날, 쓰는 증권사가 조회 API를 주는지 확인하고 키를 발급받는다. 둘째 날, 시트를 만들고 어제·그제 체결내역을 한 번 수동으로 붙여 구조를 잡는다. 주말에 조회 스크립트를 크론에 올리고, 월요일 장 마감 뒤 자동으로 쌓이는지 확인한다. 이 순서면 첫 주 안에 3단계 자동화에 들어간다.

    자동화하지 말아야 할 것

    매매 판단과 매매 이유 기록은 자동화하지 않는다. 나도 콘텐츠 파이프라인을 돌리면서 배웠는데, 자동 검사가 잘못 잡는 경우가 있다. 실제로 중복 검사 가드를 검증해 보니 발행된 글 35편끼리 비교했을 때 595쌍 중 73쌍을 중복이라고 잘못 판정했다. 도구는 검증 대상이지 신앙이 아니다. 투자 일지 자동화도 같다. 원천은 증권사, 집계는 기계, 대사와 회고의 마지막 한 문단은 사람. 이 경계선만 지키면 일지는 1년을 버틴다.

    근거로 삼은 문서


    글쓴이 정보

    이 글은 문체·사실성 두 가지 자동 검사를 통과했습니다. 초안을 쓰는 건 제가 만든 AI 파이프라인이고, 검사에 걸리면 공개하지 않습니다. 만드는 과정

    자주 묻는 질문

    투자 일지를 자동으로 쓰려면 뭐부터 세팅해야 하나요?

    먼저 내 자동화 레벨(0~3단계)이 어디쯤인지 진단하는 게 빠르다. 대부분 1단계, 즉 증권사에서 매매 내역을 수동으로 내려받는 단계에서 막혀 있는데, 깜빡하면 그날 데이터가 구멍 난다는 게 구조적 약점이다. 증권사 Open API(한국투자증권 KIS Developers, 키움 영웅문 Open API+)로 체결내역 조회를 스크립트·크론으로 주기 수집하면 수집부터 자동화된다. 초기 세팅은 반나절 정도 걸리지만 일회용 비용이다.

    실현손익이 내 계산과 증권사 앱 숫자가 다르게 나오는 이유는?

    산식이 다르기 때문이다. 분할 매수한 종목을 일부 매도하면 증권사는 보통 이동평균이나 FIFO 방식으로 매수분을 정하는데, 내가 임의 기준으로 계산하면 숫자가 어길 수밖에 없다. 해외 종목은 적용 환율 시점(매수일·매도일·정산 환율)에 따라서도 원화 손익이 달라진다. 증권사의 산식 설명 페이지를 한 번 읽어두면 대사할 때 원인 짚는 속도가 확 빨라진다.

    증권사가 API를 안 제공하면 투자 일지 자동화는 불가능인가요?

    불가능하진 않지만 차선책이다. 매일 정해진 시간에 매매 내역 내려받기 자체를 자동화하는 우회로가 있는데, 증권사 화면이 바뀌면 깨지고 2차 인증이 걸리면 그날 수집이 실패한다. 실패 시 알림을 받을 장치까지 같이 세팅해야 진짜 자동화다. 가능하면 API를 제공하는 증권사로 원천을 옮기는 게 구조적으로 안정적이다.

    GOOGLEFINANCE로 투자 일지를 자동화할 수 있나요?

    GOOGLEFINANCE는 시세를 당겨오는 용도일 뿐, 내 체결 데이터를 가져오지는 못한다. 체결가·수량·주문번호까지 자동 수집하려면 증권사 조회 API를 호출하는 스크립트를 크론에 등록하는 수밖에 없다. 중복 방지를 위해 이미 수집한 주문번호는 건너뛰는 로직을 꼭 넣어야 한다.

    손으로 쓰는 투자 일지가 실패하는 가장 큰 이유는 뭔가요?

    기록 자체보다 집계와 회고에서 무너진다. 매매 직후가 아니라 저녁에 쓰려다 체결가·수량을 다시 확인하는 게 귀찮아지고, 실현손익 계산이 증권사 숫자와 어긋나면 확인하다 일지 자체를 관두게 된다. 한 달 치를 뒤져 회고하는 작업도 사람을 지치게 한다. 결국 원천 데이터를 하나로 정하고 기계가 수집·집계하게 만드는 게 해답이다.