10장. 변동수수료접근법(VFA)#

이 장에서 배우는 것

  • 변동수수료접근법(VFA)이 어떤 계약을 위한 모형인가

  • 계좌가치가 적립률과 수수료로 굴러가는 방식

  • 급부가 계좌가치라는 것의 뜻 — 회사의 몫은 변동수수료

  • CSM이 기초항목 수익률로 부리되는, VFA만의 특징

  • 손계산 예제와 vfa.measure로 측정하기

9장의 PAA에 이어, IFRS 17의 세 번째이자 마지막 회계모형 — 변동수수료접근법(VFA, Variable Fee Approach)입니다. PAA가 일반모형을 가볍게 간추린 간편법이었다면, VFA는 일반모형의 CSM을 한 번 더 변형한 모형입니다.

10.1 직접참가특성 계약#

지금까지의 계약 — 정기보험, 단기 보장성 계약 — 에서 보험금은 미리 정해진 금액이었습니다. 사망보험금 1억 원처럼요. 직접참가특성 계약(direct participation contract)은 다릅니다. 계약자가 낸 돈은 기초항목(underlying items — 주식·채권 등으로 운용하는 자산의 묶음, 곧 펀드)에 투자되고, 계약자가 받을 급부는 그 운용성과에 따라 오르내립니다. 변액보험이 대표적입니다.

이런 계약의 한가운데에 계좌가치(account value)가 있습니다. 계약자가 낸 보험료가 계좌에 쌓이고, 그 계좌가 기초항목의 수익률로 불어납니다. 회사는 그 대가로 계좌에서 수수료를 떼어 갑니다. 계약자가 받을 급부는 — 사망하든, 해지하든, 만기에 이르든 — 그때의 계좌가치입니다.

IFRS 17은 이런 계약에 변동수수료접근법을 적용합니다. 이름의 “변동수수료”가 회사가 떼어 가는 그 수수료입니다 — 기초항목의 성과에 따라 금액이 변하니 “변동”이죠.

이 장이 다루는 계약

fastcashflow의 VFA는 단일보험료 계좌형 계약을 측정합니다. 계약 시점에 보험료가 계좌에 들어오고, 계좌가 기초항목 수익률에서 수수료를 뺀 만큼 자라며, 사망·해지·만기 어느 경우든 그때의 계좌가치를 급부로 지급하는 계약입니다.

10.2 계좌가치의 굴림#

계좌가치는 매달 두 가지 힘으로 움직입니다. 하나는 적립 — 기초항목 수익률만큼 불어나는 것. 하나는 수수료 — 회사가 그 대가로 떼어 가는 것.

다음 달 계좌가치 = 이번 달 계좌가치 × (1 + 적립률) × (1 - 수수료율)

적립률은 기초항목의 운용수익률이고, 수수료율은 회사 몫입니다. 4장의 보유계약 재귀, 9장의 LRC 재귀처럼, 이 규칙이 계좌가치를 보장기간 끝까지 한 달씩 이어 갑니다. 구체적인 숫자는 10.4절의 손계산 예제에서 따라가 봅니다.

10.3 변동수수료와 CSM#

여기서 VFA의 핵심이 나옵니다. 계약자가 받을 급부는 계좌가치 그 자체입니다. 회사가 처음 받은 것도 계좌가치(계약자가 낸 보험료)이고, 끝에 돌려줄 것도 계좌가치죠. 그렇다면 회사의 이익은 어디서 날까요?

회사 몫은 그 사이에 떼어 간 수수료뿐입니다. 기초항목이 얼마나 오르든 내리든 그 성과는 계좌가치를 통해 고스란히 계약자에게 갑니다 — 회사는 운용성과 자체로는 이익도 손실도 보지 않습니다. 회사가 버는 것은 오직 변동수수료입니다.

이 변동수수료가 곧 CSM이 됩니다. 7장에서 CSM은 “아직 실현되지 않은 이익”을 담는 자리라고 했습니다. VFA에서 그 미실현 이익은 앞으로 떼어 갈 변동수수료입니다. 최초 인식 시점에 회사는 이렇게 계산합니다 — 내가 보유한 계좌가치에서 앞으로 계약자에게 돌려줄 급부의 현재가치를 빼면, 그 차이가 내 몫이다.

