Quantmod
packagelibrary(quantmod)
quantmod
package 를 설치하고 주가를 불러오는 함수 getSymbols()
를 사용해보자. 주식코드번호에 코스피면 .KS
,코스닥이면 .KQ
을 붙이면 된다. 최애주인 SK이노베이션으로 해보자.
stock<-getSymbols(Symbols = "096770.KS",
from= "2017-04-03",
to = "2017-04-07",
auto.assign = FALSE)
stock
## 096770.KS.Open 096770.KS.High 096770.KS.Low 096770.KS.Close
## 2017-04-03 167000 168500 165500 166000
## 2017-04-04 165500 166000 161000 163000
## 2017-04-05 164500 165500 162500 163500
## 2017-04-06 163000 164500 161000 162500
## 2017-04-07 163500 165000 162500 164500
## 096770.KS.Volume 096770.KS.Adjusted
## 2017-04-03 121172 152436.8
## 2017-04-04 246259 149681.9
## 2017-04-05 174394 150141.0
## 2017-04-06 206571 149222.7
## 2017-04-07 174225 151059.3
시가(open),고가(high),저가(low),종가(close),거래량(volume),수정주가(adjusted) 데이터를 불러왔다.
수정주가는 종가 기준이며, 모든 가격을 수정가격으로 하고 싶을때는 adjustOHLC
함수를 사용하면 된다.
stock<-adjustOHLC(stock,use.Adjusted = T)
stock
## 096770.KS.Open 096770.KS.High 096770.KS.Low 096770.KS.Close
## 2017-04-03 153355.1 154732.5 151977.6 152436.8
## 2017-04-04 151977.6 152436.8 147845.3 149681.9
## 2017-04-05 151059.3 151977.6 149222.7 150141.0
## 2017-04-06 149681.9 151059.3 147845.3 149222.7
## 2017-04-07 150141.0 151518.5 149222.7 151059.3
## 096770.KS.Volume 096770.KS.Adjusted
## 2017-04-03 121172 152436.8
## 2017-04-04 246259 149681.9
## 2017-04-05 174394 150141.0
## 2017-04-06 206571 149222.7
## 2017-04-07 174225 151059.3
colnames(stock)<-c('open','high','low','close','volume','adjusted') #컬럼명 변경
간단히 그래프를 그려보기 앞서, getSymbols
불러온 데이터의 class 는 데이터 프레임이 아닌 xts
이다. 일반적인 plot()
그래프를 그릴수 있지만,
class(stock)
## [1] "xts" "zoo"
plot(stock$close)
chartSeries()
함수로 눈에 익숙한 주식차트를 그릴수 있다. (데이터 형태가 xts
만 사용가능)
chartSeries(stock)
색이 익숙하지 않다.
chartSeries(stock,
up.col='red',
dn.col='blue',
theme = 'white',
name='SK이노베이션')
어설프지만, 어느정도 익숙한 차트가 그려졌다. 마지막으로 좀더 긴 기간의 데이터에 보조지표를 그려보자.
stock2 <- getSymbols(Symbols = "096770.KS",
from= "2016-01-01",
to = "2016-12-31",
auto.assign = FALSE) #주가 데이터 불러오기
stock2<-adjustOHLC(stock2,use.Adjusted = T) #수정주가로 변환
colnames(stock2)<-c('open','high','low','close','volume','adjusted') # 컬럼명 변경
addMACD() #MACD 추가
addBBands() #볼린져밴드 추가
addSMA(10,col='red') #이동평균선 추가
quantmod
getSymbols()
함수로 주가정보를 가져오고, 전처리를 할 수 있다.chartSeries()
함수로 주가차트를 그리고, 보조지표를 추가 할 수 있다.quantmod
@ 환율, 경제지표 참조하기