パフォーマンス最適化プログラム
バックテストが遅いという問題に対処するために、以下の方法で効率を改善することができる:
- データ前処理::
1.CSV履歴データをMongoDB/MySQLに事前インポートする。
2.タイムスタンプインデックスの確立db.bar_data.create_index([("datetime", ASCENDING)]) - バッチバックテスト::
- 利用するoptimize()関数の妥当なステップサイズを設定する
- 年度別・四半期別の個別テスト後の連結結果 - ハードウェアアクセラレーション::
- マルチプロセスモードを有効にする(変更が必要)backtesting.py)
- NumbaのようなGPUアクセラレーション・ライブラリを使用して、ポリシーのコア機能を変更する。 - コードレベルの最適化::
- ループ内でのデータベースクエリの実行を避ける
- ネイティブのPythonリスト操作をNumPyで置き換える
- リアルタイムチャート出力を無効にする(設定)output=False)
アドバンスメント・プログラム:
- 分散バックテストコンポーネントvnpy_portfoliostrategyを使用する。
- クラウドサーバーをレンタルしてスタンドアロンのパフォーマンスを向上(16コア+32GBの構成を推奨)
この答えは記事から得たものである。VeighNa:中国で人気のオープンソース定量取引フレームワークについて































