問題タブ [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 - Quantstrat faber_rebal.R デモ エラー
私は quantstrat でデモを行ってきました。faber_rebal.r の実行に問題があります。次のエラーで失敗します。
sessionInfo() の出力は次のとおりです。
この問題は、関数 applyStrategy.rebalancing がプライベート関数 ruleProc を呼び出すときに発生します。
R 3.0.1 を搭載した Ubuntu 12.04 マシンでも同じエラーが発生します。
それを機能させるための助けをいただければ幸いです。
ありがとうチャールズ
r - R ブロッター: ポジションが開かれる前の Posn はエラーを生成します
ブロッターを使用してトレーディング戦略をバックテストしようとしています。長い間検索した結果、エラーは取引が行われておらず、ポジションが開かれていない場合にのみ発生することがわかりました。取引が開始される前に、Posn は RStudio のワークスペースに数値 (0) としてリストされます。その後は常に 0 または位置です。私の間違いはどこですか、または最初の if 句 if(Posn!=0) に何を追加できますか? これは、次のメッセージでエラーを生成するためです。
次に、これら 2 つの入力を試したところ、次の結果が得られました。
これが私の完全なコードです:
r - R: Guy Yollin の Quantstrat の例。指標は必要ですか?そして、これらの金融商品には何が保存されていますか?
こんにちは、私はこのコードを使用しています (これは機能し、再現可能です)。
これをより複雑な戦略で使用したいので、いくつか質問があります。
指標は必要ですか?
1に関連して:これらの戦略オブジェクトなどによって実際に保存されているものは何ですか? まず、列 SMA10m を SPY テーブルに直接作成します。私が理解している限りでは、シグナルが正しく機能するために、彼は SPY テーブルで既に作成されているものと基本的に同じインジケーターを作成しますか? だからコード
引数 = list(columns=c("閉じる","SMA10")
インジケーターであるSMA10としてClose(明らかに保存されていますか?)にアクセスしますか?必要がない場合、インジケータを省略する方法はありますか? それとも、列コマンドでアクセスしたので、インジケーターは SPY テーブルの別の列ですか?
r - 最大ポジション期間 quantstrat
これは、stackoverflow に関する私の最初の質問です。ご容赦ください。
トレーディング戦略のバックテストに Rquantmod
とパッケージを使用しています。
残念ながら、ポジションの最大期間を実装する方法がわかりません。私は、短期または長期にかかわらず、5日よりも長くは続かないという立場をとっています.quantstrat
ありがとう
sql - quantmod を使用して R で新しいトレーディング戦略をカスタマイズする
R の銘柄記号に新しいカスタム TA インジケーターを作成したいのですが、SQL 条件付き戦略を R の自己定義関数に変換し、それを R の ChartSeries に追加する方法がわかりません。
質問は、説明として次のコードにリストされています。
質問: 以下のコードを書き直して、R で関数として使用できるようにするにはどうすればよいですか?
r - R: ブロッターで foreach を使用すると、ポートフォリオが既に存在するというエラーが表示されます
ブロッター パッケージを使用してバックテストを実行し、foreach を使用して速度を上げています。関数の開始時に削除されることになっているにもかかわらず、ブロッターが同じ名前のポートフォリオを見つけるというエラーが発生しています。エラーを再現するためのサンプルコードは次のとおりです
ここにエラーがあります
ポートフォリオとアカウント オブジェクトが .blotter 環境に保存されていることは理解していますが、
- foreach は、競合がないように、ある種の新しい R セッションで各ワーカーを生成しませんか?
- なぜうまくいかなかったの
try(rm("account.Snazzy","portfolio.Snazzy",pos=.blotter),silent=TRUE)
ですか? - ここで foreach をブロッターで動作させるにはどうすればよいですか?
問題があれば、私は R 3.0.2 を使用しており、Windows で RStudio を実行しています。タグに quantstrat を含めています。これらは通常一緒に使用されるため、経験豊富な quantstrat ユーザーは修正を知っている可能性があります。ありがとう
r - R Quanstrat パッケージの add.signal 関数の引数 (gt、lt、gte、eq など...)
簡単な質問がありますが、パッケージ内のadd.signal
関数で"gt、lt、lte、gte" 関係引数が何を意味するかを説明するオンライン ドキュメントの方向を教えてください。quantstrat
これらのコードがどこにも分解されていないようです。
洞察や支援をいただければ幸いです。
r - quantstrat パッケージの単純な日中信号処理コード
私は R と を初めて使用するquantstrat
ので、しばらくお待ちください。
Web 上の quantstrat のデモ/サンプル ファイルの多くは、TA ルールを使用した優れた例を提供していることに注意してください。
私の質問 / TL;DR
始値とその後の日中データを使用して、TA を使用せずに quantstrat で単純な日中しきい値交差ルールを構築するにはどうすればよいですか?
データ構造
商品がティッカー付きの株であると仮定しますXYZ
XYZ はxts
、日中 (1 分) OHLC データのオブジェクトとして格納されます。いいえ:
を介してto.daily()
、次のようになります。
構築しようとしているトレード
私が(簡単な出発点として)テストしたいのは次のとおりです。
- ある日の始値からn bps以上上昇したときに XYZ を空売りし、終値で手仕舞うことの収益性。
- ある日に XYZ がn bps を超えて下落したときに XYZ を購入することの収益性。
例題
2014-05-30
上記のデータでは、始値は でした147.36
。- XYZ がそのオープニング プリントから 50 bps を超えている場合はショートしたいと思います (つまり、
147.34*1.005 = 148.08
.148.08
が「アップ」のしきい値になりました)。 - 逆に、XYZ が最初の出力 (つまり ) から -50 bps 未満の場合は長くしたいと思い
147.34*.995 = 146.60
ます。146.60
は現在、私の「ダウン」しきい値です)。 - どちらの場合も、出口はその日の終値になります。
- 理想的には、私のコードは、各分バーの終値が <> シグナルしきい値価格 (始値から派生) であるかどうかを評価し、それに
blotter
応じてトランザクションを入力します。 - 私が始めるための答えに満足していますが、特に、注文サイズの処理のおもちゃの例をいくつか示すことができれば(つまり、しきい値を超えると、予想される復帰が発生する前にその動きがしばらく延長される可能性があります-取得方法がわからないquantstrat で処理します)
これがばかげて単純な場合はお詫び申し上げます。さまざまな例とデモを試してみましたが、うまくいかないようで、このクエリを正しく設定する方法について助けていただければ幸いです