Facebook은 Python 및 R에서 사용할 수 있는 예측 도구인 Prophet 모듈 코드를 open 하고 있습니다. 예측은 조직 내 많은 활동의 중심이 되는 Data Science입니다. 예를 들어 Facebook과 같은 대규모 조직은 성과를 측정하기 위해 부족한 리소스와 목표 설정을 효율적으로 할당하기 위한 계획을 수립합니다. 고품질 예측을 생성하는 것은 기계나 대부분의 분석가에게 쉬운 문제가 아닙니다. 이것이 시계열의 데이터 예측인 Prophet() 구축 작업의 동기입니다. 이를 통해 의사 결정과 제품 기능에 사용되는 신뢰할 수 있는 예측을 많이 생성하는 Facebook의 능력을 향상시키는 데 핵심적인 역할을 했습니다.

  • 최소 몇 개월(바람직하게는 1년)의 기록이 있는 시간별, 매일 또는 매주 관찰
  • 강력한 다중 "인간 규모" 계절성: 요일 및 시간
  • 사전에 공지된 불규칙한 간격으로 발생하는 중요한 휴일(예: 슈퍼볼)
  • 합리적인 수의 결측 관측값 또는 큰 이상값
  • 예를 들어 제품 출시 또는 로깅 변경으로 인한 과거 추세 변경
  • 추세가 자연스러운 한계에 도달하거나 포화되는 비선형 성장 곡선인 추세

Prophet()은 Facebook이 만든 시계열 예측 모듈로 위와 같은 동기로 인해 코드가 개발되었다고 합니다. 대표적인 시계열 데이터인 주식 차트에도 응용해보려는 시도가 많이 확인됩니다. 많이 공개된 것을 보니 주가 예측에 크게 도움이 되는 것 같지는 않습니다. BACK TEST 결과가 공유된 것을 찾아보기 어려웠고, 모두가 알고 있는 방법으로는 돈을 벌 수 없다는 것을 알지만 그래도 한번은 확인 차원에서 코드를 구현하여 몇 종목 돌려보고 추후 결과를 비교해 보고자 구글링을 통해 따라해봤습니다.

 

1. 가온 미디어(078890) => 10월 5일 16,734 예상 

9월 28일 종가 : 14,100 / 10월 5일 종가 : 13,950 / 10월 8일 종가 : 13,400

2. 티씨케이(064760)=> 10월 5일 154,509 예상

9월 28일 종가 : 119,500 / 10월 5일 종가 : 113,600 / 10월 8일 종가 : 114,200

3. 휴온스글로벌(084110) => 10월 5일 77,963

9월 28일 종가 : 61,400 / 10월 5일 종가 : 57,300 / 10월 8일 종가 : 50,700

4.  대양전기공업(108380) => 10월 5일 18,394

9월 28일 종가 : 16,850 / 10월 5일 종가 : 17,000 / 10월 8일 종가 : 16,250

5. 덕산네오룩스(213420) => 10월 5일 73,988

9월 28일 종가 : 62,800 / 10월 5일 종가 : 59,000 / 10월 8일 종가 : 57,300

일주일 뒤에 확인해봐야겠습니다. 가격은 못맟춰도 최소한 TREND나 모멘텀 정도는 어느 정도 맞추지 않을까 기대해봅니다만, 일전에 Machine Learning으로 돌려봐도 별다른 재미와 예측력을 못봤기 때문에, 특히나 Machine Learning으로는 시가, 고가, 저가, 거래량, 이평선등 더 많은 데이터를 넣을 수 있음에도 예측력은 홀짝 수준에 그치지 않았던 기억이 있기에 큰 기대는 안합니다. 

 이를 통해 Facebook이 시간에 따른 인간의 행동 양식이나 사회적 변화를 수학적으로 읽어내고자 많은 노력을 하고 있음을 알 수 있었습니다. 시계열 parameter 입력값으로 각종 공휴일, 추수 감사절, 장이 서는 날, 슈퍼볼 열리는 날 등 각종 일정 데이터 입력이 가능합니다. 인간의 행동 양식에 변화를 주는 이런 부분도 함수의 인자로 넣게 하려는 시도가 상당히 고무적으로 느껴졌습니다. 단순히 광고를 통해 facebook 가입자를 늘리는게 아니었던 것 같습니다. youtube의 알고리즘처럼 facebook도 이러한 모듈을 통해 가입자가 인지하지 못한 공통된 행동 양식이나 패턴을 읽어내고 있는 것 같습니다. 무섭다...

 

10월 8일 확인 결과

개나 줘버려!! 이번주 폭락장의 영향이 있겠지만 가격은 기대도 안했지만 경향도 안맞네요. 며칠뒤 다시 한번 확인해봐야겠습니다.

제목 그대로 SELENIUM을 활용하여 KRX 사이트에서 주식 종목 코드를 뽑아보았습니다. KRX 사이에서는 간단한 CLICK 몇번으로 엑셀 내지는 CSV로 자료를 제공하고 있습니다.

 

