# hahaStock **Repository Path**: snnu/hahaStock ## Basic Information - **Project Name**: hahaStock - **Description**: 基于Nodejs+VUE3的前后端分离股票量化交易系统 - **Primary Language**: JavaScript - **License**: BSL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-19 - **Last Updated**: 2025-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 股票量化交易系统 ## 功能特性 - 股票数据实时获取与历史数据存储 - 交易管理功能(买入、卖出、订单执行) - 用户账户管理与投资组合跟踪 - 多种量化交易策略支持(移动平均线、RSI、布林带、海龟交易等) - 策略执行与多因子选股 - 基于Token的身份认证机制 ## 技术栈 - **后端**: Node.js + Express - **数据库**: LevelDB - **数据源**: Alpha Vantage, Sina, Tencent 股票API - **前端**: Vue.js - **部署**: Docker, Docker Compose, 部署脚本支持 ## 项目结构 - `server/`: 后端服务代码 - `client/`: 前端客户端代码 - `server/src/models/`: 数据模型定义(股票、交易、用户等) - `server/src/services/`: 核心业务逻辑与API服务 - `server/src/routes/`: API路由定义 - `server/src/middleware/`: 请求中间件(如身份验证) - `client/src/services/`: 前端API调用服务 - `client/src/components/`: Vue组件集合 ## 安装与运行 ### 方法一:直接部署 1. 安装 Node.js 2. 配置 `.env` 文件 3. 安装依赖并启动服务 ```bash npm install npm start ``` ### 方法二:使用部署脚本 运行 `deploy.sh` 脚本进行部署 ### 方法三:使用 Docker 构建并运行 Docker 容器: ```bash docker build -t stock-trading-system . docker run -p 3000:3000 stock-trading-system ``` ### 方法四:使用 Docker Compose 运行以下命令启动整个系统: ```bash docker-compose up ``` ## API 端点 ### 股票相关 - `GET /stock`: 获取所有股票数据 - `GET /stock/:symbol`: 获取特定股票信息 - `GET /stock/:symbol/history`: 获取股票历史数据 ### 交易相关 - `POST /trade`: 创建交易订单 - `PUT /trade/:id/execute`: 执行交易 - `PUT /trade/:id/cancel`: 取消交易 ### 用户相关 - `POST /user`: 用户注册 - `GET /user/:id`: 获取用户信息 - `GET /user/:id/portfolio`: 获取用户投资组合 ### 认证相关 - `POST /auth/login`: 用户登录 - `POST /auth/register`: 用户注册 ### 策略相关 - `POST /strategy`: 创建策略 - `GET /strategy`: 获取用户策略 - `POST /strategy/moving-average`: 执行移动平均策略 - `POST /strategy/rsi`: 执行RSI策略 - `POST /strategy/bollinger-bands`: 执行布林带策略 - `POST /strategy/turtle`: 执行海龟交易策略 - `POST /strategy/multi-factor`: 执行多因子选股策略 ## 数据库设计 - **用户表** (users): 用户ID, 用户名, 邮箱, 密码哈希, 余额 - **股票表** (stocks): 股票ID, 股票代码, 名称, 当前价格, 最后更新时间 - **交易表** (trades): 交易ID, 用户ID, 股票ID, 类型(买入/卖出), 数量, 价格, 时间戳, 状态 - **投资组合表** (portfolios): 用户ID, 股票ID, 持有数量, 平均买入价格 ## 量化交易策略 - **移动平均线策略**: 通过短期与长期均线交叉判断买卖点 - **RSI策略**: 利用相对强弱指标判断超买/超卖状态 - **布林带策略**: 利用价格与布林带上下轨关系判断波动机会 - **海龟交易策略**: 基于通道突破的动量交易策略 - **多因子选股策略**: 综合多个因子(动量、波动率、成交量等)进行股票评分与筛选 ## 部署说明 - **访问应用**: 默认运行在 `http://localhost:3000` - **生产环境配置**: 编辑 `.env.production` 文件 ## 开发计划 - 增加更多量化策略(如MACD、ATR等) - 增强前端可视化功能(图表展示) - 支持更多股票市场与数据源 - 增加回测模块与绩效评估功能 ## 许可证 本项目采用 MIT License,请参阅 LICENSE 文件获取详细信息。