Wednesday 21 September 2011

backtesting





> stock(stock.str, currency="USD",multiplier=1)
[1] "GOOG"
> #use paste with ^ to get index data
> getSymbols(stock.str,from=initDate)
[1] "GOOG"
>
> start_t<-Sys.time()
> out<-try(applyStrategy(strategy='s' , portfolios='bbands'))
[1] "2009-03-04 GOOG 10 @ 318.92"
[1] "2009-03-09 GOOG 10 @ 290.89"
[1] "2009-04-16 GOOG -10 @ 388.74"
[1] "2009-05-28 GOOG -10 @ 410.4"
[1] "2009-07-07 GOOG 10 @ 396.63"
[1] "2009-07-15 GOOG -10 @ 438.17"
[1] "2010-01-22 GOOG 10 @ 550.01"
[1] "2010-03-04 GOOG -10 @ 554.59"
[1] "2010-04-26 GOOG 10 @ 531.64"
[1] "2010-05-04 GOOG 10 @ 506.37"
[1] "2010-05-20 GOOG 10 @ 475.01"
[1] "2010-06-29 GOOG 10 @ 454.26"
[1] "2010-08-04 GOOG -10 @ 506.32"
[1] "2010-08-19 GOOG 10 @ 467.97"
[1] "2010-09-17 GOOG -10 @ 490.15"
[1] "2010-09-24 GOOG -10 @ 527.29"
[1] "2010-10-15 GOOG -10 @ 601.45"
[1] "2010-11-12 GOOG 10 @ 603.29"
[1] "2010-11-30 GOOG 10 @ 555.71"
[1] "2011-01-05 GOOG -10 @ 609.07"
[1] "2011-01-14 GOOG -10 @ 624.18"
[1] "2011-03-01 GOOG 10 @ 600.76"
[1] "2011-03-07 GOOG 10 @ 591.66"
[1] "2011-03-10 GOOG 10 @ 580.3"
[1] "2011-03-16 GOOG 10 @ 557.1"
[1] "2011-04-15 GOOG 10 @ 530.7"
[1] "2011-05-16 GOOG 10 @ 518.42"
[1] "2011-05-23 GOOG 10 @ 518.39"
[1] "2011-06-10 GOOG 10 @ 509.51"
[1] "2011-06-15 GOOG 10 @ 502.95"
[1] "2011-07-05 GOOG -10 @ 532.44"
[1] "2011-07-15 GOOG -10 @ 597.62"
[1] "2011-08-18 GOOG 10 @ 504.88"
> # look at the order book
> png("/tmp/backtest-GOOG.png",1200,800)
> end_t<-Sys.time()
> end_t-start_t
Time difference of 47.82402 secs
> updatePortf(Portfolio='bbands',Dates=paste('::',as.Date(Sys.time()),sep=''))
[1] "bbands"
> chart.Posn(Portfolio='bbands',Symbol=stock.str)
> plot(add_BBands(on=1,sd=SD,n=N))
> getOrderBook('bbands')
$bbands
$bbands$GOOG
Order.Qty Order.Price Order.Type Order.Side Order.Threshold
2009-01-31 "0" NA "init" "long" "0"
2009-03-04 "10" "318.92" "market" "long" NA
2009-03-09 "10" "290.89" "market" "long" NA
2009-04-16 "-10" "388.74" "market" "long" NA
2009-05-28 "-10" "410.4" "market" "long" NA
2009-07-07 "10" "396.63" "market" "long" NA
2009-07-15 "-10" "438.17" "market" "long" NA
2010-01-22 "10" "550.01" "market" "long" NA
2010-03-04 "-10" "554.59" "market" "long" NA
2010-04-26 "10" "531.64" "market" "long" NA
2010-05-04 "10" "506.37" "market" "long" NA
2010-05-20 "10" "475.01" "market" "long" NA
2010-06-29 "10" "454.26" "market" "long" NA
2010-08-04 "-10" "506.32" "market" "long" NA
2010-08-19 "10" "467.97" "market" "long" NA
2010-09-17 "-10" "490.15" "market" "long" NA
2010-09-24 "-10" "527.29" "market" "long" NA
2010-10-15 "-10" "601.45" "market" "long" NA
2010-11-12 "10" "603.29" "market" "long" NA
2010-11-30 "10" "555.71" "market" "long" NA
2011-01-05 "-10" "609.07" "market" "long" NA
2011-01-14 "-10" "624.18" "market" "long" NA
2011-03-01 "10" "600.76" "market" "long" NA
2011-03-07 "10" "591.66" "market" "long" NA
2011-03-10 "10" "580.3" "market" "long" NA
2011-03-16 "10" "557.1" "market" "long" NA
2011-04-15 "10" "530.7" "market" "long" NA
2011-05-16 "10" "518.42" "market" "long" NA
2011-05-23 "10" "518.39" "market" "long" NA
2011-06-10 "10" "509.51" "market" "long" NA
2011-06-15 "10" "502.95" "market" "long" NA
2011-07-05 "-10" "532.44" "market" "long" NA
2011-07-15 "-10" "597.62" "market" "long" NA
2011-08-18 "10" "504.88" "market" "long" NA
Order.Status Order.StatusTime Order.Set Txn.Fees
2009-01-31 "closed" "2009-01-31" "1" "0"
2009-03-04 "closed" "2009-03-05" NA "0"
2009-03-09 "closed" "2009-03-10" NA "0"
2009-04-16 "closed" "2009-04-17" NA "0"
2009-05-28 "closed" "2009-05-29" NA "0"
2009-07-07 "closed" "2009-07-08" NA "0"
2009-07-15 "closed" "2009-07-16" NA "0"
2010-01-22 "closed" "2010-01-25" NA "0"
2010-03-04 "closed" "2010-03-05" NA "0"
2010-04-26 "closed" "2010-04-27" NA "0"
2010-05-04 "closed" "2010-05-05" NA "0"
2010-05-20 "closed" "2010-05-21" NA "0"
2010-06-29 "closed" "2010-06-30" NA "0"
2010-08-04 "closed" "2010-08-05" NA "0"
2010-08-19 "closed" "2010-08-20" NA "0"
2010-09-17 "closed" "2010-09-20" NA "0"
2010-09-24 "closed" "2010-09-27" NA "0"
2010-10-15 "closed" "2010-10-18" NA "0"
2010-11-12 "closed" "2010-11-15" NA "0"
2010-11-30 "closed" "2010-12-01" NA "0"
2011-01-05 "closed" "2011-01-06" NA "0"
2011-01-14 "closed" "2011-01-18" NA "0"
2011-03-01 "closed" "2011-03-02" NA "0"
2011-03-07 "closed" "2011-03-08" NA "0"
2011-03-10 "closed" "2011-03-11" NA "0"
2011-03-16 "closed" "2011-03-17" NA "0"
2011-04-15 "closed" "2011-04-18" NA "0"
2011-05-16 "closed" "2011-05-17" NA "0"
2011-05-23 "closed" "2011-05-24" NA "0"
2011-06-10 "closed" "2011-06-13" NA "0"
2011-06-15 "closed" "2011-06-16" NA "0"
2011-07-05 "closed" "2011-07-06" NA "0"
2011-07-15 "closed" "2011-07-18" NA "0"
2011-08-18 "closed" "2011-08-19" NA "0"


attr(,"class")
[1] "order_book"
> tradeStats('bbands')[,c('Num.Trades')]
[1] 33
> faber.stats<-tradeStats("bbands")[,c("Symbol","Num.Trades","Net.Trading.PL","maxDrawdown")]
> faber.stats
Symbol Num.Trades Net.Trading.PL maxDrawdown
GOOG GOOG 33 6351.7 -10667.6

No comments:

Post a Comment