[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