무작위 보행(Random Walk) 생성하기
주가의 수익률은 화이트 노이즈로 자주 모델링되지만, 주가 수준은 무작위 보행(random walk)에 가깝습니다. 즉, 오늘의 가격은 어제 가격에 무작위 잡음이 더해진 값이에요.
초기 가격이 100이고 매일 무작위한 크기만큼 오르거나 내리는 주가를 시간에 따라 모의로 생성한 뒤, 해당 주가를 시각화해 보세요. "Run Code" 버튼을 여러 번 누르면 서로 다른 실현값을 볼 수 있습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 시계열 분석
연습 안내
np.random.normal()을 사용해 평균=0, 표준편차=1인 정규분포에서 500개의 임의 "보폭(steps)"을 생성하세요. 평균 인자는loc, 표준편차 인자는scale입니다.- 주가
P를 모의로 생성하세요:- numpy의
.cumsum()메서드로 임의steps를 누적합하세요. - 시작 주가 100을 얻도록
P에 100을 더하세요.
- numpy의
- 모의로 생성한 무작위 보행을 그래프로 그리세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Generate 500 random steps with mean=0 and standard deviation=1
steps = np.random.normal(loc=___, scale=___, size=___)
# Set first element to 0 so that the first price will be the starting stock price
steps[0]=0
# Simulate stock prices, P with a starting price of 100
P = ___ + np.cumsum(___)
# Plot the simulated stock prices
plt.plot(___)
plt.title("Simulated Random Walk")
plt.show()