UQTool AI量化交易策略系统
基于AI仓位预测的多市场自动化交易系统 | 让AI成为你的24小时投资顾问

项目地址:https://github.com/gwailee/uqtool_com_ai
演示地址:
- 在线演示1:股票轮动(https://nujin.com/)查看密码:view123
- 在线演示2:ETF基金轮动(https://swtool.com/)查看密码:view123
📖 目录
🎯 项目简介
UQTool AI量化交易策略系统包含两大核心:一是通过AI预测个股合理仓位和周收益,将交易行为转化为建仓、加仓、减仓、反手等仓位控制过程;二是利用AI评分实现选股轮动。简单来说,这是一个智能投资助手——它运用人工智能技术分析海量金融数据,预测市场未来走向,帮你制定更明智的投资决策。就像有一位专业的投资顾问,24小时不间断地分析市场,为你提供专业的策略建议。
✨ 它能帮你做什么?
- 📊 分析行业发展趋势:通过AI预测市场方向
- 🎯 智能选股:基于高级评分筛选优质标的
- 🔄 跟单交易:复制优秀用户的交易策略
- ⚠️ 风险控制:自动管理仓位,控制回撤
- 📚 投资复盘学习:对比AI策略,提升投资技能
- 🤖 培养投资能力:在模拟环境中零成本实践
🧠 策略原理
核心思想:凯利公式最优仓位控制
本系统的核心策略基于凯利公式(Kelly Criterion),这是由约翰·凯利在1956年提出的资金管理公式,用于计算在给定胜率和盈亏比的情况下,最优的下注比例。
四步计算法
1. 确定胜率(p):通过历史数据估算盈利概率。例如:100次交易中60次盈利,胜率=60%。
💡 提高胜率技巧:同时买入多个不相关品种(如黄金胜率80% + 原油胜率70%),组合胜率 = 1 – (0.2×0.3) = 94.4%
2. 确定收益风险比(b):预期收益与可能损失的比值。例如:预期赚20%,可能亏10%,比值=2
3. 计算失败概率(q):q = 1 – p。例如:胜率60%,失败概率=40%
4. 计算投资比例(f):公式:f = (b×p – q)/b。举例:b=2, p=0.6, q=0.4 → f = (2×0.6 – 0.4)/2 = 0.4。结论:每次投入40%资金是最优策略
AI仓位预测模型
UQTool的AI模型基于深度学习技术,输出-100%到100%的仓位建议:
| 仓位值 | 含义 | 操作建议 |
|---|---|---|
| 正数(如80%) | 多头仓位 | 买入80%仓位 |
| 负数(如-80%) | 空头仓位 | 卖出(做空)80%仓位 |
| 0% | 空仓观望 | 清仓离场 |
策略执行流程
1. AI模型预测 → 2. 仓位目标计算 → 3. 持仓差异分析 → 4. 订单执行
预测结果解读
| 指标 | 说明 |
|---|---|
| 仓位 | -100%~100%,正数为多头,负数为空头 |
| 预期周收益 | 预测未来一周扣除亏损后的收益,正数代表多头盈利,负数代表空头盈利 |
| 预测准确率 | 模型验证的方向性精度(如92.59%) |
👥 适合的用户群
- 🆕 新手投资者:通过模拟交易零成本学习,AI策略提供专业参考
- 🤖 量化交易爱好者:API接入策略数据,在行情软件上显示策略指标
- 🔄 跟单交易者:自动跟单功能,实时同步优秀用户持仓
- 💼 投资老手:AI仓位预测提供多空信号参考,辅助决策
- 💰 小资金投资者:今日买明日卖,快速滚动策略
- 🏦 大资金投资者:买入持有,等待翻倍,追求长期稳健收益
✨ 核心特性
🚀 交易功能
- 多市场支持:股票(A股)、期货、外汇、期权、贵金属、指数、可转债、基金
- 标准交易:现货市场的买入/卖出操作
- 保证金交易:期货/外汇市场的做多开仓、做空开仓、平多仓、平空仓
- 批量下单:篮子单功能,支持批量执行多个订单
- 一键清仓:快速清空所有持仓
- 用户跟单:复制其他用户的交易策略
- 合约跟单:基于AI模型预测的仓位进行自动交易
📊 业绩指标
- 基础指标:总收益率、年化收益率、最大回撤、夏普比率
- 高级指标:阿尔法(Alpha)、贝塔(Beta)、胜率、盈亏比
- 基准对比:相对沪深300的超额收益
- 实时计算:基于净值历史自动计算所有指标
📈 Web监控面板
- 实时仪表板:总资产、收益率、持仓情况一目了然
- 净值曲线图:账户净值 vs 沪深300对比图表
- 持仓管理:查看持仓详情,支持排序筛选
- 同步监控:显示定时同步状态、倒计时、API调用剩余次数
- 手动操作:支持手动触发历史/实时同步、一键清仓
⏰ 定时任务
- 自动同步:可配置多个时间点自动执行跟单同步
- 灵活配置:支持自定义同步时间(如09:40、14:40)
🏗️ 系统架构
uqtool-trading-system/ ├── uqtool_trader_core.py # 核心交易库(支持自定义券商) ├── app.py # Web服务主程序(高并发优化版) ├── config.py # 配置文件 ├── templates/ # Web仪表板页面、图表库、数据文件 └── logs/ # 日志文件
默认使用UQToolBroker(模拟交易),用户可实现自己的Broker接入实盘券商。
🚀 快速开始
1. 环境要求: Python 3.7+,pip包管理器
2. 安装依赖: pip install -r requirements.txt
3. 配置API密钥: 编辑config.py,填入API_KEY等信息。
获取API密钥:访问 https://www.uqtool.com/test_tool 登录后生成
4. 配置交易品种: 在config.py中配置FOLLOW_CONTRACT_SYMBOLS
5. 配置跟单用户: 在config.py中配置FOLLOW_USER_CONFIG
6. 启动Web服务: python app.py
7. 访问Web面板: 打开浏览器访问 http://localhost:18099,默认密码admin123
⚙️ 配置指南
详细配置说明请参考原文档。主要配置文件为config.py,包含全局配置、交易品种配置、跟单用户配置和定时任务配置。
📖 使用说明
Web面板提供控制栏、监控卡片、净值曲线图、统计卡片、持仓表格和同步历史等功能模块。核心API接口包括获取仪表板数据、手动同步、设置同步时间、一键清仓和获取监控状态等。
系统针对高并发访问进行了全面优化:缓存机制(仪表板数据缓存5秒,监控状态缓存2秒)、LRU淘汰策略、异步处理、日志限流、线程安全、多进程部署等,有效防止CPU和内存快速占满。
系统采用插件化架构,您可以轻松接入自己的实盘券商。通过实现Broker接口中的get_positions、execute_basket_orders、get_account_info等方法,即可创建自定义券商实例。
📚 API参考
核心类UQToolTrader提供以下主要方法:
- __init__(api_key, host, broker):初始化交易核心
- execute_standard_trade(…):执行标准现货交易
- execute_margin_trade(…):执行保证金交易
- execute_basket_orders(orders, …):批量执行订单
- liquidate_all(confirm, price_type):一键清仓
- follow_user_trade(followed_id, amount, …):跟单用户
- get_realtime_position(symbol_info):获取AI实时仓位
- get_account_info():获取账户信息
- get_performance_metrics():获取业绩指标
🔗 相关链接
| 资源 | 链接 | 说明 |
|---|---|---|
| GitHub项目 | https://github.com/gwailee/uqtool_com_ai | 源码仓库 |
| 策略教程 | https://www.uqtool.com/readme | AI量化交易策略完整教程 |
| API指南 | https://www.uqtool.com/test_tool | 生成API密钥、测试接口 |
| 炒股广场 | https://www.uqtool.com/chaoguguangchang | 查看高手持仓、学习交流 |
| 模拟交易界面 | https://www.uqtool.com/trade | 手动下单、查看交易结果 |
| 个人中心 | https://www.uqtool.com/gerenzhongxin | 账户管理、VIP升级 |
❓ 常见问题
- 如何获取API密钥?访问 https://www.uqtool.com/test_tool 登录后生成
- 数据什么时候更新?每天18:00-21:00更新
- 策略是马后炮吗?绝对不是!策略基于收盘价模型,用昨日持仓计算今日收益
- 如何解决信号延迟?使用AI实时预测功能或次日早盘跟单
- 跟单没反应怎么办?检查配置、API调用次数和日志文件
- 图表不显示?检查浏览器控制台错误和数据接口
- 定时同步未触发?确认服务器时间和配置
- 如何提高胜率?同时买入多个不相关品种
- 如何计算最优仓位?使用凯利公式
📊 性能指标说明
| 指标 | 计算公式 | 说明 |
|---|---|---|
| 总收益率 | (当前净值-初始净值)/初始净值×100% | 累计总收益 |
| 年化收益率 | (1+总收益率)^(365/天数)-1 | 年化后的收益率 |
| 最大回撤 | max(峰值-谷值)/峰值×100% | 历史最大亏损幅度 |
| 夏普比率 | (年化收益率-无风险利率)/年化波动率 | 风险调整后收益 |
| 胜率 | 盈利交易天数/总交易天数×100% | 盈利概率 |
| 盈亏比 | 平均盈利/平均亏损 | 风险回报比 |
🤝 贡献指南
欢迎提交Issue和Pull Request!Fork本仓库 → 创建特性分支 → 提交更改 → 推送到分支 → 打开Pull Request。
📄 许可证
本项目基于MIT许可证开源。
⚠️ 免责声明
本文内容仅供参考,不构成任何投资建议。投资者应依据自身判断做出决策,并自行承担投资风险。
📞 联系方式
- GitHub Issues: https://github.com/gwailee/uqtool_com_ai/issues
- UQTool官网: https://www.uqtool.com
- 智能客服: 网站右下角在线客服
- 商务合作(微信): gwailee
🙏 致谢
- UQTool – 提供AI量化交易平台和API
- FastAPI – 现代化的Web框架
- Chart.js – 简单灵活的图表库
⭐ 如果这个项目对你有帮助,欢迎Star支持!