나는 일부 금융 틱 데이터, head(df_xts)
있습니다조건부 가격 지점을 사용하여 불규칙한 일중 재무 데이터를 R로 서브 세트 화하려면 어떻게해야합니까?
price volume
2016-06-01 09:30:00 1073 1
2016-06-01 09:30:00 1073 1
2016-06-01 09:30:00 1073 1
2016-06-01 09:30:00 1073 1
2016-06-01 09:30:00 1073 1
2016-06-01 09:30:00 1073 5
. I는 처음 15 분까지 개방 범위를 정의
df_open <- df_xts["T09:30/T09:44"]
(df_main
아래 참조 하루의 나머지 시간 프레임이다.)
다음 최대 가격, 또는 "개방 발견
orh <- apply.daily(df_open$price, max)
> orh
price
2016-06-01 09:44:55 1083.75
2016-06-02 09:44:59 1119.25
2016-06-03 09:44:59 1169.00
2016-06-06 09:44:53 1155.00
를 이는 높은 개구 범위 이상의 사전 정의 breakout
거리 가격 발견 : 매일 "고역
그때 나에게 하루를 기준으로 "브레이크 아웃"의 인덱스 값, 제공 가격이 브레이크 아웃 지점까지 이동 한 매일의 첫 번째 관찰, 발견 :
orh_bo_index <- apply.daily(df_main, FUN = function(X) first(which(X %in% orh_bo)))
> orh_bo_index
[,1]
2016-06-01 14:14:59 2074
2016-06-02 14:14:59 10693
2016-06-03 14:14:59 2351
2016-06-06 14:14:59 1224
orh_bo_matrix <- coredata(orh_bo_index)
나는이 결합을
ep_daily <- endpoints(df_main, on = "days")
daily_last_index <- ep_daily[-1]
daily_last_matrix <- t(t(daily_last_index))
df_bo_indexes <- bind_cols(data.frame(orh_bo_matrix), data.frame(daily_last_matrix))
> df_bo_indexes
orh_bo_matrix daily_last_matrix
1 2074 52155
2 10693 126623
3 2351 181408
4 1224 221002
가 어떻게 위의 인덱스를 사용하여 데이터를 부분 집합 않습니다 : 데이터 프레임, df_bo_indexes
을 만들 수있는 일상 엔드 포인트의 인덱스와 브레이크 아웃 인덱스? 이것은 내가 지금까지 시도한 것입니다 :
df_bo_day1 <- df_main[df_bo_indexes[1,1]:df_bo_indexes[1,2]]
i <- 2
for(i in 2:ndays(df_main)) {
df_bo_all <- df_main[(df_bo_indexes[i-1,2]+df_bo_indexes[i,1]):df_bo_indexes[i,2]]
}
split a time series by another irregular time series 유용했지만, 나는 하루 동안 데이터에 이것을 적용하는 방법을 모르겠어요.
내 전체 코드와 데이터 세트는 https://github.com/blottb7/tick-data에서 찾을 수 있습니다. 나는 시계열 입력에 관심이있는 누구에게나 관심이있다.