1
Raw Data & Preprocessing
Daily price data and financial statements preprocessed into adjusted price tables for downstream factor calculation.
KOSPI / KOSDAQ
US equities
KR/US ETFs
Daily batch
adjusted prices
2
Factor Calculation Engine
Multi-factor scoring across filtered universe. ~150 different factor weight combinations produce diverse portfolio viewpoints.
Momentum
ROC, SMA, slope (12mo)
Low Volatility
3-month return std dev
Value
PBR / total capital
factor scores
3
Constrained Optimization
Tangency portfolio optimization via SciPy. Asset bucket bounds, position caps (max 20%), suitability gating, and fund composition rules — all configuration-driven.
SciPy optimize
Tangency objective
Config-driven constraints
~150 model portfolios
4
Feasibility Handling
Deterministic relaxation when strict constraints can't be met. Every MP is always valid.
Zero violations
12+ months
5
Rebalancing Triggers
Monthly scheduled (customer-specific day) + event-driven rebuilds on universe or risk grade changes.
validated portfolios
6
Customer Matching & Serving
MPs matched to retail banking customers by risk profile, holdings overlap, and theme preferences. Served via real-time API.
5 risk profiles
Real-time serving
Holdings overlap