xts: 시계열 데이터에서 특정 시간대만 추출하는 방법
- 프로그래밍/R language
- 2019. 6. 3.
xts형의 분봉데이터를 가지고 있는데 특정 시간대, 예를 들면 매일 11시00분00초에 특정 트리거를 줘서 어떤 동작을 하는 프로그램을 만들고 싶다.
이런 조건에서 특정 시간대를 뽑기위한 방법은 다음과 같다.
xts에는 이런 시간대를 뽑아내기 위한 함수가 있는데 그 함수로는 아래의 함수들이 있다.
이름을 봐서 일겠지만, 날짜로 뽑는것 주단위로 뽑는 건 시, 분 단위로 뽑는 것 다 있다.
.indexday(x)
.indexweek(x)
.indexmon(x)
.indexhour(x)
.indexmin(x)
.indexsec(x)
더 있으니 추가적인 방법은 메뉴얼을 참고하자
분봉데이터가 있다는 가정하에 (저의 경우는 A233160이라는 xts형 분봉 데이터를 사용한다.) 예를 들면
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # 시계열 데이터에서 특정 11시만 추출 # .indexhour(객체명) 과 .indexmin(객체명)을 엔드조건(&)으로 결합해서 매일 11시에 데이터만 추출했다. hour11 <- A233160[.indexhour(A233160)==11 & .indexmin(A233160)== 00] > hour11 A233160.Open A233160.High A233160.Low A233160.Close A233160.Volume A233160.Adjusted 2019-01-28 11:00:00 12850 12850 12850 12850 500 12850 2019-01-29 11:00:00 12560 12560 12560 12560 100 12560 2019-01-30 11:00:00 12920 12920 12910 12910 22 12910 2019-01-31 11:00:00 13040 13080 13040 13070 10956 13040 2019-02-01 11:00:00 13075 13075 13070 13070 20 13070 2019-02-07 11:00:00 13525 13530 13525 13530 1224 13525 2019-02-08 11:00:00 13615 13620 13615 13615 3703 13615 | cs |
모르면 굉장히 힘들지면 알면 무지무지 간단한 방법이다.
'프로그래밍 > R language' 카테고리의 다른 글
TTR 패키지를 이용한 Donchian Channel 그리기 (0) | 2020.09.29 |
---|---|
XLConnect를 이용해 엑셀파일을 다루는 법 (0) | 2019.06.03 |
quantstrat 설치 순서 (0) | 2019.06.03 |