Skip to main content

Overview

run_po_job is the fourth step of the pipeline. It triggers the po-job pipeline job, which reads ML or DL model predictions from blob storage and computes optimal portfolio weights using a specified optimization method (powered by skfolio). The tool blocks until the job completes and returns the output blob URL.

Parameters

input_url
string
required
Blob storage URL pointing to either:
  • ml_engine_*.json — output of run_ml_job
  • nn_engine_*.json — output of run_dl_job
config
object
required
Portfolio optimization configuration.

Returns

{
  "status": "Succeeded",
  "output_url": "https://stmcpfabricdev.blob.core.windows.net/data/portfolio_optimization_20260307_130215.json",
  "output_name": "portfolio_optimization_20260307_130215.json",
  "execution_name": "po-job-abc123xyz"
}
FieldDescription
statusJob terminal status (Succeeded)
output_urlFull HTTPS URL to the output blob — pass to run_trading_job
output_nameBlob filename
execution_nameJob execution ID for audit/debugging

Example

{
  "input_url": "https://stmcpfabricdev.blob.core.windows.net/data/ml_engine_20260307_125841.json",
  "config": {
    "Optimization params": {
      "method": "hrp"
    },
    "Backtest params": {
      "Learning_start": "2020-01-01",
      "Learning_end": "2024-01-01"
    }
  }
}

Resources

ResourceValue
Container Apps Jobpo-job
Container namepo-job
Env vars injectedINPUT_URL, CONFIG
Output blob prefixportfolio_optimization_
Timeout600 seconds

Next Step

Pass output_url to run_trading_job as input_url.