Data Analyst Project

인덱슀 νˆ¬μžμžμ—κ²Œ μ‹œμž₯ 뢄석 도ꡬ가 ν•„μš”ν•œ 이유 — Passive μ•± κ°œλ°œμ§€ β‘ 

ParkS2 2026. 3. 16. 23:48

πŸ“Œ μ•± λ°”λ‘œκ°€κΈ°: Passive - λ―Έκ΅­ μ§€μˆ˜ 투자 뢄석 이 글은 Passive μ•± 개발 과정을 λ‹€λ£¨λŠ” μ‹œλ¦¬μ¦ˆμ˜ 첫 번째 κΈ€μž…λ‹ˆλ‹€.

 

Passive

λ―Έκ΅­ μ§€μˆ˜ 투자자λ₯Ό μœ„ν•œ 금육 데이터 뢄석 μ‚¬μ΄νŠΈ

passive-financial-data-analysis-production.up.railway.app

 


ν•΄κ²°ν•˜κ³ μž ν–ˆλ˜ 문제

2024λ…„ κΈ°μ€€, μ „ 세계 인덱슀 νŽ€λ“œμ— 투자된 μžμ‚°μ€ μ•½ 15μ‘° λ‹¬λŸ¬λ₯Ό λ„˜μ—ˆμŠ΅λ‹ˆλ‹€. λ±…κ°€λ“œ 창립자 μ‘΄ 보글이 1975년에 첫 인덱슀 νŽ€λ“œλ₯Ό λ§Œλ“€μ—ˆμ„ λ•Œ, μ›”κ°€μ—μ„œλŠ” "λ³΄κΈ€μ˜ μ–΄λ¦¬μ„μŒ(Bogle's Folly)"이라고 λΉ„μ›ƒμ—ˆμŠ΅λ‹ˆλ‹€. 50년이 μ§€λ‚œ μ§€κΈˆ, 인덱슀 νˆ¬μžλŠ” 개인 투자의 ν‘œμ€€μ΄ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

S&P 500 ETF ν•˜λ‚˜λ§Œ μ‚¬μ„œ 20년을 λ“€κ³  있으면 연평균 10% 수읡λ₯ μ„ κΈ°λŒ€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λ‘ μ μœΌλ‘œλŠ” μ™„λ²½ν•©λ‹ˆλ‹€.

그런데 μ‹€μ œλ‘œ 해보면 λ‹€λ¦…λ‹ˆλ‹€.


"아무것도 μ•ˆ ν•˜λŠ” 게" μ™œ μ΄λ ‡κ²Œ μ–΄λ €μš΄κ°€

2020λ…„ 3μ›”, μ½”λ‘œλ‚˜ 팬데믹으둜 S&P 500이 ν•œ 달 λ§Œμ— 34% ν­λ½ν–ˆμŠ΅λ‹ˆλ‹€. 2022λ…„μ—λŠ” μ—°μ€€μ˜ κΈ‰κ²©ν•œ 금리 μΈμƒμœΌλ‘œ S&P 500이 μ—°κ°„ -19%, λ‚˜μŠ€λ‹₯은 -33%λ₯Ό κΈ°λ‘ν–ˆμŠ΅λ‹ˆλ‹€.

이 μ‹œκΈ°μ— 인덱슀 νˆ¬μžμžκ°€ ν•΄μ•Ό ν•  일은 "아무것도 μ•ˆ ν•˜λŠ” 것"μž…λ‹ˆλ‹€. 보글이 λ§ν•œ "Stay the course."

ν•˜μ§€λ§Œ κ³„μ’Œμ—μ„œ 수천만 원이 μ¦λ°œν•˜λŠ” κ±Έ 맀일 λ³΄λ©΄μ„œ 아무것도 μ•ˆ ν•˜κΈ°κ°€ 쉽지 μ•ŠμŠ΅λ‹ˆλ‹€. μ‹€μ œλ‘œ 2020λ…„ 3월에 S&P 500 ETF(SPY)μ—μ„œ λΉ μ Έλ‚˜κ°„ μžκΈˆμ€ μ•½ 250μ–΅ λ‹¬λŸ¬μ˜€μŠ΅λ‹ˆλ‹€. λ°”λ‹₯μ—μ„œ νŒ”κ³ , λ°˜λ“± 후에 λ‹€μ‹œ μ‚° μ‚¬λžŒλ“€μ΄ 그만큼 λ§Žμ•˜λ‹€λŠ” λœ»μž…λ‹ˆλ‹€.

