Simulizer

Random walk

매 시점마다 무작위로 오르내리는 값의 궤적을 그리는 것이 목표입니다. 임의보행은 주가 모델의 가장 기본이 되는 형태입니다.

Steps

  1. 새 파일을 만들고 시점 수 n = 252 를 변수로 두세요 (1년의 거래일 수).
  2. 초기값 s0 = 100 (시작 가격).
  3. 길이 n + 1 인 실수 배열 price 를 만들고 price[0] = s0.
  4. i1 부터 n 까지 도는 반복문 안에:
    • step = randn() (정규 난수, 평균 0, 분산 1)
    • price[i] = price[i-1] + step
  5. 반복 뒤에 그래프로 보내기 블록으로 price 를 넘기세요.

Pitfalls

  • 결과는 실행할 때마다 달라집니다. 그래야 임의보행입니다. 매번 똑같은 궤적이 나온다면 난수 블록이 제대로 연결되지 않은 것입니다.
  • 가격이 음수로 내려갈 수 있습니다. 실제 자산에 더 가깝게 모사하려면 아래 변형에 있는 기하 임의보행을 쓰세요.

Variations

  • 기하 임의보행 (주가에 더 가까운 모델): price[i] = price[i-1] * exp(μ - σ²/2 + σ * randn()), 여기서 μ 는 일평균 수익률, σ 는 일변동성.
  • 드리프트 — 평균이 0이 아닌 표준 난수를 쓰면 추세가 생깁니다: step = drift + randn().
  • 여러 궤적 — 바깥 반복문을 하나 더 두고, 반복할 때마다 새 궤적을 만들어 같은 그래프에 겹쳐 그리세요.

Accuracy

임의보행은 모델이지 예측이 아닙니다. 실제 주가는 점프, 자기상관, 변동성 군집 같은 특성을 보이며 단순 임의보행과 다릅니다.

simulizer · random-walk