| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- 공공데이터
- 데이터분석
- 사이킷런
- 주요 파라미터
- 코딩테스트
- 데이터 사이언스
- 머신러닝
- 커리어전환
- 대학원
- 퀀트
- 데이터 분석
- 주식데이터
- 하이퍼 파라미터 튜닝
- pandas
- 퀀트 투자 책
- 파이썬
- 판다스
- AutoML
- 하이퍼 파라미터
- 데이터사이언스
- 데이터사이언티스트
- 이력서 첨삭
- 과제전형
- 경력기술서 첨삭
- 경력 기술서
- 자기소개서
- 랜덤포레스트
- sklearn
- 주가데이터
- 데이터 사이언티스트
- Today
- Total
목록전체 글 (127)
GIL's LAB
개요 유전 알고리즘은 자연계의 진화 체계를 모방한 메타휴리스틱 알고리즘으로 복잡한 최적화 문제를 푸는데 사용된다. 스케줄링 등 복잡한 최적화 문제를 해결하는데 활용되고 있고, 딥러닝의 초기 웨이트 설정, 특징 선택 등 머신러닝 문제를 해결하는데도 많이 사용된다. 필자의 주력 연구 방법론중 하나이며, 지금도 유전 알고리즘을 이용한 쉐이플릿 탐색이라는 주제로 연구를 진행하고 있다. 그러면 이제 유전 알고리즘이 어떻게 작동하는지, 또 파이썬으로 어떻게 구현할 수 있는지를 소개하자. 가능하면 비전공자의 입장에서 친절히 설명하고자 한다. 최적화 문제란? 최적화 문제는 제약 하에서 목적식을 최소화 혹은 최대화하는 결정 변수의 값을 찾는 문제이다. 제약이란 것은 해가 만족해야 하는 조건이고, 목적식은 최소화 혹은 최..
개요 이번 실험에서는 증권사 리포트를 참고하여 투자했을 때 얻는 기대 수익을 계산해볼 것이다. 구체적으로 확인해보고자 하는 내용은 아래와 같다. 리포트의 평가 의견 분포 확인하기 리포트에 자주 등장하는 기업 확인하기 리포트의 의견에 따라 구매했을 때 얻게될 기대 수익 계산하기 리포트에서 언급하는 적정 주가를 도달하는데 소요되는 시간 계산하기 어느 증권사의 의견이 잘 맞는지 확인하기 실험 데이터 실험 데이터는 2016년 9월 1일부터 2021년 8월 31일까지의 코스피와 코스닥 종목의 주가 데이터 (수집 방법은 여기 참고)와 요약된 증권사 리포트 (수집 방법은 여기 참고)를 사용한다. 실험 내용 데이터 준비 및 전처리 먼저 실험에 필요한 모듈을 불러오고, 기본적인 세팅을 한다. # 모듈 불러오기 impor..
이번 포스팅에서는 이전 포스팅에서 소개한 Cybos Plus를 가지고 분틱 코스피/코스닥 데이터를 수집하는 방법을 소개한다. 이 방법을 바탕으로 수집한 데이터는 다양한 퀀트 실험에 활용할 예정이다 (일별 데이터 수집 내용과 거의 중복되지만, 이전 포스팅을 보고 이해하고 이 포스팅을 보긴 힘들 것 같아서 복붙을 했다). 가장 먼저, Cybos Plus를 실행해서 로그인한다. 그리고나서 주피터를 32bit 환경에서 관리자권한으로 실행한다. 즉, 아나콘다 프롬프트를 관리자권한으로 실행한 뒤, 아래 명령어를 순차적으로 입력하여 주피터를 실행한다. set CONDA_FORCE_32BIT=1 conda activate py36_32 jupyter notebook 당연하지만, 이전 포스팅에서 py36_32 환경을 구..
개요 이번 실험에서는 주가가 상승하기 전에 보이는 새로운 시계열 패턴을 찾아보고자 한다. 그러니까 대표적인 주가 상승 패턴 중 하나인 역헤드엔숄더 패턴처럼, 주가가 상승하기 전에 보이는 저런 패턴들을 찾는 것이 이번 실험의 목표이다. 즉, 주가가 크게 오르기 전의 주가 데이터와 그렇지 않은 주가 데이터를 가지고, 주가가 크게 오르기 전의 주가 데이터에서만 주로 발생하는 패턴을 찾으면 되는데, 이 패턴은 결국 시계열 분류에서 사용되는 쉐이플릿 개념과 동일하다. 쉐이플릿에 대한 설명은 여기를 참고하기 바란다. 실험 내용 실험 내용은 심플하다. 주가가 크게 오르기 전의 주가 데이터와 그렇지 않은 주가 데이터로 주가 데이터를 분할한 다음에, 쉐이플릿을 찾으면 된다. 말로 쓰니 내용이 어려우니, 코드를 보며 이해..
오늘 ADP 실기 시험을 성동공고에서 봤다. 내가 수험자 가운데 제일 빨리 나온듯하다ㅎㅎㅎ… 머신러닝을 전공한 현직 데이터사이언스트가 오픈북으로 시험보면, 오픈북 자료만 대충 준비하면 되는거 아닌가라고 완벽히 오판한 시험이었다. 시험보러온 사람가운데 아마도 내가 제일 자료를 적게 챙겼을것이다. 왜 다른사람들은 책을 몇권씩 챙기나 했다ㅎㅎㅎ… 문제를 복기해보자. 1번은 전형적인 지도학습 개발 문제이고, 배점이 50점인만큼 자잘자잘한 문제가 많았다. 사실 이 문제는 자료를 거의 안보고 해결했다. 2번부터 멘탈이 좀 흔들렸는데, 2번문제는 일표본의 분산에 대한 검정문제였다. 그러니까 평균에 대한 검정이 아니라, 분산이 특정 수치인가를 검정하는거였다. 영가설이랑 대립가설 수립은 할수있었는데, 무슨 검정 기법으로..
* 이번 실험부터는 실험 설계, 실험 코드, 실험 결과를 하나의 포스팅에 정리합니다. 따로따로 하다보니 가독성만 안 좋아지는 듯 하네요. 개요 일반적으로, EPS, ROE, 순이익률, 영업이익률은 높을수록 투자할 가치가 있고, PER, PBR은 낮을수록 투자할 가치가 있다고 알려져 있다. 그래서 이번 실험에서는 이전 포스팅에서 수집한 투자지표를 가지고 투표했을 때의 효과에 대해 분석한다. 단, 주의해야할 사항으로는 각 지표는 현재 분기가 끝난 다음에나 알 수 있다는 것이다. 예를 들어, 글을 쓰고 있는 시점이 2021년 4분기지만, 4분기 실적은 당연히도 4분기가 끝난 다음에 나온다. 그것도 바로 나오는 것이 아니고, 1-3분기 보고서는 +45일, 4분기는 +90일까지 제출을 하면 된다. 따라서 이번 실..
이번 포스팅에서는 세 번째 실험 결과를 해석하고, 이에 따른 백테스팅을 진행하도록 하자. 실험 설계를 보고 오면 이해가 좀 더 쉬울 듯 하다. 실험 결과 정리 먼저 실험 결과의 raw 데이터는 아래와 같다. MAE 분포를 히스토그램으로 먼저 확인하자. 코스피와 코스닥 종목 모두 MAE가 0 ~ 4 정도의 값에서 왔다갔다하고, 검정을 해보진 않았지만 평균 2 정도의 정규 분포를 따르는 것 같다. 라벨이 종목의 등락폭(%)이라는 것을 감안했을 때, 오차가 2라는 것은 등락 자체를 틀리게 맞추는 경우도 많다고 해석할 수 있을 듯 하다. 결국 단타 예측은 쉽지 않다는걸 다시 한 번 확인한다. lag의 분포도 확인해보자. 예상한대로 lag가 1인 경우가 대다수를 차지하는 것을 확인했다. 결국 전날 종가를 가지고 ..
본 포스팅에서는 종목별로 현금흐름표에서 주요 지표를 뽑아내서 저장하도록 한다. 투자 시 현금흐름표에서 반드시 확인해야 할 사항은 세 가지이다. 영업활동 현금흐름: 기업의 영업활동으로 인한 현금흐름으로 양수여야 함 투자활동 현금흐름: 장비, 기계, 부동산 등을 구입하는 유무형 자산의 취득과 처분에 관련된 현금흐름으로, 정상적인 기업은 이 항목이 음수이지만, 회계상의 이유로 양수가 나오는 경우도 있음 재무활동 현금흐름: 금융 기관으로부터 돈을 빌리거나 갚은 것을 말하며, 음수는 돈을 갚은 것을 의미하고 양수는 돈을 빌린 것을 의미함 본 포스팅에서는 현금흐름표에서 저 세가지 항목을 파이썬을 이용하여 추출하도록 한다. 재무정보 다운로드 가장 먼저, Open Dart에 접속하여, 재무정보를 일괄다운로드하자. 링크..
본 포스팅에서는 투자시에 자주 참고하게 되는 EPS, PER, 영업이익률 등의 투자지표를 크롤링하는 방법을 소개한다. 먼저, 아이투자(http://www.itooza.com/)에 접속하자. 접속하면 아래와 같은 화면을 볼 수 있다. 빨간 박스로 표시한 검색창에 관심있는 종목명 혹은 종목코드를 검색해보도록 하자. 여기서는 예제로 SK하이닉스를 검색하였다. 검색하면 아래와 같은 화면을 볼 수 있다. 보다시피, SK하이닉스의 다양한 투자지표가 테이블 형태로 정리된 것을 볼 수 있다. 본 포스팅에서는 저 테이블을 크롤링할 것이다. 다만, 투자지표가 컬럼명으로 오는 것이 추후 분석에 편할 것 같아 전치를 시켜서 저장하도록 한다. 자, 그러면 이제 파이썬으로 저 테이블을 크롤링해보자. 먼저 필요한 모듈을 다음과 같..
이번 포스팅에서는 지난 포스팅에서 설계한 실험을 수행하기 위한 코드를 소개한다. 사실 실험 1의 코드와 매우 유사하기에 코드를 작성하고 구동하는데 매우 적은 시간이 소요되었다. 그러면 곧바로 코드 소개로 넘어가자. 먼저, 필요한 모듈을 임포트한다. 이전 코드와 다르게 MAE를 임포트하였고, 회귀모델만 임포트하였다. import os import pandas as pd import numpy as np from sklearn.metrics import mean_absolute_error as MAE from sklearn.linear_model import LinearRegression as LR import warnings 그리고 워닝을 무시하고, 데이터가 있는 경로로 설정한다. # 주가 데이터가 있는 ..