νŒ¨μ‹œλΈŒ 투자의 μ§„μ§œ 적은 μˆ˜μˆ˜λ£Œλ„ μ•„λ‹ˆκ³  μ’…λͺ© 선택도 μ•„λ‹™λ‹ˆλ‹€. 투자자 μžμ‹ μ˜ μ‹¬λ¦¬μž…λ‹ˆλ‹€.


κΈ°μ‘΄ λ„κ΅¬λ“€μ˜ 문제

μ‹œμž₯에 투자 뢄석 λ„κ΅¬λŠ” λ„˜μ³λ‚©λ‹ˆλ‹€. TradingView, Yahoo Finance, Seeking Alpha, κ΅­λ‚΄μ—μ„œλŠ” μ¦κΆŒμ‚¬ MTSκΉŒμ§€. 그런데 이 λ„κ΅¬λ“€μ˜ 곡톡적인 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

첫째, μ•‘ν‹°λΈŒ νŠΈλ ˆμ΄λ”λ₯Ό μœ„ν•΄ λ§Œλ“€μ–΄μ‘ŒμŠ΅λ‹ˆλ‹€.

차트 νŒ¨ν„΄, λ§€λ§€ 타이밍, μ’…λͺ© μŠ€ν¬λ¦¬λ‹ — 인덱슀 νˆ¬μžμžμ—κ²ŒλŠ” ν•„μš” μ—†λŠ” κΈ°λŠ₯λ“€μž…λ‹ˆλ‹€. SPYλ₯Ό μ‚¬μ„œ λ“€κ³  μžˆλŠ” μ‚¬λžŒμ—κ²Œ "골든 ν¬λ‘œμŠ€κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€"λΌλŠ” μ•Œλ¦Όμ€ μ˜λ―Έκ°€ μ—†μŠ΅λ‹ˆλ‹€.

λ‘˜μ§Έ, "μ§€κΈˆ μ‹œμž₯이 μ–΄λ–€ μƒνƒœμΈκ°€"λ₯Ό μ•Œλ €μ£Όμ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

인덱슀 νˆ¬μžμžμ—κ²Œ ν•„μš”ν•œ 건 "μ§€κΈˆ 사야 ν•˜λ‚˜ νŒ”μ•„μ•Ό ν•˜λ‚˜"κ°€ μ•„λ‹™λ‹ˆλ‹€. "μ§€κΈˆ μ‹œμž₯이 νŽ€λ”λ©˜ν„Έλ‘œ 움직이고 μžˆλŠ”κ°€, μ•„λ‹ˆλ©΄ 곡포/νƒμš•μ— μ˜ν•΄ 움직이고 μžˆλŠ”κ°€"μž…λ‹ˆλ‹€. 이 νŒλ‹¨μ΄ μžˆμ–΄μ•Ό 폭락 μ‹œμ— νŒ¨λ‹‰ 셀링을 ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ…‹μ§Έ, 정보가 λ„ˆλ¬΄ λ§ŽμŠ΅λ‹ˆλ‹€.

VIXκ°€ 30이면 무섭고, κΈˆλ¦¬κ°€ μ˜¬λΌκ°€λ©΄ λΆˆμ•ˆν•˜κ³ , μ‹ μš© μŠ€ν”„λ ˆλ“œκ°€ λ²Œμ–΄μ§€λ©΄ κ±±μ •λ©λ‹ˆλ‹€. κ°œλ³„ μ§€ν‘œλŠ” λ§Žμ€λ°, 이걸 μ’…ν•©ν•΄μ„œ "κ·Έλž˜μ„œ μ§€κΈˆμ΄ μ–΄λ–€ 상황인데?"λΌλŠ” μ§ˆλ¬Έμ— λ‹΅ν•΄μ£ΌλŠ” 도ꡬ가 μ—†μŠ΅λ‹ˆλ‹€.


Passive μ•±μ˜ 컨셉: "μ§€κΈˆ μ‹œμž₯의 μƒνƒœ"λ₯Ό λ³΄μ—¬μ£ΌλŠ” 도ꡬ

이 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ PassiveλΌλŠ” 앱을 λ§Œλ“€κΈ° μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€. 핡심 μ•„μ΄λ””μ–΄λŠ” κ°„λ‹¨ν•©λ‹ˆλ‹€.