이때 할인을 기초항목 수익률로 하는 것이 VFA의 특징입니다. 계좌가치는 (1 + 수익률)로 불어나는데, 돌려줄 급부를 같은 수익률로 할인하면 그 둘이 맞물려 상쇄됩니다. 남는 것은 수수료 차감분뿐이죠. 곧 운용수익률이 높든 낮든 회사 몫은 달라지지 않고 — 그 성과는 계약자의 것이니까요 — 회사가 떼어 갈 수수료만 CSM에 남습니다.

그리고 그 CSM은 기초항목 수익률로 부리됩니다. 7장의 일반모형에서 CSM은 최초 인식 시점에 확정한 할인율로 이자가 붙었습니다. VFA에서는 그 자리에 기초항목 수익률이 들어섭니다. 금융 변수의 움직임이 손익이 아니라 CSM을 통과하도록 — 이것이 “변동수수료접근법”이라는 이름의 또 다른 뜻입니다. 상각은 7장과 같습니다. 보장단위(보유계약)에 비례해 CSM을 손익으로 풀어 냅니다.

다음 달 CSM = 이번 달 CSM + 이자부리 - 상각

이자부리 = 월초 CSM × 기초항목 월 수익률

10.4 손계산 예제#

계좌가치와 CSM을 작은 계약 하나로 끝까지 굴려 봅니다.

예제 설정

  • 단일보험료 계좌형 계약, 최초 계좌가치 1,000,000

  • 기초항목 월 수익률 1%, 월 수수료율 0.5%

  • 보장기간 3개월. 단순화를 위해 사망·해지가 없다고 둠

먼저 계좌가치입니다. 10.2절의 규칙 — 다음 달 = 이번 달 × 1.01 × 0.995 — 를 적용합니다.

월초 계좌가치

적립 (+1%)

수수료 (-0.5%)

월말 계좌가치

1개월

1,000,000.00

+10,000.00

-5,050.00

1,004,950.00

2개월

1,004,950.00

+10,049.50

-5,075.00

1,009,924.50

3개월

1,009,924.50

+10,099.25

-5,100.12

1,014,923.63

1개월 행을 봅시다. 계좌가치 1,000,000에 적립률 1%가 붙어 1,010,000이 되고, 거기서 수수료 0.5% — 1,010,000 × 0.5% = 5,050 — 를 뗍니다. 월말 계좌가치는 1,010,000 - 5,050 = 1,004,950이죠. 그 5,050이 이번 달 회사가 가져간 변동수수료입니다.

이제 CSM입니다. 이 계약의 보장기간은 3개월. 만기에 계약자는 그동안 굴러온 계좌가치를 돌려받습니다. 회사가 보유한 것은 최초 계좌가치 1,000,000입니다. 돌려줄 급부의 현재가치는 — 기초항목 수익률로 할인하면 10.3절에서 본 대로 적립이 상쇄되어 수수료 차감분만 남으므로 — 990,025입니다. 그 차이

1,000,000 - 990,025 = 9,975

가 회사가 아직 벌지 않은 변동수수료, 곧 최초 CSM입니다. 최초 계좌가치의 약 1% — 보장기간 동안 떼어 갈 수수료의 현재가치죠.

이 CSM을 10.3절의 규칙으로 굴립니다. 7장과 같되, 이자부리에 쓰는 이자율이 **기초항목 수익률(월 1%)**입니다. 보장단위(이번 달 보유계약)는 사망·해지가 없으니 3개월 내내 1, 1, 1입니다.

월초 CSM

이자부리 (1%)

상각

월말 CSM

1개월

9,975.00

99.75

3,358.25

6,716.50

2개월

6,716.50

67.17

3,391.83

3,391.83

3개월

3,391.83

33.92

3,425.75

0.00

1개월 행을 확인해 봅시다. 월초 CSM 9,975에 이자부리 9,975 × 1% = 99.75가 붙어 10,074.75. 거기서 이번 달 보장단위 몫을 상각합니다 — 10,074.75 × 1 ÷ (1 + 1 + 1) = 3,358.25. 월말 CSM은 10,074.75 - 3,358.25 = 6,716.50이죠. 2개월, 3개월도 같은 규칙이고, 보장이 끝나는 3개월 말에 CSM은 정확히 0이 됩니다. 7장에서 본 그대로 — CSM은 미실현 변동수수료를 한 푼도 남기지 않고 보장기간에 걸쳐 손익으로 풀어 냅니다.

10.5 vfa.measure로 측정하기#

손으로 따라온 그 계약을 엔진으로 측정합니다. VFA는 vfa.measure로 측정합니다.

import numpy as np
import fastcashflow as fcf

