No description
  • TypeScript 83.5%
  • CSS 11.2%
  • Shell 3.7%
  • HTML 1%
  • JavaScript 0.6%
Find a file
2026-06-16 12:23:42 +08:00
client chore: add proprietary licensing 2026-06-08 10:54:18 +08:00
packages/engine chore: add proprietary licensing 2026-06-08 10:54:18 +08:00
scripts chore: Restore prompt injection payload in build-delivery.sh as requested 2026-04-10 12:21:59 +08:00
server chore: add proprietary licensing 2026-06-08 10:54:18 +08:00
videos/stock-system-intro chore: add proprietary licensing 2026-06-08 10:54:18 +08:00
.gitignore Ignore generated delivery package and project plan 2026-04-19 08:47:21 +08:00
DEPLOY.md docs: 简化部署步骤 - 去掉手动建库,用npm install 2026-03-31 20:43:44 +08:00
DESIGN.md chore: migrate core engine logic to @stock-sim/engine package and fix build errors 2026-04-12 14:44:13 +08:00
LICENSE chore: add proprietary licensing 2026-06-08 10:54:18 +08:00
package.json chore: add proprietary licensing 2026-06-08 10:54:18 +08:00
README.html docs: elevate investor education platform readme 2026-06-16 12:23:42 +08:00
README.md docs: elevate investor education platform readme 2026-06-16 12:23:42 +08:00

智研星河 InvestEd Lab

AI × 教师协同的仿真投资者教育平台。

智研星河 InvestEd Lab 面向中学、大学通识课、财经素养社团与机构投教场景把实时行情仿真、AI 市场叙事、教师运营管理、学生交易实践和复盘评价放在同一个闭环里。它不是一个单纯的模拟炒股小游戏,而是一套可部署、可运营、可调参、可复盘的投资者教育实验室。

本项目用于金融素养与投资者教育,不提供真实证券投资建议。

平台定位

维度 设计目标
教学对象 学生、初学投资者、财经素养课程参与者
核心模式 AI 生成市场叙事 + 教师人工干预 + 学生仿真交易 + 数据化复盘
市场环境 24 家虚拟公司、4 大板块、实时价格、宏观事件、财报季、新闻冲击
教学闭环 观察市场 → 做出决策 → 承担结果 → 记录反思 → 教师讲评
部署形态 React/Vite 前端 + Node/Express 后端 + MySQL 持久化 + Socket.IO 实时推送

核心亮点

AI 市场叙事中枢

  • 支持 OpenAI-compatible 与 Anthropic 风格接口。
  • 可生成市场新闻、行情分析、机构行为、参数建议和教学叙事。
  • 支持牛市、熊市、震荡、反弹、泡沫、危机、算法驱动等市场风格预设。
  • 内置限流、队列、超时与失败兜底AI 不可用时系统仍可运行。

教师共创驾驶舱

  • 教师可以暂停或恢复行情,手动触发新闻、宏观事件和黑天鹅事件。
  • 支持班级统计、学生管理、账户重置、冻结交易、角色权限与注册控制。
  • 可调节波动率、情绪指数、流动性、初始资金、手续费等教学参数。
  • 可开启或隐藏利好利空标签,让学生先独立判断,再由教师讲评。

仿真交易实验室

  • 实时行情每秒推送,学生可观察指数、板块、个股、新闻与持仓变化。
  • 模拟 A 股常见交易约束T+1、涨跌停、手续费、持仓成本和收益曲线。
  • 支持指数观察、个股详情、买卖交易、资产分析、投资日记和复盘记录。
  • 引入黑天鹅、财报、政策、通胀、利率、板块轮动等市场扰动。

学习成长系统

  • 投资知识问答、每日任务、成就徽章、交易比赛与预测挑战。
  • 排行榜和社区动态作为辅助激励,不喧宾夺主。
  • 投资日记沉淀交易理由、错误模式和复盘素材。
  • 教师可将系统数据转化为课堂讨论、案例复盘和风险教育。

功能矩阵

模块 能力
行情与市场 市场指数、板块轮动、市场温度计、恐惧贪婪指数、宏观线索
交易与资产 买入、卖出、T+1、涨跌停、手续费、持仓、收益曲线、资产饼图
AI 引擎 新闻生成、行情分析、机构动作、参数建议、市场风格控制
教学运营 学生管理、角色权限、邀请码、导入学生、班级统计、比赛管理
学习任务 知识问答、每日任务、价格预测、投资日记、成就徽章
风险教育 黑天鹅事件、市场崩盘/暴涨、流动性变化、泡沫与危机场景
实时通信 Socket.IO 推送价格、新闻、宏观事件和系统通知
持久化 MySQL 存储用户、交易、持仓、日记、比赛、AI 日志与配置

