Skip to content

fejay/-mx-money

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MX-Money 东方财富热股采集与回测分析系统

基于东方财富 BK1637 热门股票板块,每日收盘后自动采集热股数据,支持策略管理和回归测试分析收益。

功能特性

  • 数据采集:通过 Puppeteer 采集东方财富热股数据,支持手动/定时采集,非交易日自动跳过
  • K线补全:同步热股日K线数据,支持按日期或全量补全
  • 策略管理:自定义过滤条件、买入条件(收盘价/开盘价/涨停板追涨)、卖出条件(固定持有/止盈/止损/止盈止损组合)
  • 回测分析:按策略过滤热股,模拟买入卖出计算收益率,支持多持有天数对比
  • 热股列表:按日期查看热股,支持涨跌幅/换手率/成交额/排名筛选,支持删除指定日期数据

技术栈

层级 技术
后端 NestJS + better-sqlite3 + Puppeteer + @nestjs/schedule
前端 Vue3 + Vite + Ant Design Vue + ECharts
数据库 SQLite (WAL模式)

项目结构

moneryV2/
├── server/                    # NestJS 后端
│   └── src/
│       ├── hot-stocks/        # 热股采集与查询
│       ├── kline/             # K线数据同步
│       ├── strategy/          # 策略 CRUD
│       ├── backtest/          # 回测分析
│       ├── database/          # 数据库初始化
│       └── utils/             # 交易日判断工具
├── client/                    # Vue3 前端
│   └── src/
│       ├── views/
│       │   ├── collect/       # 数据采集页
│       │   ├── hot-stocks/    # 热股列表页
│       │   ├── strategy/      # 策略管理页
│       │   └── backtest/      # 回测分析页
│       ├── layouts/           # 布局组件
│       ├── router/            # 路由配置
│       └── api/               # 请求封装
└── .gitignore

快速开始

环境要求

  • Node.js >= 18
  • npm >= 9
  • Chrome 浏览器(Puppeteer 采集需要)

安装依赖

# 后端
cd server && npm install

# 前端
cd client && npm install

启动服务

# 后端(开发模式,端口 3000)
cd server && npm run start:dev

# 前端(开发模式,端口 5173)
cd client && npm run dev

访问 http://localhost:5173 即可使用。

构建打包

# 后端
cd server && npm run build

# 前端
cd client && npm run build

使用说明

1. 数据采集

进入"数据采集"页面,点击"采集今日热股"获取当天数据。系统每日 15:05 自动采集(仅交易日)。

点击"补全选中日期"可同步该天热股的K线数据,"补全全部K线"则同步所有热股的历史K线。

2. 查看热股

进入"热股列表"页面,从下拉框选择日期查看当天热股数据。支持按涨跌幅、换手率、成交额、排名筛选。

3. 策略管理

进入"策略管理"页面,系统预设4个策略,也可新建自定义策略:

  • 过滤条件:涨跌幅范围、换手率范围、成交额范围、排名范围
  • 买入条件:收盘价买入 / 次日开盘价买入 / 涨停板追涨
  • 卖出条件:固定持有天数 / 止盈 / 止损 / 止盈止损组合

4. 回测分析

进入"回测分析"页面,选择日期范围、策略和持有天数,运行回测查看收益率分布和明细。

API 接口

方法 路径 说明
POST /api/hot-stocks/collect 采集今日热股
GET /api/hot-stocks/history 获取采集历史日期
GET /api/hot-stocks/:date 查询指定日期热股
DELETE /api/hot-stocks/:date 删除指定日期数据
POST /api/kline/sync 同步K线数据(可选 tradeDate)
GET /api/strategies 获取策略列表
POST /api/strategies 创建策略
PUT /api/strategies/:id 更新策略
DELETE /api/strategies/:id 删除策略
POST /api/backtest 运行回测
GET /api/backtest/export 导出回测结果CSV

数据来源

  • 热股数据:东方财富 BK1637 板块(通过 Puppeteer 采集)
  • K线数据:东方财富 push2his API

About

mx-money

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages