Quantstrat add.rule 参数:orderqty vs tradeSize vs maxSize
Quantstrat add.rule arguments: orderqty vs tradeSize vs maxSize
我在 Quantstrat 文档中找不到 add.rule 参数的定义。我想知道 orderqty、tradeSize 和 maxSize.[=19 之间的区别=]
在 quantstrattrader 上找到了以下相关 material:
orderqty
参数仅在未指定 osFUN
时适用。它可以采用固定值(例如 1、2),或者当规则类型为“退出”时,数量为“全部”,以平仓。
osFUN
指定要使用的定单大小函数。 osFUN
参数实际上是一个作为参数传入的函数对象。如果您不想使用 osFUN
,只需使用固定数量,例如 100,或者如果使用退出类型订单,请使用“全部”平仓。
这是 add.rule
函数的样子:
add.rule(strategy.st, name = "ruleSignal",
arguments = list(sigcol = "longsig",
sigval = TRUE,
ordertype = "market",
prefer = "Open",
orderside = "long",
orderqty = 100,
replace = FALSE,
osFUN = osMaxPos,
tradeSize = 100,
maxSize = 100),
type = "enter")
谢谢。
我刚看完那个博客,看到了这个问题。我会尽力回答的!
根据Guy Yollin的注释。 orderqty
是主要参数。我没有看到他在他的规则中使用任何其他论点。
希望这能回答您的问题。
@blackknight316 是对的。查看 ruleSignal
的代码(打印 ruleSignal)。您会看到 tradeSize
或 maxSize
不存在正式参数。
然而 ruleSignal
函数在调用时不会产生错误,因为它使用了省略号参数(即 ...
)。在官方 R 语言文档中阅读有关此特殊参数的信息。
打印ruleSignal
并查看源代码。这是一部分:
orderqty <- osFUN(strategy = strategy, data = mktdata,
timestamp = timestamp, orderqty = orderqty, ordertype = ordertype,
orderside = orderside, portfolio = portfolio,
symbol = symbol, ... = ..., ruletype = ruletype,
orderprice = as.numeric(orderprice))
它使用 ...
(和 addOrder
一样)。
tradeSize
和 maxSize
包含在 linked 代码的 add.rule
中,可能是因为它们被传递给示例中使用的排序函数 link。请参阅参数 osFUN=osDollarATR
,它实际上是一个函数对象。 osDollarATR
当然是作者自定义的。您可能会在另一个博客 post 中找到该函数的定义,并看到 tradeSize
和 maxSize
是它的正式参数。
我在 Quantstrat 文档中找不到 add.rule 参数的定义。我想知道 orderqty、tradeSize 和 maxSize.[=19 之间的区别=]
在 quantstrattrader 上找到了以下相关 material:
orderqty
参数仅在未指定 osFUN
时适用。它可以采用固定值(例如 1、2),或者当规则类型为“退出”时,数量为“全部”,以平仓。
osFUN
指定要使用的定单大小函数。 osFUN
参数实际上是一个作为参数传入的函数对象。如果您不想使用 osFUN
,只需使用固定数量,例如 100,或者如果使用退出类型订单,请使用“全部”平仓。
这是 add.rule
函数的样子:
add.rule(strategy.st, name = "ruleSignal",
arguments = list(sigcol = "longsig",
sigval = TRUE,
ordertype = "market",
prefer = "Open",
orderside = "long",
orderqty = 100,
replace = FALSE,
osFUN = osMaxPos,
tradeSize = 100,
maxSize = 100),
type = "enter")
谢谢。
我刚看完那个博客,看到了这个问题。我会尽力回答的!
根据Guy Yollin的注释。 orderqty
是主要参数。我没有看到他在他的规则中使用任何其他论点。
希望这能回答您的问题。
@blackknight316 是对的。查看 ruleSignal
的代码(打印 ruleSignal)。您会看到 tradeSize
或 maxSize
不存在正式参数。
然而 ruleSignal
函数在调用时不会产生错误,因为它使用了省略号参数(即 ...
)。在官方 R 语言文档中阅读有关此特殊参数的信息。
打印ruleSignal
并查看源代码。这是一部分:
orderqty <- osFUN(strategy = strategy, data = mktdata,
timestamp = timestamp, orderqty = orderqty, ordertype = ordertype,
orderside = orderside, portfolio = portfolio,
symbol = symbol, ... = ..., ruletype = ruletype,
orderprice = as.numeric(orderprice))
它使用 ...
(和 addOrder
一样)。
tradeSize
和 maxSize
包含在 linked 代码的 add.rule
中,可能是因为它们被传递给示例中使用的排序函数 link。请参阅参数 osFUN=osDollarATR
,它实际上是一个函数对象。 osDollarATR
当然是作者自定义的。您可能会在另一个博客 post 中找到该函数的定义,并看到 tradeSize
和 maxSize
是它的正式参数。