
내가 혼자 만들어 혼자 쓰는 말로
적정비중, 한계비중 이라는 말이 있다.(본래에는 적정 레버리지, 한계 레버리지 라는 말로 쓰지만 좀 더 순화함.)
적정비중이란 기대값, 승률, 손익비를 알 때에 최적의 복리수익률을 기대할 수 있는 비중.
켈리기준에서 나오는 그 최적 비중이다.
한계비중이란 그 비중을 넘었을때 장기 복리수익률에서 더이상 수익이 나지 않는 비중을 말한다.
적정비중은, 한계비중과 제로비중 사이 그 어딘가에 있다.
비중0--------------------------적정비중(최적비중)----------------------한계비중(이후로 마이너스)
(대충 이런 느낌)
특정 자산에 큰 비중 혹은 레버리지를 넣는 것에 대해,
변동성이 심해진다, 정신건강에 해롭다, 건전하지 않다, 위험하다. 멘탈 관리가 안된다.
등의 이야기를 하곤 하는데 이것은 솔직히 아무런 의미도 없는 말이다.(그걸 누가 모름?)
실제로 의미가 있는 말은 그러한 시행은 확률적으로 장기수익률을 깎아먹는다.
라는 것이 더 상황에 적합한 말이고 의미있는 조언이라고 생각한다.
우리가 재무를 보고, 산업에 대해 이해하고, 기업에 대해 알아보는 것, 매크로에 대한 이해,
차트를 보고 기술적인 분석을 하는 것(의미 있는지는 모르겠지만)
정책에 대해 이해하는 것 등은 우리가 배팅할 자산에 대핸 확률적인 기대값을 알기 위함이다.
그러나 갖은 노력으로 이 확률적 기대값을 뽑았다고 하더라도
적정비중과 한계비중에 대한 이해가 없다면 너무나도 어이없이 수익률을 깎아먹을 수가 있다.
솔직히 정확한 적정비중을 뽑는 것은 불가능하지만, 한계비중에 대한 개념과 자각이 있다면
그리고 그것을 수치적으로 볼 수 있다면 적어도 사고를 '어느정도'는 방지할 수 있다고 생각한다.
적정비중에 미달하는 것은 적어도 사고는 나지 않는다, 그러나 한계비중을 넘기는 것은 사고로 이어질 수 있다.
핵심은 비중이 과할수록 장기복리수익률이 꺾인다는 것.
-설명.
특정 배팅에 관한 기대값을 아래와 같은 식으로 만들어 볼 수 있다.
그렇다면, 특정 배팅에 내 자산의 비중을 고려해 최종자산의 값을 아래와 같은 식으로 만들어 볼 수 있다.
그렇다면, '특정 배팅'에 대한 기대값이 아닌, '특정 배팅에 대한 내 자산'의 기하 기대값을 아래와 같은 식으로 만들어 볼 수 있다.
*부연설명 - 70%수익은 이익률 0.7, 70%손실은 손실률 0.7(0.3 아님)
여기서 로그화를 하면
우변의 두개의 항은 위로 볼록하다. 즉 위로 볼록+위로 볼록의 형태임.
기대값이 1일때에는 이렇게 그려진다.

해가 1개이다. 비중이 0일때.
기대값이 1보다 클 때에는 아래와 같은 형태이다.

해가 2개이다. 비중이 0일때, 0보다 클 때.
기대값이 1보다 작을 때에도 마찬가지로

비중이 0일때, 0보다 작을 때.
비중을 해로 놓고, 기하기대값을 1로 놓을때에 해가 1개 혹은 두 개가 존재한다는 것을 알 수 있는데,
두 개가 존재할 경우에는 비중이 0일때와 그렇지 않을 때가 존재한다.
여기서 Y축이 가장 높아지는 X축의 지점이 최적비중이고, Y축이 1이 되는 X축의 0이 아닌 지점이 한계 비중이다.
-시각화
구글 코랩에 복사 붙여넣기 하면 바로 실행되는 코드.
https://colab.research.google.com/
파일 -> 새 노트북 ->

여기 붙여넣고 재생버튼 처럼 생긴 저거 누르면 됨.
# ==============================================================
# Binomial Asset Dashboard – Wealth chart keeps 0 tick
# ==============================================================
# 0) suppress font warnings
import warnings, matplotlib as mpl
warnings.filterwarnings('ignore', category=UserWarning, module='matplotlib')
mpl.rcParams['axes.unicode_minus'] = False
# 1) imports
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as mtick
# 2) binomial-path generator
def simulate_binomial_asset(p, u, d, n_steps, s0=1.0, n_paths=1, seed=None):
if seed is not None: np.random.seed(seed)
ups = np.random.rand(n_paths, n_steps) < p
factors = np.where(ups, u, d)
return np.hstack([np.full((n_paths,1), s0),
s0*np.cumprod(factors, axis=1)])
# 3) log-tick formatter (10^k)
def log_fmt():
return mtick.FuncFormatter(lambda y,_: rf"$10^{{{int(np.log10(y))}}}$")
# 4) interactive UI
try:
import ipywidgets as widgets
from IPython.display import display, Markdown
display(Markdown("## 🎛️ Binomial Asset Dashboard"))
# sliders / inputs
p_slider = widgets.FloatSlider(value=0.5, min=0, max=1, step=.01, description='승률')
u_slider = widgets.FloatSlider(value=1.05,min=0.5, max=2, ...

적정비중에 미달하는 것은 적어도 사고는 나지 않는다, 그러나 한계비중을 넘기는 것은 사고로 이어질 수 있다. 핵심은 비중이 과할수록 장기복리수익률이 꺾인다는 것. 좋은 글 감사합니다~