問題タブ [quantstrat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R Blotter と quantstrat による複数通貨のポートフォリオと口座
口座内の複数の通貨と、ポートフォリオ内の異なる通貨単位の証券をモデル化するための最良の方法は何ですか?
- ポートフォリオと口座を単一の通貨に保つのが最善ですか? ブロッターは必要に応じて fx を処理しますか? また、どのように fx レートを .blotter にロードしますか?
- あるいは、複数通貨の資産額を持つ複数通貨のアカウントを作成できますか?
私は詳細をいじって喜んでいますが、ブロッターの専門家からの一般的なアプローチに関するアドバイスを本当に行うことができます.
これが他の場所でカバーされている場合はお詫び申し上げます。探しても見つかりませんでした。
例: 米ドルで 5 株、ユーロで 5 株のユニバース。過去 3 か月間で最も高い 5 つの % EUR リターンを取引する戦略を作成します (つまり、USD 株式リターンは株式と fx リターンの両方です)。
r - R QUANTSTRAT - シグナル適用時のエラー
この質問はすでに尋ねられていることは知っていますが、ここに投稿されたすべての回答がうまくいきませんでした。単純な 1 つのインジケーター戦略を 1 つバックテストしますが、最終的に次のエラーが発生します。
私が扱っているデータは、ビッド/アスク量、総ボリューム、ビッド/アスク クォート、クオート、1 秒間のビッド/アスク取引数を示しています。
次の構造で:
戦略は非常に単純です。指定された間隔の移動ウィンドウの実行中の合計がしきい値以上になると、シグナルが発生するはずです。
実行中の合計を持つインジケーターはうまく機能します:
与える
しかし、私が得られないのは、パラメータラベル=「runsum」で述べられているように、newc olumns が「 X1.runsum」だけでなく「runsum 」と呼ばれる理由です。これにより、シグナルを呼び出すときに命名の問題が発生する可能性があります。
冒頭で説明したように、エラーが発生します。
私はこれを試しました:
- add.signal の名前を
column = X1.runsum
からcolumn = runsum
- に変更しても役に立たなかった - RRT パッケージの新しいバージョンをダウンロード - 役に立たなかった
- インジケーター機能のトリックも
arguments = list(x = quote(data$ask.vol[,1])
- 役に立たなかった
データには OHLC 以外の情報が含まれているため、標準の OHLC 関数を使用できません。
助けていただけますか?
r - Quantstrat 戦略 - エラー
私の quanstrat 戦略は、まだ議論されていないエラーを返します。
戦略は非常に単純です。一定期間のローリング サムを計算します。ローリング サムが一定のしきい値を超えている場合は、ロングを入力し、+/- 5% の距離でテイプロフィットとストップ ロスの 2 つの OCO 注文を同時に送信します。
コードは次のとおりです。
データ構造は次のとおりです。
これは、1 秒間の取引のビッド/アスク ボリューム/頻度を示す xts オブジェクトであり、言及されたエラーは次のように述べています。
orderbook には 3 つの注文すべてが正しい価格で含まれているため、注文チェーンに問題はないようです。
何か案は?
私はどこかで次のような指値注文価格を指定しているのを見つけました:
しかし、うまくいきませんでした。
r - quantstrat: 同じバーで実行する方法は?
あなたがこれを行うべきではないことはわかっていますが、私はほぼ日次および週次のデータに基づいて取引しているので、代わりに同じバーで実行できれば、アイデアの取引についてより現実的なアイデアを得ることができると思います翌日のオープンで買います。ありがとう!
r - xtsExtra の色オプション
xtsExtra を使用して、複数の時系列プロットの色を調整するのに問題があります。
これは最小限の例のコードです:
plot.zoo コマンドは
、
一方、xtsExtra パッケージの plot コマンドでは、
.
2 番目のプロットでは、2 つの時系列がうまく重なり合っていますが、col オプションの影響を受けないように見えます。
xtsExtra パッケージ (rev. 862) の最新バージョン 0.0-1 を使用しています。
xts および xtsExtra パッケージは Zoo の拡張機能として設計されており、同じ引数 (および多くの追加引数) で動作する必要があることを理解しています。screens オプションを使用して plot.zoo で同じオーバーレイ動作を得ることができますが、問題を引き起こす plot.xts への呼び出しが quantstrat パッケージ (関数 chart.forward.training および chart. .forward.testing など) 変更するのは嫌いです。(ちなみに、これらの関数の dev.new() も問題を引き起こしています。)
質問: xtsExtra パッケージのプロットが col= オプションに応答しないように見えるのはなぜですか? また、関数の呼び出しを変更することが実際のオプションではない場合、どうすればよいでしょうか?
r - quantstrat enable.rule が機能しない
使用するenable.rule
と、ルールの internal をオーバーライドできませんenabled=FALSE
。
例えば:
このコードを applyStrategy の前に配置すると:
ルールは有効またはアクティブになりません。ルールを有効にする唯一の方法は、その内部有効を に変更することTRUE
です。正確なスペルを試しましたが、うまくいきません。
これは大きな問題ではありません。ルールの内部有効化をパラメーター化してこの方法で制御することはできますが、既存のコードを使用してシステムを実行したいからです。
問題への洞察はありenable.rule
ますか?
r - R - 優先および getPrice に関する Quantstrat の問題
現在、Quandl 先物データを使用して quantstrat で戦略に取り組んでいます。しかし、インジケーター、シグナル、および注文ルールを追加した後で applyStrategy() を実行しようとすると、次のエラー メッセージが表示されますError in getPrice(mktdata, prefer = prefer) : object 'prefer' not found
。applyIndicators()
デバッグ時にapplySignals()
うまく機能するため、ルールの処理でエラーが発生する可能性が最も高くなります。以下は、コードの最後の部分に加えて信号を適用した後に生じる mktdata 変数の末尾です。
mktdata:
コード:
の出力sessionInfo()
:
r - quantStrat で add.distribution パラメータセットのみを長く適用する方法 - param.combo[[param.label]] の simpleError
私のストラテジーにはロング ポジションしかありませんが、luxor-demo と同様の add.distribution ルールを適用しています。
戦略全体は機能しますが、パラメーターセットを適用すると、次のエラーが発生します。
テイクプロフィットロング 47 0.047
TakeProfitLONG 47 0.047 式の評価結果:
param.combo [[param.label]] の simpleError: 添え字が範囲外です
タスク 47 の結果を取得した numValues: 47、numResults: 47、停止: FALSE ステータスを返す FALSE 評価 # 48: $param.combo
単純な takeProfit ルールでディストリビューションを実行しようとしています (stopLoss または TrailingStop から同じ結果を取得します):
次のようにディストリビューションを追加しています。
セットを適用します。
私の限られたデバッグから、パラメーターセットは単純なベクトルのようですが、apply.paramset では次の関数が失敗します。
ここで私はRに慣れていないので、これを調べて4週間しか経っていませんが、おそらく次の呼び出しです:
エラーを引き起こす可能性がありますか?
私は新しいので謝罪する必要がありますが、これに遭遇した人はいますか、またはロングオンリー戦略で1つのアイテムにのみディストリビューションを適用する方法を助けることができますか?
よろしくお願いします!
編集 1: SessionInfo()