問題タブ [pyalgotrade]
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.
python-2.7 - broker.backtesting [デバッグ] 998 株/秒の 600800 注文 [1684] を満たすのに十分な現金がありません
Pyalgotrade のオプティマイザーを使用して戦略を実行し、最適なパラメーターを見つけています。私が得るメッセージはこれです:
これはメッセージのほんの一部です。パラメーターについてのみ表示でき ('600800', 4, 19)
、('600800', 4, 19)
結果が得られます。パラメーターの他の組み合わせについては、メッセージが表示されます: 546 broker.backtesting [DEBUG] Not enough cash to fill 600800 order [1684] for 998 share/s
.
このメッセージは、買い注文を作成しましたが、それをビジーにするのに十分な現金がないことを意味していると思います。ただし、以下のスクリプトから:
私の戦略のロジックは、現在の価格が up よりも大きい場合は買い、現在の価格が up_stop よりも大きい場合、または購入後に up よりも小さい場合は売るというものです。したがって、コードから、注文は現在の現金で計算されるため、支払うのに十分な現金がない注文を生成する方法はありません。
では、どこが間違っているのでしょうか。
python - ストップロス注文に必要な Pyalgotrade のアドバイス
pyalgotrade で取引戦略をバックテストしたいのですが、ストップロス注文の送信に問題があります。
ドキュメントには次のように記載されています。ポジションは、注文を出すためのより高いレベルの抽象化です。これらは基本的に入退出注文のペアであり、手動で注文するよりも簡単に返品と PnL を追跡できます。
でポジションに入ります
これは基本的に株式の新しいポジションを開き、市場価格で購入します。これはそれ自体で機能します。
次に、ストップ注文を出すことを期待します
…しかし、これは本当に奇妙な振る舞いをします!
ポジションが isFilled の場合 (enterLong 注文が実行された場合)、exitStop はアサート エラーを発生させます。
注文が isFilled になる前 (isActive の間) に exitStop を呼び出すと、コードはアサート エラーを生成しませんが、アクティブな注文はすぐにキャンセルされます。
最初の注文がまだ実行されていないときに exitStop を呼び出すのはまったく意味がありません。それとも、私は自分の考えから完全に外れていますか?
残念ながら、pyalgotrade のチュートリアル戦略はストップロス ロジックを使用していません (これは悪いことです)。
pyalgotrade - 次のpyalgotradeコードの「orcl」は何ですか? さらに、csv ファイルがあり、そこからデータをコードにアップロードするにはどうすればよいですか?
バックテスト用に独自の戦略を実装したかったのですが、必要に応じてコードを変更できませんでした
python - yahooの履歴データを使ったpyalgotrade VWAPの計算が間違っているようです
私は pyalgotrade を始めたばかりで、 VWAP (出来高調整平均)計算を使用するオンラインで入手した修正サンプル コードと、yahoo 履歴データを取得するソフトウェア独自の方法を使用しています。 yahoo は音量を調整しますが、ソフトウェア ツールは音量が調整されていないと想定します。
これがコードです。実行後に作成されたグラフに注意し、 VWAP計算の中断に注意してください。Nasdaq のデータを読み込み済みの yahoos と比較したところ、調整済みとは記載されていませんが、Yahoo のボリュームが調整されていることがわかりました。調整済みデータを使用するようにフラグを設定しましたが、ボリュームが調整されていないと想定しているため、ソフトウェアは VWAP 計算にそれを使用しません。
誰かが問題を修正できる方法を特定していただければ幸いです。独自の VWAP 計算をオーバーライドするために使用できる方法は問題ありません。また、私はこれが初めてなので、プロバイダーにエラーを報告する方法もわかりません。
csv - 自分のデータを PyAlgoTrade にフィードするにはどうすればよいですか?
PyAlogoTrade
のイベント プロファイラを使用しようとしています
ただし、 yahoo!financeのデータは使用したくありません。独自のデータを使用したいのですが、 で解析する方法がわかりませんCSV
。形式は次のとおりです。
私は次のようなことをしたい:
yahoofinance.build_feed(instruments, 2008, 2009, ".")
次に、私のものに置き換えますCSV
私は試した:
しかし、それは属性エラーをスローします。これを行う方法はありますか?
python - pyalgotrade のイベント プロファイラーのその他の例
pyalgotrade のイベント プロファイラーにカスタム戦略を実装する方法を学ぼうとしています。これは彼らが与えるデフォルトの例です。
が data をどのようにeventprofiler
取り込んで使用するかを理解しようとしていますが、呼び出されるクラスメソッドはかなり多く、それを分析するのは少し難しいと思います。
シンプルなものから始めて、 and を使用するだけprice
ですvolume
。そうです、1つの戦略はif volume > 1000 and close < 50: event == True
どんな助けでも大歓迎です。
Ps:おまけの質問:の同様のイベント プロファイラーはありzipline
ますか?
編集: user3666197 のおかげで、必要な変更を加えることができましたが、このエラーが発生しています:
ソース「eventprofiler.py」を見てみましたが、それが何であるかわかりません。これがコードです
python - NotImplementedError() これはどういう意味ですか、イベント プロファイラー pyalgotrade
pyalgotrade のイベント プロファイラーを実行しようとしています。カスタム データを使用しています。デフォルトの戦略/述語 'BuyOnGap' で実行すると機能しますが、単純なカスタム戦略で実行しようとするとエラーがスローされます。
私のコードは次のとおりです。
このエラーはどういう意味ですか?
何が問題なのか、それを修正する方法を知っている人はいますか?
eventprofiler コードへのリンクは次のとおりです。
おまけとして、使用されているプロファイラーの例をどこで見つけることができるか知っている人はいますか? pyalgotrade の例が提供する他のものは、ここで見られます