Juria에서 파동을 가늠하는 걸 해보도록 하겠습니다.
개요
저번 주가 대수 가격의 생성을 진행했다.
본 글은 생성된 대수적인 가격을 사용하여 가격 변동이 격렬한'변동성'을 나타내는 평가를 한다.이번에도 필자는 수학 능력이 없기 때문에 나는'기분'만 가지고 전진한다.
카탈로그
독자 대상
와저번는 차이가 많지 않다.
컨디션
이것도 저번와 같다.
전회의 줄거리
저번 주가는 $대수 가격은 $X가격 변동률이 $\equiv\log{S t}보다 낮은 모델에서 주식 가격에 대한 시뮬레이션을 실시했다.\begin{align}
dX_t = \mu dt + \sigma dW_t
\end{align}
실현의 파동성에 관하여
그러면 이번에 생성된 대수 가격 $X파동률을 가늠해 봅시다.
왜 파동성을 추측하고 싶습니까?
그것은 파동성이 그 자산의 위험을 나타내기 때문이다.
원래 변동성은 자산 가격의 변동 정도를 가리킨다.그리고 금융 세계에서 변동성은 자산의'리스크'로 여겨진다.
왜 자산 가격 변동의 정도가 '리스크' 로 여겨집니까?우리 아래의 예를 한번 고려해 봅시다.
나는 아래의 도박을 고려할 것이다.
\begin{align}
dX_t = \mu dt + \sigma dW_t
\end{align}
그러면 이번에 생성된 대수 가격 $X파동률을 가늠해 봅시다.
왜 파동성을 추측하고 싶습니까?
그것은 파동성이 그 자산의 위험을 나타내기 때문이다.
원래 변동성은 자산 가격의 변동 정도를 가리킨다.그리고 금융 세계에서 변동성은 자산의'리스크'로 여겨진다.
왜 자산 가격 변동의 정도가 '리스크' 로 여겨집니까?우리 아래의 예를 한번 고려해 봅시다.
나는 아래의 도박을 고려할 것이다.
이런 궤변의 예에서도 알 수 있듯이 파동성이 크면 그 자산의'위험'이 매우 크다.
변동성을 추정해 그 자산에 그만한 리스크가 있는지 가늠할 수 있다는 것이다.스케줄러:정말?
누적 파동성과 실현 파동성
그렇다면 변동성을 추정해야 하지만, 이번 추정의 목표로서의 누적 변동성(Integrated Volatility, IV)과 그 추정량으로서의 실현 변동성(Realized Volatility, RV)을 미리 설명해야 한다.
누적 파동은 일반적으로 아래의 양을 가리킨다.
\mathrm{IV} = \int_{0}^{T} \sigma^2 dt
이것은 시간적분의 변동성 $\sigma달러의 제곱이기 때문에 시간$[0,T]달러의 변동성 크기를 대표한다고 볼 수 있다.(결말 63; 일종의 결말 63: "그게 너의 소감이지?"
(여담)
또한 현재 구상된 모델에서 $\sigma는 상수이기 때문에 누적 파동도는 아래의 양이다.
\mathrm{IV} = \int_{0}^{T} \sigma^2 dt = \sigma^2 T
즉, 현재 구상된 모델이 누적 파동성을 추정할 수 있다면 $\sigma를 추정할 수 있다.(※ 특히'현재 구상된 모델 중'을 강조하는 데는 이유가 있습니다.보태다에서 서술한 바와 같이 이번 모델을 약간 확장한 모델에 대해서는 누적 변동성에서 $\sigma달러를 자주 추측할 수 없습니다.)
그렇다면 누적 파동성이 파동성의 크기를 추측할 수 있다면 관건적인 추측은 어떻게 하면 좋을까?
사실상 누적파동의 일치추계는 아래의 양으로 파동을 실현하기 위한 것으로 알려져 있다.
\mathrm{RV} = \sum_{i=1}^{n-1} (X_{t_{i+1}}-X_{t_i})^2
이것은 단지 대수 가격의 차를 2승으로 더한 것일 뿐이다.'심정'을 설명하자면 파동성 중의 $n이 $이면 파동성과 누적 파동성이 일치하기 때문에 $n이 비교적 크면 파동성을 실현하여 누적 파동성을 정확하게 예측할 수 있다.
(실제로 파동성이 누적파동성의 일치추계를 실현하기 위해서는 각종 조건을 충족시켜야 한다. 자세한 내용은 스스로 조사하라.)
인상은 다음과 같은 느낌.
\mathrm{RV} \xrightarrow{n \to \infty} \mathrm{IV}
코드
그럼 실제로 해 보세요.
먼저 코드의 전체를 보여 드리겠습니다.
estimateVolatility.jlusing Plots
using Random
using Distributions
using Statistics
function estimateVolatility(n,m)
#誤差(=RV-IV)を保存するための配列を宣言
result = Array{Float64}(undef,m)
for j in 1:m
#####ここからほぼ前回のコード#####
#---時間の生成---
T = 1
Δt = T/(n-1)
t = collect(0:Δt:T) #一定間隔Δtで、Tまで時間を生成
#---価格の生成---
#正規分布を生成
d = Normal(0,Δt^0.5) #dWは平均0,標準偏差Δt^0.5に従う
#正規分布に従う乱数を生成
ΔW = rand(d,n-1)
#対数価格変動をシミュレート
μ = 0.04
σ = 0.2
X = zeros(n)
X[1] = 10 #初期対数価格X_1を設定
for i in 1:n-1
X[i+1] = X[i] + μ*Δt + σ*ΔW[i]
end
#####ここまでほぼ前回のコード#####
#---実現ボラティリティ(RV),累積ボラティリティ(IV)を計算---
RV = 0
for i in 1:n-1
RV += (X[i+1]-X[i])^2
end
IV = σ^2*T #今回のケースではIVはこうなる
#---推定結果の記録---
result[j] = RV - IV
end
#---誤差の表示---
println("---result---")
println("Average:",mean(result))
println("Std:",std(result))
plot(result,st = :histogram,label = "RV-IV") #ヒストグラムを表示
end
estimateVolatility(10000,5000)
실행 결과
상기 코드를 실행하면 다음과 같은 느낌으로 오차의 평균, 표준 편차, 직사각형을 출력한다.---result---
Average:-1.2419854575511508e-7
Std:0.0005650675372142399
직사각형을 보면 정규 분포가 된다.
상기 프로그램의 $n$n이 증가할 때 (즉 대수 가격에 대한 관측수를 증가하면) 이 오차 분포의 방차는 점점 작아진다.
(관심 있으신 분들은 시도해 보세요.)
해설
설명하고 싶은데요.
이 코드의 처리 개요는 다음과 같다.
레코드 오차를 설명하는 그룹
추정 결과로 오차를 기록한 수조를 미리 성명하다.
성명된 수조result
는 다음과 같다.result[j] = j回目の誤差(=RV-IV)
대수 가격의 생성
여기는 거의 저번 코드를 유지하고 있습니다.
RV, IV 컴퓨팅
RV\mathrm{RV} = \sum_{i=1}^{n-1} (X_{t_{i+1}}-X_{t_i})^2
단지 계산에 근거할 뿐이다.
누적파동(IV), 여담에서 말한 바와 같이 이번 상황은\mathrm{IV} = \int_{0}^T \sigma^2 dt = \sigma^2 T
따라서 이것에 근거하여 계산하기만 하면 된다.
계산 오차
여기는 설명이 필요 없죠.
추정 오차(=RV-IV)를 계산해 result
에 저장하면 된다.
디스플레이 오차
여기 출력 오차의 평균, 표준 편차, 직사각형도
패키지Statistics
에 포함된 함수avg
와 함수std
의 평균치와 표준 편차.스케줄러:적당히배열해놓으면계산이 돼.
이어 지난번에 사용했던Polts
의 힘을 빌려 오차 직사각형을 그렸다.직사각형을 표시하는 것은 매우 간단하다plot(データ, st = :histogram)
그럼 됐어.
보태다
이번에는 모델로 저번에 사용했던 블랙 반바지 모델.\begin{align}
dX_t = \mu dt + \sigma dW_t
\end{align}
사용했습니다.
다음은 확장된 내용입니다. $\mu달러와 $\sigma는 시간에 따라 달라지는 것이 있습니다.\begin{align}
dX_t = \mu_t dt + \sigma_t dW_t
\end{align}
이때 누적 파동은\mathrm{IV} = \int_{0}^{T} \sigma_t^2 dt
.이런 상황에서도 실현된 파동성은 누적 파동의 일치 추정량이다.
하지만 $\sigma시간의 변화 속에서 잡담에서 한 것처럼 누적 파동의 측면에서 보면 $\sigma예측할 수 없다.
끝맺다
이번에는 수적 가격에서 실현된 변동성(RV)을 산출하고 변동성의 크기를 나타내는 누적 변동성(IV)을 추정했다.
뭔가 많이 쓴 것 같기도 하고 내용이 엉망인 것 같기도 하고...
죄송합니다. 문장이 어려워요.
다음에 이번 주제에 대해서도 파동성을 실현하는 것이 있는데 고주파 관측과 함께 시장의 미구조 소음에 대한 말을 쓰고 싶습니다.
Reference
이 문제에 관하여(Juria에서 파동을 가늠하는 걸 해보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ismkt/items/027c0983c13abcc8b610
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
using Plots
using Random
using Distributions
using Statistics
function estimateVolatility(n,m)
#誤差(=RV-IV)を保存するための配列を宣言
result = Array{Float64}(undef,m)
for j in 1:m
#####ここからほぼ前回のコード#####
#---時間の生成---
T = 1
Δt = T/(n-1)
t = collect(0:Δt:T) #一定間隔Δtで、Tまで時間を生成
#---価格の生成---
#正規分布を生成
d = Normal(0,Δt^0.5) #dWは平均0,標準偏差Δt^0.5に従う
#正規分布に従う乱数を生成
ΔW = rand(d,n-1)
#対数価格変動をシミュレート
μ = 0.04
σ = 0.2
X = zeros(n)
X[1] = 10 #初期対数価格X_1を設定
for i in 1:n-1
X[i+1] = X[i] + μ*Δt + σ*ΔW[i]
end
#####ここまでほぼ前回のコード#####
#---実現ボラティリティ(RV),累積ボラティリティ(IV)を計算---
RV = 0
for i in 1:n-1
RV += (X[i+1]-X[i])^2
end
IV = σ^2*T #今回のケースではIVはこうなる
#---推定結果の記録---
result[j] = RV - IV
end
#---誤差の表示---
println("---result---")
println("Average:",mean(result))
println("Std:",std(result))
plot(result,st = :histogram,label = "RV-IV") #ヒストグラムを表示
end
estimateVolatility(10000,5000)
---result---
Average:-1.2419854575511508e-7
Std:0.0005650675372142399
result[j] = j回目の誤差(=RV-IV)
\mathrm{RV} = \sum_{i=1}^{n-1} (X_{t_{i+1}}-X_{t_i})^2
\mathrm{IV} = \int_{0}^T \sigma^2 dt = \sigma^2 T
plot(データ, st = :histogram)
이번에는 모델로 저번에 사용했던 블랙 반바지 모델.
\begin{align}
dX_t = \mu dt + \sigma dW_t
\end{align}
사용했습니다.다음은 확장된 내용입니다. $\mu달러와 $\sigma는 시간에 따라 달라지는 것이 있습니다.
\begin{align}
dX_t = \mu_t dt + \sigma_t dW_t
\end{align}
이때 누적 파동은\mathrm{IV} = \int_{0}^{T} \sigma_t^2 dt
.이런 상황에서도 실현된 파동성은 누적 파동의 일치 추정량이다.하지만 $\sigma시간의 변화 속에서 잡담에서 한 것처럼 누적 파동의 측면에서 보면 $\sigma예측할 수 없다.
끝맺다
이번에는 수적 가격에서 실현된 변동성(RV)을 산출하고 변동성의 크기를 나타내는 누적 변동성(IV)을 추정했다.
뭔가 많이 쓴 것 같기도 하고 내용이 엉망인 것 같기도 하고...
죄송합니다. 문장이 어려워요.
다음에 이번 주제에 대해서도 파동성을 실현하는 것이 있는데 고주파 관측과 함께 시장의 미구조 소음에 대한 말을 쓰고 싶습니다.
Reference
이 문제에 관하여(Juria에서 파동을 가늠하는 걸 해보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ismkt/items/027c0983c13abcc8b610
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Juria에서 파동을 가늠하는 걸 해보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ismkt/items/027c0983c13abcc8b610텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)