创建和管理回测结果

本页面介绍了如何创建和管理 AML AI 回测预测结果。回测预测使用基于现有历史数据的经过训练的模型。对于这些月份,数据集必须包含标签。

只要训练结束日期早于回测日期,同一数据集就可用于训练和回测。

此时,您只需创建回测结果。为方便起见,还提供了其他回测结果方法。

须知事项

创建回测结果

某些 API 方法会返回长时间运行的操作 (LRO)。这些方法是异步的。当该方法返回响应时,操作可能未完成。对于这些方法,请发送请求,然后检查结果。

发送请求

如需创建回测结果,请使用 projects.locations.instances.backtestResults.create 方法。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_IDIAM 设置中列出的 Google Cloud 项目 ID
  • LOCATION:实例的位置;请使用支持的区域之一:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1
  • INSTANCE_ID:用户定义的实例标识符
  • BACKTEST_RESULTS_ID:用户定义的回测结果标识符
  • MODEL_ID:用户定义的模型标识符
  • BACKTEST_DATASET_ID:用户定义的用于回测的数据集的标识符;表中不应包含训练标签列
  • BACKTEST_END_DATE:用于生成用于回测的特征的最晚时间。此日期应与数据集的结束时间相同或早于。使用 RFC3339 世界协调时间 (UTC)“祖鲁语”格式(例如 2014-10-02T15:01:23Z)。
  • PARTY_INVESTIGATIONS_PER_PERIOD_HINT:一个数字,用于告知调谐器每个周期(每月)将对此数据执行的调查数量。用于控制模型的评估方式。

请求 JSON 正文:

{
    "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID",
    "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/BACKTEST_DATASET_ID",
    "endTime": "BACKTEST_END_DATE",
    "backtestPeriods": 5,
    "performanceTarget": {
      "partyInvestigationsPerPeriodHint": "PARTY_INVESTIGATIONS_PER_PERIOD_HINT"
    }
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

查看结果

如需检查是否已创建回测结果,请使用 projects.locations.operations.get 方法。如果响应包含 "done": false,请重复该命令,直到响应包含 "done": true。这些操作可能需要几分钟到几小时才能完成。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_IDIAM 设置中列出的 Google Cloud 项目 ID
  • LOCATION:实例的位置;请使用支持的区域之一:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1
  • OPERATION_ID:操作的标识符

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "endTime": END_TIME,
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/dataresidency.monitoring.DataResidencyAugmentedView",
    "tpIds": [
      "i608e8cf4abb2a7d9-tp"
    ]
  }
}

获取回测结果

如需获取回测结果,请使用 projects.locations.instances.backtestResults.get 方法。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_IDIAM 设置中列出的 Google Cloud 项目 ID
  • LOCATION:实例的位置;请使用支持的区域之一:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1
  • INSTANCE_ID:用户定义的实例标识符
  • BACKTEST_RESULTS_ID:用户定义的回测结果标识符

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
    "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID",
    "createTime": CREATE_TIME,
    "updateTime": UPDATE_TIME,
    "state": "ACTIVE",
    "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/BACKTEST_DATASET_ID",
    "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID",
    "endTime": "BACKTEST_END_DATE",
    "performanceTarget": {
      "partyInvestigationsPerPeriodHint": "PARTY_INVESTIGATIONS_PER_PERIOD_HINT"
    },
    "lineOfBusiness": "RETAIL"
}

更新回测结果

如需更新回测结果,请使用 projects.locations.instances.backtestResults.patch 方法。

并非回测结果中的所有字段都可以更新。以下示例更新了与回测结果关联的键值对用户标签

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_IDIAM 设置中列出的 Google Cloud 项目 ID
  • LOCATION:实例的位置;请使用支持的区域之一:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1
  • INSTANCE_ID:用户定义的实例标识符
  • BACKTEST_RESULTS_ID:用户定义的回测结果标识符
  • KEY:键值对中用于整理回测结果的键。如需了解详情,请参阅 labels
  • VALUE:键值对中的值,用于整理回测结果。如需了解详情,请参阅 labels

请求 JSON 正文:

{
  "labels": {
    "KEY": "VALUE"
  }
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

如需详细了解如何获取长时间运行的操作 (LRO) 的结果,请参阅检查结果

列出回测结果

如需列出给定实例的回测结果,请使用 projects.locations.instances.backtestResults.list 方法。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_IDIAM 设置中列出的 Google Cloud 项目 ID
  • LOCATION:实例的位置;请使用支持的区域之一:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1
  • INSTANCE_ID:用户定义的实例标识符

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "backtestResults": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID",
      "createTime": CREATE_TIME,
      "updateTime": UPDATE_TIME,
      "state": "ACTIVE",
      "dataset": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/datasets/BACKTEST_DATASET_ID",
      "model": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/models/MODEL_ID",
      "endTime": "BACKTEST_END_DATE",
      "performanceTarget": {
        "partyInvestigationsPerPeriodHint": "PARTY_INVESTIGATIONS_PER_PERIOD_HINT"
      },
      "lineOfBusiness": "RETAIL"
    }
  ]
}

导出元数据

如需从回测结果中导出元数据,请使用 projects.locations.instances.backtestResults.exportMetadata 方法。

如需了解详情,请参阅 AML 输出数据模型中的导出元数据

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_IDIAM 设置中列出的 Google Cloud 项目 ID
  • LOCATION:实例的位置;请使用支持的区域之一:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1
  • INSTANCE_ID:用户定义的实例标识符
  • BACKTEST_RESULTS_ID:用户定义的回测结果标识符
  • BQ_OUTPUT_DATASET_NAME:一个 BigQuery 数据集,用于导出描述回测结果结构化元数据的表
  • STRUCTURED_METADATA_TABLE:要向其中写入结构化元数据的表
  • WRITE_DISPOSITION:在目标表已存在时发生的操作;请使用以下某个值:
    • WRITE_EMPTY:仅在 BigQuery 表为空时才导出数据。
    • WRITE_TRUNCATE:先清空 BigQuery 表中的所有现有数据,然后再写入表中。

请求 JSON 正文:

{
  "structuredMetadataDestination": {
    "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.STRUCTURED_METADATA_TABLE",
    "writeDisposition": "WRITE_DISPOSITION"
  }
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID",
    "verb": "exportMetadata",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

如需详细了解如何获取长时间运行的操作 (LRO) 的结果,请参阅检查结果

删除回测结果

如需删除回测结果,请使用 projects.locations.instances.backtestResults.delete 方法。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_IDIAM 设置中列出的 Google Cloud 项目 ID
  • LOCATION:实例的位置;请使用支持的区域之一:
    • us-central1
    • us-east1
    • europe-west1
    • europe-west2
    • europe-west4
    • southamerica-east1
  • INSTANCE_ID:用户定义的实例标识符
  • BACKTEST_RESULTS_ID:用户定义的回测结果标识符

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/backtestResults/BACKTEST_RESULTS_ID",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

如需详细了解如何获取长时间运行的操作 (LRO) 的结果,请参阅检查结果