저가 아래 링크에서 주식 데이터를 소개했었습니다. 아무래도 주식 데이터를 쉽게 얻기 힘들고 설령 데이터를 얻는 방법을 알았더라도 양이 방대하기 때문에 데이터를 수집하는 데 많은 시간이 걸립니다.

그래서 저가 아래 링크에서 주식 데이터가 필요하신 분께 공유한다고 했구요. 지금까지 몇 몇 분들께 공유했었는 데 메일로 받은 주식데이터를 어떻게 MySQL로 옮기는 지 궁금해 하신 분들이 있어서 해당 포스팅을 작성합니다. 


<퀀트를 위한 주식 데이터 수집(2007년~2018년/01/10 데이터)>




주식 데이터를 요청하면 제가 메일로 아래의 데이터를 보내드립니다.

 


"stock.sql" 파일이 실제 우리가 MySQL 데이터베이스로 옮길 파일입니다. 나머지 엑셀 파일은 제가 그냥 추가로 보내드리는 데 해당 엑셀 파일 안 데이터는 실제 "stock.sql" 데이터베이스 안에 들어있습니다. 따라서 "stock.sql" 파일을 MySQL에 임포트 시키면 "최종 PBR/PSR/PER/시총" 데이터도 데이터베이스 안에서 사용할 수 있습니다.


먼저 제가 보내드린 압축 파일을 압축 해제하고 "stock.sql" 파일을 "C:\Program Files\MySQL\MySQL Server 5.7\bin" 위치로 옮깁니다. 사용자마다 위치가 다를 수도 있습니다. 해당 위치로 이동하는 이유는 "mysql.exe" 파일을 cmd 창에서 실행시키기 위해서 입니다. 만약 위에서 제시한 경로가 없다면 자신의 컴퓨터에서 "mysql.exe" 가 있는 곳을 찾아서 "stock.sql" 파일을 옮겨주시기 바랍니다.


다음으로 MySQL 커맨드 라인 프로그램을 열고 "create database stock" 을 입력해 stock DB를 생성합니다. 해당 DB가 생성되어 있어야 임포트가 가능합니다.


DB 생성을 마쳤다면 cmd 창에 들어가서 아까 옮긴 "stock.sql" 이 있는 폴더로 이동합니다. 이 때 cd 명령어를 이용합니다. 

  


마지막으로 "mysql -u root -p stock < stock.sql" 명령어를 입력합니다. 그러면 MySQL 비밀번호를 입력하라고 하는 데 올바르게 비밀번호를 입력하면 임포트가 시작됩니다. 참고로 stock.sql에 들어있는 데이터 양이 많기 때문에 복구하는 데 오래 걸립니다. 최소 10분 이상 걸릴겁니다. (진행상황을 알려주지 않기 때문에 그냥 참고 기다리면 됩니다.)




저가 이전 포스트에서 ETF를 대상으로 변동성 돌파 전략을 포스팅할 계획이라고 했습니다. 그리고 시간이 많이 지났습니다. 아무래도 곧 대학교 4학년이 되기에 취업 준비로에 공부해야할 게 많아서 포스팅할 시간이 없었습니다. 

현재 ETF를 대상으로 변동성 돌파 전략 분석은 마쳤고 분석한 알고리즘을 토대로 실제 매매를 하면서 테스트하고 있습니다. 조만간 ETF를 대상으로 한 변동성 돌파 전략에 대해서 포스팅하겠습니다. 감사합니다.




< 8. 변동성 돌파 전략과 노이즈 분석 - 결과 >


1. 개요

2. 노이즈 계산

3. 평균 노이즈 계산

4. 변동성 돌파 전략과 노이즈 상관 분석

5. 변동성 돌파 전략과 분석 - (1)

6. 변동성 돌파 전략과 분석 - (2)

7. 변동성 돌파 전략과 분석 - (3)


지난 7번에 걸친 포스팅을 통해 여러 데이터를 만들어 변동성 돌파 매매에 대한 여러 전략을 알아봤고 백테스팅 방법에 대해 알아봤다. 이번 포스트에서는 백테스팅 결과와 그에 대한 실제 매매를 통한 해당 전략의 사용성 여부에 대해 알아보겠다.


필자는 지난 번에 설명한 여러 조건에 대해 백테스팅을 해봤다. 그 결과 최대 수익을 주는 차트는 아래와 같았다. 엄청난 수익율이다. 연평균 수익율이 2.5배가 넘는다. 단 그만큼 MDD가 크다. 두 번째 차트는 아래 차트를 로그 스케일로 나타냈다. 

아래 차트에 대한 조건식은 코스닥 종목을 대상으로 120일 노이즈 평균 값이 0.35 ~ 0.45 이거나 30일 노이즈 평균 값이 0.25 ~ 0.35 이다. 변동성 돌파 전략에서 (전일 고가 - 전일 저가) 에 곱하는 값은 최근 상반기 또는 하반기 가장 수익을 많이 준 값으로 적용했다. 




실제 위 조건식에 맞춰 매매를 몇 일 했다. 물론 퀀트는 장기적으로 똑같은 방법을 유지/고수해야 한다. 하지만 이 조건에 문제점이 발견됐다. 조건에 맞는 주식 대부분이 거래량이 없는 죽은 주식이였다. 실제 필자가 위 조건에 해당하는 매매를 할 때 "에이스 침대" 가 조건에 맞는 종목이였다. 하지만 에이스침대는 하루에 거래량이 50주도 안 되는 날이 비일비재했고 그만큼 노이즈도 적었다. 주식 매매가 거의 불가능했다. 


그래서 전략을 수정했다. 3일 평균 거래 대금이 1억 이상인 종목을 대상으로 지난 포스트에서 소개한 전략들을 적용했다. 그 결과 참담했다. 수익은 커녕 10년 백테스팅 결과 자금은 0에 수렴했다. 


즉, 노이즈가 적은 주식은 거래량이 없는 죽은 주식이 태반이었고 이런 극단적인 주식들이 지금까지 분석한 데이터를 왜곡시켰다. 


그래서 다른 방법을 시도했다. 3일 평균 거래 대금이 1억 이상이고 n일 평균 노이즈 값 하위 m개를 대상으로 10년 동안 변동성 매매 전략 백테스팅을 했다. ( n은 10, 20, 40, 60 ,120으로 m은 5, 10, 20, 40) 으로 적용했다. 이 결과도 마찬가지였다. 자금은 0으로 수렴했다.


결론 : 지금까지 소개한 여러 개의 전략이 실제 매매에 사용할 수 없다는 걸 알았다. 하지만, 마지막으로 적용해볼 경우가 남아있다. ETF이다. 실제 지금까지 한 백테스팅은 슬리피지 값으로 0.4%를 적용했다. 하지만 0.1%로 적용할 시 수익율은 몇 백배로 뛰었다. 그래서 다음 번에는 슬리피지가 거의 없는 ETF 대상 변동성 매매 전략을 백테스팅해볼 예정이다. 아마 변동성 매매 전략에 대한 포스팅은 ETF가 마지막이 될 것 같다.


     

+ Recent posts