μ—¬λŸ¬ μ‹œμž₯ 데이터λ₯Ό λ¨Έμ‹ λŸ¬λ‹μœΌλ‘œ μ’…ν•©ν•΄μ„œ, 인덱슀 νˆ¬μžμžκ°€ μ•Œμ•„μ•Ό ν•  "μ‹œμž₯의 ν˜„μž¬ μƒνƒœ"λ₯Ό ν•œλˆˆμ— λ³΄μ—¬μ£Όμž.

ꡬ체적으둜 μ„Έ κ°€μ§€ μ§ˆλ¬Έμ— λ‹΅ν•˜λŠ” μ•±μž…λ‹ˆλ‹€.

1. μ§€κΈˆ μ‹œμž₯이 νŽ€λ”λ©˜ν„Έλ‘œ μ›€μ§μ΄λŠ”κ°€, μ‹¬λ¦¬λ‘œ μ›€μ§μ΄λŠ”κ°€?

HMM(Hidden Markov Model)을 μ‚¬μš©ν•΄μ„œ μ‹œμž₯을 4개 ꡭ면으둜 λΆ„λ₯˜ν•©λ‹ˆλ‹€.

  • νŽ€λ”λ©˜ν„Έ 반영: μ£Όκ°€κ°€ κΈ°μ—… 싀적과 경제 μ§€ν‘œμ— 맞게 μ›€μ§μ΄λŠ” μƒνƒœ. 이 κ΅¬κ°„μ—μ„œλŠ” 단기 변동에 흔듀릴 ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€.
  • μ„Όν‹°λ©˜νŠΈ μ§€λ°°: μ£Όκ°€κ°€ νŽ€λ”λ©˜ν„Έκ³Ό λ¬΄κ΄€ν•˜κ²Œ κ³΅ν¬λ‚˜ νƒμš•μ— μ˜ν•΄ μ›€μ§μ΄λŠ” μƒνƒœ. 이 κ΅¬κ°„μ—μ„œ νŒ¨λ‹‰ 셀링이 κ°€μž₯ 많이 λ°œμƒν•©λ‹ˆλ‹€.

νˆ¬μžμžκ°€ μ•Œμ•„μ•Ό ν•  건 "μ§€κΈˆμ΄ μ–΄λ–€ ꡬ간인가"μž…λ‹ˆλ‹€.

2. ν•˜λ½/μƒμŠΉ κ°€λŠ₯성이 μ–Όλ§ˆλ‚˜ λ˜λŠ”κ°€?

XGBoost둜 44개 μ‹œμž₯ μ§€ν‘œ(VIX, μ‹ μš© μŠ€ν”„λ ˆλ“œ, 금리, κ±°λž˜λŸ‰ λ“±)λ₯Ό μ’…ν•©ν•΄μ„œ ν–₯ν›„ 20일 λ‚΄ ν•˜λ½/μƒμŠΉ κ°€λŠ₯성을 μˆ˜μΉ˜ν™”ν•©λ‹ˆλ‹€. "예츑"이 μ•„λ‹ˆλΌ "과거에 λΉ„μŠ·ν•œ μƒν™©μ΄μ—ˆμ„ λ•Œ μ–΄λ–€ 일이 μΌμ–΄λ‚¬λŠ”κ°€"λ₯Ό λ³΄μ—¬μ£ΌλŠ” λ°©μ‹μž…λ‹ˆλ‹€.

3. μ§€κΈˆ μ–΄λ–€ κ²½κΈ° ꡭ면인가?

FREDμ—μ„œ μˆ˜μ§‘ν•œ 8개 κ±°μ‹œκ²½μ œ μ§€ν‘œ(PMI, 금리차, μ‹€μ—…λ₯  λ“±)둜 κ²½κΈ°λ₯Ό 회볡/ν™•μž₯/λ‘”ν™”/침체 4개 ꡭ면으둜 λΆ„λ₯˜ν•©λ‹ˆλ‹€. κ²½κΈ° ꡭ면에 따라 μ–΄λ–€ μ„Ήν„°κ°€ κ°•ν•œμ§€λ₯Ό ν•¨κ»˜ λ³΄μ—¬μ€λ‹ˆλ‹€.


μ™œ 직접 λ§Œλ“€μ—ˆλ‚˜

μ†”μ§νžˆ λ§ν•˜λ©΄, μ²˜μŒλΆ€ν„° 앱을 λ§Œλ“€ 생각은 μ•„λ‹ˆμ—ˆμŠ΅λ‹ˆλ‹€.

