From noreply at r-forge.r-project.org Wed Jan 15 16:20:23 2014 From: noreply at r-forge.r-project.org (noreply at r-forge.r-project.org) Date: Wed, 15 Jan 2014 16:20:23 +0100 (CET) Subject: [Blotter-commits] r1582 - pkg/quantstrat/R Message-ID: <20140115152023.377B018639C@r-forge.r-project.org> Author: bodanker Date: 2014-01-15 16:20:22 +0100 (Wed, 15 Jan 2014) New Revision: 1582 Modified: pkg/quantstrat/R/tradeOrderStats.R Log: - ensure closed.xts indexTZ is same as orderbook Modified: pkg/quantstrat/R/tradeOrderStats.R =================================================================== --- pkg/quantstrat/R/tradeOrderStats.R 2013-12-16 01:43:42 UTC (rev 1581) +++ pkg/quantstrat/R/tradeOrderStats.R 2014-01-15 15:20:22 UTC (rev 1582) @@ -44,7 +44,7 @@ stats.xts <- as.xts(stats.table, order.by=stats.table$End) orderbook <- getOrderBook(portfolio=portfolio)[[portfolio]][[symbol]] closed <- orderbook[which(orderbook$Order.Status=='closed'),] - closed.xts <- xts(closed, as.POSIXct(as.vector(closed$Order.StatusTime), format='%Y-%m-%d %H:%M:%OS')) + closed.xts <- xts(closed, as.POSIXct(as.character(closed$Order.StatusTime), tz=indexTZ(closed), format="%Y-%m-%d %H:%M:%OS")) merged.table <- merge(closed.xts,stats.xts) merged.closed <- merged.table[index(stats.xts)] return(merged.closed) From noreply at r-forge.r-project.org Thu Jan 16 13:36:14 2014 From: noreply at r-forge.r-project.org (noreply at r-forge.r-project.org) Date: Thu, 16 Jan 2014 13:36:14 +0100 (CET) Subject: [Blotter-commits] r1583 - pkg/quantstrat/R Message-ID: <20140116123614.BE871186640@r-forge.r-project.org> Author: opentrades Date: 2014-01-16 13:36:14 +0100 (Thu, 16 Jan 2014) New Revision: 1583 Modified: pkg/quantstrat/R/ruleOrderProc.R Log: - fixed broken tif code: -- time format now accepts both %H:%M:%S and %H:%M:%0S -- expiration now based on comparison with timestamp i.o. index(ordersubset) Modified: pkg/quantstrat/R/ruleOrderProc.R =================================================================== --- pkg/quantstrat/R/ruleOrderProc.R 2014-01-15 15:20:22 UTC (rev 1582) +++ pkg/quantstrat/R/ruleOrderProc.R 2014-01-16 12:36:14 UTC (rev 1583) @@ -65,13 +65,21 @@ OpenOrders.i<-getOrders(portfolio=portfolio, symbol=symbol, status="open", timespan=timespan, ordertype=ordertype, which.i=TRUE) #extract time in force for open orders - tif <- ordersubset[OpenOrders.i, 'Time.In.Force'] - if(any(!tif=='')){ - if (class(index(ordersubset))=='Date') tif <- as.Date(tif) - else tif <- strptime(tif, format='%Y-%m-%d %H:%M:%0S') + tif.xts <- ordersubset[OpenOrders.i, 'Time.In.Force'] + if(any(!tif.xts=='')) + { + if (class(index(ordersubset))=='Date') + tif <- as.Date(tif.xts) + else + { + tif <- strptime(tif.xts, format='%Y-%m-%d %H:%M:%0S') + if(is.na(tif)) + tif <- strptime(tif.xts, format='%Y-%m-%d %H:%M:%S') + } + #check which ones should be expired - ExpiredOrders.i<-which(tif Author: bodanker Date: 2014-01-23 23:59:52 +0100 (Thu, 23 Jan 2014) New Revision: 1584 Modified: pkg/blotter/R/chart.Posn.R Log: - Make chart.Posn work with only one transaction. Reported by Mark Knecht. Modified: pkg/blotter/R/chart.Posn.R =================================================================== --- pkg/blotter/R/chart.Posn.R 2014-01-16 12:36:14 UTC (rev 1583) +++ pkg/blotter/R/chart.Posn.R 2014-01-23 22:59:52 UTC (rev 1584) @@ -50,7 +50,7 @@ Position = Portfolio$symbols[[Symbol]]$txn$Pos.Qty - if(!nrow(Position)>1) stop ('no transactions/positions to chart') + if(nrow(Position)<1) stop ('no transactions/positions to chart') if(as.POSIXct(first(index(Prices)))