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

09.기본적 분석에 기술적 분석을 더하기-인텔리퀀트 스튜디오의 장점

푸른주전자 2017.10.17 16:49 조회수  1450 추천 4

안녕하세요. 푸른주전자입니다.


 저희 인텔리퀀트 스튜디오는 일자별 주가 데이터를 저장하므로 기본적 분석뿐만 아니라, 기술적 분석도 가능한 큰 장점이 있습니다.

그래서, 이번에는 간단하게 기본적 본석에 기술적 분석을 추가하여 전략을 만들어 보겠습니다.


모두 잘 아실 것으로 생각하지만, 먼저 증권 분석은 크게 기본적 분석과 기술적 분석으로 나누어 집니다.

- 기본적 분석(fundamental analysis)이란 시장에서 증권에 대한 수요와 공급에 의해서 결정되는 시장가격이 그 증권의 내재가치(intrinsic value)와 동일하지 않을 수 있다는 전제하에 증권의 내재가치를 중점적으로 분석하는 방법입니다. 따라서 내재가치가 추정되면 이를 시장가격과 비교함으로써 과소 또는 과대평가된 증권을 발견하고, 이에 따라 매입 또는 매도 투자결정을 하여 초과 수익을 추구합니다. 기본적 분석은 경제분석, 산업분석, 기업분석으로 이어지는 환경적 분석과 재무제표를 중심으로 기업의 재무상태와 경영성과를 평가하는 재무적 분석이 포함됩니다.


- 기술적 분석(technical analysis)은 과거의 증권가격 및 거래량의 추세와 변동패턴에 관한 역사적 정보를 이용하여 미래 증권가격의 움직임을 예측하는 분석기법입니다. 즉, 증권시장의 시황이 약세시장이나 강세시장으로 전환하는 시점과 시장동향을 미리 포착하여 초과 수익을 얻는 데 분석의 초점을 두고 있습니다. 기술적 분석은 과거 증권가격 움직임의 양상이 미래에도 반복된다고 가정하고 있고, 증권가격의 패턴을 결정짓는 증권의 수요와 공급이 이성적 요인뿐 아니라 비이성적 요인이나 심리적 요인에 의해서도 결정된다는 것을 전제하고 있습니다. 기술적 분석은 주로 과거 주가흐름을 보여주는 주가 차트(chart)를 분석하여 단기적인 매매 타이밍을 잡는 방법으로 주로 이용됩니다.

[네이버 지식백과] 기본적 분석과 기술적 분석 (대학생을 위한 실용 금융, 금융감독원)


위의 네이버 지식백과에서 잘 설명하였습니다. 



저PER, 저PBR 같은 전략은 주식의 가격이 떨어지면 떨어질 수록 저평가된 주식이라고 인지하고 더 강한 매수를 외치게 되어있습니다. 하지만, 재무분석에서 나오지 않는 외부충격 등으로 인해 이런 종목 중에는 떨어지는 칼날 같은 종목도 포함되어 있지요. 따라서, 우리는 기본적 분석으로 종목을 선정하고, 모두가 잘 아는 기술적 분석 중 가장 기본적인 단순 이동 평균선을 이용하여 매매 타이밍을 잡도록 하겠습니다.


주가가 지속적으로 상승하면 이동 평균선도 올라가고, 주가가 지속적을 하락하면 이동 평균선도 하락합니다. 이런 이동 평균선보다 주가가 높다면 상승반전 혹은 지속적인 상승일 가능성이 커, 진입 타이밍을 잡기 위해 주가가 이동 평균선보다 높으면 진입하는 아주 단순한 기술적 분석을 추가하여 테스트를 해보겠습니다.



20010715부터 20170414까지, 시가총액 700억 이상, 20일 일평균 거래대금 5억 이상,포트폴리오는 20종목으로 구성하겠습니다.. 

- 기본 전략을 PER+PBR+ROA으로 20종목,

- 기본 전략으로 30종목 선정 후, 60일 이동평균 위의 종목 20종목까지 포트구성 (60이평),

- 기본 전략으로 20종목 선정 후, 60일 이동평균 위에 있는 종목이 25% 이하이면 주식 비중 0% (60All/Not),

- 기본 전략으로 30종목 선정 후, 120일 이동평균 위의 종목 20종목까지 포트구성 (120이평),

- 기본 전략으로 20종목 선정 후, 120일 이동평균 위에 있는 종목이 25% 이하이면 주식 비중 0% (120All/Not),

으로 설정하였습니다.




테스트 결과를 보면

기본 전략에 비해 60이평, 120이평 두 전략이 MDD, 표준편차는 낮아지지만, 샤프레이쇼는 개선 되지 않는 모습입니다. 반면, All/Not, 120All/Not 두 전략은 MDD, 표준편차, 샤프레이쇼가 모두 개선 되지만, MDD의 하락 폭이 31.65%, 44.31%로 좀 높은 편입니다.

특히, 2008년 금융위기시에는 잘 방어가 되지만, 2003년 닷컴버블 꺼질때는 거의 시장의 손실만큼 손실이 나며,  2016년 중후반 대형주/소형주의 스프레드가 커지는 시점에서 오히려 시장보다 더 큰 손실이 남을 알 수 있습니다.


앞선 LowVol전략(https://intelliquant.co.kr/article/224)이나 듀얼 모멘텀 전략(https://intelliquant.co.kr/article/109)과 비교해 보면서 전략의 개선 사항을 고민할 수 있을것 같습니다.

댓글 7
알고리즘도 공개해주신다면 코딩초보들한테 많은 도움이 될텐데요...
코딩왕초보 2017.10.18 14:45
최근 지인 소개로 인텔리퀀트를 알게되었습니다. 가치지표에 기술적 분석을 더해서 테스트 해보려고 하는데 볼린저밴드는 에러가 나는것 같습니다. 확인좀 부탁드릴께요. 
if (stock.getBolingerBand(20, 2, 2) < stock.getClose()) { return false; }
==>
[abnormal terminated]TypeError: stock.getBolingerBand is not a function in <eval> at line number 306
노이드 2017.10.18 17:14
@노이드 
볼린저밴드가 아직 안되나 보네요 ㅠㅠ
소포클레스 2017.10.18 17:31
노이드님, 소포클레스님
도움말 철자가 틀려서 수정하였습니다
getBollingerband 사용하시면 됩니다.
결과값
upper, middle, lower
상단,중앙,하단 입니다
푸른주전자 2017.10.18 18:08
푸른주전자님 감사합니다. 도움말 고쳐주세요^^
소포클레스 2017.10.18 18:58
소포클레스님 도움말 수정 요청하겠습니다.

사용 샘플입니다.
var Iband = stock.getBollingerBand(10,2,2);
logger.debug(Iband.upper + ' : ' + Iband.middle + ' : ' + Iband.lower);
푸른주전자 2017.10.18 19:09
감사합니다.
노이드 2017.10.19 09:48
댓글 등록을 위해서 로그인해주세요.
 
최신 게시글