INVESTAR / StockAnalysisInPython

456 stars 412 forks source link

09장_삼성주가예측 Analyzer.MarketDB() #63

Open ogurim opened 3 years ago

ogurim commented 3 years ago

09장 삼성주가예측중에 Analyzer.MarketDB()를 못 받아오는지 데이터 프레임에 Empty라고 뜹니다. print(raw_df)를 실행 시켰을 때

Colmun Non-Null Count Dtype

0 open 0 non-null object 1 high 0 non-null object 2 low 0 non-null object 3 volume0 non-null object 4 close 0 non-null object dtype:object(5) memory usage:0.0_bytes

라고 뜨는데 어떻게 해결해야 될까요? 무슨문제일까요?

INVESTAR commented 3 years ago

Empty DataFrame이 출력되는 것은 현재 DB에 해당 기간에 대한 주식 데이터가 존재하지 않기 때문입니다. 즉, mk.get_daily_price('삼성전자', '2018-05-04', '2020-01-22')라고 호출했을 때 빈 DataFrame이 리턴된다면 마리아디비에 2018-05-04 ~ 2020-01-22 기간에 해당하는 삼성전자 주식 데이터가 존재하지 않기 때문입니다.

get_daily_price()를 이용해서 주식 시세를 조회하려면 네이버 금융에서 웹 스크레이핑한 데이터를 마리아디비 내부에 저장해 둬야 하는데... 해당 작업이 진행되지 않은 것 같습니다. 아래 작업 순서 중에서 5번 작업이 잘 이루어졌는지 확인해 주시기 바랍니다.

① 마리아디비 설치 ② Investar 데이터베이스 생성 ③ pymysql 라이브러리 설치 ④ ch05_04_CreateTable.sql 쿼리를 실행해서 company_info, daily price 테이블 생성 ⑤ DBUpdaterEx.py를 실행하여 웹스크레이핑 한 주식 데이터를 마리아디비에 저장

5번 작업을 진행했는데도 조회가 안된다면, 조회 기간을 최근 날짜로 변경해서 조회해 보시기 바랍니다. 참고로, 웹 스크레이핑 대상 기간을 늘여야 할 경우에는 config.json 파일의 pages_to_fetch 값을 100으로 높게 설정해 보시기 됩니다.