基于AWS Batch的量化回测系统

1 Amazon SageMaker

1.1 创建笔记本实例

Amazon SageMaker Notebook 实例是一个用来进行机器学习 (ML) 计算实例,用来运行Jupyter Notebook 应用程序。我们可以在其网页中交互式的编写代码和运行代码,并且可以直接返回逐段代码的运行结果。
接下来,我们将会创建一个笔记本实例。
输入笔记本实例名称。
在这里插入图片描述
对于IAM角色,我们可以选择创建新角色
在这里插入图片描述
最后,点击创建笔记本实例。

1.2 上传ipynb

demo文件git地址
打开 Jupyter
在这里插入图片描述
上传ipynb文件
在这里插入图片描述

1.3 进入实例

在这里插入图片描述

1.4 选择JupyterLab解释器语言

选择使用"conda_python3"。
在这里插入图片描述

1.5 修改IAM角色权限

eg: 为了方便测试,暂时先赋予全部权限。(生产环境中要严格遵从最小权限原则。)

找到我们“1.1.1 创建笔记本实例”中创建的IAM角色,为此角色赋予以下权限。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "ecr:GetRegistryPolicy",
                "ecr:CreateRepository",
                "ecr:DescribeRegistry",
                "ecr:DescribePullThroughCacheRules",
                "ecr:GetAuthorizationToken",
                "ecr:PutRegistryScanningConfiguration",
                "ecr:CreatePullThroughCacheRule",
                "ecr:DeletePullThroughCacheRule",
                "ecr:PutRegistryPolicy",
                "ecr:GetRegistryScanningConfiguration",
                "ecr:BatchImportUpstreamImage",
                "ecr:DeleteRegistryPolicy",
                "ecr:PutReplicationConfiguration"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "ecr:*",
            "Resource": "arn:aws:ecr:【aws_region】:【aws_account_id】:repository/【repository_name】"
        }
    ]
}

1.6 执行代码

使用“Shift+Enter”组合键来执行当前选择的代码块。执行结果将会在代码块下方展示。
在这里插入图片描述

当我们执行完“将容器推送到远程的ECR镜像仓库”的代码后,我们将会在Amazon ECR中看到我们创建的镜像仓库。
在这里插入图片描述
在这里插入图片描述

2 AWS Batch

Batch 可以帮助我们在 AWS 云上运行批量计算工作负载。

2.1 创建计算环境

前往Batch 创建计算环境。
在这里插入图片描述

输入计算环境名称
在这里插入图片描述
实例配置请根据实际情况进行配置。
在这里插入图片描述
联网默认即可
在这里插入图片描述
完成创建。

2.2 创建任务队列

在这里插入图片描述
输入作业队列名称
在这里插入图片描述
连接的计算环境,请选择上一步创建的计算环境
在这里插入图片描述
完成创建。

2.3 创建任务定义

在这里插入图片描述
任务类型我们选择单节点
在这里插入图片描述
输入名称与超时时间
在这里插入图片描述
选择使用Fargate作为运行环境,并开启分配公共IP。
在这里插入图片描述
进入ECR,选择我们刚才创建的镜像仓库,复制其ARN。
在这里插入图片描述
返回创建,输入映像与命令
命令:python backtest.py 【数据源所在S3桶名】 【要回测的源数据文件名】 【结果存储S3桶名】
在这里插入图片描述
输入重试次数
在这里插入图片描述
完成创建。

2.4 创建执行任务

在这里插入图片描述
输入作业名称与运行的作业队列,其他保持默认即可。
在这里插入图片描述
提交任务。等待作业执行。

2.5 执行结果

在这里插入图片描述
在这里插入图片描述

参考文献

https://aws.amazon.com/cn/blogs/china/building-a-quantitative-backtesting-system-based-on-aws-batch/?nc1=h_ls

作者

ZiKuo Su

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值