안녕하세요?
이래저래 문제가 많은 R입니다만, 아무튼 이걸 사용해서 종목을 선정할 수 있는 방법으로 회귀분석 끝에 나오는 베타라는 것이 있다고 합니다. 문제는 이걸 계산하는 방법을 파이썬으로 계속 구현을 하려니까 시간이 너무 많이 걸려서 하는 수 없이 R을 이용하기로 했는데, 이번 포스팅부터 나오는 시리즈는 이걸 가지고서 제 방식대로 움직이려는 프로그램을 만들기 위한 좌우충돌을 기록하게 되었습니다.
가장 먼저 할 일로는 R의 패키지 중에 하나로 있는 quantmod를 이용해서, 여기서 제가 원하는 식으로 최신의 데이터를 가지고 올 수 있는가 하는 것 입니다.
일단은 print함수가 아닌, head()함수를 써서 나타낸 것인데, 여기서 나오는 것을 확인해 보면, 일단은 출처가 야후 파이낸셜에서 가지고 온 것이지만, 그럭저럭 데이터를 가지고 올 수 있다는 것을 알 수 있습니다.
문제는 같은 종목의 같은 날짜의 데이터 임에도 불구하고, 어찌된 것인지 키움증권에서 얻을 수 있는 데이터와 차이가 있습니다. 그래서 고민끝에 어떻게 해서든 기존의 방식인 키움증권 소스를 활용하기 위해서 일단, 작업을 여러가지 해 주어야 합니다.
먼저 기존의 방식대로 쓰던 데이터 베이스 파일이 있는데, 이걸 R프로젝트가 있는 문서 폴더 안으로 가지고 오도록 합니다. 왜 이렇게 하느냐 하면, 지금까지 키움증권에서 가지고 오는 데이터는 db파일에 저장했는데, 그걸 활용하려고 합니다.
그런데 당연하다면 당연하게도, 일단 R에는 기본적으로 데이터 베이스 파일을 다루는 기능이 없기 때문에 RSQLite라는 패키지를 인스톨 해 주도록 합니다.
그리고 나서 R 스크립트 파일에는 위 스크린샷에서 볼 수 있는 것처럼 라이브러리 함수를 이용해서 일단 패키지를 로드 시켜 주도록 합니다.
그리고 나서 일단 일련의 함수를 만들어 주었습니다. 우선 여기서 아직도 이해는 100% 되지는 않지만, 그래도 일부는 변수 이름이고, 일부는 중요한 함수인 것은 알겠는데, 실행을 위해서 필요한 영역만 드래그 해 준 다음에 실행을 시켜 봅니다.
일단 이렇게 해서 데이터 베이스 파일에 들어가 있는 데이터를 어떻게 가지고 오는데는 성공했습니다. 이제 이걸 바탕으로 해서 어떻게 close라고 종가만을 추출하고, 이걸 가지고 회귀분석에 들어갈 수 있는지를 해 보아야 합니다.
일단 그전에 이 데이터의 타입을 알아보기 위해서 여기서 약간 헤메었는데, 파이썬에서는 type이라고 함수를 입력하면 되었지만, 여기 R에서는 typeof()함수를 사용해야 되는 것 이었습니다.
일단 이런식으로 데이터 베이스 안에 있는 테이블 명을 가지고 올 수 있었으며, 얘네들의 데이터 유형이 character라고 해서 일종의 리스트나 이런 묶음형 데이터는 아닌 것으로 보입니다. 다만, 이걸 가지고서 어떻게 for 문으로 루프를 돌릴 수는 있을 것으로 보여서, 일단은 한번 해 봐야 할듯 합니다.
'무모한 도전-주식 인공지능 만들기 > R 을 이용한 통계처리' 카테고리의 다른 글
베타를 이용한 종목의 선정 테스트 -5- (0) | 2021.02.27 |
---|---|
베타를 이용한 종목의 선정 테스트 -4- (0) | 2021.02.27 |
베타를 이용한 종목의 선정 테스트 -2- (0) | 2021.02.26 |
베타를 이용한 종목의 선정 테스트 -1- (0) | 2021.02.26 |
R을 사용하기 위한 첫 단계 -2- (0) | 2021.02.24 |