Optimization Management

Create Optimization

Introduction

Create an optimization with the specified parameters.

Request

Project, compile and optimization parameters for launching an optimization job. The /optimizations/create API accepts requests in the following format:

CreateOptimizationRequest Model - Request to create an optimization job.
projectId integer
Project ID of the project the optimization belongs to.
name string
Name of the optimization.
target string
Target of the optimization.
targetTo string
example: max or min

Target extremum of the optimization.
targetValue float
Optimization target value.
strategy string
example: QuantConnect.Optimizer.Strategies.GridSearchOptimizationStrategy

Optimization strategy.
compileId string
Optimization compile ID.
parameters OptimizationParameter Array
Optimization parameters.
constraints OptimizationConstraint Array
Optimization constraints.
estimatedCost float
example: 10

Estimated cost for optimization.
nodeType string Enum
example: O2-8

Optimization node type. Options : ['O2-8', 'O4-12', 'O8-16']
parallelNodes integer
example: 4

Number of parallel nodes for optimization.
Example
{
  "projectId": 0,
  "name": "string",
  "target": "string",
  "targetTo": "max or min",
  "targetValue": ,
  "strategy": "QuantConnect.Optimizer.Strategies.GridSearchOptimizationStrategy",
  "compileId": "string",
  "parameters": [
    {
      "name": "rsi_period",
      "min": 10,
      "max": 20,
      "step": 1,
      "min-step": 1
    }
  ],
  "constraints": [
    {
      "target": "TotalPerformance.PortfolioStatistics.SharpeRatio",
      "operator": "greater",
      "target-value": 1
    }
  ],
  "estimatedCost": 10,
  "nodeType": "O2-8",
  "parallelNodes": 4
}
OptimizationParameter Model
name string
example: rsi_period

Name of optimization parameter.
min float
example: 10

Minimum value of optimization parameter, applicable for boundary conditions.
max float
example: 20

Maximum value of optimization parameter, applicable for boundary conditions.
step float
example: 1

Movement, should be positive.
min-step float
example: 1

Minimal possible movement for current parameter, should be positive. Used by Strategies.EulerSearchOptimizationStrategy to determine when this parameter can no longer be optimized.
Example
{
  "name": "rsi_period",
  "min": 10,
  "max": 20,
  "step": 1,
  "min-step": 1
}
OptimizationConstraint Model
target string
example: TotalPerformance.PortfolioStatistics.SharpeRatio

Property we want to track.
operator string
example: greater

The target comparison operation.
target-value float
example: 1

The value of the property we want to track.
Example
{
  "target": "TotalPerformance.PortfolioStatistics.SharpeRatio",
  "operator": "greater",
  "target-value": 1
}

Responses

The /optimizations/create API provides a response in the following format:

200 Success

CreateOptimizationResponse Model - Response received when launching an optimization job.
optimizationId string
Optimization ID.
projectId string
Project ID of the project the optimization belongs to.
name string
Name of the optimization.
status string Enum
Status of the optimization. Options : ['New', 'Aborted', 'Running', 'Completed']
nodeType string Enum
example: O2-8

Optimization node type. Options : ['O2-8', 'O4-12', 'O8-16']
criterion OptimizationTarget object
/.
Example
{
  "optimizationId": "string",
  "projectId": "string",
  "name": "string",
  "status": "New",
  "nodeType": "O2-8",
  "criterion": {
    "target": "TotalPerformance.PortfolioStatistics.SharpeRatio",
    "extremum": "max or min",
    "target-value": 1
  }
}
OptimizationTarget Model
target string
example: TotalPerformance.PortfolioStatistics.SharpeRatio

Property we want to track.
extremum string
example: max or min

Defines the direction of optimization.
target-value float
example: 1

The value of the property we want to track.
Example
{
  "target": "TotalPerformance.PortfolioStatistics.SharpeRatio",
  "extremum": "max or min",
  "target-value": 1
}

401 Authentication Error

UnauthorizedError Model - Unauthorized response from the API. Key is missing, invalid, or timestamp is too old for hash.
www_authenticate string
Header

You can also see our Videos. You can also get in touch with us via Discord.

Did you find this page helpful?

Contribute to the documentation: