[Blotter-commits] r625 - in pkg/quantstrat: . R man

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Sat Jun 11 19:42:14 CEST 2011


Author: braverock
Date: 2011-06-11 19:42:13 +0200 (Sat, 11 Jun 2011)
New Revision: 625

Modified:
   pkg/quantstrat/.project
   pkg/quantstrat/DESCRIPTION
   pkg/quantstrat/R/traderules.R
   pkg/quantstrat/man/add.indicator.Rd
   pkg/quantstrat/man/add.paramLookupTable.Rd
   pkg/quantstrat/man/add.parameter.Rd
   pkg/quantstrat/man/add.rule.Rd
   pkg/quantstrat/man/add.signal.Rd
   pkg/quantstrat/man/addOrder.Rd
   pkg/quantstrat/man/addPosLimit.Rd
   pkg/quantstrat/man/applyRules.Rd
   pkg/quantstrat/man/applyStrategy.Rd
   pkg/quantstrat/man/getOrders.Rd
   pkg/quantstrat/man/getParams.Rd
   pkg/quantstrat/man/osMaxPos.Rd
   pkg/quantstrat/man/paramLookup.Rd
   pkg/quantstrat/man/ruleOrderProc.Rd
   pkg/quantstrat/man/ruleSignal.Rd
   pkg/quantstrat/man/sigComparison.Rd
   pkg/quantstrat/man/sigCrossover.Rd
   pkg/quantstrat/man/sigThreshold.Rd
   pkg/quantstrat/man/updateOrders.Rd
Log:
- update pricemethod based on feedback from Garrett See
- update roxygen docs
- bump version


Modified: pkg/quantstrat/.project
===================================================================
--- pkg/quantstrat/.project	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/.project	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,14 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>quantstrat</name>
+	<name>QuantStrat</name>
 	<comment></comment>
 	<projects>
-		<project>blotter</project>
-		<project>FinancialInstrument</project>
-		<project>PerformanceAnalytics</project>
-		<project>PortfolioAnalytics</project>
-		<project>quantmod</project>
-		<project>xts</project>
 	</projects>
 	<buildSpec>
 		<buildCommand>

Modified: pkg/quantstrat/DESCRIPTION
===================================================================
--- pkg/quantstrat/DESCRIPTION	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/DESCRIPTION	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,13 +1,17 @@
 Package: quantstrat
 Type: Package
 Title: Quantitative Strategy Model Framework
-Version: 0.4.0
+Version: 0.5.0
 Date: $Date$
-Author: Peter Carl, Dirk Eddelbuettel, Brian G. Peterson, Jeffrey A. Ryan, Joshua Ulrich, Garrett See
-Depends: xts(>= 0.7-6.15),TTR(>= 0.2),blotter(>= 0.7.2), FinancialInstrument, quantmod (>= 0.3-14)
+Author: Peter Carl, Dirk Eddelbuettel, Brian G. Peterson, 
+        Jeffrey A. Ryan, Joshua Ulrich, Garrett See
+Depends: xts(>= 0.7-6.15),TTR(>= 0.2),blotter(>= 0.7.2),
+    FinancialInstrument, quantmod (>= 0.3-14)
 Suggests: PerformanceAnalytics,PortfolioAnalytics
 Maintainer: Jeffrey A. Ryan <jeff.a.ryan at gmail.com>
-Description: Specify, build, and back-test quantitative financial trading and portfolio strategies
+Description: Specify, build, and back-test quantitative financial
+    trading and portfolio strategies
 LazyLoad: yes
 License: GPL-3
-Collate: 'indicators.R' 'match.names.R' 'orders.R' 'parameters.R' 'rules.R' 'signals.R' 'strategy.R' 'traderules.R'
+Collate: 'indicators.R' 'match.names.R' 'orders.R' 'parameters.R'
+    'rules.R' 'signals.R' 'strategy.R' 'traderules.R'

Modified: pkg/quantstrat/R/traderules.R
===================================================================
--- pkg/quantstrat/R/traderules.R	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/R/traderules.R	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,13 +1,18 @@
 
 #' default rule to generate a trade order on a signal
 #' 
-#' \code{pricemethod} may be one of 'market', 'opside', or 'maker' 
-#' which will either try to get the price of the 'market' at \code{timestamp} and use this as the order price
-#' or 'opside' which will use the 'ask' price if you're buying and the 'bid' price if you're selling, crossing 
-#' the market at the time of order entry to attempt to set an aggressive price to get the trade.  
-#' The 'maker' \code{pricemethod} will create a pair of orders for both bid and offer, modeling market making 
-#' activities by having orders on both sides.  This will then create an Order.Set, and use the threshold to
-#' set the prices for these orders.
+#' \code{pricemethod} may be one of 
+#'   \itemize{ 
+#'      \item{'market', 'opside', or 'maker'}{ will use the 'ask' price if you're buying and 
+#'            the 'bid' price if you're selling, crossing the market at the time of 
+#'            order entry to attempt to set an aggressive price to get the trade. }
+#' 		\item{'passive', 'work' or 'join'}{ which will join the 'bid' price if you are buying
+#'      	  or join the 'ask' price if you are selling, passively working to make liquidity \
+#'            at the prevailing market price without crossing the market at time of order entry}
+#' 		\item{'maker'}{will create a pair of orders for both bid and offer, modeling 
+#' 		      market making activities by having orders on both sides.  
+#'            This will then create an Order.Set, and use the \code{threshold} to set the prices for these orders.}
+#' } 
 #' 
 #' If \code{threshold} is not numeric or \code{NULL} it should be the character string describing a function that can calculate a threshold.  
 #' Ideally this will be a column lookup on a non-path-dependent indicator calculated in advance.
@@ -27,7 +32,7 @@
 #' @param replace TRUE/FALSE, whether to replace any other open order(s) on this portfolio symbol, default TRUE 
 #' @param delay what delay to add to timestamp when inserting the order into the order book, in seconds
 #' @param osFUN function or text descriptor of function to use for order sizing, default \code{\link{osNoOp}}
-#' @param pricemethod one of 'market', 'opside', or 'maker', see Details
+#' @param pricemethod determines how the order price will be calculated, see Details
 #' @param portfolio text name of the portfolio to place orders in
 #' @param symbol identifier of the instrument to place orders for.  The name of any associated price objects (xts prices, usually OHLC) should match these
 #' @param ... any other passthru parameters
