# quant-a **Repository Path**: wjsdmzz/quant-a ## Basic Information - **Project Name**: quant-a - **Description**: 基于 Flutter Web + FastAPI 的智能量化交易系统,集成大语言模型(LLM)进行股票分析和交易建议。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-30 - **Last Updated**: 2026-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Quant-A AI量化自动交易系统 基于 Flutter Web + FastAPI 的智能量化交易系统,集成大语言模型(LLM)进行股票分析和交易建议。 ## 项目结构 ``` quant-a/ ├── web/ # FastAPI 后端服务 │ └── app.py # 主应用入口 ├── utils/ # 工具模块 │ ├── data.py # 数据获取(AkShare、Tushare等) │ ├── ai_analyzer.py # AI分析器(集成DeepSeek LLM) │ └── db_cache.py # 数据库缓存 ├── trading/ # 交易模块 │ └── platform_interface.py # 交易平台接口 ├── strategies/ # 交易策略 ├── analyzers/ # 技术分析器 ├── backtest/ # 回测模块 ├── scripts/ # 脚本工具 ├── data/ # 数据目录(不提交历史数据) ├── docs/ # 文档 ├── ops/ # 运维脚本 └── flutter-app/ # Flutter Web 前端(位于 /home/oooa/flutter-app) ## 主要功能 ### 1. 股票行情分析 - K线图表(日线、周线、月线) - 成交量分析 - 技术指标(MA5/MA10/MA20/MA60, RSI, MACD等) ### 2. AI趋势预测 - 基于历史数据的5期预测 - 置信区间可视化 - 历史数据与预测数据对比 ### 3. AI买卖建议 - 集成本地大语言模型(DeepSeek-R1-Distill-Qwen-14B) - 技术分析 + 基本面分析 - 具体买入价格、目标价、止损价建议 - 自动刷新(每3分钟) ### 4. 持仓管理 - 实时持仓信息 - AI持仓建议(止损/止盈/持有观望) - 盈亏计算 ### 5. 手动交易记录 - 交易平台交易完成后录入 - 记录交易价格、佣金、印花税等费用 - 自动更新账户资金和持仓 ### 6. 自选股管理 - 自选股列表(最多6只) - 实时价格和涨跌幅 - 30秒自动刷新 ## 技术栈 ### 后端 - **FastAPI**: Web框架 - **Python 3.10+**: 运行环境 - **pandas**: 数据处理 - **AkShare/Tushare**: 股票数据源 - **SQLite**: 数据缓存 - **vLLM**: 本地大语言模型服务 ### 前端 - **Flutter Web**: 跨平台Web框架 - **Provider**: 状态管理 - **fl_chart**: 图表库 - **Dio**: HTTP客户端 ### AI模型 - **DeepSeek-R1-Distill-Qwen-14B**: 本地部署的推理模型 - **vLLM**: 高性能推理引擎 - **Tensor Parallelism**: 双GPU并行推理 ## 快速开始 ### 1. 后端启动 ```bash # 安装依赖 pip install -r requirements.txt # 启动服务 cd web uvicorn app:app --host 0.0.0.0 --port 8000 ``` 或使用 systemd 服务: ```bash sudo systemctl start quant-a-web ``` ### 2. 前端启动(8080) **推荐:构建一次 + systemd 常驻**(重启后仍可访问 `http://127.0.0.1:8080`) ```bash cd /home/oooa/flutter-app flutter build web --pwa-strategy=none # 若提示未找到 flutter,见 docs/FLUTTER_SDK_FEDORA.md;已有 build/web 可跳过 sudo bash /home/oooa/quant-a/ops/install-frontend-service.sh ``` 详见:[前端 8080 部署说明](docs/FRONTEND_8080_SETUP.md)、[Fedora 安装 Flutter](docs/FLUTTER_SDK_FEDORA.md)。 **临时手动启动**(关机后需重新执行): ```bash cd /home/oooa/flutter-app/build/web python3 -m http.server 8080 --bind 0.0.0.0 ``` 页面地址:`http://127.0.0.1:8080/`;接口默认指向后端 `http://127.0.0.1:8000`(见 `flutter-app/lib/utils/constants.dart`)。 ### 2.1 一键检查三服务(可选) | 服务 | 端口 | systemd 单元 | |------|------|----------------| | 前端静态页 | 8080 | `quant-a-frontend` | | 量化 API | 8000 | `quant-a-web` | | 本地 LLM | 8001 | `quant-a-vllm` | ```bash sudo systemctl enable --now quant-a-web quant-a-frontend # LLM 按需再加 quant-a-vllm sudo systemctl status quant-a-web quant-a-frontend ``` ### 3. 本地 LLM 服务(vLLM,端口 **8001**,双卡) 与量化 Web(8000)分离:**先起 vLLM,再起后端**(或两者均用 systemd 自启)。 ```bash # 手动启动(与 systemd 脚本 ops/run-vllm-serve.sh 等价) source ~/venv-vllm/bin/activate vllm serve /home/oooa/models/DeepSeek-R1-Distill-Qwen-14B \ --host 0.0.0.0 \ --port 8001 \ --tensor-parallel-size 2 \ --served-model-name DeepSeek-R1-Distill-Qwen-14B \ --gpu-memory-utilization 0.85 \ --max-model-len 32768 ``` 安装为系统服务(开机自启): ```bash sudo bash /home/oooa/quant-a/ops/install-vllm-service.sh # 可选:cp ops/env.vllm.example .env.vllm 后按需改模型路径 ``` 验证:`curl -s http://127.0.0.1:8001/v1/models` ## 配置说明 ### 环境变量 后端服务需要配置以下环境变量(在 systemd 服务文件中): `ops/systemd/quant-a-web.service` 已默认指向本地 vLLM: ```ini Environment="DEEPSEEK_BASE_URL=http://127.0.0.1:8001/v1" Environment="DEEPSEEK_MODEL=DeepSeek-R1-Distill-Qwen-14B" Environment="DEEPSEEK_API_KEY=dummy" ``` 若需改 URL/模型名:执行 `sudo systemctl edit quant-a-web` 写入覆盖配置,或按 `ops/env.deepseek.example` 内说明用 `EnvironmentFile` 指向自定义文件。 ### 账户配置 账户信息保存在 `data/account.json`,可通过API或直接编辑文件修改。 ## 数据刷新频率 - **行情数据**: 3分钟 - **自选股价格**: 30秒 - **AI趋势图**: 每天一次(预测5期) - **AI买卖建议**: 3分钟 - **账户信息**: 3分钟 所有刷新均为静默刷新,无用户感知。 ## 文档 - [代码结构说明](CODE_STRUCTURE.md) - [交易设置指南](TRADING_SETUP.md) - [可行性分析](FEASIBILITY.md) - [手动安装指南](docs/MANUAL_INSTALL_GUIDE.md) - [前端 8080 与 systemd](docs/FRONTEND_8080_SETUP.md) - [Fedora 安装 Flutter SDK](docs/FLUTTER_SDK_FEDORA.md) - [本地 vLLM 8001 对接](docs/VLLM_8001_SETUP.md) - [Web 服务自启动](ops/README_WEB_SERVICE.md) ## 许可证 MIT License ## 贡献 欢迎提交 Issue 和 Pull Request。