ITκ²½μ˜ν•™κ³Ό μ‘Έμ—… ν”„λ‘œμ νŠΈλ‘œ S&P 500 포트폴리였 μ΅œμ ν™”λ₯Ό 주제둜 μž‘μ•˜λŠ”λ°, κ·Έ κ³Όμ •μ—μ„œ HMM으둜 μ‹œμž₯ ꡭ면을 λΆ„λ₯˜ν•˜λŠ” 논문듀을 μ ‘ν–ˆμŠ΅λ‹ˆλ‹€. "λ…Έμ΄μ¦ˆ ꡬ간과 μ‹œκ·Έλ„ ꡬ간을 ꡬ뢄할 수 있으면, 인덱슀 투자자의 κ°€μž₯ 큰 문제(νŒ¨λ‹‰ 셀링)λ₯Ό ν•΄κ²°ν•  수 μžˆκ² λ‹€"λŠ” 생각이 λ“€μ—ˆμŠ΅λ‹ˆλ‹€.

λ˜ν•œ, 데이터 μˆ˜μ§‘λΆ€ν„° μ „μ²˜λ¦¬, λͺ¨λΈ ν•™μŠ΅, λ°±μ—”λ“œ API, ν”„λ‘ νŠΈμ—”λ“œ UI, λ°°ν¬κΉŒμ§€ μ „ 과정을 혼자 해보면 κ·Έ μžμ²΄κ°€ 데이터 λΆ„μ„κ°€λ‘œμ„œμ˜ μ—­λŸ‰μ„ 보여쀄 수 μžˆκ² λ‹€κ³  νŒλ‹¨ν–ˆμŠ΅λ‹ˆλ‹€.

κ²°κ΅­ "λ‚΄κ°€ 인덱슀 νˆ¬μžμžλ‘œμ„œ κ°–κ³  μ‹Άμ—ˆλ˜ 도ꡬ"λ₯Ό λ§Œλ“  κ²λ‹ˆλ‹€.


기술 μŠ€νƒ ν•œλˆˆμ— 보기

Passive μ•±μ˜ 전체 ꡬ쑰λ₯Ό κ°„λ‹¨νžˆ μ •λ¦¬ν•˜λ©΄ μ΄λ ‡μŠ΅λ‹ˆλ‹€.

μ˜μ—­ 기술

데이터 μˆ˜μ§‘ Yahoo Finance API, FRED API, CNN Fear & Greed
데이터 μ €μž₯ Supabase (PostgreSQL)
ML λͺ¨λΈ HMM (hmmlearn), XGBoost, Optuna
λ°±μ—”λ“œ FastAPI + APScheduler (3μ‹œκ°„ μ£ΌκΈ° μžλ™ μ‹€ν–‰)
ν”„λ‘ νŠΈμ—”λ“œ Vanilla JS + CSS (λͺ¨λ°”일 μ΅œμ ν™”)
배포 Railway (Docker)
뢄석 Google Analytics 4

μžμ„Έν•œ 기술적 λ‚΄μš©μ€ λ‹€μŒ νŽΈλΆ€ν„° λ‹€λ£¨κ² μŠ΅λ‹ˆλ‹€.


λ‹€μŒ 편

2편: Yahoo Finance, FRED API둜 100λ…„μΉ˜ μ‹œμž₯ 데이터 μˆ˜μ§‘ν•˜κΈ°

6개 μ™ΈλΆ€ APIμ—μ„œ 데이터λ₯Ό μˆ˜μ§‘ν•˜κ³ , 46개 ν”Όμ²˜λ₯Ό μ—”μ§€λ‹ˆμ–΄λ§ν•˜λŠ” 과정을 λ‹€λ£Ήλ‹ˆλ‹€. FRED API의 λΆ„λ‹Ή 120건 μ œν•œμ„ μ–΄λ–»κ²Œ μ²˜λ¦¬ν–ˆλŠ”μ§€, Yahoo Financeμ—μ„œ 100λ…„μΉ˜ 데이터λ₯Ό κ°€μ Έμ˜¬ λ•Œ μƒκΈ°λŠ” λ¬Έμ œλ“€κ³Ό ν•΄κ²° 방법을 κ³΅μœ ν•©λ‹ˆλ‹€.


πŸ“Œ Passive μ•± λ°”λ‘œκ°€κΈ°: https://passive-financial-data-analysis-production.up.railway.app/

 

Passive

λ―Έκ΅­ μ§€μˆ˜ 투자자λ₯Ό μœ„ν•œ 금육 데이터 뢄석 μ‚¬μ΄νŠΈ

passive-financial-data-analysis-production.up.railway.app