2011-09-01 6 views
3

중간 VWAP 로의 일일 거래에서 되돌리기를 테스트하려고합니다. 나는 내가 한 것을 보여주기 위해 (잘하면) 재현 할 수있는 예를 집계했다. 현재 저는 rollapply를 사용합니다, 그러나 이것은 관측에 기초한 롤링 윈도우에서 VWAP 계산을 적용합니다. 이상적으로는 롤링 시간대 (예 : 10 분)를 사용하고 싶습니다. (틱 데이터를 기반으로)시간에 따른 롤링 기능 적용 (일간)

내 예 :

library(quantmod) 
library(xts) 

#Create xts object from tick data frame 

my.xts <- xts(my.frame[,-1], order.by=my.frame[,1]) 
my.xts <- my.xts["T10:00/T10:30"] 


> my.xts 
        PRICE QUANTITY 
2011-08-31 10:00:14 28724  538 
2011-08-31 10:00:22 28724  462 
2011-08-31 10:00:22 28724  500 
2011-08-31 10:00:47 28701  500 
2011-08-31 10:01:10 28725  500 
2011-08-31 10:01:18 28728  1000 
2011-08-31 10:01:30 28702  500 
2011-08-31 10:01:30 28701  500 
2011-08-31 10:01:45 28701  2590 
2011-08-31 10:01:45 28701  1275 
2011-08-31 10:01:46 28701  635 
2011-08-31 10:01:53 28697  821 
2011-08-31 10:02:02 28700  3379 
2011-08-31 10:02:02 28700  1621 
2011-08-31 10:03:26 28709  1000 
2011-08-31 10:03:38 28709  1000 
2011-08-31 10:03:38 28709  997 
2011-08-31 10:04:37 28699  500 
2011-08-31 10:04:37 28700  2500 
2011-08-31 10:04:50 28676  500 
2011-08-31 10:05:01 28676  519 
2011-08-31 10:05:01 28676  500 
2011-08-31 10:05:03 28700  2500 
2011-08-31 10:05:03 28700  2000 
2011-08-31 10:05:42 28681  197 
2011-08-31 10:06:22 28699  2535 
2011-08-31 10:06:22 28700  1000 
2011-08-31 10:06:22 28700  2500 
2011-08-31 10:06:22 28700  2060 
2011-08-31 10:06:31 28700  2500 
2011-08-31 10:06:32 28700  2500 
2011-08-31 10:06:33 28700  2500 
2011-08-31 10:06:42 28700  1000 
2011-08-31 10:06:42 28700  500 
2011-08-31 10:06:43 28700  500 
2011-08-31 10:06:58 28700  1000 
2011-08-31 10:07:02 28700  1000 
2011-08-31 10:07:04 28700  1000 
2011-08-31 10:07:04 28700  1000 
2011-08-31 10:07:05 28700  1000 
2011-08-31 10:07:05 28700  90 
2011-08-31 10:07:05 28700  910 
2011-08-31 10:07:06 28700  90 
2011-08-31 10:07:29 28700  8 
2011-08-31 10:07:40 28700  3 
2011-08-31 10:07:44 28681  590 
2011-08-31 10:07:46 28680  1000 
2011-08-31 10:07:47 28676  1167 
2011-08-31 10:07:56 28699  350 
2011-08-31 10:08:01 28675  1000 
2011-08-31 10:08:14 28694  240 
2011-08-31 10:08:14 28694  518 
2011-08-31 10:08:15 28675  861 
2011-08-31 10:08:15 28663  657 
2011-08-31 10:09:20 28689  1000 
2011-08-31 10:09:59 28696  500 
2011-08-31 10:10:10 28694  100 
2011-08-31 10:10:51 28698  1000 
2011-08-31 10:10:51 28698  1000 
2011-08-31 10:11:02 28700  374 
2011-08-31 10:11:15 28701  500 
2011-08-31 10:11:52 28724  500 
2011-08-31 10:11:52 28725  900 
2011-08-31 10:11:52 28728  1000 
2011-08-31 10:11:52 28740  2500 
2011-08-31 10:11:52 28740  300 
2011-08-31 10:11:52 28749  1800 
2011-08-31 10:11:52 28750  250 
2011-08-31 10:11:52 28750  200 
2011-08-31 10:11:52 28750  6497 
2011-08-31 10:11:52 28750  2103 
2011-08-31 10:12:02 28750  8950 
2011-08-31 10:12:07 28750  4500 
2011-08-31 10:12:50 28750  4450 
2011-08-31 10:12:50 28750  550 
2011-08-31 10:12:56 28750  478 
2011-08-31 10:12:56 28750  522 
2011-08-31 10:12:56 28750  492 
2011-08-31 10:13:02 28750  61 
2011-08-31 10:13:16 28750  4439 
2011-08-31 10:13:44 28750  1000 
2011-08-31 10:13:47 28750  1000 
2011-08-31 10:13:48 28750  1000 
2011-08-31 10:13:49 28750  1000 
2011-08-31 10:13:49 28750  439 
2011-08-31 10:14:25 28750  2061 
2011-08-31 10:14:25 28750  1000 
2011-08-31 10:14:26 28751  374 
2011-08-31 10:14:46 28750  500 
2011-08-31 10:15:31 28750  1000 
2011-08-31 10:15:49 28775  1 
2011-08-31 10:15:52 28775  454 
2011-08-31 10:16:47 28752  1000 
2011-08-31 10:17:00 28750  1069 
2011-08-31 10:17:30 28750  500 
2011-08-31 10:17:38 28744  821 
2011-08-31 10:17:42 28744  179 
2011-08-31 10:17:42 28776  1000 
2011-08-31 10:17:44 28779  590 
2011-08-31 10:17:46 28780  700 
2011-08-31 10:17:46 28780  3000 
2011-08-31 10:18:06 28754  590 
2011-08-31 10:18:06 28753  700 
2011-08-31 10:18:06 28751  500 
2011-08-31 10:18:06 28751  10 
2011-08-31 10:18:06 28751  990 
2011-08-31 10:18:39 28750  1000 
2011-08-31 10:18:39 28750  2000 
2011-08-31 10:19:11 28748  1000 
2011-08-31 10:19:13 28749  1077 
2011-08-31 10:19:22 28750  500 
2011-08-31 10:19:45 28768  600 
2011-08-31 10:19:45 28768  2244 
2011-08-31 10:19:58 28750  500 
2011-08-31 10:19:58 28750  500 
2011-08-31 10:19:58 28750  97 
2011-08-31 10:19:58 28750  403 
2011-08-31 10:19:58 28750  197 
2011-08-31 10:20:06 28750  10 
2011-08-31 10:20:18 28750  293 
2011-08-31 10:20:18 28750  500 
2011-08-31 10:20:19 28750  500 
2011-08-31 10:20:19 28750  500 
2011-08-31 10:20:19 28750  207 
2011-08-31 10:20:51 28750  293 
2011-08-31 10:21:04 28730  3000 
2011-08-31 10:21:09 28725  1000 
2011-08-31 10:21:09 28725  1029 
2011-08-31 10:21:10 28720  500 
2011-08-31 10:21:35 28700  525 
2011-08-31 10:21:35 28700  475 
2011-08-31 10:21:38 28725  50 
2011-08-31 10:21:38 28745  350 
2011-08-31 10:22:40 28713  350 
2011-08-31 10:22:58 28700  327 
2011-08-31 10:22:58 28700  373 
2011-08-31 10:23:09 28720  2029 
2011-08-31 10:23:18 28720  50 
2011-08-31 10:23:26 28720  150 
2011-08-31 10:23:38 28700  50 
2011-08-31 10:23:54 28700  762 
2011-08-31 10:23:54 28700  38 
2011-08-31 10:23:57 28700  112 
2011-08-31 10:23:57 28700  2500 
2011-08-31 10:24:00 28700  3388 
2011-08-31 10:24:11 28700  1534 
2011-08-31 10:24:11 28700  3466 
2011-08-31 10:24:11 28700  1706 
2011-08-31 10:24:14 28700  794 
2011-08-31 10:24:26 28700  2288 
2011-08-31 10:24:40 28719  2000 
2011-08-31 10:24:48 28703  15 
2011-08-31 10:24:50 28737  1000 
2011-08-31 10:24:50 28737  30 
2011-08-31 10:25:35 28731  1077 
2011-08-31 10:25:38 28735  200 
2011-08-31 10:25:38 28737  2232 
2011-08-31 10:25:50 28737  100 
2011-08-31 10:25:54 28737  1288 
2011-08-31 10:25:57 28725  829 
2011-08-31 10:26:07 28710  1000 
2011-08-31 10:26:16 28700 10000 
2011-08-31 10:26:36 28701  485 
2011-08-31 10:26:36 28700  1947 
2011-08-31 10:26:44 28701  1068 
2011-08-31 10:26:44 28700  1432 
2011-08-31 10:26:45 28700  4121 
2011-08-31 10:26:45 28700  1566 
2011-08-31 10:26:45 28700  794 
2011-08-31 10:26:45 28700  2524 
2011-08-31 10:26:45 28700  991 
2011-08-31 10:26:45 28700  2244 
2011-08-31 10:26:53 28680  250 
2011-08-31 10:26:58 28680  750 
2011-08-31 10:27:09 28676  200 
2011-08-31 10:27:19 28700  500 
2011-08-31 10:27:19 28700  1500 
2011-08-31 10:27:32 28675  300 
2011-08-31 10:27:42 28699  1000 
2011-08-31 10:27:42 28700  30 
2011-08-31 10:27:53 28675  700 
2011-08-31 10:28:03 28657  6 
2011-08-31 10:28:15 28698  500 
2011-08-31 10:28:15 28699  530 
2011-08-31 10:30:34 28699  470 
2011-08-31 10:30:34 28700  1854 
2011-08-31 10:30:34 28700  1000 
2011-08-31 10:30:34 28700  500 
2011-08-31 10:30:35 28700  191 
2011-08-31 10:30:40 28699  150 
2011-08-31 10:30:41 28700  1663 
2011-08-31 10:30:48 28700  1030 
2011-08-31 10:30:51 28700  824 
2011-08-31 10:30:57 28700  843 


