いずれの戦略は、最初のバックテストした後、パラメータ最適化プロセスが存在します。このプロセスvnpyの誰もが実現しています。実際には、これはそれが事をバックテストを数回実行するために多くのパラメータを変更することを意味、最も簡単です。しかし、我々は実際に時間を再生ではなくパラメータのセットよりも、完全なデータの再生は、多くのパラメータをテストするために戻って設定することができます行うことが可能コードの面でvnpyパラメータ最適化を効率的に十分ではありません、そしてその理由は非常に単純ですが、ぶっきらぼうに言いました。
私たちは、簡単な部分であるシンプルなバーコード、についてでした。
私たちは、コールbactestにされる前に設定されたら、それが最適化されている場合、それは変更の物事への呼び出しがあります。設定パラメータは同じですが、パラメータ最適化する前に、我々は、パラメータ最適化構成を設定されなければなりません。
# 跑优化
setting = OptimizationSetting() # 新建一个优化任务设置对象
setting.setOptimizeTarget('capital') # 设置优化排序的目标是策略净盈利
setting.addParameter('atrLength', 12, 54, 2) # 增加第一个优化参数atrLength,起始12,结束20,步进2
setting.addParameter('atrMa', 20, 55, 5) # 增加第二个优化参数atrMa,起始20,结束30,步进5
ここで、私たちは、パラメータの最適化時間を構築しました。
engine.runOptimization(TRStrategy、設定)
これは、調査とセットに対応するパラメータの最適化の戦略は、エンジンをテストするために戻しています。
相対的に言って、実際には、最適化の後に、より多くのパラメータに対応したバックテストの結果を分析し、常にあるが、これは行方不明vnpyになるといいな改善を必要とするようです。私は機能に熱のラフな図を追加しました。フォローアップ機能のこの部分を成長していきます。