엔화가 5% 빠진 달, 닛케이 ETF 수익률에서 그 5%가 그냥 사라집니다. 사용자가 한 일은 아무것도 없는데 말이죠. 다국적 포트폴리오를 한 화면에서 관리하는 사람이라면 누구나 마주치는 질문 — "환율 때문에 손해 본 건지, 종목 자체가 빠진 건지" — 을 데이터 레벨에서 분리해 보는 워크플로를 정리합니다.
한국 거주자가 SBI 증권을 통해 일본 닛케이 225 ETF (1321) 를 보유하고 있다고 칩시다. 2025년 1월 1일 100주 매수, 가격 28,000 엔, 당시 환율 1엔 = 9.0원. 매수 시점의 원화 평가액은 28,000 × 100 × 9.0 = 25,200,000원.
한 달 뒤 ETF 가격은 그대로 28,000 엔. 그런데 엔화가 빠져서 환율이 1엔 = 8.55원. 원화 평가액은 28,000 × 100 × 8.55 = 23,940,000원. 트래커가 보여주는 손익은 −1,260,000원, 수익률 −5%.
사용자 입장에서 "내가 산 종목이 5% 빠졌나?" 라는 착각이 들 수 있습니다. 사실 종목 자체는 0% — 환율만 5% 빠진 거죠. 같은 28,000엔을 들고 있는데 환산 통화만 바뀐 결과를 종목 손익으로 잘못 읽게 됩니다.
멀티 통화 포트폴리오는 항상 두 종류의 수익률을 가집니다:
| 수익률 유형 | 계산 방식 | 의미 |
|---|---|---|
| 현지 통화 수익률 | (현재가 − 매수가) / 매수가, 모두 현지 통화로 | 종목 자체의 성과. 외환 노이즈 0. |
| 표시 통화 수익률 | (현재 평가액 − 매수 평가액) / 매수 평가액, 모두 표시 통화로 환산 | 사용자가 "실제로 통장에 찍히는" 손익. 환율 변동 포함. |
두 수익률 모두 유효합니다. 어느 게 "진짜" 라기보다는 무엇을 보고 싶은지에 따라 다릅니다.
멀티폴리오스의 CSV 포맷이 한 가지 원칙으로 만들어진 이유가 여기 있습니다 — 매수 가격은 항상 현지 통화로 기록한다. 환산하지 않습니다. 환율 변환은 표시 시점에 동적으로 처리됩니다.
symbol,buyPrice,shares,buyDate,currency,accountName 005930.KS,72000,50,2024-03-15,KRW,미래에셋 1321.T,28000,100,2025-01-02,JPY,SBI SOXL,15.4,200,2024-11-08,USD,라쿠텐 AAPL,178.50,30,2023-09-12,USD,라쿠텐
한국 종목은 원 단위, 일본 종목은 엔 단위, 미국 종목은 달러 단위. 그대로. 이렇게 저장해두면 환율 변동이 일어나도 매수 시점의 "실제로 지불한 현지 통화 금액" 은 절대 안 변합니다.
.KS (코스피) 또는 .KQ (코스닥). 예: 005930.KS (삼성전자), 035420.KQ 형태..T. 예: 1321.T (Nikkei 225 ETF), 7203.T (Toyota).SOXL, AAPL, SPY..KS 없이 6자리 숫자만 있으면 자동으로 .KS 가 붙습니다. JPY + 4자리도 마찬가지로 .T 자동 부여.실제 사용 시나리오 하나 따라가 보겠습니다. 1321.T (Nikkei 225 ETF) 100주를 28,000엔에 산 사용자. 한 달 뒤 확인.
대시보드 우상단 설정에서 표시 통화 KRW 선택. 보유 종목 카드에 표시되는 평가액·손익은 모두 원화 환산.
결과: 1321.T 평가액 23,940,000원, 손익 −1,260,000원, 수익률 −5.0%. 사용자 시점에서는 "5% 손해" 로 보입니다.
같은 설정에서 표시 통화 JPY. 1321.T 평가액 2,800,000엔, 손익 0엔, 수익률 0.0%. 종목 자체는 변동 없음이 즉시 보입니다.
두 표시 통화 사이의 갭 (−5% vs 0%) 이 곧 환율 변동분. 다른 일본 종목이 있다면 그것들도 같은 갭을 가집니다 — 즉 그 갭은 "엔화 약세" 한 가지 요인에서 옵니다.
표시 통화 USD 로 전환. 미국 종목들의 종목 자체 수익률을 즉시 확인. 한국·일본 종목은 그대로 환산되어 표시되지만, 미국 종목은 노이즈 없는 native 수익률.
예: SOXL 매수가 .4, 현재가 .8 → +60.4%. 표시 통화 KRW 였다면 같은 SOXL 이 +52% 정도로 (원화 강세분이 빠져서) 보였을 수 있죠. USD 기준이 종목 자체 성과의 정직한 답.
멀티폴리오스에서 CSV 를 내보내면 동일한 컬럼 구조로 떨어집니다 — 즉 외부 도구 (Excel, Python pandas, Google Sheets) 로 가져가서 환율 시뮬레이션을 돌리기 좋은 형태.
# Python 예시 — 환율 시나리오별 손익 계산
import pandas as pd
df = pd.read_csv('multifolios-export.csv')
# 시나리오: 엔화 추가 5% 약세 시 일본 종목 손익
df_jp = df[df['currency'] == 'JPY'].copy()
df_jp['fx_scenario_krw'] = df_jp['buyPrice'] * df_jp['shares'] * 8.10 # 가정: 1엔 = 8.10원
df_jp['actual_krw'] = df_jp['buyPrice'] * df_jp['shares'] * 8.55 # 현재: 1엔 = 8.55원
df_jp['fx_impact'] = df_jp['fx_scenario_krw'] - df_jp['actual_krw']
print(df_jp[['symbol', 'fx_impact']])
이 패턴은 "환율 hedging 여부" 같은 의사결정에 직접 도움됩니다. 일본 ETF 비중이 크다면 엔화 추가 약세 5% 시 손익이 얼마나 더 빠지는지 미리 시뮬레이션해보고, 그 손익을 감내 가능한지 결정.
"환율 변동을 손익에 포함시킬지 말지는 선택이지만, 항상 그 두 수익률을 따로 볼 수 있어야 한다."