Optimizer launcher cannot resolve its default grid-search strategy

オープン 初心者向け
#10,059 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
76/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
csharp
領域
backend

調査の方向性

Optimizer.Launcher/Program.csから始め、optimization-strategyが省略された場合にlauncherがデフォルト戦略をどのように選択するかを追ってください。提供されたconfig.jsonとdotnet ... --estimateで再現し、推定値5を出す明示的に選択した戦略と比較してください。省略時の経路でデフォルト戦略が解決され、その動作を回帰テストがカバーすれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Problem

The optimizer launcher supplies QuantConnect.Optimizer.GridSearchOptimizationStrategy when optimization-strategy is omitted (Optimizer.Launcher/Program.cs). The class actually lives in QuantConnect.Optimizer.Strategies, so LeanOptimizer cannot resolve the default type and its constructor throws ArgumentNullException (type).

This default is already present on master.

Reproduction

Build Optimizer.Launcher/QuantConnect.Optimizer.Launcher.csproj. In a fresh working directory, save this as config.json:

{
  "optimization-strategy-settings": {
    "$type": "QuantConnect.Optimizer.Strategies.StepBaseOptimizationStrategySettings, QuantConnect.Optimizer"
  },
  "optimization-criterion": {"target": "Statistics.TotalProfit", "extremum": "max"},
  "parameters": [{"name": "x", "min": 0, "max": 4, "step": 1}],
  "log-handler": "ConsoleLogHandler"
}

Run:

dotnet /path/to/QuantConnect.Optimizer.Launcher.dll --estimate

Observed: the launcher logs a TargetInvocationException wrapping ArgumentNullException: Value cannot be null. (Parameter 'type') from LeanOptimizer's constructor; no estimate is produced.

Add "optimization-strategy": "QuantConnect.Optimizer.Strategies.GridSearchOptimizationStrategy" to the same file and rerun. Observed: Optimization estimate: 5, exit 0.

Expected

Omitting the strategy must select a resolvable default and produce the same estimate as explicitly selecting that strategy. A regression test should exercise the omitted-setting path.

主要言語
C#
スター
22.4k
フォーク
5.4k
平均マージ
1日 17時間
マージ済み PR(30日)
63

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

QuantConnect/Lean のほかの issue

QuantConnect/Lean の issue をすべて見る

似ている issue

C# の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。