# ๐Ÿงฎ ๋ฆฌ์Šคํฌ ํ†ตํ•ฉ ๊ณ„์‚ฐ๊ธฐ (`risk_calculator.py`) ๊ฐœ๋… ์ •๋ฆฌ --- ## โœ… ๋ชฉ์  `risk_calculator.py`๋Š” SightRay์˜ ๋ฆฌ์Šคํฌ ๊ด€๋ฆฌ ์—”์ง„ ๋‚ด์—์„œ **VaR, SVaR, Monte Carlo, ATR ๋“ฑ ์—ฌ๋Ÿฌ ๋ฆฌ์Šคํฌ ์ง€ํ‘œ๋ฅผ ํ•˜๋‚˜์˜ ํ•จ์ˆ˜๋กœ ํ†ตํ•ฉ ๊ณ„์‚ฐ**ํ•˜๋Š” ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค. > ๐Ÿ“Œ ๊ฐ ์ง€ํ‘œ๋Š” ๋ณ„๋„์˜ ๋ชจ๋“ˆ๋กœ ๊ณ„์‚ฐ๋˜๋ฉฐ, ์ด ํŒŒ์ผ์€ ํ•ด๋‹น ์ง€ํ‘œ๋“ค์„ ์กฐํ•ฉํ•ด์„œ ์ผ๊ด„ ๊ณ„์‚ฐํ•˜๋Š” "ํ†ตํ•ฉ ๊ณ„์‚ฐ๊ธฐ" ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. --- ## ๐Ÿ“ฆ ํฌํ•จ ์ง€ํ‘œ ๋ชฉ๋ก | ์ง€ํ‘œ | ์„ค๋ช… | ํŒŒ์ผ๋ช… | |------|------|--------| | **VaR** | Value at Risk โ€“ ํ†ต๊ณ„ ๊ธฐ๋ฐ˜ ์†์‹ค ํ•œ๊ณ„ ์ถ”์ • | `var.py` | | **SVaR** | Stressed VaR โ€“ ์ŠคํŠธ๋ ˆ์Šค ๊ตฌ๊ฐ„ ๊ธฐ๋ฐ˜ VaR | `svar.py` | | **MCS** | Monte Carlo Simulation โ€“ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ธฐ๋ฐ˜ ์†์‹ค ์˜ˆ์ธก | `monte_carlo.py` | | **ATR** | Average True Range โ€“ ๊ธฐ์ˆ ์  ๋ณ€๋™์„ฑ ์ง€ํ‘œ | `atr.py` | --- ## ๐Ÿง  ๋‚ด๋ถ€ ๊ตฌ์กฐ ```python from var import calculate_var from svar import calculate_svar from monte_carlo import monte_carlo_var from atr import calculate_atr def calculate_all_risks(df): return { 'var': calculate_var(df), 'svar': calculate_svar(df), 'mcs': monte_carlo_var(df), 'atr': calculate_atr(df) } ``` --- ## ๐Ÿ” ์ž‘๋™ ํ๋ฆ„ ```plaintext [๋‹จ์ผ ์ข…๋ชฉ์˜ CDS ์ž…๋ ฅ (DataFrame)] โ†“ calculate_var(df) calculate_svar(df) monte_carlo_var(df) calculate_atr(df) โ†“ ํ†ตํ•ฉ๋œ dict ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ ``` --- ## ๐Ÿ“Š ์ถœ๋ ฅ ์˜ˆ์‹œ ```python { 'var': 0.0312, 'svar': 0.0443, 'mcs': 0.0375, 'atr': 2.91 } ``` - **๊ฐ ๊ฐ’์€ ๋น„์œจ ๋˜๋Š” ํฌ์ธํŠธ ๋‹จ์œ„์˜ ์†์‹ค ์œ„ํ—˜์„ ์˜๋ฏธ**ํ•˜๋ฉฐ, - ์ดํ›„ `risk_score` ์‚ฐ์ถœ ๋ชจ๋“ˆ์—์„œ ๊ฐ€์ค‘์น˜ ๋“ฑ์„ ํ†ตํ•ด ํ†ตํ•ฉ ์ ์ˆ˜๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. --- ## โœ… SightRay์—์„œ์˜ ์—ญํ•  | ๊ธฐ๋Šฅ | ์„ค๋ช… | |------|------| | ์ง€ํ‘œ ํ†ตํ•ฉ | ๋ถ„์„๋œ ์ข…๋ชฉ ํ•˜๋‚˜์— ๋Œ€ํ•ด ๋ฆฌ์Šคํฌ ์ง€ํ‘œ๋ฅผ ์ผ๊ด„ ๊ณ„์‚ฐ | | ์Šค์ฝ”์–ด ์ž…๋ ฅ | `risk_scorer.py`์—์„œ ์‚ฌ์šฉํ•  ๊ธฐ์ดˆ ์ž…๋ ฅ ๊ฐ’ ์ œ๊ณต | | ํ™•์žฅ์„ฑ ํ™•๋ณด | ์ƒˆ๋กœ์šด ์ง€ํ‘œ๋ฅผ ์ถ”๊ฐ€ํ•ด๋„ ์ด ๋ชจ๋“ˆ์—์„œ ๊ฐ„๋‹จํžˆ ์กฐ์ • ๊ฐ€๋Šฅ | --- ## ๐Ÿš€ ๋‹ค์Œ ๋‹จ๊ณ„์™€ ์—ฐ๊ณ„ - ๋‹ค์Œ ํŒŒ์ผ์ธ `risk_scorer.py`์—์„œ `calculate_all_risks()` ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์•„ ์ข…ํ•ฉ ๋ฆฌ์Šคํฌ ์ ์ˆ˜(`risk_score`)๋ฅผ ๊ณ„์‚ฐํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. --- ## โœ… ์š”์•ฝ - `risk_calculator.py`๋Š” **์ง€ํ‘œ ๊ณ„์‚ฐ์„ ํ•˜๋‚˜์˜ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ํ†ตํ•ฉ**ํ•ด์ฃผ๋Š” ๋ชจ๋“ˆ - ํ–ฅํ›„ ๋ฆฌ์Šคํฌ ์—”์ง„ ์ „์ฒด์˜ ๋ชจ๋“ˆํ™”์™€ ์œ ์ง€๋ณด์ˆ˜ ํšจ์œจ์„ฑ์„ ๋†’์ด๋Š” **ํ•ต์‹ฌ ์—ฐ๊ฒฐ ์ง€์ **์ž…๋‹ˆ๋‹ค