https://github.com/cokepoppy/my-quant
一个量化交易系统
https://github.com/cokepoppy/my-quant
finance quant quantitative-finance trade trading-algorithms trading-strategies vibe-coding vue3
Last synced: 26 days ago
JSON representation
一个量化交易系统
- Host: GitHub
- URL: https://github.com/cokepoppy/my-quant
- Owner: cokepoppy
- Created: 2025-08-20T01:10:57.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-09-23T03:27:27.000Z (9 months ago)
- Last Synced: 2025-09-23T05:41:38.008Z (9 months ago)
- Topics: finance, quant, quantitative-finance, trade, trading-algorithms, trading-strategies, vibe-coding, vue3
- Language: Vue
- Homepage:
- Size: 16.1 MB
- Stars: 113
- Watchers: 1
- Forks: 22
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 量化交易系统
基于Vue3 + Express构建的现代化量化交易平台,集成数据获取、策略开发、回测分析、实时监控等核心功能。
## 🚀 快速开始
### 环境要求
- Node.js >= 18.0.0
- PostgreSQL >= 14
- Redis >= 7.0
- Docker & Docker Compose (可选)
### 1. 克隆项目
```bash
git clone
cd my-quant
```
### 2. 环境变量配置
```bash
# 复制环境变量模板文件
cp .env.example .env
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env
# 根据需要修改环境变量(可选,默认配置可以正常运行)
nano .env
nano backend/.env
nano frontend/.env
```
### 3. 安装依赖
```bash
# 一键安装所有依赖(推荐)
npm run install:all
# 或分别安装
npm install # 根目录依赖
cd backend && npm install # 后端依赖
cd ../frontend && npm install # 前端依赖
```
### 4. 数据库初始化
```bash
# 初始化数据库
cd backend
npm run db:generate # 生成Prisma客户端
npm run db:migrate # 运行数据库迁移
npm run db:seed # 填充初始数据(如果存在)
```
### 5. 启动服务
#### 方式一:同时启动前后端(推荐)
```bash
# 回到根目录
cd ..
npm run dev # 前端: http://localhost:3000, 后端: http://localhost:8000
```
#### 方式二:分别启动
```bash
# 启动后端
npm run dev:backend # 后端: http://localhost:8000
# 启动前端(新终端)
npm run dev:frontend # 前端: http://localhost:3000
```
### 6. 验证安装
1. 打开浏览器访问: http://localhost:3000
2. 检查后端API: http://localhost:8000/health
3. 查看日志确认服务正常运行
### 7. Docker 部署(可选)
```bash
# 使用Docker一键部署
npm run docker:up
# 查看服务状态
npm run docker:logs
# 停止服务
npm run docker:down
```
## 📋 功能特性
### 🔧 核心模块
- **数据管理**: 多数据源集成,实时行情数据获取
- **策略开发**: 在线策略编辑器,支持多种策略类型
- **回测引擎**: 历史数据回测,性能分析报告
- **实盘交易**: 连接券商API,自动交易执行
- **监控告警**: 实时监控,多渠道告警通知
### 🎯 技术特色
- **现代化技术栈**: Vue3 + TypeScript + Express
- **响应式设计**: 适配多种设备
- **实时数据推送**: WebSocket实时数据
- **高性能**: 异步处理,缓存优化
- **容器化部署**: Docker一键部署
## 🖼️ 界面展示
### 首页仪表板

### 策略管理


### 交易功能




### 数据与分析


### 回测系统


### 参数优化

### 系统管理

