1-2. 웹 스크레이핑을 통한 일별 시세 분석하기
2021. 5. 29. 20:56ㆍFinancial Analysis
이번 장에서는 1-1에서 만든 함수로 추출한 데이터를 matplotlib으로 분석하고, 캔들차트 그리는 법을 알아보겠다.
sise_url = 'https://finance.naver.com/item/sise_day.nhn?code=293490'
total_data = read_total_data(sise_url, last_page)
상장한지 얼마안된 카카오게임즈 주식을 분석해보자.
total_data = total_data.dropna()
total_data = total_data[::-1]
혹시 있을지 모르는 null 값을 지우고, 최근순으로 정렬되어있는 인덱스를 역순으로 정렬하여 오래된 순으로 정렬하였다.
spl_data = total_data.iloc[0:30]
plt.title("Kakao Games Stock")
plt.plot(spl_data.index, spl_data['종가'])
plt.xticks(rotation=45)
plt.xlabel('Date')
plt.ylabel('Stock')
plt.grid(True)
plt.show()
상장일로부터 30일가량의 데이터를 pyplot을 통해 나타내었다.
캔들차트
(FinanceAnalysis) C:\Users\----\OneDrive\바탕 화면\FinanceAnalysisProject>pip install --upgrade mplfinance
캔들차트를 그리기 위해 mplfinance를 설치한다.
import mplfinance as mpf
total_data = total_data.rename(columns={'시가':'Open','고가':'High','저가':'Low','종가':'Close','거래량':'Volume'})
total_data.index = pd.to_datetime(total_data.index)
kwargs = dict(title = 'Kakao Games Candle Chart', type = 'candle',
mav=(2,4,6), volume=True, ylabel = 'ohlc candles')
mc = mpf.make_marketcolors(up='r', down='b', inherit=True)
s = mpf.make_mpf_style(marketcolors=mc)
mpf.plot(spl_data, **kwargs, style=s)
total_data의 컬럼값을 Rename하고, Str 타입의 인덱스를 판다스의 to_datetime 함수로 Datetime 타입으로 변경하였다.
그리고 mplfinance의 plot 함수로 거래량을 포함한 캔들차트를 그려보았다.
'Financial Analysis' 카테고리의 다른 글
3-2. [트레이딩 전략 구현] 샤프 지수(Sharpe Ratio) (0) | 2021.06.12 |
---|---|
3-1. [트레이딩 전략 구현] 효율적 투자선 구하기 (0) | 2021.06.12 |
2-2. DB에서 시세 조회하는 API 만들기 (0) | 2021.06.06 |
2-1. 스크래핑한 데이터를 DB에 저장하기 (2) | 2021.06.05 |
1-1. 웹 스크레이핑을 통한 일별 시세 읽어오기 (0) | 2021.05.29 |