@@ -54,25 +59,28 @@
 		#else TxnFees=0
 
 		switch(pricemethod,
-                opside = {
-                    if (is.BBO(data)) {
-                        if (orderqty>0)
-                            prefer='ask'  # we're buying, so pay what they're asking
-                        else
-                            prefer='bid'  # we're selling, so give it to them for what they're bidding
-                    }
-                    orderprice <- try(getPrice(x=data, prefer=prefer))[timestamp]
-				}, 
-                market = {
-                    if(is.BBO(data)){
+                market = ,
+				opside = ,
+				active = {
+                    if(is.BBO(mktdata)){
                         if (orderqty>0) 
                             prefer='bid'  # we're buying, so work the bid price
                         else
-                            prefer='ask'  # we're selling, so work the ask price
-                        
-                    }
+                            prefer='ask'  # we're selling, so work the ask price  
+                    } 
 					orderprice <- try(getPrice(x=data, prefer=prefer))[timestamp] 
 				},
+				passive =,
+				work =,
+				join = {
+					if(is.BBO(mktdata)){
+						if (orderqty>0) 
+							prefer='bid'  # we're buying, so work the bid price
+						else
+							prefer='ask'  # we're selling, so work the ask price
+						
+					}
+				},
 				maker = {
 					if(hasArg(price) & length(match.call(expand.dots=TRUE)$price)>1) {
 						# we have prices, just use them

Modified: pkg/quantstrat/man/add.indicator.Rd
===================================================================
--- pkg/quantstrat/man/add.indicator.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/add.indicator.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,7 +1,8 @@
 \name{add.indicator}
 \alias{add.indicator}
 \title{add an indicator to a strategy...}
-\usage{add.indicator(strategy, name, arguments, parameters, label, ..., enabled=TRUE, indexnum, store=FALSE)}
+\usage{add.indicator(strategy, name, arguments, parameters, label, ...,
+    enabled=TRUE, indexnum, store=FALSE)}
 \description{add an indicator to a strategy}
 \details{Indicators are typically standard technical or statistical analysis outputs, 
 such as moving averages, bands, or pricing models.

Modified: pkg/quantstrat/man/add.paramLookupTable.Rd
===================================================================
--- pkg/quantstrat/man/add.paramLookupTable.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/add.paramLookupTable.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -3,7 +3,7 @@
 \title{add parameters to strategy objects: ALPHA CODE USE WITH CARE...}
 \usage{add.paramLookupTable(strategy, type, name, paramTable)}
 \description{add parameters to strategy objects: ALPHA CODE USE WITH CARE}
-\arguments{\item{strategy}{strategy}
-\item{type}{type}
-\item{name}{name}
-\item{paramTable}{paramTable}}
+\arguments{\item{strategy}{}
+\item{type}{}
+\item{name}{}
+\item{paramTable}{}}

Modified: pkg/quantstrat/man/add.parameter.Rd
===================================================================
--- pkg/quantstrat/man/add.parameter.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/add.parameter.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,14 +1,15 @@
 \name{add.parameter}
 \alias{add.parameter}
 \title{add parameters to strategy objects: ALPHA CODE USE WITH CARE...}
-\usage{add.parameter(strategy, type=c("indicator", "signal"), add.to.name, method=c("lookup", "lookup.range", "calc"), arguments, label, ...,
+\usage{add.parameter(strategy, type=c("indicator", "signal"), add.to.name,
+    method=c("lookup", "lookup.range", "calc"), arguments, label, ...,
     store=FALSE)}
 \description{add parameters to strategy objects: ALPHA CODE USE WITH CARE}
-\arguments{\item{strategy}{strategy}
-\item{type}{type}
-\item{add.to.name}{add.to.name}
-\item{method}{method}
-\item{arguments}{arguments}
-\item{label}{label}
-\item{...}{dots}
-\item{store}{store?}}
+\arguments{\item{strategy}{}
+\item{type}{}
+\item{add.to.name}{}
+\item{method}{}
+\item{arguments}{}
+\item{label}{}
+\item{...}{}
+\item{store}{}}

Modified: pkg/quantstrat/man/add.rule.Rd
===================================================================
--- pkg/quantstrat/man/add.rule.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/add.rule.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,7 +1,8 @@
 \name{add.rule}
 \alias{add.rule}
 \title{add a rule to a strategy...}
-\usage{add.rule(strategy, name, arguments, parameters, label, type=c(NULL, "risk", "order", "rebalance", "exit", "enter"), ..., enabled=TRUE,
+\usage{add.rule(strategy, name, arguments, parameters, label, type=c(NULL,
+    "risk", "order", "rebalance", "exit", "enter"), ..., enabled=TRUE,
     indexnum, path.dep=TRUE, timespan, store=FALSE)}
 \description{add a rule to a strategy}
 \details{Rules will be processed in a very particular manner, so it bears going over.

Modified: pkg/quantstrat/man/add.signal.Rd
===================================================================
--- pkg/quantstrat/man/add.signal.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/add.signal.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,7 +1,8 @@
 \name{add.signal}
 \alias{add.signal}
 \title{add a signal to a strategy...}
-\usage{add.signal(strategy, name, arguments, parameters, label, ..., enabled=TRUE, indexnum, store=FALSE)}
+\usage{add.signal(strategy, name, arguments, parameters, label, ...,
+    enabled=TRUE, indexnum, store=FALSE)}
 \description{add a signal to a strategy}
 \arguments{\item{strategy}{an object of type 'strategy' to add the signal to}
 \item{name}{name of the signal, must correspond to an R function}

Modified: pkg/quantstrat/man/addOrder.Rd
===================================================================
--- pkg/quantstrat/man/addOrder.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/addOrder.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,8 +1,9 @@
 \name{addOrder}
 \alias{addOrder}
 \title{add an order to the order book...}
-\usage{addOrder(portfolio, symbol, timestamp, qty, price, ordertype, side, threshold, status="open", statustimestamp="", delay=1e-05, tmult=FALSE,
-    replace=TRUE, return=FALSE, ..., TxnFees=0)}
+\usage{addOrder(portfolio, symbol, timestamp, qty, price, ordertype, side,
+    threshold, status="open", statustimestamp="", delay=1e-05,
+    tmult=FALSE, replace=TRUE, return=FALSE, ..., TxnFees=0)}
 \description{add an order to the order book}
 \details{It is important to understand that all the order functionality included in \code{quantstrat}
 exists to more closely model a real trading environment both in backtesting and in production.

Modified: pkg/quantstrat/man/addPosLimit.Rd
===================================================================
--- pkg/quantstrat/man/addPosLimit.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/addPosLimit.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,8 +1,8 @@
 \name{addPosLimit}
 \alias{addPosLimit}
 \title{add position and level limits at timestamp...}
-\usage{addPosLimit(portfolio, symbol, timestamp, maxpos, longlevels = 1,
-                 minpos = -maxpos, shortlevels = longlevels)}
+\usage{addPosLimit(portfolio, symbol, timestamp, maxpos, longlevels=1,
+    minpos=-maxpos, shortlevels=longlevels)}
 \description{add position and level limits at timestamp}
 \details{levels are a simplification of more complex (proprietary) 
 techniques sometimes used for order sizing.  
@@ -17,5 +17,5 @@
 \item{timestamp}{timestamp coercible to POSIXct that will be the time the order will be inserted on}
 \item{maxpos}{numeric maximum long position for symbol}
 \item{longlevels}{numeric number of levels}
-\item{minpos}{numeric minimum position, default 0 (short allowed use negative number)}
-\item{shortlevels}{numeric number of short levels}}
+\item{minpos}{numeric minimum position, default -minpos (short allowed use negative number)}
+\item{shortlevels}{numeric number of short levels, default longlevels}}

Modified: pkg/quantstrat/man/applyRules.Rd
===================================================================
--- pkg/quantstrat/man/applyRules.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/applyRules.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,14 +1,19 @@
 \name{applyRules}
 \alias{applyRules}
 \title{apply the rules in the strategy to arbitrary market data...}
-\usage{applyRules(portfolio, symbol, strategy, mktdata, Dates, indicators, signals, parameters, ..., path.dep=TRUE)}
+\usage{applyRules(portfolio, symbol, strategy, mktdata, Dates, indicators,
+    signals, parameters, ..., path.dep=TRUE)}
 \description{apply the rules in the strategy to arbitrary market data}
 \details{In typical usage, this function will be called via \code{\link{applyStrategy}}.  
 In this mode, this function will be called twice, once with \code{path.dep=FALSE} 
 and then again in stepping over the time indexes of the mktdata object.
 
 Individual rule functions may need to use <<- to place \code{hold} and \code{holdtill}
-variables into play.  These would be most likely implemented by risk rules.
+variables into play.  These would be most likely implemented by risk rules.  When
+\code{hold==TRUE}, any open oders will still be processed (orders are \emph{NOT} 
+canceled automatically, but no new orders may be entered.  \code{type='risk'}
+rules will still function during a hold.  Note that hold must be set via a custom
+rule.  We tend to set hold in an order or risk rule. 
 
 \code{quantstrat} has a significant amount of logic devoted to handling 
 path-dependent rule execution.  Most of that code/logic resides in this

Modified: pkg/quantstrat/man/applyStrategy.Rd
===================================================================
--- pkg/quantstrat/man/applyStrategy.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/applyStrategy.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,7 +1,8 @@
 \name{applyStrategy}
 \alias{applyStrategy}
 \title{apply the strategy to arbitrary market data...}
-\usage{applyStrategy(strategy, portfolios, mktdata, parameters, ..., verbose=TRUE)}
+\usage{applyStrategy(strategy, portfolios, mktdata, parameters, ...,
+    verbose=TRUE)}
 \description{apply the strategy to arbitrary market data}
 \details{if \code{mktdata} is NULL, the default, the mktdata variable will be populated 
 for each symbol via a call to get (getSymbols??, not yet)}

Modified: pkg/quantstrat/man/getOrders.Rd
===================================================================
--- pkg/quantstrat/man/getOrders.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/getOrders.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,7 +1,8 @@
 \name{getOrders}
 \alias{getOrders}
 \title{get orders by time span, status, type, and side...}
-\usage{getOrders(portfolio, symbol, status="open", timespan, ordertype, side, which.i=FALSE)}
+\usage{getOrders(portfolio, symbol, status="open", timespan, ordertype, side,
+    which.i=FALSE)}
 \description{get orders by time span, status, type, and side}
 \details{This function exists so that other code can find open orders, potentially to update or cancel them.
 

Modified: pkg/quantstrat/man/getParams.Rd
===================================================================
--- pkg/quantstrat/man/getParams.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/getParams.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -3,7 +3,7 @@
 \title{get parameterized arguments list out of the strategy environment...}
 \usage{getParams(strategy, symbol, type, name)}
 \description{get parameterized arguments list out of the strategy environment}
-\arguments{\item{strategy}{strategy}
-\item{symbol}{symbol}
-\item{type}{type}
-\item{name}{name}}
+\arguments{\item{strategy}{}
+\item{symbol}{}
+\item{type}{}
+\item{name}{}}

Modified: pkg/quantstrat/man/osMaxPos.Rd
===================================================================
--- pkg/quantstrat/man/osMaxPos.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/osMaxPos.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,7 +1,8 @@
 \name{osMaxPos}
 \alias{osMaxPos}
 \title{order sizing function for position limits and level sizing...}
-\usage{osMaxPos(data, timestamp, orderqty, ordertype, orderside, portfolio, symbol, ruletype, ...)}
+\usage{osMaxPos(data, timestamp, orderqty, ordertype, orderside, portfolio,
+    symbol, ruletype, ...)}
 \description{order sizing function for position limits and level sizing}
 \details{levels are a simplification of more complex (proprietary) 
 techniques sometimes used for order sizing.  

Modified: pkg/quantstrat/man/paramLookup.Rd
===================================================================
--- pkg/quantstrat/man/paramLookup.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/paramLookup.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -3,9 +3,9 @@
 \title{add parameters to strategy objects: ALPHA CODE USE WITH CARE...}
 \usage{paramLookup(strategy, symbol, type, name, parameter, ...)}
 \description{add parameters to strategy objects: ALPHA CODE USE WITH CARE}
-\arguments{\item{strategy}{strategy}
-\item{symbol}{symbol}
-\item{type}{type}
-\item{name}{name}
-\item{parameter}{parameter}
-\item{...}{dots}}
+\arguments{\item{strategy}{}
+\item{symbol}{}
+\item{type}{}
+\item{name}{}
+\item{parameter}{}
+\item{...}{}}

Modified: pkg/quantstrat/man/ruleOrderProc.Rd
===================================================================
--- pkg/quantstrat/man/ruleOrderProc.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/ruleOrderProc.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,7 +1,8 @@
 \name{ruleOrderProc}
 \alias{ruleOrderProc}
 \title{process open orders at time t, generating transactions or new orders...}
-\usage{ruleOrderProc(portfolio, symbol, mktdata, timespan, ordertype, ..., slippageFUN)}
+\usage{ruleOrderProc(portfolio, symbol, mktdata, timespan, ordertype, ...,
+    slippageFUN)}
 \description{process open orders at time \emph{t}, generating transactions or new orders}
 \details{The ruleOrderProc function is effectively the default fill simulator for quantstrat. 
 This function is meant to be sufficient for backtesting most strategies, 

Modified: pkg/quantstrat/man/ruleSignal.Rd
===================================================================
--- pkg/quantstrat/man/ruleSignal.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/ruleSignal.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,16 +1,24 @@
 \name{ruleSignal}
 \alias{ruleSignal}
 \title{default rule to generate a trade order on a signal...}
-\usage{ruleSignal(data=mktdata, timestamp, sigcol, sigval, orderqty=0, ordertype, orderside, threshold, tmult=FALSE, replace=TRUE, delay=1e-04,
-    osFUN="osNoOp", pricemethod=c("market", "opside", "maker"), portfolio, symbol, ..., ruletype, TxnFees=0, prefer, sethold=FALSE)}
+\usage{ruleSignal(data=mktdata, timestamp, sigcol, sigval, orderqty=0,
+    ordertype, orderside, threshold, tmult=FALSE, replace=TRUE,
+    delay=1e-04, osFUN="osNoOp", pricemethod=c("market", "opside",
+    "maker"), portfolio, symbol, ..., ruletype, TxnFees=0, prefer,
+    sethold=FALSE)}
 \description{default rule to generate a trade order on a signal}
-\details{\code{pricemethod} may be one of 'market', 'opside', or 'maker' 
-which will either try to get the price of the 'market' at \code{timestamp} and use this as the order price
-or 'opside' which will use the 'ask' price if you're buying and the 'bid' price if you're selling, crossing 
-the market at the time of order entry to attempt to set an aggressive price to get the trade.  
-The 'maker' \code{pricemethod} will create a pair of orders for both bid and offer, modeling market making 
-activities by having orders on both sides.  This will then create an Order.Set, and use the threshold to
-set the prices for these orders.
+\details{\code{pricemethod} may be one of 
+\itemize{ 
+\item{'market', 'opside', or 'maker'}{ will use the 'ask' price if you're buying and 
+the 'bid' price if you're selling, crossing the market at the time of 
+order entry to attempt to set an aggressive price to get the trade. }
+\item{'passive', 'work' or 'join'}{ which will join the 'bid' price if you are buying
+or join the 'ask' price if you are selling, passively working to make liquidity \
+at the prevailing market price without crossing the market at time of order entry}
+\item{'maker'}{will create a pair of orders for both bid and offer, modeling 
+market making activities by having orders on both sides.  
+This will then create an Order.Set, and use the \code{threshold} to set the prices for these orders.}
+} 
 
 If \code{threshold} is not numeric or \code{NULL} it should be the character string describing a function that can calculate a threshold.  
 Ideally this will be a column lookup on a non-path-dependent indicator calculated in advance.
@@ -30,7 +38,7 @@
 \item{replace}{TRUE/FALSE, whether to replace any other open order(s) on this portfolio symbol, default TRUE}
 \item{delay}{what delay to add to timestamp when inserting the order into the order book, in seconds}
 \item{osFUN}{function or text descriptor of function to use for order sizing, default \code{\link{osNoOp}}}
-\item{pricemethod}{one of 'market', 'opside', or 'maker', see Details}
+\item{pricemethod}{determines how the order price will be calculated, see Details}
 \item{portfolio}{text name of the portfolio to place orders in}
 \item{symbol}{identifier of the instrument to place orders for.  The name of any associated price objects (xts prices, usually OHLC) should match these}
 \item{...}{any other passthru parameters}

Modified: pkg/quantstrat/man/sigComparison.Rd
===================================================================
--- pkg/quantstrat/man/sigComparison.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/sigComparison.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,7 +1,8 @@
 \name{sigComparison}
 \alias{sigComparison}
 \title{generate comparison signal...}
-\usage{sigComparison(label, data=mktdata, columns, relationship=c("gt", "lt", "eq", "gte", "lte"))}
+\usage{sigComparison(label, data=mktdata, columns, relationship=c("gt", "lt",
+    "eq", "gte", "lte"))}
 \description{generate comparison signal}
 \details{Currently, this function compares two columns.  
 Patches to compare an arbitrary number of columns would be gladly accepted.

Modified: pkg/quantstrat/man/sigCrossover.Rd
===================================================================
--- pkg/quantstrat/man/sigCrossover.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/sigCrossover.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,7 +1,8 @@
 \name{sigCrossover}
 \alias{sigCrossover}
 \title{generate a crossover signal...}
-\usage{sigCrossover(label, data=mktdata, columns, relationship=c("gt", "lt", "eq", "gte", "lte"))}
+\usage{sigCrossover(label, data=mktdata, columns, relationship=c("gt", "lt",
+    "eq", "gte", "lte"))}
 \description{generate a crossover signal}
 \details{This will generate a crossover signal, which is a dimension-reduced version 
 of a comparison signal \code{\link{sigComparison}}.

Modified: pkg/quantstrat/man/sigThreshold.Rd
===================================================================
--- pkg/quantstrat/man/sigThreshold.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/sigThreshold.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,7 +1,8 @@
 \name{sigThreshold}
 \alias{sigThreshold}
 \title{generate a threshold signal...}
-\usage{sigThreshold(label, data=mktdata, column, threshold=0, relationship=c("gt", "lt", "eq", "gte", "lte"), cross=FALSE)}
+\usage{sigThreshold(label, data=mktdata, column, threshold=0,
+    relationship=c("gt", "lt", "eq", "gte", "lte"), cross=FALSE)}
 \description{generate a threshold signal}
 \details{Many strategies, including RSI or MACD styles, make trading decisions when an indicator 
 is over or under a specific threshold.  

Modified: pkg/quantstrat/man/updateOrders.Rd
===================================================================
--- pkg/quantstrat/man/updateOrders.Rd	2011-06-11 13:54:54 UTC (rev 624)
+++ pkg/quantstrat/man/updateOrders.Rd	2011-06-11 17:42:13 UTC (rev 625)
@@ -1,7 +1,8 @@
 \name{updateOrders}
 \alias{updateOrders}
 \title{update an order or orders...}
-\usage{updateOrders(portfolio, symbol, timespan, ordertype, side, oldstatus="open", newstatus, statustimestamp)}
+\usage{updateOrders(portfolio, symbol, timespan, ordertype, side,
+    oldstatus="open", newstatus, statustimestamp)}
 \description{update an order or orders}
 \details{When an order gets filled, it should have its status moved to 'closed'.
 



More information about the Blotter-commits mailing list