커뮤니티
내가 만든 전략들과 지식을 공유하고 토론합니다.

로우볼 함수

James 2018.04.07 17:09 조회수  671 추천 0

변동성 식은 


일정기간 주가 변동성 = 일정기간 주가 표준 편차/일정기간 주가 평균. 




---------

이것 저것 찾아보고 다음과 같이 만들어보았습니다. 

function volatility(stock) {


if (stock.getAdjClose()===0) return -1;

var std = 0

for (var i =0; i < 251; i++) {

var deviation = stock.getAdjClose(i) - stock.getMA(252);

std += deviation * deviation;

}

return Math.sqrt(std/251); 

}


그런데 막상 돌려보니 시간 초과로 강제 종료되네요. 종목 2000개의 일년치 데이타를 모두 계산하려니 부하가 많이 걸리기 때문일까요?


여하튼 참고하시길

댓글 3
사소한거지만...
stock.getMA(252)는 변수 i와 상관없으니 for문 밖에 있으면 계산이 조금이라도 빨라지지 않을까요... 아래처럼요

var std = 0
var ma252 = stock.getMA(252);
for (var i =0; i < 251; i++) {
  var deviation = stock.getAdjClose(i) - ma252;
  std += deviation * deviation;
}
희망퀀트 2018.04.12 00:37
볼린저밴드의 폭을 이동평균으로 나눌 수도 있습니다.
퀀트퀸 2018.04.13 04:43
두분 모두 감사합니다. 좋은 아이디어 같군요. 시험해보고 다시 올리겠습니다.
James 2018.04.14 21:42
댓글 등록을 위해서 로그인해주세요.
 
최신 게시글