Random walk
매 시점마다 무작위로 오르내리는 값의 궤적을 그리는 것이 목표입니다. 임의보행은 주가 모델의 가장 기본이 되는 형태입니다.
Steps
- 새 파일을 만들고 시점 수
n = 252를 변수로 두세요 (1년의 거래일 수). - 초기값
s0 = 100(시작 가격). - 길이
n + 1인 실수 배열price를 만들고price[0] = s0. i가1부터n까지 도는 반복문 안에:step = randn()(정규 난수, 평균 0, 분산 1)price[i] = price[i-1] + step
- 반복 뒤에 그래프로 보내기 블록으로
price를 넘기세요.
Pitfalls
- 결과는 실행할 때마다 달라집니다. 그래야 임의보행입니다. 매번 똑같은 궤적이 나온다면 난수 블록이 제대로 연결되지 않은 것입니다.
- 가격이 음수로 내려갈 수 있습니다. 실제 자산에 더 가깝게 모사하려면 아래 변형에 있는 기하 임의보행을 쓰세요.
Variations
- 기하 임의보행 (주가에 더 가까운 모델):
price[i] = price[i-1] * exp(μ - σ²/2 + σ * randn()), 여기서μ는 일평균 수익률,σ는 일변동성. - 드리프트 — 평균이 0이 아닌 표준 난수를 쓰면 추세가 생깁니다:
step = drift + randn(). - 여러 궤적 — 바깥 반복문을 하나 더 두고, 반복할 때마다 새 궤적을 만들어 같은 그래프에 겹쳐 그리세요.
Accuracy
임의보행은 모델이지 예측이 아닙니다. 실제 주가는 점프, 자기상관, 변동성 군집 같은 특성을 보이며 단순 임의보행과 다릅니다.