import pandas as pd
import requests
import time
import datetime
from selenium import webdriver

def Stockcode_KRX() :
   chrome_options = webdriver.ChromeOptions()
   chrome_options.add_experimental_option('useAutomationExtension', False)
   browser = webdriver.Chrome('chromedriver', options=chrome_options)
   url = "http://data.krx.co.kr/contents/MDC/MDI/mdiLoader/index.cmd?menuId=MDC0201020201"
   browser.get(url)
   time.sleep(3)
   browser.find_element_by_xpath('//*[@id="MDCSTAT019_FORM"]/div[2]/div/p[2]/button[2]').click()
   time.sleep(3)
   now = datetime.datetime.now()
   ttime = now.strftime("%M%S") # 파일명 찾을 때 쓰려고 만든 변수
   date = now.strftime("%Y%m%d") # 파일명 찾을 때 쓰려고 만든 변수
   browser.find_element_by_xpath(

   '/html/body/div[2]/section[2]/section/section/div/div/form/div[2]/div[2]/div[2]/div/div[1]/a').click()
   time.sleep(3)
   return ttime, date

 

상기의 코드를 돌리면 기본 다운로드 폴더에 data_현재시간.xlsx라는 화일명으로 한 엑셀 자료가 다운로드됩니다. 참고가 되셨으면 좋겟습니다.

 

data_3831_20210919.xlsx
0.24MB

'파이썬(PYTHON)' 카테고리의 다른 글

fbprophet 설치 오류 해결  (0) 2021.10.01
재무제표, 투자지표의 Python 코드 구현  (0) 2021.08.27
RPA를 위한 Python 활용  (0) 2021.08.21
Demark 지표의 Python 코드 구현  (2) 2021.08.19
TALIB Library 모듈  (0) 2021.07.01

요즘이야 정보 접근성이 좋아져서 퀀트투자라는 말이 많이 일반화되어서 생소하게 들리지는 않지만 한때는 퀀트투자는 전문 투자가의 영역으로 치부되던 때가 있었습니다. 퀀트투자 관련 서적을 몇번 읽어보았지만 여기서도 빛을 보진 못했으나 원리등을 습득하고자 몇가지 내용을 파이썬 코드로 구현하여 데이터화한 적이 있습니다.

마법공식, 저PBR 기법, 고ROA 기법등 회계 자료를 바탕으로 투자의 유효성을 판단하여 순위를 매겨서 투자에 참고할 수 있도록 자료화하는 것입니다. 결국 공시된 자료에서 나만의 INSIGHT를 찾지 못하면 무용지물인 것입니다. 누구에게나 똑같이 공개된 자료임에도 어느 누군가는 투자에 효과적으로 활용하고 누군가는 버려지는 자료로 쓰이게 되는 이 현상이 성공하는 투자자와 실패하는 투자자와이 가장 큰 차이점이지 않을까 생각합니다. 이것 저것 투자에 도움이 되는 서적과 자료를 많이 보고는 있지만 아직도 뚜렷한 나만의 기법을 찾지 못해서 혹시나 오늘 다시 무언가 보일까 싶어서 코드를 구동시켜 봤습니다만 별다른 것을 발견하지 못했습니다. 뛰어난 사람들은 여기서 무언가를 봤겠죠?

혹시나 도움이 될까 2021년 6월 공시자료 기준으로 코드를 돌려봤습니다.

참고가 되시기를 바랍니다.

(PBR, ROA, ROIC등의 설명은 정말 수많은 블로그에서 설명되어 있어서 따로 설명하지 않습니다.)

 

('stockcode', 'code') PBR PCR PER PSR 총현금흐름 pbr순위 ROA ROIC 부채비율 영업이익률 유동비율 roa순위 roic순위 마법공식순위
A002450 0.63       220 196.5 16.4 9.0 119.4 14.0 137.9 147 76.5 1
A014100 0.68       26 250.5 19.8 8.2 54.0 6.5 131.4 96.5 132.5 2
A003240 0.33       1834 26.5 9.3 81.0 23.6 18.1 397.7 415 82 3
A005810 0.34       472 30 25.5 39.9 22.3 16.8 192.7 55 570 4
A001130 0.35       334 34 14.7 4.9 43.0 3.2 205.7 186 491 5
A002030 0.33       1468 26.5 6.7 8.9 87.0 13.1 171.4 651.5 87 6
A004360 0.38       296 44.5 7 8.1 35.1 3.2 144.1 617.5 140 7
A352700 1.33       268 782.5 34.5 97.5 22.1 35.9 422.9 27 4 8
A003570 0.5       95 102.5 13.4 4.7 38.5 5.0 328.6 226 512 9
A012620 0.52       98 114 6.2 9.8 106.0 6.7 158.2 707 20 10
A123700 0.54       95 133.5 6.8 9.2 25.7 9.3 572.2 643 65 11

 

매직순위_20210920.xlsx
0.18MB

+ Recent posts