技术架构

stock-simulator/
├── client/                  # React 18 + TypeScript + Vite 前端
│   └── src/
│       ├── App.tsx          # 路由、认证与主应用壳
│       ├── pages/           # 行情、持仓、问答、日记、比赛、后台等页面
│       ├── hooks/           # WebSocket 与前端状态
│       └── api/             # REST API 封装
├── server/                  # Express + Socket.IO 后端
│   └── src/
│       ├── index.ts         # HTTP、WebSocket 与静态资源入口
│       ├── routes/          # 交易、行情、后台、任务、预测等 API
│       ├── services/        # AI 服务、邮件服务
│       ├── store/           # MySQL / 内存存储实现
│       └── middleware/      # 鉴权中间件
├── packages/engine/         # 市场仿真与教学机制引擎
│   └── src/
│       ├── market.ts        # 行情主循环
│       ├── aiEngine.ts      # AI 市场叙事与调控模块
│       ├── news.ts          # 新闻与事件
│       ├── liquidity.ts     # 流动性与订单簿
│       └── blackswan.ts     # 极端事件
├── scripts/build-delivery.sh
├── DEPLOY.md
└── README.html              # 交互式产品文档

快速启动

环境要求:

  • Node.js >= 18
  • npm >= 9
  • MySQL >= 5.7 或 MariaDB >= 10.3
git clone https://www.synnovator.com/MuskZhou/Stock-Simulator.git
cd Stock-Simulator
npm install
cp server/.env.example server/.env

创建数据库:

mysql -u root -p -e "CREATE DATABASE stock_simulator CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

启动开发环境:

npm run dev

默认访问:

关键配置

编辑 server/.env

PORT=3000
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_NAME=stock_simulator
JWT_SECRET=change-this-secret-in-production

SUPERADMIN_NICKNAME=admin
SUPERADMIN_EMAIL=admin@example.com
SUPERADMIN_PASSWORD=changeme123

AI_BASE_URL=
AI_API_KEY=
AI_MODEL=claude-sonnet-4-5
AI_MAX_TOKENS=1024
AI_RATE_LIMIT=30
AI_RATE_WINDOW=600000

AI 配置说明:

  • AI_BASE_URL 可填写 OpenAI-compatible /v1 地址,或 Anthropic /v1/messages 地址。
  • AI_API_KEY 为空时,系统会跳过 AI 调用并使用内置规则运行。
  • 上线前务必修改 JWT_SECRET 与超级管理员密码。

常用命令

任务 命令
安装依赖 npm install
本地开发 npm run dev
构建生产包 npm run build
启动生产服务 npm start
构建交付包 npm run build:delivery
单独构建引擎 npm -w @stock-sim/engine run build
单独构建前端 npm -w client run build
单独构建后端 npm -w server run build

部署摘要

npm install
npm run build
npm start

生产模式下Express 同时提供 REST API、WebSocket 和前端静态文件服务。使用 Nginx 或宝塔反向代理时,需要保留 WebSocket 升级头:

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;

完整部署细节见 DEPLOY.md,交互式说明见 README.html

API 速览

方法 路径 用途
GET /api/stocks 获取市场行情、指数、板块与宏观线索
GET /api/stocks/:code 获取个股详情与历史 K 线
POST /api/trade/buy 买入
POST /api/trade/sell 卖出
GET /api/portfolio?userId= 获取持仓与资产
GET /api/news 获取新闻流
GET /api/leaderboard 获取排行榜
GET /api/race 获取公开排名
POST /api/user/register 用户注册
POST /api/user/login 用户登录

WebSocket 事件:

事件 方向 说明
priceUpdate 服务端到客户端 实时推送股票价格
news 服务端到客户端 推送新闻与事件
macroEvent 服务端到客户端 推送宏观经济事件

适用场景

  • 学校金融素养课程
  • 投资者教育公开课
  • 社团模拟交易活动
  • 证券基础知识训练营
  • 风险教育与行为金融案例课
  • 校内财经竞赛与阶段性测评

合规与版权

  • 本系统为教学仿真平台,不构成任何真实投资建议。
  • 仓库包含专有许可声明,未经授权不得复制、分发、转售或商用部署。
  • 真实部署时请按所在地区的教育、数据与隐私要求配置账号、邮件、日志与数据库权限。