ํฐ์คํ ๋ฆฌ ๋ทฐ
๐ ํํธ ํฌ์ ๊ณต๋ถ 15๋จ๊ณ
— “๋ง์ฝ์์ธ ํฌํธํด๋ฆฌ์ค ์ด๋ก ์ ๋ฌธ: ์ต์ ํ๊ฐ ์๋๋ผ ‘์๊ฐ์ ํ’์ ์ป๋ ๋จ๊ณ”
14๋จ๊ณ์์ ์ฐ๋ฆฌ๋ ๋ถ์ฐ์ ๋ณธ์ง์ด
“์ข
๋ชฉ ์”๊ฐ ์๋๋ผ ์๊ด๊ด๊ณ๋ผ๋ ๊ฑธ ๋ฐฐ์ ์ต๋๋ค.
์ด์ ๋ถํฐ๋ ๊ทธ๊ฑธ
์กฐ๊ธ ๋ ์ฒด๊ณ์ ์ผ๋ก ์ค๋ช
ํ๋ ํ๋ ์์ด ๋ฑ์ฅํฉ๋๋ค.
๋ฐ๋ก ๋ง์ฝ์์ธ (Modern Portfolio Theory, MPT),
์ฆ ํ๋ ํฌํธํด๋ฆฌ์ค ์ด๋ก ์
๋๋ค.
๊ทผ๋ฐ ์ฌ๊ธฐ์ ์คํด๊ฐ ๋ง์์.
“๋ง์ฝ์์ธ = ์ํ์ผ๋ก ์ต์ ํฌํธํด๋ฆฌ์ค๋ฅผ ์ฐพ์์
์๋ฒฝํ๊ฒ ๋์ ๋ฒ๋ ๋ฐฉ๋ฒ?”
์๋๋๋ค.
15๋จ๊ณ์ ๋ชฉ์ ์
์๋ฒฝํ ์ต์ ํ๊ฐ ์๋๋ผ,
“ํฌํธํด๋ฆฌ์ค๋ฅผ ์ค๊ณํ๋ ์ฌ๊ณ ์ ํ์ ๊ฐ๋ ๊ฒ”
์ ๋๋ค.
1๏ธโฃ ๋ง์ฝ์์ธ ๊ฐ ๋์ง ์ง๋ฌธ์ ๋จ์ํ๋ค
๋ง์ฝ์์ธ ๋ 1952๋ ์ ์ด๋ฐ ์ง๋ฌธ์ ๋์ก์ต๋๋ค.
“๊ฐ์ ๊ธฐ๋์์ต์ด๋ผ๋ฉด
์ํ์ด ๋ ๋ฎ์ ์กฐํฉ์ ์ ํํ ์ ์์๊น?”
๊ทธ๋ฆฌ๊ณ ๋ฐ๋๋ก,
“๊ฐ์ ์ํ์ด๋ผ๋ฉด
๊ธฐ๋์์ต์ด ๋ ๋์ ์กฐํฉ์ ์ ํํ ์ ์์๊น?”
์ด ๋ ์ง๋ฌธ์ด
‘ํฌํธํด๋ฆฌ์ค’๋ผ๋ ๊ฐ๋
์
์ํ์ ์ผ๋ก ์ ๋ฆฌํ๊ฒ ๋ง๋ ์์์ ์
๋๋ค.
2๏ธโฃ ๊ธฐ๋์์ต๋ฅ ๊ณผ ์ํ(๋ถ์ฐ)์ ‘๊ฐ๋ณ ์์ฐ’์ด ์๋๋ผ ‘์กฐํฉ’์์ ๋ณํ๋ค
์ฌ๊ธฐ์ ํต์ฌ์ ์ด๊ฒ๋๋ค.
- A๋ผ๋ ์์ฐ์ ๋ณ๋์ฑ
- B๋ผ๋ ์์ฐ์ ๋ณ๋์ฑ
์ด ๋ ๊ฐ๊ฐ ์์ด๋
“์กฐํฉ์ ๋ณ๋์ฑ”์ ๋จ์ ํฉ์ด ์๋๋๋ค.
์๋ํ๋ฉด
๋์ด ๊ฐ์ด ์์ง์ด์ง ์์ผ๋ฉด
์๋ก์ ํ๋ค๋ฆผ์ด ์์๋๊ธฐ ๋๋ฌธ์
๋๋ค.
ํฌํธํด๋ฆฌ์ค ๋ฆฌ์คํฌ๋
์์ฐ์ ์ํ + ์๊ด๊ด๊ณ์ ํจ์๋ค
์ด ๋ฌธ์ฅ์ด
๋ง์ฝ์์ธ ์ ๋ชจ๋ ๊ฒ์
๋๋ค.
3๏ธโฃ ํจ์จ์ ํ๋ก ํฐ์ด(Efficient Frontier)๋ ๋ฌด์์ธ๊ฐ
ํจ์จ์ ํ๋ก ํฐ์ด๋
๋ง์ด ์ด๋ ต์ง๋ง ๊ฐ๋
์ ๊ฐ๋จํฉ๋๋ค.
“๊ฐ๋ฅํ ํฌํธํด๋ฆฌ์ค ์กฐํฉ ์ค
๊ฐ์ฅ ํจ์จ์ ์ธ(์์ต ๋๋น ์ํ์ด ์ข์) ๊ฒฝ๊ณ์ ”
์ฆ,
- ์ด ์ ์๋์ ์๋ ํฌํธํด๋ฆฌ์ค๋
“๋ ๋์ ๋์์ด ์์” - ์ด ์ ์์ ์๋ ํฌํธํด๋ฆฌ์ค๋
“๊ฐ์ ์ํ์ด๋ฉด ์์ต์ด ์ต๋”
๋๋
“๊ฐ์ ์์ต์ด๋ฉด ์ํ์ด ์ต์”
ํํธ๋ ์ด ๊ฐ๋
์ ํตํด
ํฌํธํด๋ฆฌ์ค๋ฅผ ๊ฐ๊ฐ์ด ์๋๋ผ ๋น๊ต ๊ฐ๋ฅํ ๊ตฌ์กฐ๋ก ๋ด
๋๋ค.
4๏ธโฃ ๊ทธ๋ฐ๋ฐ ์ ‘์ต์ ํ’๋ ์ํํ ๊น?
์ฌ๊ธฐ์ ์ง์ง ์ค์ํ ํฌ์ธํธ๊ฐ ๋์ต๋๋ค.
๋ง์ฝ์์ธ ์ด๋ก ์์ฒด๋ ์๋ฆ๋ต์ง๋ง,
ํ์ค์์๋ ์ด๋ฐ ๋ฌธ์ ๊ฐ ์๊น๋๋ค.
โ ๋ฌธ์ 1) ๊ธฐ๋์์ต๋ฅ ์ถ์ ์ด ์ด๋ ต๋ค
๋ฏธ๋ ๊ธฐ๋์์ต๋ฅ ์
์ซ์๋ก ์ ํํ ๋ฃ๋ ๊ฑด ๊ฑฐ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
โ ๋ฌธ์ 2) ๊ณต๋ถ์ฐ/์๊ด๊ด๊ณ๋ ์์ฅ ๊ตญ๋ฉด์ ๋ฐ๋ผ ๋ฐ๋๋ค
ํ์์ ์๊ด์ด ๋ฎ๋ค๊ฐ
์๊ธฐ ๋ ๊ฐ์๊ธฐ ๊ฐ์ด ๋จ์ด์ง ์ ์์ต๋๋ค.
โ ๋ฌธ์ 3) ์ต์ ํ๋ ๊ณผ๋ฏผํ๋ค
์
๋ ฅ๊ฐ(๊ธฐ๋์์ต๋ฅ /๋ถ์ฐ)์ด
์กฐ๊ธ๋ง ๋ฐ๋์ด๋
๊ฒฐ๊ณผ ๋น์ค์ด ๊ทน๋จ์ ์ผ๋ก ๋ณํฉ๋๋ค.
์ด๊ฑด 13๋จ๊ณ์์ ๋ฐฐ์ด “robust” ๊ฐ๋ ๊ณผ ์ฐ๊ฒฐ๋ฉ๋๋ค.
์๋ฒฝํ ์ต์ ํ๋
์ค์ ์์ ๊นจ์ง๊ธฐ ์ฌ์ด ๊ตฌ์กฐ๋ฅผ ๋ง๋ ๋ค
๊ทธ๋์ ๊ฐ์ธ ํฌ์์๋
๋ง์ฝ์์ธ ๋ฅผ “์ต์ ํ ๊ธฐ๊ณ”๋ก ์ฐ๋ฉด ์ ๋๊ณ ,
์ฌ๊ณ ํ๋ ์์ผ๋ก ์จ์ผ ํฉ๋๋ค.
5๏ธโฃ ๊ฐ์ธ ํฌ์์ ๋ฒ์ ์ผ๋ก ๋ง์ฝ์์ธ ๋ฅผ ์ฐ๋ ๋ฐฉ๋ฒ
์ฐ๋ฆฌ๋ ์ด๋ ๊ฒ ๋จ์ํํฉ๋๋ค.
โ 1) ๊ธฐ๋์์ต๋ฅ ์ ์ถ์ ํ์ง ์๋๋ค
๋์ “๊ณผ๊ฑฐ ๊ธฐ๋ฐ” ํน์ “๋์ผ ๊ฐ์ ”์ผ๋ก ๋ก๋๋ค.
โ 2) ์ํ(๋ณ๋์ฑ)๊ณผ ์๊ด๊ด๊ณ๋ง ๋ณธ๋ค
์ฆ, “๋ ๊ฐ์ด ๋จ์ด์ง๋ ์กฐํฉ”์ ๋ง๋ค๊ณ
MDD๋ฅผ ์ค์ด๋ ๋ฐ ์ง์คํฉ๋๋ค.
โ 3) ๋น์ค์ ๊ทน๋จ์ ์ต์ ํ ๋์ ์ ํํ๋ค
์:
- ์ฃผ์ 30~70% ๋ฒ์
- ์ฑ๊ถ 10~50%
- ๊ธ 0~20%
์ด๋ ๊ฒ ํ๋ฉด
์ต์ ํ์ ๊ณผ๋ฏผํจ์ ๋ง๊ณ
์ด์ฉ ๊ฐ๋ฅํ ํฌํธํด๋ฆฌ์ค๊ฐ ๋ฉ๋๋ค.
6๏ธโฃ ์์ฃผ ์์ ์ค์ต (๋ง์ฝ์์ธ ๊ฐ๊ฐ ์ตํ๊ธฐ)
15๋จ๊ณ์์ ์ค์ํ ๊ฑด
“์ฝ๋๋ก ์ต์ ํ ๊ฒฐ๊ณผ ๋ฝ๊ธฐ”๊ฐ ์๋๋ผ
์กฐํฉ์ด ๋ฆฌ์คํฌ๋ฅผ ์ค์ด๋ ๊ฑธ ์ฒด๊ฐํ๋ ๊ฒ์
๋๋ค.
โ๏ธ ๊ณผ์ 15
์๋ ์์ฐ 3๊ฐ๋ฅผ ๋ ์ฌ๋ ค๋ณด์ธ์.
- ์ฃผ์
- ์ฑ๊ถ
- ๊ธ
๊ทธ๋ฆฌ๊ณ ์์ํด๋ด ๋๋ค.
- ์ฃผ์์ด -20%์ผ ๋
- ์ฑ๊ถ์ด +3%
- ๊ธ์ด +5%
์ด๋ผ๋ฉด,
“์ฃผ์ 100% ํฌํธํด๋ฆฌ์ค์
3์์ฐ ํผํฉ ํฌํธํด๋ฆฌ์ค์ MDD๋ ์ด๋ป๊ฒ ๋ฌ๋ผ์ง๊น?”
์ด ์ง๋ฌธ์ ๋ตํ๋ ์๊ฐ,
๋น์ ์ ์ด๋ฏธ ๋ง์ฝ์์ธ ๋ฅผ ์ดํดํ ๊ฒ๋๋ค.
7๏ธโฃ (์คํ ๊ฐ๋ฅํ ์ฝ๋) ์์ฃผ ๋จ์ํ “ํฌํธํด๋ฆฌ์ค ๋ณ๋์ฑ” ๊ณ์ฐ
์๋ ์ฝ๋๋ ์ธ๋ถ ๋ฐ์ดํฐ ์์ด๋ ์คํ๋ฉ๋๋ค.
(์ํ ์์ต๋ฅ ์ ๋ง๋ค์ด์ ํฌํธํด๋ฆฌ์ค ๋ณ๋์ฑ์ ๊ณ์ฐํฉ๋๋ค)
import numpy as np
import pandas as pd
def make_sample_returns(n_days=1000, seed=1):
rng = np.random.default_rng(seed)
stock = rng.normal(0.0003, 0.012, n_days)
bond = rng.normal(0.00015, 0.004, n_days) - 0.2*stock
gold = rng.normal(0.0002, 0.008, n_days) + 0.05*stock
return pd.DataFrame({"stock": stock, "bond": bond, "gold": gold})
def portfolio_vol(returns: pd.DataFrame, weights: dict):
w = np.array([weights[c] for c in returns.columns], dtype=float)
cov = returns.cov().values
var = w.T @ cov @ w
return float(np.sqrt(var))
if __name__ == "__main__":
rets = make_sample_returns()
w1 = {"stock": 1.0, "bond": 0.0, "gold": 0.0}
w2 = {"stock": 0.6, "bond": 0.3, "gold": 0.1}
print("Vol(Stock100%):", portfolio_vol(rets, w1))
print("Vol(Mix):", portfolio_vol(rets, w2))
์ด ๊ฒฐ๊ณผ๋ ๋ณดํต
ํผํฉ ํฌํธํด๋ฆฌ์ค์ ๋ณ๋์ฑ์ด ๋ ๋ฎ๊ฒ ๋์ฌ ๊ฒ๋๋ค.
๊ทธ๊ฒ ๋ง์ฝ์์ธ ์ ํต์ฌ์ ๋๋ค.
๐ ์ ๋ฆฌ
- ๋ง์ฝ์์ธ ๋ “์ต์ ํ ๋๊ตฌ”๊ฐ ์๋๋ผ “์ฌ๊ณ ํ๋ ์”์ด๋ค
- ํฌํธ ๋ฆฌ์คํฌ๋ ๋ณ๋์ฑ๊ณผ ์๊ด๊ด๊ณ์ ์กฐํฉ์ด๋ค
- ํจ์จ์ ํ๋ก ํฐ์ด๋ “๊ฐ๋ฅํ ์ต์ ์ ์กฐํฉ๋ค”์ ๊ฒฝ๊ณ์ ์ด๋ค
- ์ต์ ํ๋ ๊ณผ๋ฏผํด์ ์ค์ ์ ์ทจ์ฝํ ์ ์๋ค
- ๊ฐ์ธ ํฌ์์๋ ์ ํ๋ ๋ฒ์ ์์์ ๋ณด์์ ์ผ๋ก ์ ์ฉํด์ผ ํ๋ค
๋ง์ฝ์์ธ ,ํ๋ํฌํธํด๋ฆฌ์ค์ด๋ก ,MPT,ํจ์จ์ ํ๋ก ํฐ์ด,ํฌํธํด๋ฆฌ์ค,์์ฐ๋ฐฐ๋ถ,์๊ด๊ด๊ณ,๋ฆฌ์คํฌ๊ด๋ฆฌ,ํํธํฌ์๊ธฐ์ด,ํํธ๊ณต๋ถ
'์ฃผ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ๐ ํํธ ํฌ์ ๊ณต๋ถ 17๋จ๊ณ (0) | 2026.03.10 |
|---|---|
| ๐ ํํธ ํฌ์ ๊ณต๋ถ 16๋จ๊ณ (0) | 2026.03.09 |
| ๐ ํํธ ํฌ์ ๊ณต๋ถ 14๋จ๊ณ (0) | 2026.03.02 |
| ๐ ํํธ ํฌ์ ๊ณต๋ถ 13๋จ๊ณ (0) | 2026.02.27 |
| ๐ ํํธ ํฌ์ ๊ณต๋ถ 12๋จ๊ณ (0) | 2026.02.25 |
- Total
- Today
- Yesterday
- ๊ฐ๋ฐ๋ธ๋ก๊ทธ
- PostgreSQL
- NestJS
- node.js
- SEO์ต์ ํ
- ์์ฑํAI
- ์น๊ฐ๋ฐ
- Python
- ์ฟ ๋ฒ๋คํฐ์ค
- DevOps
- seo ์ต์ ํ 10๊ฐ
- REACT
- rag
- nextJS
- nodejs
- ์ฃผ๋์ด๊ฐ๋ฐ์
- Next.js
- LangChain
- kotlin
- CI/CD
- fastapi
- Express
- openai
- JAX
- llm
- JWT
- flax
- SpringBoot
- ๋ฐฑ์๋๊ฐ๋ฐ
- Prisma
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |

