2017-06-25 9 views
3

対tradeSize対orderqty私はQuantstratマニュアルにadd.rule引数の定義を見つけることができません。私は、orderqty,tradeSizemaxSizeの違いを知ることに興味があります。Quantstratのadd.rule引数:maxSizeの

quantstrattraderに次の関連資料が見つかりました:指定なしosFUNがいない場合にのみ

orderqty引数が適用されます。フラット値(E.G.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") 

ありがとうございました。

答えて

4

@ blackknight316が正しい。 ruleSignal(print ruleSignal)のコードを見てください。 tradeSizeまたはmaxSizeには正式な引数はありません。

ruleSignal関数は、ellipses引数(つまり...)を使用しているために呼び出されたときにエラーを生成しません。この特別なパラメータについては、公式の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と同様に)...を使用しています。これは、1つの部分です。

tradeSizemaxSizeはリンクされたコードでadd.ruleに含まれている可能性があります。リンクされた例で使用されているオーダー機能に渡されているからです。実際には関数であるオブジェクトである引数osFUN=osDollarATRを参照してください。 osDollarATRはもちろん、著者によって定義されたユーザーです。あなたはおそらくその機能の定義を別のブログの投稿で見つけて、tradeSizemaxSizeがそれに対する正式な議論であると考えているでしょう。

3

私はちょうどそのブログを読み終え、この質問を見ました。私は最善を尽くします!

Guy Yollinのメモによると、 orderqtyが主な引数です。私は彼が彼のルールで他の議論を使っているのを見ない。

これはあなたの質問にお答えします。

関連する問題