##################################### 
#  Create VWAP data  # 
##################################### 

func.vwap <- function(my.data) 
{ 
    vwap <- sum(my.data[,1]*my.data[,2])/sum(my.data[,2]) 
} 

my.DayVWAP <- func.vwap(my.xts) 

my.test <- rollapply(my.xts,20,func.vwap, by.column=FALSE) 

추가 rollapply에 오류를 해결하기 위해 제임스의 추천에 따라 by.column = FALSE.

충분한 정보를 제공하지 않는다면 알려주십시오. 에드

+0

당신은 어떻게 시간 단계 사이의 누락 된 데이터를 입력 할 수 있습니까? –

답변

2

rollapply 문에 인수 by.column=FALSE 추가 사전에

감사 :

my.test <- rollapply(my.xts,20,func.vwap,by.column=FALSE) 
+0

James에게 고마워, 내가보고 있던 오류가 수정되었습니다. 내 유일한 뛰어난 비트는 rollapply를 변경하여 관찰 기반 윈도우를 롤링하는 대신 시간 이동 기반의 윈도우를 보려고합니다. –

+0

'partial '인수는이 작업을 수행 할 수있는 것처럼 보이지만 문서에서 정확하게 작동하는 방식으로는 수행 할 수 없습니다. – James

+0

mmm, txs. 롤 플라이 저자 중 한 명은 우리가 운이 좋다면 이것을 보게 될 것입니다. –

관련 문제