記事「Numbaを使用したPythonの高速取引ストラテジーテスター」についてのディスカッション

 

新しい記事「Numbaを使用したPythonの高速取引ストラテジーテスター」はパブリッシュされました:

この記事では、Numbaを使った機械学習モデルのための高速ストラテジーテスターを実装しています。純粋なPythonのストラテジーテスターと比べて50倍速く動作します。このライブラリを使って特にループを含む数学計算を高速化することを推奨しています

機械学習に基づく取引アルゴリズムを開発する際には、過去のデータに対する取引結果を正確かつ迅速に評価することが重要です。長期間の大きな時間幅や浅い履歴深度での利用が稀であれば、Pythonのテスターでも十分適しています。しかし、複数回のテストや高頻度取引戦略が関わる場合、インタプリタ言語は遅すぎることがあります。

たとえば、スクリプトの実行速度に満足できないが、慣れ親しんだPython開発環境を手放したくない場合、ここでNumbaが役立ちます。NumbaはネイティブのPythonコードをその場で変換・コンパイルし、高速な機械語コードに変換します。このようなコードの実行速度は、CやFORTRANなどのプログラミング言語の実行速度に匹敵します。

>


作者: Maxim Dmitrievsky

 
テスターとは何なのか、記事を読んでもよくわからなかった。
 

PythonでNumbaを使うというトピックはカバーされておらず、コードの説明もほとんどありません。この記事は誰を対象にしているのだろう?- なら、コードを噛み砕かなければ理解できないだろう。Pythonのエキスパート?- 彼らはすでに計算を高速化する方法を知っている。

記事の後半もすべてがスムーズというわけではない。非常に粗いステップで2つのパラメーターだけを使った最適化の例が示され、完全探索と最適化アルゴリズムの比較が行われる。何を犠牲にしたのか?- それは説明されていない。ターゲット関数test_model_funcの計算への呼び出し回数を減らすことで?- しかし、AOの場合、このアクセス回数そのものは示されていない。実際には、タスクの空間は非常に小さいので、このタスクで完全な検索と比較して、400倍のスピードアップを得ることが可能である、それは乱数を 一度生成 するだけで十分ですが、複数のテストを行い、テストから最良の結果を与えるために記事では。一般的に、実験のすべての原則に違反している。

 
この記事はトレーダー向けであり、理論家向けではない。このサイトにはトレーディングから離れたトピックの記事も多いので、トレンドに沿ったものではないことは承知している。
 
fxsaber #:
テスターというのが何なのか、記事を読んでもよくわかりませんでした。
テスターとは、訓練されたMOを相場の履歴でテストするためのスクリプトのことらしいです :)
 
Maxim Dmitrievsky #:
テスターとは、訓練されたMOを相場の履歴でテストするためのスクリプトらしい)

テスターは価格データと取引環境(現在の注文)をTSに入力し、TSから取引シグナルを受け取ります。

私の理解が正しければ、あなたにとってはすべてが多少異なる。

 
fxsaber #:

私の理解が正しければ、テスターは価格データ+取引環境(現在の注文)をTSに入力し、TSから取引シグナルを受信する。

私の理解が正しければ、それはあなたにとっていくらか異なります。

価格データ+MOが予測した各観測(買い、売り)の取引方向。

つまり、TSはテスター内部で実行されるのではなく、取引の方向は計算され、事前に分かっているのです。

 
Maxim Dmitrievsky #:

つまり、テスター内のTSは実行されず、トレードの方向は計算され、事前に分かっている。

なるほど。もう一つの概念。

 
fxsaber #:

了解。コンセプトが違う。

記事のスクリプトは実行できましたか?その記事のスクリプトの中で、すぐに使えるモードでエラーなしに動いたものは一つもなかった。
 
Andrey Dik #:
記事のスクリプトを実行できましたか?記事にあるスクリプトのうち、すぐに使えるモードでエラーなしに動いたものは一つもなかった。

私はそうしなかった。

 
どうやら、その言語を知らずにプログラミングをしようとしたときの感覚らしい。意識的に記事を貶めようとしても、まだうまくいかない。もっとマナが必要だ :)