# 사망률 함수 -- 사망 없음 (VFA의 사망보장 외 흐름 집중)
death_fn = lambda sex, issue_age, duration: np.full(issue_age.shape, 0.0)

# 해지율 함수 -- 해지 없음
lapse_fn = lambda sex, issue_age, duration: np.full(duration.shape, 0.0)

# 산출기초
basis = fcf.Basis(
    mortality_annual  = death_fn,           # 사망률 함수 (사망 없음 가정)
    lapse_annual      = lapse_fn,           # 해지율 함수 (해지 없음 가정)
    discount_annual   = 0.03,               # 연 할인율 3%
    ra_confidence     = 0.75,               # 위험조정 신뢰수준 75%
    mortality_cv      = 0.10,               # 사망률 변동계수 10%
    investment_return = 1.01 ** 12 - 1,     # 기초항목 월 수익률 1% (연 환산)
    fund_fee          = 1.005 ** 12 - 1,    # 월 펀드수수료 0.5% (연 환산)
)

# 모델 포인트
model_points = fcf.ModelPoints.single(
    issue_age     = 40,         # 가입연령 40세
    sex           = 0,          # 성별 (0=남, 1=여)
    premium       = 0,          # 월납 보험료 0 (일시납 가정)
    term_months   = 3,          # 보험기간 3개월
    account_value = 1_000_000,  # 초기 계좌가치 100만원
)
m = fcf.vfa.measure(model_points, basis)
print(m.account_value_path[0])   # 계좌가치 궤적
print(m.csm_path[0])             # CSM 궤적

VFA에 필요한 가정 둘이 새로 나옵니다. investment_return은 기초항목의 연 수익률, fund_fee는 연 수수료율입니다. 예제는 월 1%·0.5%를 쓰므로 1.01 ** 12 - 1처럼 연율로 환산해 넣습니다(엔진이 다시 월율로 바꿉니다). 계좌형 계약이라 account_value로 최초 계좌가치를 주고, 사망보험금이나 별도의 청구보장은 두지 않아 benefits 도 비어 있습니다. 실행하면 이렇게 나옵니다(읽기 쉽게 반올림).

[1000000.    1004950.    1009924.5  1014923.63]
[   9975.       6716.5      3391.83        0.  ]

10.4절의 두 표 그대로입니다 — 계좌가치는 1,000,000에서 1,014,923.63 까지 자라고, CSM은 9,975에서 출발해 0으로 끝납니다.

최저보증과 위험조정

계좌형 계약에는 흔히 최저보증이 붙습니다 — 기초항목 수익률이 나빠도 계좌에 최소한 얼마는 적립해 주겠다는 약속입니다 (minimum_crediting_rate). 보증이 있으면 계좌는 매달 max(수익률, 보증이율)로 적립됩니다. 이 보증은 공짜가 아니어서, 수익률이 보증에 못 미칠 때 그 차액을 회사가 떠안습니다.

결정론적 측정(시나리오 하나)은 그 보증의 내재가치만 담습니다. 수익률이 오르내릴 때 보증이 추가로 일으키는 비용 — 시간가치 (TVOG, Time Value of Options and Guarantees) — 는 여러 수익률 시나리오가 있어야 측정됩니다. fastcashflow는 이를 vfa.tvog로 따로, 또는 vfa.measure에 수익률 시나리오를 넘겨 측정합니다.

한편 계좌형 계약의 위험조정(RA)은 사업비위험을 담습니다. 보험금이 늘 계좌가치와 같아 보험위험은 거의 0이고, 투자위험은 계약자가 지므로, 회사에 남는 주된 비금융위험이 사업비이기 때문입니다(expense_cv).

10.6 다음 장#

VFA까지, IFRS 17의 세 회계모형을 모두 봤습니다. 일반모형이 BEL·RA·CSM을 모두 명시적으로 계산하는 기본 모형이고, PAA는 짧은 계약을 위해 그것을 잔여보장부채 하나로 간추린 간편법, VFA는 계약자가 운용성과를 나눠 갖는 계약을 위해 CSM이 기초항목 수익률을 흡수하도록 변형한 모형입니다. 1.5절에서 “나머지 둘은 일반모형의 변형”이라 한 말의 뜻이 이제 구체적으로 보일 것입니다.

다음 장부터는 다시 일반모형으로 돌아가, 엔진을 실무에서 쓰는 법을 봅니다 — 입력을 파일로 다루고, 결과를 시각화하고 변동분석과 손익 리포트로 정리하는 흐름입니다.