커뮤니티
역사적 변동성 구하기
2010-07-29 22:30:38
1145
글번호 31263
선물 분봉에서 선물 일봉의 역사적 변동성 수치를 구하고 싶습니다.
1. 당일 현재가 포함한 N일과
2. 전일자 일봉의 종가까지만의 N일
두가지로 나눠서 구하고 싶습니다.
3. data2로 다우나 나스닥의 일봉을 넣고
다우나 나스닥의 역사적 변동성을 구하고 싶습니다.
부탁드립니다.
답변 1
예스스탁 예스스탁 답변
2010-07-30 10:58:21
안녕하세요
예스스탁입니다.
1.
input : dayPeriod(20),dayDv(2),annual(365);
var : daysum(0),daycnt(0),dayma(0),daySumSqrt(0),dayStdv(0),dayCounter(0);
daysum = 0;
for daycnt = 0 to dayPeriod-1{
daysum = daysum+log(DayClose(daycnt)/DayClose(daycnt+1));
}
dayma = daysum/dayPeriod;
If DayClose(dayPeriod+1) != 0 Then {
daySumSqrt = 0;
For dayCounter = 0 To dayPeriod - 1 {
daySumSqrt = daySumSqrt + (log(DayClose(dayCounter)/DayClose(daycounter+1)) - dayma) * (log(DayClose(dayCounter)/DayClose(daycounter+1)) - dayma);
}
dayStdv = SquareRoot(daySumSqrt / dayPeriod);
}
Else
dayStdv = 0;
plot1(dayStdv*sqrt(annual)*100 );
2.
input : dayPeriod(20),dayDv(2),annual(365);
var : daysum(0),daycnt(0),dayma(0),daySumSqrt(0),dayStdv(0),dayCounter(0);
daysum = 0;
for daycnt = 1 to dayPeriod{
daysum = daysum+log(DayClose(daycnt)/DayClose(daycnt+1));
}
dayma = daysum/dayPeriod;
If DayClose(dayPeriod+1) != 0 Then {
daySumSqrt = 0;
For dayCounter = 1 To dayPeriod {
daySumSqrt = daySumSqrt + (log(DayClose(dayCounter)/DayClose(daycounter+1)) - dayma) * (log(DayClose(dayCounter)/DayClose(daycounter+1)) - dayma);
}
dayStdv = SquareRoot(daySumSqrt / dayPeriod);
}
Else
dayStdv = 0;
plot1(dayStdv*sqrt(annual)*100 );
3.
Input: Period(20), annual(365);
var : d2(0,data2);
d2 = data2(Std(Log(C/C[1]),Period)*Sqrt(annual)*100); //단기
Plot1(D2);
즐거운 하루되세요
> 멍멍고양이 님이 쓴 글입니다.
> 제목 : 역사적 변동성 구하기
> 선물 분봉에서 선물 일봉의 역사적 변동성 수치를 구하고 싶습니다.
1. 당일 현재가 포함한 N일과
2. 전일자 일봉의 종가까지만의 N일
두가지로 나눠서 구하고 싶습니다.
3. data2로 다우나 나스닥의 일봉을 넣고
다우나 나스닥의 역사적 변동성을 구하고 싶습니다.
부탁드립니다.
다음글
이전글