금융시계열 분석 과제

아. 정말 어렵다

복습을 안하니 뭐가 되야 말이죠. 다른 분들의 도움을 받아 하나하나 풀어봅니다.
1번 문제.

자. quantmod 패키지부터 불러와야겠죠?

>library("quantmod")

다음으로 S&P 500 index의 종목명(예를 들어 애플사는 AAPL)을 검색합니다.

[^GSPC] 라고 적혀있네요.
이제 getSymbol 함수를 이용해서 ^GSPC을 호출합니다.

>getSymbols("^GSPC")

getSymbols는 출처가 기재되어있지 않으면 기본적으로 야후 파이낸스에서 받아옵니다.
그래서 지금의 경우는 적어줘도, 안적어줘도 상관없습니다.
다음의 결과가 나옵니다.


이 GSPC의 구조는 어떻게 되어있는지 검색해봅니다.

>head(GSPC)


2007년 1월부터 일자별로 Open, High, Low, Close, Vol, Adjusted 값이 나옵니다.
수정종가 즉 Adjusted의 값으로 그래프를 만들어야죠.

>plot(GSPC$GSPC.Adjusted, main="SP500 Index", type="b",pch=2, col="blue", subset="2009-01/2009-03")

해석해 보자면...

>그림을그립니다. (GSPC데이터의GSPC.Adjusted값으로요,   제목은 "SP500 Index"로 적습니다., 그래프 각 점의 표기타입은 삼각형으로 하구요, 색은 파랑, 구간은"2009-01/2009-03")

입니다.

>chartSeries(GSPC,type="candlesticks",subset="2009-01/2009-03",name="SP500 Candlesticks",theme=chartTheme("white"),show.grid=F,major.ticks="months",minor.ticks=F,up.col="red",dn.col="blue",color.vol=F)


추세선도 넣어줍니다.

>addSMA(n=10,on=1,col="black")

1번 문제의 Code 정리

(1)
>library("quantmod")
>getSymbols("^GSPC")
>head(GSPC)
(2)
>plot(GSPC$GSPC.Adjusted, main="SP500 Index", type="b",pch=2, col="blue", subset="2009-01/2009-03")
(3)
>chartSeries(GSPC,type="candlesticks",subset="2009-01/2009-03",name="SP500 Candlesticks",theme=chartTheme("white"),show.grid=F,major.ticks="months",minor.ticks=F,up.col="red",dn.col="blue",color.vol=F)
>addSMA(n=10,on=1,col="black")

2번 문제.

이 문제는 말이죠. 교재 파일 3장의 13p, 14p, 15p를 따라서 하면 됩니다.



그대로 따라서 Code를 작성해봅니다.

>n=200
>set.seed(100)
>white.noise <- rnorm(n,0,0.4)
>plot(white.noise,type="l")

>rw <- vector(length=n)    # (교재에서는 y축이 ar이었지만, 문제에서 y축은 rw로 되어있습니다.)
>rw <- NULL
>d <- -0.03
>rw[1] <- d + 5 + white.noise[1]

>for(i in 1:(n-1)){
  rw[i+1] <- d + rw[i] + white.noise[i+1]
  }
>plot(rw,type="l")

실행하면 다음의 결과값이 나옵니다.

3번 문제.

>getSymbols("GS")
>head(GS)

>gs_ts <- GS['2008/2017']


?to.month를 실행시켜 어떤 도움말이 나오는지 봅니다.

>?to.monthly


등의 내용이 나옵니다.어쨌든...usage에서 나온 대로 합니다.
gs_mth가 제대로 월변환이 되었는지 확인해봅니다.

>gs_mth <- to.monthly(gs_ts,indexAt='yearmon',drop.time=TRUE)
>gs_mth


월별 변환이 잘 되었네요

>gs_p <- gs_mth$gs_ts.Adjusted

이번에도 확인합니다.

>head(gs_p)


수정주가만 들어가있는 것을 볼 수 있습니다.

