투자 손익 계산기
주식·ETF의 한 번 거래부터 여러 번 매수·부분 매도까지, 수수료·환율·배당·세금을 반영한 실현 손익과 남은 수량의 평가손익을 계산합니다.
입력할 값
- 한 번 매수·매도 또는 거래 내역으로 계산을 선택합니다. 매도한 손익과 아직 보유한 수량의 현재가 평가를 구분하며 소수 수량도 가능합니다.
- 가격 통화와 1개당 매수가, 실제 매도가 또는 현재가. 원화를 포함한 22개 통화 지원
- 외화 자산은 매수할 때와 매도·평가할 때의 환율을 각각 1외화당 원화로 입력
- 매수·매도 수수료율과 원화로 별도 낸 비용. 보유 중이면 매도할 때 들 것으로 보는 비용 입력
- 이 보유분에서 받은 배당·분배금 총수령액과 추가로 차감할 세금을 원화로 입력. 이미 뺀 세금과 가격에 반영된 비용은 중복 입력하지 않기
- 여러 차례 거래는 거래 내역으로 계산을 선택: 거래일·매수/매도·수량·단가·적용 환율·수수료·추가 비용을 최대 500행까지 직접 넣거나 CSV·TSV·엑셀로 불러오기
- CSV·TSV를 읽을 때는 UTF-8이 기본이며 한국어 Windows(EUC-KR·CP949), UTF-16LE, UTF-16BE도 선택할 수 있습니다. 파일을 만든 프로그램의 저장 방식을 확인하세요. 원본 파일 크기와 읽은 글의 UTF-8 크기는 각각 1 MiB 이하여야 합니다.
- CSV·TSV 파일을 고르면 현재 거래는 그대로 두고 통화·거래 수와 앞 5행을 먼저 보여 줍니다. 글자가 맞지 않으면 읽는 방식을 바꾸거나 같은 파일을 다시 읽어 확인하세요. 거래 행에 적용을 눌러 목록을 바꾼 뒤 거래 내역 계산하기를 눌러 계산합니다.
엑셀 파일 사용하기
거래 내역으로 계산을 선택한 뒤 엑셀·CSV 파일·표에서 가져오기를 여세요. 한 종목·한 통화의 매수와 매도를 .xlsx에서 가져올 수 있습니다. 파일은 1 MiB(1,048,576바이트) 이하, 거래는 최대 500건이며 날짜 순서와 같은 날의 체결 순서를 직접 맞춰야 합니다.
- 예시 CSV와 같은 통화·날짜·구분·수량·단가·환율·수수료율·추가비용 8개 열을 준비합니다. 매수와 매도는 별도 행으로 적습니다. 설명·합계·메모는 거래 표에서 빼고 엑셀 파일 열기에서 .xlsx 파일을 고르세요.
- 가져올 시트와 열 이름이 있는 행, 마지막 거래 행, 첫 열과 마지막 열을 확인합니다. 선택한 열 이름 행 바로 다음 행부터 가져오며, 표 중간의 빈 행을 조용히 건너뛰거나 거래를 날짜순으로 다시 정렬하지 않습니다.
- 열 이름을 입력 양식과 맞추고 처음 20건의 미리보기를 확인합니다. 빈 이름이나 잘못된 이름은 이 화면에서 고칠 수 있으며 원본 파일은 바뀌지 않습니다. 날짜는 기본 기준에서 2026-10-14 같은 연-월-일 형식으로 가져오므로 거래일이 맞는지 확인하세요.
- 각 열의 저장값·표시값·가져올 값을 비교합니다. 수량·단가·환율·수수료율은 기본 기준으로 숫자의 저장된 값을 사용하세요. 엑셀에 보이는 값에는 쉼표·통화 기호나 반올림된 숫자가 들어갈 수 있습니다. 긴 셀은 눌러 전체 내용을 확인할 수 있습니다.
- 수식이 있으면 저장된 계산 결과를 사용한다는 확인란을 읽고 동의한 뒤 표에 적용을 누릅니다. 적용 전에 전체 거래를 검사하며, 날짜 역순·보유 수량 초과 매도·혼합 통화 등의 오류가 있으면 원래 엑셀 행을 알려 주고 현재 거래와 결과는 유지합니다.
- 적용이 끝나면 거래 행과 통화가 바뀌고 이전 결과는 지워집니다. 배당·세금과 남은 수량의 평가 설정은 유지하며, 통화가 달라질 때만 현재가와 현재 환율을 비웁니다. 파일에 적힌 과거 거래의 단가·환율은 유지합니다. 같은 종목의 자료인지와 남은 조건을 확인한 뒤 거래 내역 계산하기를 누르세요.
미리보기는 처음 20건이지만 적용 검사는 선택한 거래 전체를 대상으로 합니다. 적용 뒤에는 거래 입력과 거래별 계산 표에서 원래 엑셀 행을 확인할 수 있습니다. 거래 행이나 통화, 가져온 표를 직접 바꾸거나 다른 목록을 적용하면 이전 엑셀과의 연결을 해제합니다. 배당·세금·현재가 등 평가 조건만 바꾸면 연결은 유지하고 결과를 다시 계산해야 합니다.
수식은 다시 계산하지 않으며 파일에 저장된 결과만 사용합니다. 저장된 결과가 없거나 오류인 수식 셀은 적용할 수 없습니다. 원본 프로그램에서 계산하고 저장한 뒤 다시 읽어 주세요. .xls, .xlsm과 암호가 걸린 파일은 지원하지 않습니다.
입력·엑셀 원본 기록 JSON 저장으로 현재 거래와 배당·세금·평가 입력, 연결된 엑셀 표의 가져온 원문과 원래 행 대응을 따로 보관할 수 있습니다. 가져온 원문은 줄바꿈을 남기고 거래 입력은 기존 규칙대로 앞뒤 공백과 매수·매도 표기를 정리합니다. 현재 입력의 계산 결과가 있을 때만 그 결과를 함께 담습니다. JSON을 다시 불러오는 기능과 원본 엑셀을 복원하는 기능은 없습니다.
엑셀 파일은 현재 브라우저에서만 읽으며 서버에 올리지 않습니다. 선택·미리보기·취소만으로 현재 거래가 바뀌지 않고 자동 저장도 하지 않습니다. 검토 중 거래나 조건을 바꾸었다면 다시 검토한 뒤 적용하세요.
계산 방법
총 매수액은 수량×매수가×매수 환율에 매수 수수료와 별도 비용을 더한 금액입니다. 매도·평가 금액은 수량×매도가 또는 현재가×매도·평가 환율이며, 여기서 매도 수수료와 별도 비용을 뺀 뒤 배당·분배금 총수령액을 더하고 입력한 세금을 차감합니다. 이 금액에서 총 매수액을 빼면 최종 원화 손익입니다. 투입금 대비 수익률은 최종 손익÷총 매수액×100으로 계산합니다. 가격 변화의 원화 효과는 (매도가 또는 현재가−매수가)×수량×매수 환율을 기준으로 보며, 환율 효과는 수수료를 빼기 전 원화 매매차익에서 가격 효과를 뺀 나머지입니다. 이렇게 합계를 맞추므로 원 단위 반올림 차이도 환율 효과에 포함될 수 있습니다. 거래 내역 계산은 이동평균 원가를 사용합니다. 새 매수 때 기존 원가와 새 매수 비용을 합치고, 일부 매도 때 직전 보유 수량 대비 매도 수량 비율로 원가를 나눕니다. 전량 매도하면 남은 원가를 모두 반영합니다. 실현 손익은 매도 수령액에서 매도한 수량의 원가를 뺀 뒤 배당 실수령액을 더하고 이미 발생한 별도 세금을 차감합니다. 남은 수량의 평가손익은 현재가 매도 가정 금액에서 예상 매도 비용·세금과 남은 원가를 뺀 값입니다.
계산 예시
현재 시세와 무관한 가상의 예시입니다. 10개를 개당 100달러에 매수하고 110달러에 매도하며, 환율은 매수 때 1,400원·매도 때 1,300원이라고 가정합니다. 수수료가 양쪽 각각 0.1%, 별도 비용이 각각 1,000원이면 총 매수액은 1,402,400원, 매도 비용을 뺀 금액은 1,427,570원입니다. 배당·분배금 총수령액 20,000원과 추가로 차감할 세금 3,000원을 반영하면 최종 손익은 42,170원, 투입금 대비 수익률은 약 3.007%입니다. 비용을 빼기 전 가격 상승 효과는 140,000원이고 환율 변화 효과는 −110,000원이어서, 외화 가격이 오른 만큼 원화 차익이 커지는 것은 아닙니다. 여러 번 거래한 가상 예시로 10개를 100달러·환율 1,400원에, 다시 10개를 120달러·환율 1,300원에 샀다고 해 봅시다. 거래마다 수수료가 0.1%이면 총 매수 원가는 2,962,960원입니다. 그중 5개를 130달러·환율 1,350원에 팔면 배분 원가는 740,740원, 비용을 뺀 매도대금은 876,622원이므로 매매 실현 손익은 135,882원입니다. 남은 15개의 원가는 2,222,220원입니다.
결과 읽기
매도 후 손익은 입력한 실제 거래와 비용을 기준으로 한 결과입니다. 보유 중 손익은 현재가에 전량 매도한다고 가정하고 예상 매도 비용까지 뺀 평가값이며, 아직 확정된 수입이 아닙니다. 가격 효과와 환율 효과는 수수료·배당·세금을 넣기 전 매매차익을 설명하는 항목이므로 최종 손익과 구분해 보세요. 손익분기 매도가는 입력한 매도 환율, 수수료, 배당·분배금과 세금이 그대로일 때 총 매수액을 회수할 수 있는 가격입니다. 통화의 표시 최소 단위를 기준으로 찾으며 실제 종목의 호가 단위와 다를 수 있습니다. 거래 내역 계산에서 남은 수량의 현재가를 넣지 않으면 전체 손익을 확정해 표시하지 않습니다. 매수 원금의 재투입도 누적 매수액에 포함하므로 이때 표시하는 비율은 현금의 투입 시점까지 고려하는 기간 수익률과 다릅니다.
적용 범위
한 번 매수·매도 또는 한 종목·한 통화의 여러 차례 거래를 지원합니다. 거래 내역은 최대 500행입니다. CSV·TSV 파일은 원본 크기와 읽은 글의 UTF-8 크기가 각각 1 MiB 이하여야 합니다. 엑셀은 .xlsx 파일 1 MiB 이하이며 선택한 거래 표를 CSV 글자로 바꾼 UTF-8 크기도 같은 한도를 적용합니다. 같은 날 거래는 입력 순서대로 계산하며 날짜 역전·보유 수량 초과 매도는 거부합니다. 실제 가격과 환율을 직접 입력하며 자동 종목 시세를 불러오지 않습니다. 이동평균 원가는 분석을 위한 계산 기준으로, 증권사·국가·계좌별 세금 신고 취득원가를 자동으로 판정하지 않습니다. 세율·공제·신고 금액도 계산하지 않습니다. 주식 분할, 종목 변경, 공매도·파생상품·대출 이자는 자동 반영하지 않습니다. 배당 재투자는 실제 수령액과 새 매수 거래를 각각 기록해야 합니다. 입력과 결과는 서버에 전송하거나 자동 저장하지 않습니다. 필요한 거래 내역과 계산 결과는 UTF-8 CSV로 내려받으세요. 예시 파일도 UTF-8입니다. 입력할 때 열 이름·구분값과 앞뒤 공백 등을 처리하므로 저장 파일이 처음 올린 파일의 바이트나 표기까지 그대로 보존하는 것은 아닙니다.
자주 묻는 질문
주식과 ETF, 소수점으로 산 수량도 계산할 수 있나요?
네. 수량과 1개당 가격이 있는 한 종목의 매수·매도에 사용할 수 있으며 소수 수량도 입력할 수 있습니다. 한 번 거래는 간단 계산을, 여러 번 거래는 거래 내역 계산을 이용하세요. 가격 통화와 환율 방향을 맞춰 주세요.
아직 팔지 않았다면 어디에 현재가를 넣나요?
보유 중 손익을 선택한 뒤 현재가와 평가 시점 환율을 넣으세요. 매도 수수료·별도 비용에는 실제로 팔 경우 들 것으로 보는 금액을 넣습니다. 결과는 입력 가격에 전량 매도한다는 가정의 평가손익입니다.
달러 가격이 올랐는데 원화로는 손해가 날 수도 있나요?
그럴 수 있습니다. 매수 이후 원·달러 환율이 떨어지면 매도 대금을 원화로 바꾼 금액이 줄어듭니다. 가격 변화와 환율 변화에 따른 금액을 따로 확인한 뒤 수수료·배당·세금까지 반영한 최종 손익을 보세요.
ETF의 연간 총보수를 매도 수수료에 더해야 하나요?
실제 가격이나 순자산가치에 이미 반영된 펀드 운영비를 다시 차감하면 비용을 두 번 뺄 수 있습니다. 이 입력칸에는 해당 거래에서 따로 내는 매매 수수료와 비용을 넣으세요. 연간 총보수를 거래 수수료율로 그대로 넣지 마세요.
배당에서 이미 세금을 떼고 입금됐다면 어떻게 입력하나요?
배당·분배금에는 실제 받은 금액을 원화로 넣고, 세금에는 아직 다른 입력에서 차감하지 않은 추가 금액만 넣으세요. 이미 원천징수된 세금을 다시 적으면 중복 차감됩니다. 외화 배당은 받은 시점의 원화 금액을 확인해 합산하세요.
매매 세금도 알아서 계산하나요?
아니요. 세금은 사용자가 확인한 원화 금액만 반영합니다. 국가·계좌·상품·거주자 조건에 따른 세율이나 공제를 자동으로 정하지 않으며, 거래 수수료나 다른 비용에 이미 포함한 세금은 다시 입력하지 마세요.
손익분기 매도가는 앞으로 도달할 가격을 뜻하나요?
아닙니다. 입력한 환율·비용·배당·세금을 그대로 적용할 때 손익이 0원 이상이 되는 계산상 매도가입니다. 표시 단위는 원화 1원·달러 0.01달러처럼 통화에 따라 달라지며, 실제 종목의 주문 호가 단위와는 다를 수 있습니다.
여러 번 샀거나 일부만 팔았다면 어떻게 하나요?
거래 내역으로 계산을 선택한 뒤 같은 종목의 매수·매도를 오래된 거래부터 입력하세요. 각 거래의 환율과 비용을 따로 반영하고 이동평균 원가로 매도 손익·남은 수량·잔여 원가를 계산합니다. 같은 날은 실제 체결 순서대로 넣어야 합니다.
여기에 나온 수익률은 연 수익률인가요?
아니요. 기간을 입력하지 않으므로 연환산하지 않습니다. 총 들인 돈과 입력한 최종 결과를 비교하는 단순 수익률입니다. 입출금 시점이나 기간을 고려하는 증권사 수익률과는 계산 기준이 다를 수 있습니다.
이동평균 원가는 세금 신고 원가와 같은가요?
항상 같지는 않습니다. 이 도구는 매수할 때마다 기존 원가와 새 매수 비용을 합친 뒤 매도 수량에 비례해 배분합니다. 세금 신고에 어떤 원가 방법을 적용해야 하는지는 판정하지 않습니다. 증권사 명세와 적용 기준을 별도로 확인하세요.
거래 내역을 나중에 다시 계산할 수 있나요?
계산 뒤 거래 내역 CSV 저장을 누르면 거래 행을 UTF-8 파일로 내려받고 나중에 다시 불러올 수 있습니다. 배당·세금 총액과 남은 수량의 현재가 설정은 이 파일에 포함되지 않으므로 다시 확인해 입력하세요. 예시 CSV도 같은 입력용 형식입니다. 계산 결과 CSV는 검토용으로 따로 제공하며 거래 입력 파일로 다시 불러오는 용도가 아닙니다.
남은 수량 평가를 하지 않으면 무엇을 볼 수 있나요?
이미 판 수량의 실현 손익과 남은 수량·원가를 볼 수 있습니다. 남은 수량의 현재가를 넣지 않았다면 전체 손익과 전체 비율은 표시하지 않습니다. 전부 매도한 경우에는 실현 결과가 전체 결과입니다.
새 파일을 고르면 현재 거래와 설정이 바로 바뀌나요?
파일을 검토하거나 다시 읽는 동안에는 현재 거래와 결과를 그대로 둡니다. CSV·TSV는 거래 행에 적용, 엑셀은 표에 적용을 눌러 전체 검사를 통과해야 거래 목록과 통화를 바꾸고 이전 결과를 지웁니다. 배당·세금과 남은 수량의 평가 설정은 기존 값이 남으며 통화가 달라지면 현재가와 현재 환율만 비웁니다. 파일의 과거 거래 단가·환율은 유지합니다. 같은 종목의 자료인지, 남은 설정이 이번 거래에도 맞는지 확인한 뒤 다시 계산하세요.
증권사 엑셀 명세를 바로 넣을 수 있나요?
지원하는 .xlsx 파일을 사용할 수 있지만 증권사마다 다른 명세 열을 자동으로 해석하지는 않습니다. 한 종목·한 통화의 거래를 예시 CSV와 같은 8개 열로 준비하고 시트·범위·열 이름을 직접 확인하세요. 같은 날의 매수·매도도 파일에 있는 순서대로 계산합니다. 날짜 역순이나 보유 수량보다 많은 매도가 있으면 원래 엑셀 행을 보고 수정해야 합니다.
JSON을 저장하면 거래 내역과 설정이 다시 복원되나요?
JSON은 확인·보관용 기록이며 다시 불러와 화면을 복원하는 기능은 없습니다. 현재 거래와 배당·세금·평가 입력, 연결된 엑셀에서 처음 가져온 표의 원문과 원래 행 번호를 구분해 담습니다. 계산 전에도 저장할 수 있지만 현재 입력으로 계산한 결과가 없으면 과거 결과를 넣지 않습니다. 거래를 다시 계산하려면 거래 내역 CSV를 불러오고 배당·세금·평가 조건은 기록을 보며 확인해 주세요.
단위와 계산 기준의 출처
- 미국 SEC Investor.gov: 투자 수수료와 손익분기 이해
- 미국 SEC Investor.gov: 해외 투자와 환율 변화
- 미국 SEC Investor.gov: 가격 변화와 배당에 따른 투자 수익
- 미국 SEC Investor.gov: 펀드·ETF의 거래 비용과 운영비