Financial Modeling Paper
SP500 uncertainty modeling work with paper draft and full LaTeX source. S&P500 불확실성 모델링 프로젝트의 논문 초안과 LaTeX 원문입니다.
Project Overview프로젝트 개요
Most introductory treatments of financial markets assume that the risk of holding an asset is constant over time — a simplification that makes the mathematics tractable but breaks badly in practice. The S&P500, as the broadest measure of US equity performance, exhibits well-documented periods where volatility spikes sharply (market crises, earnings seasons, geopolitical shocks) and periods where it stays compressed for months. This project takes that empirical reality as its starting point: rather than assuming constant variance, it builds a modeling framework that treats uncertainty itself as a time-varying quantity to be estimated and tracked. 금융 시장의 대부분 입문 수준 이론은 자산 보유 리스크가 시간에 따라 일정하다고 가정합니다. 이는 수학적 계산을 단순하게 만들지만 실제 시장에서는 크게 어긋납니다. 미국 주식 시장의 가장 폭넓은 지표인 S&P500은 변동성이 급격히 높아지는 구간(금융 위기, 실적 시즌, 지정학적 충격)과 수개월간 낮게 유지되는 구간이 반복적으로 나타납니다. 이 프로젝트는 그 경험적 현실을 출발점으로 삼아, 일정 분산을 가정하는 대신 불확실성 자체를 시간에 따라 추정하고 추적할 수 있는 모델링 프레임워크를 구축합니다.
The core of the work is a time-series analysis pipeline applied to historical S&P500 return data. Volatility clustering — the tendency for large moves to be followed by more large moves, and calm periods to persist — is captured through a conditional variance model that updates its estimate of risk with each new observation. The fitted model is then used to generate forward-looking uncertainty bands around return forecasts, making the degree of confidence in any prediction explicit rather than implied. This approach bridges the gap between the raw data analysis typical of a quantitative finance course and the kind of uncertainty-aware forecasting used in professional risk management. 이 작업의 핵심은 S&P500 과거 수익률 데이터에 적용된 시계열 분석 파이프라인입니다. 변동성 군집 현상 — 큰 움직임 뒤에 또 큰 움직임이 따르고, 안정기가 지속되는 경향 — 은 매 관측치마다 리스크 추정을 갱신하는 조건부 분산 모델로 포착됩니다. 피팅된 모델은 수익률 예측 주변에 미래지향적 불확실성 구간을 생성하여, 예측에 대한 신뢰도를 암시적이 아닌 명시적으로 표현합니다. 이 접근 방식은 정량 금융 과목의 원시 데이터 분석과 전문적인 리스크 관리에서 사용하는 불확실성 인식 예측 사이의 간극을 연결합니다.
The deliverable is a research paper written entirely in LaTeX, available in both a hand-edited draft form and a dynamically compiled version generated directly from the Python analysis scripts. The paper walks through the theoretical motivation, the model specification, the fitting procedure, and a discussion of what the resulting uncertainty estimates reveal about the limits of forecasting in equity markets. The full LaTeX source is included so that anyone can replicate the results, adjust the model parameters, or extend the framework to other indices or asset classes. 결과물은 전체가 LaTeX로 작성된 연구 논문으로, 직접 편집한 초안 버전과 Python 분석 스크립트에서 직접 생성된 동적 컴파일 버전 두 가지로 제공됩니다. 논문은 이론적 배경, 모델 사양, 피팅 절차, 그리고 도출된 불확실성 추정치가 주식 시장 예측의 한계에 대해 무엇을 드러내는지에 대한 논의를 다룹니다. 누구나 결과를 재현하고, 모델 파라미터를 조정하거나, 다른 지수나 자산 클래스로 프레임워크를 확장할 수 있도록 전체 LaTeX 원문이 포함되어 있습니다.
Key Concepts Investigated탐구한 핵심 개념
Stochastic Volatility Modeling확률적 변동성 모델링
The foundational assumption in the Black-Scholes framework and related models is that volatility is a fixed constant — an assumption that produces clean, closed-form pricing formulas but systematically misprices options during high-stress market periods. Real return distributions have fat tails and volatility that clusters in time, meaning a model calibrated on a calm month will dramatically understate the risk of a volatile one. This project directly confronts that problem by modeling the conditional variance of S&P500 returns as a dynamic quantity that responds to the magnitude of recent shocks.블랙-숄즈 프레임워크와 관련 모델의 기본 가정은 변동성이 고정 상수라는 것입니다. 이 가정은 깔끔한 닫힌 형태의 가격 공식을 만들지만, 시장 스트레스가 높은 기간에는 옵션 가격을 체계적으로 잘못 평가합니다. 실제 수익률 분포는 두꺼운 꼬리를 가지고 변동성이 시간적으로 군집되므로, 안정적인 달에 보정된 모델은 변동성이 큰 달의 리스크를 크게 과소평가합니다. 이 프로젝트는 S&P500 수익률의 조건부 분산을 최근 충격의 크기에 반응하는 동적 변수로 모델링함으로써 이 문제에 직접 맞섭니다.
The modeling approach draws on the family of GARCH-type (Generalized Autoregressive Conditional Heteroskedasticity) models, where today's variance is expressed as a weighted combination of the long-run average variance, yesterday's variance estimate, and the squared return shock from yesterday. This recursive structure means the model has memory — it remembers how volatile the market was recently and adjusts its current risk estimate accordingly. Fitting the model requires estimating three parameters (the weights on each component) from historical data using maximum likelihood estimation, which finds the parameter values that make the observed return sequence most probable under the model's assumptions.모델링 접근 방식은 GARCH형(일반화 자기회귀 조건부 이분산성) 모델 계열을 활용합니다. 오늘의 분산은 장기 평균 분산, 어제의 분산 추정치, 어제의 제곱 수익률 충격의 가중 조합으로 표현됩니다. 이 재귀적 구조는 모델에 기억력이 있음을 의미합니다 — 최근 시장이 얼마나 변동성이 있었는지 기억하고 현재 리스크 추정치를 그에 맞게 조정합니다. 모델 피팅은 역사적 데이터에서 최대우도추정법을 사용해 세 가지 파라미터(각 구성 요소의 가중치)를 추정하며, 이는 모델 가정 하에 관측된 수익률 시퀀스를 가장 가능성 있게 만드는 파라미터 값을 찾습니다.
The output of the fitted model is a time-series of conditional standard deviations — essentially a day-by-day estimate of how much the S&P500 was expected to move on each trading day, given everything that had happened up to that point. Plotting this series against the raw return data makes the model's behavior concrete: the estimated volatility spikes sharply after large negative return days and decays slowly during calm stretches, consistent with the well-known leverage effect and volatility persistence documented in the equity literature. This time-varying risk estimate then feeds directly into the uncertainty quantification analysis in the next section.피팅된 모델의 출력은 조건부 표준편차의 시계열입니다 — 본질적으로 그 시점까지 일어난 모든 일을 고려했을 때 각 거래일에 S&P500이 얼마나 움직일 것으로 예상되는지를 일별로 추정한 값입니다. 이 시계열을 원시 수익률 데이터와 함께 그려보면 모델의 동작이 구체적으로 드러납니다. 추정 변동성은 큰 음의 수익률 이후 급격히 치솟고 안정기에는 천천히 감소하며, 이는 주식 문헌에서 잘 알려진 레버리지 효과와 변동성 지속성과 일치합니다. 이 시간 가변적 리스크 추정치는 다음 섹션의 불확실성 정량화 분석에 직접 입력됩니다.
Uncertainty Quantification불확실성 정량화
A forecast without an error bar is not really a forecast — it is a point estimate that gives no information about how much trust to place in it. This is a critical failing in most casual financial analysis, where a predicted return is presented as if it were a fact rather than a probability-weighted expectation drawn from an uncertain distribution. The goal of this section of the project was to make the uncertainty in S&P500 return forecasts explicit, by constructing confidence intervals that correctly widen during high-volatility periods and narrow during calm ones, rather than remaining constant regardless of market conditions.오차 범위 없는 예측은 진정한 예측이 아닙니다 — 그것은 얼마나 신뢰해야 하는지에 대한 정보를 제공하지 않는 점 추정치일 뿐입니다. 이는 대부분의 일상적인 금융 분석에서 중요한 결함으로, 예측 수익률이 불확실한 분포에서 추출된 확률 가중 기댓값이 아닌 사실인 것처럼 제시됩니다. 이 프로젝트 섹션의 목표는 S&P500 수익률 예측의 불확실성을 명시화하는 것이었습니다. 시장 상황과 무관하게 일정하게 유지되는 대신, 변동성이 높은 기간에는 올바르게 넓어지고 안정적인 기간에는 좁아지는 신뢰 구간을 구성함으로써 이를 달성했습니다.
Two distinct sources of uncertainty are separated in the analysis. Parameter uncertainty — the uncertainty in the fitted model coefficients themselves, arising from the fact that we only have a finite historical sample to estimate them from — is quantified through bootstrap resampling of the return series. Model uncertainty — the irreducible noise in future returns even if the model were perfectly specified — is captured by the conditional volatility estimate produced by the GARCH framework. Combining these two sources gives a more honest picture of what can and cannot be predicted: the parameter uncertainty tells us how much our model might be wrong, while the conditional volatility tells us how much the market itself is inherently unpredictable on any given day.분석에서는 두 가지 불확실성 원천이 구분됩니다. 파라미터 불확실성 — 유한한 역사적 표본에서 추정한다는 사실로 인해 발생하는 피팅 모델 계수 자체의 불확실성 — 은 수익률 시계열의 부트스트랩 리샘플링을 통해 정량화됩니다. 모델 불확실성 — 모델이 완벽하게 지정되더라도 미래 수익률에 존재하는 환원 불가능한 노이즈 — 은 GARCH 프레임워크가 생성하는 조건부 변동성 추정치로 포착됩니다. 이 두 가지 원천을 결합하면 무엇을 예측할 수 있고 없는지에 대한 보다 정직한 그림이 그려집니다. 파라미터 불확실성은 모델이 얼마나 틀릴 수 있는지를 알려주고, 조건부 변동성은 어느 특정 날 시장 자체가 얼마나 본질적으로 예측 불가능한지를 알려줍니다.
The practical result is a set of forward-looking uncertainty bands that can be read directly off the plots: during stable market conditions, the 95% confidence interval for the next day's return might span roughly ±1%, while during a period of elevated volatility the same interval might expand to ±3% or more. This asymmetry has real implications for portfolio construction — a position sized for calm-market volatility will be dramatically under-hedged when volatility spikes. The paper documents these dynamics quantitatively, showing how a risk manager who ignores time-varying volatility would systematically underestimate tail risk during precisely the periods when that underestimation is most costly.실질적 결과는 플롯에서 직접 읽을 수 있는 미래지향적 불확실성 구간입니다. 안정적인 시장 상황에서 다음 날 수익률의 95% 신뢰 구간은 약 ±1%에 걸쳐 있을 수 있지만, 변동성이 높아진 기간에는 같은 구간이 ±3% 이상으로 확대될 수 있습니다. 이 비대칭성은 포트폴리오 구성에 실질적인 영향을 미칩니다 — 안정적 시장 변동성에 맞춰 크기를 조정한 포지션은 변동성이 급등할 때 크게 헤지가 부족해집니다. 논문은 이러한 역학을 정량적으로 기록하며, 시간 가변적 변동성을 무시하는 리스크 관리자가 그 과소평가가 가장 비용이 큰 바로 그 기간에 체계적으로 꼬리 리스크를 과소평가하게 됨을 보여줍니다.
Reproducible LaTeX Pipeline재현 가능한 LaTeX 파이프라인
Academic papers in quantitative finance frequently suffer from a reproducibility problem: the published figures and tables are the product of a specific run of a specific version of undisclosed code on undisclosed data, and attempting to replicate them from scratch requires reconstructing the entire analysis environment from scratch. This project was designed from the outset with the opposite philosophy — every figure in the paper is generated by a Python script that is included alongside the LaTeX source, and the paper is compiled by running a single command that executes the analysis, generates the plots, and feeds them into the manuscript automatically.정량 금융의 학술 논문들은 재현성 문제를 자주 겪습니다. 출판된 도표와 표는 미공개 코드와 미공개 데이터의 특정 버전을 특정 실행한 결과물이며, 처음부터 재현하려면 전체 분석 환경을 처음부터 재구성해야 합니다. 이 프로젝트는 처음부터 반대 철학으로 설계되었습니다 — 논문의 모든 도표는 LaTeX 원문과 함께 포함된 Python 스크립트로 생성되며, 분석을 실행하고 플롯을 생성하여 자동으로 원고에 입력하는 단일 명령으로 논문이 컴파일됩니다.
The pipeline works as follows: the Python analysis scripts read the raw return data, fit the GARCH model, compute the uncertainty bands, and save each figure as a vector-graphics PDF file in a designated output directory. The LaTeX source then references those output files using relative paths. When the document compiler runs, it pulls in the freshly generated figures automatically, so the paper always reflects the most recent version of the analysis. Changing a model parameter — say, switching from a GARCH(1,1) to a GARCH(2,1) specification — requires only editing one line in the Python script and recompiling; the entire paper updates accordingly, including axis labels, caption text that references specific numeric results, and summary tables.파이프라인은 다음과 같이 작동합니다. Python 분석 스크립트가 원시 수익률 데이터를 읽고, GARCH 모델을 피팅하고, 불확실성 구간을 계산하고, 각 도표를 지정된 출력 디렉토리에 벡터 그래픽 PDF 파일로 저장합니다. LaTeX 원문은 상대 경로를 사용하여 해당 출력 파일을 참조합니다. 문서 컴파일러가 실행될 때 새로 생성된 도표를 자동으로 가져오므로, 논문은 항상 가장 최신 버전의 분석을 반영합니다. 예를 들어 GARCH(1,1)에서 GARCH(2,1) 사양으로 변경하는 것처럼 모델 파라미터를 변경하면 Python 스크립트의 한 줄만 수정하고 재컴파일하면 됩니다. 축 레이블, 특정 수치 결과를 참조하는 캡션 텍스트, 요약 표를 포함한 논문 전체가 그에 따라 업데이트됩니다.
This reproducible-research design reflects a broader principle: in quantitative work, the code and the writeup are not two separate artifacts but two views of the same artifact. A paper whose figures cannot be regenerated from the accompanying code is, in an important sense, incomplete. The pipeline developed here also has a practical benefit for iterative research — because the full paper compiles in seconds, it is possible to run the analysis against different historical windows, different assets, or different model specifications and immediately see how the paper's conclusions would change. For future extensions of this work, that iterability is more valuable than the polished appearance of any single fixed draft.이 재현 가능한 연구 설계는 더 넓은 원칙을 반영합니다. 정량적 작업에서 코드와 글쓰기는 두 개의 별개 산출물이 아니라 동일한 산출물의 두 가지 관점입니다. 도표를 첨부 코드에서 재생성할 수 없는 논문은 중요한 의미에서 불완전합니다. 여기서 개발된 파이프라인은 반복적 연구에도 실질적인 이점이 있습니다 — 전체 논문이 몇 초 안에 컴파일되므로, 다른 역사적 기간, 다른 자산, 다른 모델 사양에 대해 분석을 실행하고 논문의 결론이 어떻게 바뀔지 즉시 확인할 수 있습니다. 이 작업의 향후 확장을 위해, 그 반복 가능성은 어떤 단일 고정 초안의 세련된 외관보다 더 가치 있습니다.
Documents문서
Paper Draft (PDF)논문 초안 (PDF)
Readable manuscript version for quick review.빠르게 검토할 수 있는 가독성 높은 원고 버전입니다.
Open Draft v1초안 v1 열기Compiled Dynamic Paper (PDF)동적 논문 컴파일본 (PDF)
Compiled from LaTeX for clean browser-friendly reading.LaTeX에서 컴파일한 브라우저 친화적 읽기 버전입니다.
Open Compiled PDF컴파일 PDF 열기LaTeX SourceLaTeX 원문
Full source file for methods, equations, and edits.방법론, 수식, 개정 작업을 위한 전체 원문 파일입니다.
Open .tex.tex 열기