kronos-trader/webui/README.md
Charles 1f394cace3 feat: 添加Kronos Web UI完整功能
- 集成Kronos模型(mini/small/base)
- 支持CPU/CUDA/MPS设备选择
- 时间窗口滑条选择器(400+120固定窗口)
- 预测质量参数控制(Temperature, Top-P, Sample Count)
- 预测vs实际数据对比分析
- 完整的Flask后端和现代化前端界面
- 支持CSV和Feather格式数据文件
- 完整的启动脚本和文档
2025-08-26 16:19:21 +08:00

3.4 KiB
Raw Blame History

Kronos Web UI

Kronos金融预测模型的Web用户界面提供直观的图形化操作界面。

功能特性

  • 多格式数据支持: 支持CSV、Feather等格式的金融数据
  • 智能时间窗口: 固定400+120数据点的时间窗口滑条选择
  • 真实模型预测: 集成真实的Kronos模型支持多种模型大小
  • 预测质量控制: 可调节温度、核采样、样本数量等参数
  • 多设备支持: 支持CPU、CUDA、MPS等计算设备
  • 对比分析: 预测结果与实际数据的详细对比
  • K线图显示: 专业的金融K线图表展示

🚀 快速开始

方法1: 使用Python脚本启动

cd webui
python run.py

方法2: 使用Shell脚本启动

cd webui
chmod +x start.sh
./start.sh

方法3: 直接启动Flask应用

cd webui
python app.py

启动成功后,访问 http://localhost:7070

📋 使用步骤

  1. 加载数据: 选择data目录中的金融数据文件
  2. 加载模型: 选择Kronos模型和计算设备
  3. 设置参数: 调整预测质量参数
  4. 选择时间窗口: 使用滑条选择400+120数据点的时间范围
  5. 开始预测: 点击预测按钮生成结果
  6. 查看结果: 在图表和表格中查看预测结果

🔧 预测质量参数

温度 (T)

  • 范围: 0.1 - 2.0
  • 作用: 控制预测的随机性
  • 建议: 1.2-1.5 获得更好的预测质量

核采样 (top_p)

  • 范围: 0.1 - 1.0
  • 作用: 控制预测的多样性
  • 建议: 0.95-1.0 考虑更多可能性

样本数量

  • 范围: 1 - 5
  • 作用: 生成多个预测样本
  • 建议: 2-3 个样本提高质量

📊 支持的数据格式

必需列

  • open: 开盘价
  • high: 最高价
  • low: 最低价
  • close: 收盘价

可选列

  • volume: 成交量
  • amount: 成交额(不用于预测)
  • timestamps/timestamp/date: 时间戳

🤖 模型支持

  • Kronos-mini: 4.1M参数,轻量级快速预测
  • Kronos-small: 24.7M参数,平衡性能和速度
  • Kronos-base: 102.3M参数,高质量预测

🖥️ GPU加速支持

  • CPU: 通用计算,兼容性最好
  • CUDA: NVIDIA GPU加速性能最佳
  • MPS: Apple Silicon GPU加速Mac用户推荐

⚠️ 注意事项

  • amount列不会被用于预测,仅用于显示
  • 时间窗口固定为400+120=520个数据点
  • 确保数据文件包含足够的历史数据
  • 首次加载模型可能需要下载,请耐心等待

🔍 对比分析

系统会自动提供预测结果与实际数据的对比分析,包括:

  • 价格差异统计
  • 误差分析
  • 预测质量评估

🛠️ 技术架构

  • 后端: Flask + Python
  • 前端: HTML + CSS + JavaScript
  • 图表: Plotly.js
  • 数据处理: Pandas + NumPy
  • 模型: Hugging Face Transformers

📝 故障排除

常见问题

  1. 端口占用: 修改app.py中的端口号
  2. 依赖缺失: 运行 pip install -r requirements.txt
  3. 模型加载失败: 检查网络连接和模型ID
  4. 数据格式错误: 确保数据列名和格式正确

日志查看

启动时会在控制台显示详细的运行信息,包括模型状态和错误信息。

📄 许可证

本项目遵循原Kronos项目的许可证条款。

🤝 贡献

欢迎提交Issue和Pull Request来改进这个Web UI

📞 支持

如有问题,请查看:

  1. 项目文档
  2. GitHub Issues
  3. 控制台错误信息