periodReturn의 뜻은 구간수익이라는 말이니...한번 도움말을 구해봅니다.

>?periodReturn


...도움말에서 나온대로 명령어를 작성합니다.

>gs_ret <- periodReturn(gs_p,period='monthly',type='arithmetic',leading=TRUE)

정말 수익률이 나오려나요?

>head(gs_ret)


네. 나오네요.
(그래프로 확인도 해봅니다.이건 교수님 숙제는 아니에요. 그냥 하는 거에요)

>plot(gs_ret)



이젠 익숙하게 명령어를 넣어봅니다.
(참고로 2장 37p에서 배운 내용 + Grid간격만 추가하면 됩니다.)

>plot(gs_p,main="Goldman Sachs Adj.Close",bg="white",col="red",major.ticks="years",grid.ticks.lty=2,grid.ticks.on="years")


혹시 뭔가 이상한가요? 문제에서는 그래프 X 축이 격년마다 표기되었는데...?
ticks로 뭔가 조정할 수 있을까 찾아봤는데 안보입니다.
그래서 혹시 MS오피스처럼 자동으로 구간 조정이 되나 하고 화면의 축을 끌어봤습니다.

되네요...

>par(mfrow=c(2,1));acf(gs_p,lag.max=50,main='Goldman Sachs.Adj.Close');pacf(gs_p,lag.max=20,main="")



어....이런..유의수준..라고 머리가 아프지만 강의파일 3장의 16p,17p,18p를 봅니다.


R기초과정때의 내용을 기억해봅니다.
tseries도 불러와야겠네요.

>library("tseries")
>Box.test(gs_p,lag=10,type='Ljung-Box')
>adf.test(gs_p,alternative="explosive")

whitenoise와 비정상계열에 대한 해석은 아직 모르겠습니다. 기계적인 문제풀이의 한계인가 싶네요.해석부분은 조금 더 공부해서 다시 작성해야겠어요

>plot(gs_ret,main="Goldman Sachs Period Return",bg="white",col="red",major.ticks="years",grid.ticks.lty=3,grid.ticks.on="years")

>par(mfrow=c(2,1));acf(gs_ret,lag.max=50,main='Goldman Sachs Period Return');pacf(gs_ret,lag.max=20,main="")

>Box.test(gs_ret,lag=10,type='Ljung-Box')
>adf.test(gs_ret,alternative="stationary")

이것 역시 아직 모르겠습니다. 기계적인 문제풀이의 한계인가 싶네요.해석부분은 조금 더 공부해서 다시 작성해야겠어요

추가
작성한 R codes 저장하는 방법(R studio 기준)

*1) R studio를 실행하면 다음의 화면이 뜹니다.

여기서는 무슨짓을 해도 작성한 코드를 저장할 수 없습니다.
그래서 코드를 기록하는 창에서 코드를 짠 다음에
Ctrl + Enter를 누르면 기록창의 코드들이 실행창에서 실행되는 것을 볼 수 있습니다.

그러면 코드를 기록하는 창은 어디에?
*2) 메뉴 창의 File 선택 -> New File -> R script

*3)코드를 입력하고 기록할 수 있는 창 생성

*4) 코드 저장 파일을 만들기 위해 메뉴창의 File -> save

*5) 경로를 지정(가능한 영어로만) + 저장하고 싶은 이름을 넣고 Save

*6) 잘 바뀌었는지 확인

*7) 이제 이곳에 기록하면 됩니다.

그런데 이미 다른 곳에 코드를 기록하고 있었는데 파일명을 어떻게 바꾸나요?
*1) 예를 들어 untitled1(기본 파일명) 이란 곳, 또는 다른 이름으로 된 창에서 기록하고 있다가 바꾸려면?

*2)메뉴 창의 File 선택 -> save as

*3) 경로 선택 후 저장할 이름 입력-> Save

혹시 문의사항있으면 언제든 연락 주세요.^^

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center