Skip to content

MMeMercury/quant_agent

Repository files navigation

最小量化投资 Agent(React)

这是一个基于 React + Vite 的最小示例,演示如何实现一个简单量化投资 Agent:

  • 使用内置价格序列(src/data/mockPrices.js
  • 使用双均线策略生成信号(BUY / SELL / HOLD
  • 执行极简回测并输出收益率、胜率与交易日志

启动方式

npm install
npm run dev

默认打开地址:

http://localhost:5173

构建

npm run build

可改进方向

  1. 接入真实行情 API(如日线数据)
  2. 支持手续费、滑点、仓位管理
  3. 增加更多策略(动量、均值回归、多因子)
  4. 结果可视化(收益曲线、回撤曲线)

GitHub 分支协作操作手册


GitHub 分支协作操作手册

一、目标

本手册用于说明以下开发流程:

  • 从 GitHub 上拉取最新 main 分支
  • 基于 main 创建新的开发分支 new_change
  • new_change 上修改代码并提交
  • new_change 推送到 GitHub
  • 审核者对 new_change 进行审核
  • 审核通过后将 new_change 合并到 main

二、基本原则

团队开发时,不要直接在 main 分支上修改代码

  1. 先同步最新 main
  2. main 创建自己的开发分支
  3. 在开发分支上完成修改
  4. 推送到远端
  5. 发起 Pull Request
  6. 审核通过后再合并到 main

三、开发者操作步骤

1. 克隆仓库

如果本地还没有仓库,先执行:

git clone 仓库地址
cd 仓库名

例如:

git clone https://github.com/xxx/your-project.git
cd your-project

如果本地已经有仓库,则跳过这一步。


2. 切换到 main 分支并拉取最新代码

git checkout main
git pull origin main

说明: 使用 git status 可以查看当前分支状态,确认自己在 main 分支上。

  • git checkout main:切换到主分支
  • git pull origin main:从 GitHub 拉取最新的 main

这样可以保证你创建新分支时,基于的是最新版本。


3. 创建并切换到新分支 new_change

git checkout -b new_change

说明:

  • -b 表示创建新分支
  • 创建后会自动切换到这个分支

可以用下面命令检查当前分支:

git branch

如果看到:

* new_change
  main

说明当前已经在 new_change 分支上。


4. 修改代码

new_change 分支上进行正常开发和修改即可。

修改完成后,先查看变动:

git status

5. 将修改加入暂存区

如果希望把当前所有修改都加入提交:

git add .

如果只想提交某个文件:

git add 文件名

例如:

git add src/App.jsx

6. 提交修改到本地仓库

git commit -m "完成某某功能修改"

例如:

git commit -m "新增登录页面样式优化"

提交信息建议写清楚本次改动内容,不要只写 updatetest 这种过于模糊的内容。


7. 首次推送 new_change 到 GitHub

git push -u origin new_change

说明:

  • origin 表示远端仓库
  • new_change 表示推送到远端同名分支
  • -u 表示建立本地与远端分支的跟踪关系

第一次推送后,后续再推送只需要:

git push

四、在 GitHub 上发起审核

代码推送成功后,进入 GitHub 仓库页面。

通常 GitHub 会出现提示:

Compare & pull request

点击后创建一个 Pull Request。

需要确认:

  • base 分支main
  • compare 分支new_change

也就是表示:

把 new_change 的改动合并到 main

然后填写:

  • 标题:本次修改的主要内容
  • 描述:改了什么、为什么改、是否有注意事项

最后点击:

Create pull request

这样审核者就能看到你的代码改动。


五、审核者操作步骤

审核者收到 Pull Request 后,进入 GitHub 的 PR 页面进行审核。

主要检查内容包括:

  • 修改的文件是否正确
  • 代码逻辑是否合理
  • 是否有明显 bug
  • 命名、格式是否规范
  • 是否影响现有功能

审核者可以:

  1. 直接评论某一行代码
  2. 提出修改建议
  3. 同意通过审核
  4. 要求继续修改

六、开发者收到修改意见后的处理

如果审核者提出了修改意见,开发者继续在本地 new_change 分支上修改代码。

修改完成后再次执行:

git add .
git commit -m "根据审核意见修改代码"
git push

因为之前已经建立了跟踪关系,所以这次直接 git push 就行。

推送后,Pull Request 会自动更新,审核者可以继续查看最新代码。


七、审核通过后如何合并到 main

审核通过后,由有权限的人在 Pull Request 页面点击合并。

常见按钮是:

Merge pull request

然后确认合并。

合并完成后,new_change 分支中的内容就进入 main 分支了。


八、合并后开发者本地同步

远端 main 更新后,开发者需要更新本地 main

git checkout main
git pull origin main

这样本地主分支就和 GitHub 上保持一致。


九、删除已完成的分支

如果 new_change 已经完成任务,不再使用,可以删除。

删除本地分支

git branch -d new_change

删除远端分支

git push origin --delete new_change

说明:

  • 本地删除只是删除自己电脑上的分支
  • 远端删除才是删除 GitHub 上的分支

十、完整流程示例

下面是一套从开发到审核再到合并的完整示例。

开发者:

git checkout main
git pull origin main
git checkout -b new_change

# 修改代码后
git add .
git commit -m "新增用户信息展示模块"
git push -u origin new_change

然后去 GitHub 发起 new_change -> main 的 Pull Request。

审核者:

  • 打开 Pull Request
  • 查看代码差异
  • 发表评论或提出修改意见
  • 审核通过后点击合并

开发者合并后同步:

git checkout main
git pull origin main
git branch -d new_change

如果还要删除远端分支:

git push origin --delete new_change

十一、常见问题

1. 为什么不能直接改 main

因为 main 是主分支,通常代表稳定版本。 如果大家都直接修改 main,很容易出现:

  • 代码冲突
  • bug 直接进入正式版本
  • 审核流程失效

所以应该先在功能分支开发,再合并回 main


2. 如果创建分支前忘记先拉最新 main 怎么办?

可能会导致你的分支不是基于最新主线。 最好重新先执行:

git checkout main
git pull origin main

然后再新建分支。


3. 如果 main 在我开发期间又更新了怎么办?

可以把最新 main 合并到自己的分支:

git checkout main
git pull origin main
git checkout new_change
git merge main

如果有冲突,解决后再提交。


4. git push -u origin new_change 里的 -u 是什么?

它表示建立“跟踪关系”。 设置以后,你在这个分支上后续直接执行:

git push

就可以了,不用每次都写完整分支名。


5. Pull Request 是什么?

Pull Request,简称 PR,意思是:

“我已经在自己分支改好了代码,请你审核,并把这些修改合并到目标分支。”

它是 GitHub 上最常用的团队协作方式。


十二、建议的团队规范

建议团队统一遵守以下规则:

  1. 不直接提交到 main

  2. 每个功能或修改新建独立分支

  3. 分支命名清晰,例如:

    • feature/login-page
    • fix/navbar-bug
    • new_change
  4. commit 信息要明确

  5. 所有代码通过 PR 审核后再合并

  6. 合并完成后及时同步本地 main


十三、总结

标准流程就是:

先拉 main → 新建分支 → 在新分支修改 → push 到远端 → 发起 PR → 审核通过 → 合并到 main

About

quant_agent created by Sabrina Wang and Mio Deng

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors