先看效果图:
后续的策略都以网页的形式提供服务, 调仓换仓和当前持仓,都可以在网页上快速获取,复制链接到浏览器即可获取,或者直接到底部点击阅读原文:
https://cloudinbanana.github.io/01.Asset_bot/momentum_top20_top1/backtest_report.html
实现上述方案使用Github Action,不写一行代码,不用服务器部署,完成策略即网页服务的探索,下面为整体方案的实现。
Github Action是什么
一、GitHub Actions 核心定义GitHub Actions 是 GitHub 官方提供的自动化工作流平台,你可以把它理解成一个 “代码管家”—— 它能在 GitHub 仓库里自动完成一系列重复性工作,比如代码提交后自动测试、代码合并后自动打包部署、定时生成数据报表等。它的核心优势是与 GitHub 深度集成,无需额外搭建服务器,所有操作都在 GitHub 云端完成,新手也能快速上手。二、核心概念(新手必懂)先理清几个关键术语,避免后续理解混乱:术语通俗解释Workflow(工作流)你定义的 “自动化任务清单”,比如 “代码提交后自动测试 + 打包” 就是一个工作流Job(任务)工作流里的单个独立任务,比如 “自动测试” 是一个 Job,“自动打包” 是另一个 JobStep(步骤)Job 里的最小执行单元,比如 “安装依赖”“运行测试命令” 都是 StepAction(动作)可复用的 “预制步骤”,比如有人已经写好的 “部署到服务器”“发送邮件” 的 Action,你可以直接用,不用重复造轮子Runner(运行器)执行工作流的 “服务器”,GitHub 提供免费的云端 Runner(Linux/Windows/macOS),也可以用自己的服务器当 RunnerYAML 配置文件定义工作流的文件(后缀 .github/workflows/xxx.yml),是整个自动化的核心,用简单的语法描述 “什么时候执行、执行什么”三、核心使用逻辑(3 步上手)1. 触发条件(When)你需要定义 “什么时候启动工作流”,常见触发条件:代码提交 / 推送到仓库(push)发起 Pull Request(pull_request)定时执行(schedule,比如每天凌晨 1 点)手动触发(workflow_dispatch,需要时点击运行)发布新版本(release)2. 执行环境(Where)指定运行工作流的 Runner,新手直接用 GitHub 官方的 ubuntu-latest 即可,无需配置服务器。3. 执行步骤(What)定义要执行的具体命令 / 动作,比如安装依赖、运行测试、打包代码、部署等。四、实操案例:用 GitHub Actions 自动获取 REITs 数据(贴合你的需求)下面是一个完整的示例:每天凌晨 1 点自动用 akshare 获取 REITs 数据,并存到仓库里,你可以直接复制使用。步骤 1:创建配置文件在你的 GitHub 仓库里,新建路径 .github/workflows/reits_auto_get.yml,内容如下:yaml# 工作流名称name: Auto Get REITs Data步骤 2:启用工作流提交这个配置文件到仓库后,GitHub 会自动识别并启用该工作流:定时执行:每天 UTC 1 点(北京时间 9 点)自动运行;手动执行:进入仓库的 Actions 标签页,找到 Auto Get REITs Data,点击 Run workflow 即可手动触发。步骤 3:查看结果运行完成后,你的仓库里会多出一个 reits_data.csv 文件,里面是最新的 REITs 数据,且每天自动更新。五、GitHub Actions 的典型应用场景(新手常用)代码自动化:提交代码后自动运行单元测试、代码检查(比如 flake8、pylint),避免低级错误;部署自动化:代码合并到主分支后,自动打包并部署到服务器 / 云平台(比如阿里云、Vercel);数据自动化:定时爬取数据、生成报表、发送邮件 / 钉钉通知;发布自动化:发布新版本时,自动打包软件、生成 Release 说明、上传安装包;文档自动化:代码更新后,自动生成 API 文档并部署到 GitHub Pages。六、新手注意事项免费额度:GitHub 提供免费额度(每月 2000 分钟运行时间),个人使用完全足够;超出后可升级付费或用自己的 Runner;隐私保护:如果需要用到敏感信息(比如服务器密码、API 密钥),不要直接写在配置文件里,用 GitHub 的 Secrets 功能存储,使用时通过 ${{ secrets.你的密钥名 }} 调用;调试技巧:工作流运行失败时,点击 Actions 里的具体运行记录,查看每一步的日志,定位错误(比如依赖安装失败、命令写错);Action 复用:GitHub 有官方的 Action 市场(https://github.com/marketplace/actions),比如发送邮件、操作钉钉、部署云服务的 Action,直接搜索使用即可。
项目怎么用Action部署
下面的prompt要重点记忆,有需要部署的项目可以直接用。
当前项目,我想将它迁移到 GitHub Actions 实现云端定时执行。 请帮我分析技术可行性,以及改造方案,然后仔细阅读整个项目里调用的API信息,需要列出哪些信息我需要在GitHub Secrets里配置的!以及在改造方案执行完成后,告诉我如何一步步完成推送到配置的流程
ai给出的方案:
部署后报错:
发给ai后的解释,还是比较明显的:
配置完毕后的效果
策略地址:
https://cloudinbanana.github.io/01.Asset\_bot/momentum\_top20\_top1/backtest\_report.html
以上,希望对你有帮助。