• 아이투자
  • FNedu 아카데미
  • 부크온
  • KIERI
로그인



무료주식분석기 - 내재가치 및 투자 적합 판별

안녕하세요. ^^ 가치투자를 지향하고 금융공학을 공부하는 학생입니다.

주식분석프로그램을 만들었는데 개인투자자 여러분들 투자에 참고하시길 바랍니다.
 
주식분석 프로그램 이름은 마블이라고 지었습니다. 별 뜻은 없습니다. 

프로그램은 첨부 파일을 다운로드 받으시거나 카페에서 다운로드(클릭) 가능합니다.

프로그램의 기능은 기업의 제무제표를 참고하여 내재가치를 구하는 기능입니다.

사용해보시면 가치투자자분들이 생각하는 내재가치와 들어맞을겁니다.

프로그램은 무료로 이용하실 수 있음을 밝힙니다. 무료로만 운영됩니다.

※주의 사항은 투자에 참고 정도만 해주시면 되고 절대 진리로 믿으시면 안됩니다.

먼저 프로그램의 알고리즘에 대한 설명을 하고 이용방법에 대해 알려드리겠습니다.



평형가격이란?

1. 내재가치에 의한 평형가격 알고리즘은 매출, 매출증분, 이익, 이익증분, 이익률, PER, PBR 등을 고려하여 회사 자체의 내적가치를 구한 후 적정 주식가격을 판별한 것으로써 현재 주식분석기에는 6가지 엔진이 사용되고 있습니다. 사실은 그냥 교재에 있는 여섯가지 모델에서 상수만 바꿔주고 그것을 계산하는 알고리즘을 자바로 구현하였을 뿐입니다. 매틀랩 라이브러리를 자바로 새로 코딩해서 썼다고 보시면 되겠네요. 이 노가다 짓거리는, 저의 친구인 깔깔마녀가 도와주고 있습니다.

2. 수급에 의한 평형가격을 구하는 것은 다항근사나 로그근사 등의 선형화를 구간별로 진행 한 뒤 최소제곱법을 이용하여 근사를 최적화하고 그 근사셈을 웨이블, 노말, 바이노미얼 등의 확률분포로 구하게 됩니다. 웨이블 분포는 시간확률밀도함수와 그것의 적분치인 고장확률밀도함수를 사용하고 있으며 적분에는 룬게쿠타 상용 알고리즘을 적용하고 있습니다. 4월 6일 5시경 현재 기준으로 아직 개발중이고 개발이 완료되면 차후에 자세히 설명합니다.

3. 시뮬레이션에의한 예상 평형가격을 구하는 것은 현재의 수급과 차트를 참조하여 5거래일, 20거래일, 60거래일, 180거래일 수준에서 끌개점과 방향장, 그리고 끌개점으로의 수렴가속함수를 구한 뒤 기준신뢰도값을 적용하여 그에 해당하는 표본표준편차값 안에 들어가는 모든 시뮬레이션 결과의 평균값과 표준편차를 1천회 구한 뒤 예상거래일수에 따른 수익률을 뽑아줍니다. 매물분석도도 조금은 참조하기는 하지만 이 모델링에는 타임도메인에서의 컨벌루전을 주로 활용하고 있습니다. 다만, 프로그램 사용자가 많아지게 되면 차후에는 프로그램 사용자 수와 검색빈도를 콜백시켜 피드백에 의한 제어기를 설계하여 이것을 모두 고려할 예정입니다.

이상이 알고리즘에 대한 간단한 설명입니다.

이 알고리즘의 구현에 있어 시뮬레이션은 파티클-스왐법에 따른 인공지능을 구현하고 있으며 신뢰도가 떨어지게 되면 목적함수 자체를 변동시켜 패널티요소를 새롭게 고려하게 되지만 현재로써는 프로그램을 90일 이상 사용하게 되면 90일 이후에는 신뢰도가 급격히 떨어지는 문제가 있기 때문에 프로그램 사용자들께서는 프로그램을 자주 업데이트 받아야 할 것으로 생각됩니다.

또한 이 분석기는 참조로만 사용하시기를 바랍니다.




알고리즘 소스 및 상용알고리즘 설명

1. 평형가격의 산정에는 모든 재무재표를 참조합니다.
아래 코드를 보시면 됩니다.

       // SortedF[mode1][mode2]로 호출
 // 
 // mode1 : 0이 연기준, 1이 분기기준
 // mode2 : 0인덱스, 1매출액, 2영업이익, 3발표기준영업이익, 4세전이익, 5당기순이익, 6지배분, 7비지배분
 //         8자산총계, 9부채총계, 10자본총계, 11지배분, 12비지배분, 13 자본금, 
 //         14영업비, 15투자비, 16재무비, 17영업이익률, 18순이익률, 19ROE, 20ROA, 21부채비율
 //         22유보율, 23EPS, 24PER, 25BPS, 26PBR, 27DPS, 28배당률 */

public static void SortData3()
 {
  int datacount = 0;
  int mode = 0;
  
  // 데이터 1~8번은 인덱스가 들어있다
  for(int i=1;i<=8;i++)
 
   datacount = i-1;
   
   SortedF[datacount/4][mode][datacount%4] = data_array3[i];
 
  
  // 데이터 9~43번은 1연간매출 7비지배당기순이익까지 들어있다.
  SortData3forY(1,9,43);
  
  // 데이터 44~71번은 1분기매출 7비지배당기순이익까지 들어있다.
  SortData3forQ(1,44,71);  
  // 72~101번은 8연간자산총계 13 자본금까지 들어있다.
  SortData3forY(8,72,101);
  
  // 102~125번은 8분기자산총계 13자본금까지 들어있다.
  SortData3forQ(8,102,125); 
  
  // 126~140번은 14연간영업비 16재무비까지 들어있다.
  SortData3forY(14,126,140);
  
  // 141~152번은 14분기영업비 16재무비까지 들어있다.
  SortData3forQ(14,141,152); 
  
  // 153~212번은 17연간영업이익률 28연간배당률까지 들어있다
  SortData3forY(17,153,212);
  
  // 213~252번은 17분기영업이익률 26PBR까지 들어있다.(27,28은 NULL이다.)
  SortData3forQ(17,213,252); 
  
 }


2. 블랙숄즈모형은 옵션의 적정가를 구하는 알고리즘이 맞으며 그 방정식은 옵션의 이론가격을 통해 수급의 방향성을 판별하여 방향장 벡터를 만드는데에만 사용됩니다.


3, 룽게쿠타는 적분연산이 필요한 모든 경우에 대해 사용되는 상용 알고리즘입니다. 분석기에서 적분은 RK45를 이용합니다. 


4. 오일러미분은 식이 복잡하거나 식 자체를 알 수 없는 경우 수치미분을 하거나 선형근사를 하는 데 사용되는 기법입니다. 구체적으로, 현재 주식가격이 오르고 있는지 내리고 있는지, 기관이 매수인지 매도인지 판단할 때 계속적으로 매수나 매도를 넣다가 반대 시그널이 한두번정도 나오고서 계속 매수나 매도가 있을때가 있는데 이러한 경우 오일러근사를 사용하지 않으면 추세를 전환하였다고 잘못 판단하게 되므로 여기에 오일러 미분이 들어갑니다. 자세한 것은 박사급 전공자나 시중의 서적을 참조하시기 바랍니다.


대차대조표 검증 알고리즘

대차표에 대한 검증은 정상적인 대차표라면 수입과 지출이 맞아 들어간다는 전제하에

수입과 지출에 관한 행렬을 구현한 후 각 항목에 대한 관계(연결상태) 행렬을 뽑은 뒤
이를 수 차례 제곱하여 양변의 det가 계속 0이 안 되는지를 체크합니다.

det는 프로그래밍의 간결성을 위해 det의 정의 공식 말고, 행렬에서 대각선 줄끼리 쭉 곱하는 이중 for문으로 구성되어 있으며
대각선 방향을 달리하는 두 개의 for문 끼리 빼서 abs연산은 하지 않고 그냥 0인지 아닌지만 체크하였습니다.

행렬의 곱 연산은 상용 라이브러리를 이용했습니다. 





적다보니 스크롤압박이 너무 심해져서 여러분들이 피곤해 하실것 같네요. 

여기서는 너무 글이 길어지므로 궁금하신 것들은 이곳에 가시면 있습니다.


이제 프로그램 사용법에 대해서 알려드리겠습니다.
프로그램 사용방법은 간단합니다.

1. 먼저 자바 기반 프로그램이기 때문에 자바 버추어를 설치해주셔야합니다.
링크는 http://java.com/ko/download/index.jsp 이곳에서 받으시면 됩니다.

2. 이제 파일을 다운로드 받으셨으면 알집 또는 빵집으로 Jar 파일의 압축을 해제합니다.

3. 그러면 폴더 안에 주식분석기.exe 파일이 있을겁니다. 그걸 실행하시면 됩니다.

4. 이제 종목명 또는 종목 코드를 입력하시면 아래의 그림처럼 뜰겁니다.


위의 이미지는 삼성전자의 분석한 결과입니다. 
주식의 종류별로 각각 알맞는 엔진으로 내재가치를 계산합니다.
1~10까지 갖가지 투자 적합도를 판단해서 별점을 주며 종합 평가를 내려줍니다. 

프로그램은 임시로 알맞은 상수를 적용해 놓은 상태입니다.

주의하셔야할건 주식시장이 생물처럼 매일매일 변동하듯이 

2~3개월마다 기업의 내재가치 또한 변하기 마련입니다. 

이번 프로그램을 사용하시더라도 주기적으로 업데이트가 필요하십니다.

저도 가치투자를 하는 입장으로 내재가치를 찾아가는 기업들을 투자 선호합니다. 

부디 이 프로그램이 여러 가치투자자분들과 개인투자자분들께서 투자판단하는데

조금이나마 도움이 되었으면하는 바램입니다.

<©가치를 찾는 투자 나침반, 아이투자(www.itooza.com) 무단전재 및 재배포금지>



프린트프린트 스크랩블로그 담기(3명) 점수주기점수주기(0명)
보내기 : 미투데이

나도 한마디 (댓글 4개)

  1. 병맛사이다
    병맛사이다 | 14.03/17 18:19
    감사합니다!! 유용하게 사용하도록 하겠습니다
    답글쓰기
  2. 애株가
    애株가 | 14.10/09 13:12
    자료 공유 고맙습니다~~
    답글쓰기
  3. 태을
    태을 | 15.01/31 23:56
    자료 감사합니다.^^
    답글쓰기
  4. 박민규
    박민규 | 15.05/20 07:36
    저도 프로그래밍 언어를 배워서, 자동화하는 방법을 생각하고 있었는데 실제로 활용하는 능력자가 계시네요. 공유 너무 감사합니다~~
    답글쓰기

* HTML 태그 등은 사용하실 수 없습니다.

댓글입력

글쓰기
목록

제휴 및 서비스제공사

키움증권 미래에셋증권 신한금융투자 우리투자증권 현대증권 NH농협증권 하이투자증권 KB투자증권 교보증권 동부증권 유안타증권 이베스트증권 VIP투자자문 WISEfn UM2M LG 유플러스 카카오
우리투자증권-맞춤형 투자정보 서비스