Asset/Fund

주요 등급주와 뉴스와의 관계

sunshout 2009. 8. 5. 14:25

개요:
주식 시장에서 KOSPI 평균과 다르게 동작하는 등급주와 이와 관련된 주요 뉴스와의 관계를 알아보자

예상:
등급주들의 상승 기간과 뉴스와의 관계가 있지 않을까?
등급주들은 먼저 소문에 의해서 일부 사람들에 의해서 사재기가 실시되고 뉴스와 함께 개미들이 모여들기 시작할 것이다.
즉 뉴스 공시 후 갑자기 급등을 하기 시작하고 이는 얼만큼의 기간동안 유지 후 폭락을 하기 시작 할 것이다.

측정 방법
1) Naver의 뉴스 검색을 통해서 매일 특정 회사의 이름이 나온 횟수를 카운트 한다.
 - Naver OpenAPI를 사용할까 했는데 날짜별 검색이 되지 않아서 그냥 네이버 검색 페이지의 소스를 분석하여 만든다.
2) 특정 회사의 주식 당일 가격을 일별로 수집한다.
3) 두개의 연관 관계를 통계적으로 분석한다.


주요 예시들

1) 녹십자와 신종 플루

자료 수집장치 개발
1) 검색 서비스 분석
http://news.search.naver.com/search.naver?where=news&query=녹십자&sort=0&photo=0&field=1&pd=3&ds=2009-07-01&de=2009-07-01&refresh=-1&title=&site=
 
네이버에서 뉴스 검색에 들어가는 쿼리는 다음과 같다.
주요 쿼리는
 ㅇ query="검색단어"
 ㅇ pd=n (1이상의 숫자가  들어가야 한다. 무슨 기능인지는 모리지만 날짜 검색시 필요)
 ㅇ ds=yyyy-mm-dd (뉴스 검색 시작 날짜)
 ㅇ de=yyyy-mm-dd (뉴스 검색 종료 날짜)
 ㅇ title= (검색 단어가 뉴스 타이틀에 난 것만 검색)

이를 바탕으로 검색 단어와 날짜를 정하면 뉴스의 개수를 찾는 코드를 개발하면
BeautifulSoup  패키지를 먼저 설치해야 한다.
BeautifulSoup은 html 태그를 쉽게 파싱할 수 있게 해주는 라이브러리 이다.

2) 수집 프로그램
2009.5.1 일부터 100일 동안의 뉴스와 주가에 대한 정보를 수집한다.
첨부 코드를 아무디렉토리에 넣고 아래 테스트 파일을 실행하면 된다.


test.py (Language : python)
# -*- coding:utf-8 -*-
from countNews import countPeriod
from sise_day import collectPrice

countDic = countPeriod('녹십자','2009-05-01', 100)
priceDic = collectPrice('006280', '2009-05-01', 100)

#print countDic
#print priceDic
keys = priceDic.keys()
keys.sort()
for key in keys:
        print key, priceDic[key], countDic[key]

 

 


결과
날짜          주가    뉴스빈도수
----------------------------
2009-05-04 92,000 22
2009-05-06 95,000 33
2009-05-07 94,400 19
2009-05-08 93,200 21
2009-05-11 95,000 7
2009-05-12 101,500 16
2009-05-13 99,300 18
2009-05-14 95,000 22
2009-05-15 95,500 16
2009-05-18 109,500 66
2009-05-19 104,000 33

2009-05-20 99,100 16
2009-05-21 98,400 34
2009-05-22 99,900 24
2009-05-25 99,500 35
2009-05-26 96,300 18
2009-05-27 93,000 10
2009-05-28 93,000 14
2009-05-29 93,000 8
2009-06-01 92,400 23
2009-06-02 90,500 13
2009-06-03 97,500 21
2009-06-04 94,400 42
2009-06-05 96,200 14
2009-06-08 97,000 63
2009-06-09 93,100 50
2009-06-10 94,100 18
2009-06-11 95,500 24
2009-06-12 96,400 33
2009-06-15 94,500 23
2009-06-16 94,000 21
2009-06-17 92,600 14
2009-06-18 92,500 32
2009-06-19 92,000 16
2009-06-22 92,800 33
2009-06-23 91,900 17
2009-06-24 91,000 16
2009-06-25 92,800 19
2009-06-26 94,500 18
2009-06-29 95,100 42
2009-06-30 95,600 26
2009-07-01 96,200 76
2009-07-02 98,000 64

2009-07-03 102,500 45
2009-07-06 99,500 38
2009-07-07 102,500 59
2009-07-08 101,000 41
2009-07-09 98,500 55
2009-07-10 99,700 30
2009-07-13 95,300 54
2009-07-14 97,700 23
2009-07-15 99,200 36
2009-07-16 100,000 29
2009-07-17 103,000 22
2009-07-20 110,500 62
2009-07-21 113,500 43
2009-07-22 111,000 60
2009-07-23 118,000 51
2009-07-24 125,000 40
2009-07-27 126,000 43
2009-07-28 126,000 89
2009-07-29 129,000 55
2009-07-30 130,000 42
2009-07-31 130,000 15
2009-08-03 124,000 26
2009-08-04 122,000 34
2009-08-05 120,500 12

실제 위의 값에서 분석하기 위해서는 주가와 뉴스 빈도수를 두개의 변수로 가정하고, 두변수의 상관관계를 분석한다.
엑셀에서 쉽게  correl 함수를 이용하면 된다.
결과는 0.378 이 나왔다. 이는 약간의 양의 상관관계가 존재함을 의미한다.. 쩝

생각보다는 별로 상관관계가 없는 듯 ...ㅋㅋ

오늘 하루 삽질 좀 해 봤다.