## 📁 项目结构
```
quant-trading-system/
├── doc/ # 文档目录
│ ├── 需求.md # 需求文档
│ └── 架构设计.md # 架构设计
├── frontend/ # 前端应用
│ ├── src/
│ │ ├── components/ # 组件
│ │ ├── views/ # 页面
│ │ ├── stores/ # 状态管理
│ │ └── api/ # API接口
│ └── package.json
├── backend/ # 后端应用
│ ├── src/
│ │ ├── controllers/ # 控制器
│ │ ├── services/ # 业务逻辑
│ │ ├── models/ # 数据模型
│ │ └── routes/ # 路由
│ └── package.json
├── images/ # 图片资源
│ └── readme/ # README图片
├── docker/ # Docker配置
├── docker-compose.yml # 容器编排
└── package.json # 根目录配置
```
## 🔧 配置说明
### 环境变量配置
项目已经提供了完整的环境变量模板文件,用户只需要复制并根据需要修改:
#### 根目录配置 (.env)
```bash
# 主要用于Docker部署和全局配置
POSTGRES_PASSWORD=quant123 # PostgreSQL密码
REDIS_PASSWORD=redis123 # Redis密码
JWT_SECRET=your-jwt-secret # JWT密钥(生产环境请修改)
NODE_ENV=development # 运行环境
PORT=8000 # 后端端口
```
#### 后端配置 (backend/.env)
```bash
# 数据库连接
DATABASE_URL=postgresql://quant:quant123@localhost:5432/quant_trading
# Redis连接
REDIS_URL=redis://localhost:6379
# JWT配置
JWT_SECRET=your-secret-key-change-in-production
JWT_EXPIRES_IN=7d
# 服务器配置
PORT=8000
NODE_ENV=development
CORS_ORIGIN=http://localhost:3000
# Bybit API配置(测试网)
BYBIT_API_BASE_URL=https://api-testnet.bybit.com
BYBIT_API_KEY=
BYBIT_API_SECRET=
BYBIT_TESTNET=true
```
#### 前端配置 (frontend/.env)
```bash
# API配置
VITE_API_URL=http://localhost:8000/api
VITE_WS_URL=http://localhost:8000/socket.io
# 生产环境配置示例
# VITE_API_URL=https://your-domain.com/api
# VITE_WS_URL=https://your-domain.com/socket.io
```
### 数据库配置
```bash
# 进入后端目录
cd backend
# 生成Prisma客户端
npm run db:generate
# 运行数据库迁移
npm run db:migrate
# 查看数据库管理界面
npm run db:studio
# 推送schema更改(开发时)
npm run db:push
```
### 服务依赖
确保以下服务在启动前已经运行:
#### PostgreSQL
```bash
# 使用Docker启动PostgreSQL
docker run -d --name postgres \
-e POSTGRES_USER=quant \
-e POSTGRES_PASSWORD=quant123 \
-e POSTGRES_DB=quant_trading \
-p 5432:5432 \
postgres:14
# 或使用系统安装的PostgreSQL
sudo systemctl start postgresql
```
#### Redis
```bash
# 使用Docker启动Redis
docker run -d --name redis \
-p 6379:6379 \
redis:7-alpine
# 或使用系统安装的Redis
sudo systemctl start redis
```
## 📊 API文档
### 认证接口
- `POST /api/auth/login` - 用户登录
- `POST /api/auth/register` - 用户注册
- `GET /api/auth/profile` - 获取用户信息
### 策略管理
- `GET /api/strategies` - 获取策略列表
- `POST /api/strategies` - 创建策略
- `PUT /api/strategies/:id` - 更新策略
- `DELETE /api/strategies/:id` - 删除策略
### 数据接口
- `GET /api/data/market/:symbol` - 获取实时行情
- `GET /api/data/history/:symbol` - 获取历史数据
- `GET /api/data/indicators/:symbol` - 获取技术指标
### 回测接口
- `POST /api/backtest/run` - 运行回测
- `GET /api/backtest/results/:id` - 获取回测结果
### 系统管理
- `GET /api/system/logs` - 获取系统日志
- `GET /api/users` - 用户管理 (管理员)
- `GET /api/monitoring` - 系统监控
## 🚀 部署指南
### 生产环境部署
1. 配置环境变量
2. 构建应用: `npm run build`
3. 启动服务: `npm run docker:up`
### 监控配置
- Prometheus: http://localhost:9090
- Grafana: http://localhost:3001 (admin/admin123)
## 🤝 开发指南
### 代码规范
- 使用TypeScript编写类型安全的代码
- 遵循ESLint和Prettier规范
- 编写单元测试和集成测试
### 提交规范
- feat: 新功能
- fix: 修复bug
- docs: 文档更新
- style: 代码格式化
- refactor: 代码重构
- test: 测试相关
- chore: 构建工具或辅助工具的变动
## 🛠️ 开发命令
### 根目录命令
```bash
npm run install:all # 安装所有依赖
npm run dev # 同时启动前端和后端
npm run build # 构建所有应用
npm run test # 运行测试
npm run docker:up # 启动所有服务
npm run docker:down # 停止所有服务
npm run docker:logs # 查看服务日志
```
### 后端命令
```bash
cd backend
npm run dev # 启动后端开发服务器
npm run build # 构建后端应用
npm run test # 运行后端测试
npm run db:generate # 生成Prisma客户端
npm run db:migrate # 运行数据库迁移
npm run db:push # 推送schema更改
npm run db:studio # 打开数据库管理界面
npm run lint # ESLint检查和修复
npm run format # Prettier格式化
```
### 前端命令
```bash
cd frontend
npm run dev # 启动前端开发服务器
npm run build # 构建前端应用
npm run preview # 预览生产构建
npm run test # 运行前端测试
npm run lint # ESLint检查和修复
npm run format # Prettier格式化
```
## 📝 许可证
MIT License
## 🛠️ 故障排除
### 常见问题
#### 1. 依赖安装失败
```bash
# 清除缓存重新安装
npm cache clean --force
rm -rf node_modules package-lock.json
npm run install:all
```
#### 2. 数据库连接失败
```bash
# 检查PostgreSQL服务状态
sudo systemctl status postgresql
# 检查端口占用
netstat -tuln | grep 5432
# 测试数据库连接
cd backend && npm run test:connection
```
#### 3. Redis连接失败
```bash
# 检查Redis服务状态
sudo systemctl status redis
# 测试Redis连接
redis-cli ping
```
#### 4. 端口占用问题
```bash
# 查看端口占用
netstat -tuln | grep :3000
netstat -tuln | grep :8000
# 修改端口(在.env文件中)
PORT=8001 # 后端端口
CORS_ORIGIN=http://localhost:3001 # 前端端口
```
#### 5. 权限问题
```bash
# 给予脚本执行权限
chmod +x deploy.sh
chmod +x docker-compose.yml
# 修复文件权限
sudo chown -R $USER:$USER /path/to/project
```
### 日志查看
#### 后端日志
```bash
# 查看后端运行日志
npm run dev:backend
# 或查看应用日志
tail -f logs/app.log
```
#### 前端日志
```bash
# 查看前端构建日志
npm run dev:frontend
# 查看浏览器控制台
# 按 F12 打开开发者工具
```
### 性能优化
#### 开发环境优化
```bash
# 使用软链接加快构建
ln -s /path/to/node_modules ./node_modules
# 增加内存限制
export NODE_OPTIONS="--max-old-space-size=4096"
```
#### 生产环境优化
```bash
# 构建优化版本
npm run build:optimized
# 使用PM2管理进程
npm run pm2:start
```
## 🙋♂️ 支持
### 获取帮助
- 📧 **邮箱**: support@example.com
- 🐛 **问题反馈**: [GitHub Issues](https://github.com/your-repo/issues)
- 📖 **文档**: [Wiki](https://github.com/your-repo/wiki)
- 💬 **讨论**: [GitHub Discussions](https://github.com/your-repo/discussions)
### 贡献指南
1. Fork 项目
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 打开 Pull Request
---
**系统特点**: 本系统采用微服务架构,支持高并发处理,具备完善的权限管理和数据安全保障。适合个人投资者和小型机构使用。
**快速开始**: 按照上面的步骤,从克隆项目到成功运行大约需要 5-10 分钟。