
项目简介
期货因子挖掘实验是一个开箱即用的期货量化研究与模拟交易平台。它把行情查看、因子挖掘、策略回测、纸面交易、实时量化任务和 AI 辅助看盘集中在同一套自托管系统中,适合用于学习、研究和模拟实验。

项目默认提供新浪财经免费行情,约每 5 秒刷新一次,不需要注册行情账号。数据库、缓存和业务数据均由部署者自行托管;如果拥有自己的 CTP 兼容行情前置,也可以在管理后台配置相应的 tcp:// 地址。
本项目仅供学习研究和模拟交易实验,不构成投资建议。接入实盘行情或交易接口时,风险与合规责任由使用者自行承担。
核心功能
- 行情终端:提供新浪免费实时报价与 K 线历史,并支持自选列表、品种树;五档盘口等能力取决于接入的行情源。
- 因子实验室:内置 60 多种特征,可通过表达式开展因子挖掘,并使用 token 编码复现实验。
- 历史回测:支持多周期 K 线回测、AI 生成 K 线回测和决策模型回测。
- 模拟交易:提供纸面账户、挂单撮合、持仓管理、权益曲线以及多种平仓标准。
- 量化任务:实时计算策略信号,支持多周期共振和信号 K 线止损。
- AI 看盘:通过自行配置的 LLM 渠道生成主播式盘面播报与交易辅助信息。
- 管理后台:管理行情渠道监控与主备切换、K 线源、用户和配额。
技术架构
后端基于 Python 3.12、FastAPI、异步 SQLAlchemy、PostgreSQL 和 Redis;前端使用 Next.js 15、React 19 与 Tailwind CSS;完整服务通过 Docker Compose 编排。
这种架构将前端、API、数据库和缓存统一纳入容器化部署,适合在个人服务器或内部研究环境中自托管。

安装与启动
第一步:准备部署环境
在开始之前,请确保运行环境已经安装 Docker,并且可以使用 Docker Compose。随后获取项目源码并进入仓库根目录。
第二步:创建环境变量文件
复制仓库提供的示例配置:
cp .env.example .env打开 .env,按部署环境检查或修改数据库、Redis 与 JWT 密钥等配置。公开部署时,不应继续使用容易猜测或与示例相同的密钥。
第三步:启动容器
在仓库根目录执行:
docker compose up -d该命令会在后台启动 Compose 定义的服务。启动后,可使用以下命令查看容器状态:
docker compose ps数据库建表、数据配置和完整环境变量说明以项目中的 SELF-HOSTING.md 为准。README 没有固定承诺访问端口,因此应根据 Compose 文件与本地环境变量确定实际访问地址。
配置行情源
直接使用默认新浪行情
首次体验时可以保留默认的 sina 行情源。该来源无需账号或服务器地址,默认约 5 秒刷新,适合快速验证行情页面和基础研究流程。

接入自有 CTP 兼容前置
如果已有可用的 CTP 兼容行情服务,可选择 ctp_sim,然后在管理后台的“行情渠道监控”页面填写自己的地址,例如:
tcp://host:port开源仓库不会内置付费或私有行情服务器地址,部署者必须自行取得并配置合法可用的前置地址。
使用 openctp 7×24 模拟环境
openctp_724 对应 openctp 的 7×24 模拟环境,适合虚拟盘实验。不同数据源可提供的字段和深度可能不同,例如五档盘口需要对应行情源本身具备该能力。
基础使用流程
1. 从行情终端选择研究对象
进入行情终端后,通过自选列表或品种树查看期货报价与历史 K 线。先确认行情正在更新,再开展因子实验或回测,可以减少因数据源异常导致的误判。
2. 在因子实验室开展实验
因子实验室提供 60 多种内置特征,并支持使用表达式组合因子。建议从较简单的表达式开始,记录研究品种、周期和参数,再逐步增加复杂度。

平台的 token 编码可用于复现实验。完成一次有价值的因子研究后,应保存对应 token,并同时记录所使用的数据源与时间范围。这样在重新运行或对比结果时,更容易确保实验条件一致。
3. 运行历史回测
进入回测模块,根据研究目标选择多周期 K 线回测、AI 生成 K 线回测或决策模型回测。回测时应重点检查所选周期、信号逻辑与平仓条件是否与原始假设一致。

不要只观察单一收益结果。由于 README 没有规定具体评价指标或默认参数,实际分析时应以系统展示的回测结果为基础,并结合不同周期和不同条件进行对照。
4. 转入模拟交易验证
在历史回测之后,可使用纸面账户进行模拟验证。模拟交易模块支持挂单撮合、持仓查看与权益曲线,并可使用指标死叉、因子阈值或波段参考等平仓标准。

推荐先使用模拟账户观察信号在连续行情中的表现,而不是把历史回测结论直接视为未来表现。特别需要核对挂单状态、持仓变化与权益曲线是否符合策略预期。
5. 创建实时量化任务
量化任务可以实时计算策略信号,并支持多周期共振和信号 K 线止损。实际使用时,可先以单一周期验证信号,再增加其他周期进行共振过滤,以便区分基础信号与多周期条件的影响。
6. 配置 AI 看盘
AI 看盘依赖部署者自行配置模型渠道。完成 LLM 渠道设置后,系统可提供主播式盘面播报和交易辅助信息。

AI 输出应作为研究辅助,而不是确定性的交易结论。使用 AI 生成 K 线或盘面解读时,应结合原始行情、回测结果和模拟账户表现独立核验。
进阶使用建议
保持实验可复现
- 保存因子表达式对应的 token 编码。
- 记录品种、K 线周期、数据源和实验时间范围。
- 对比实验时尽量只修改一个关键变量。
- 切换行情源后重新检查数据字段与盘口能力。
分阶段验证策略
- 在因子实验室构建并检查因子。
- 通过历史回测验证不同周期下的表现。
- 使用纸面账户测试挂单、持仓和平仓流程。
- 创建量化任务,观察实时信号与多周期共振。
- 将 AI 看盘作为补充信息,而非替代策略规则。
利用行情渠道管理提高可用性
如果配置了多个行情渠道,可使用管理后台进行渠道监控与主备切换。应定期检查连接状态,并确保备用渠道已经填写正确、可访问的服务地址。
保护自托管环境
部署前应修改 JWT 密钥,并妥善保护 PostgreSQL、Redis、行情前置和模型渠道的连接信息。用户与配额可通过管理后台维护,避免不必要的资源消耗或未授权访问。
常用运维命令
查看当前容器状态:
docker compose ps查看服务日志:
docker compose logs持续跟踪日志:
docker compose logs -f停止 Compose 服务:
docker compose down如需调整数据库、Redis、JWT 或其他配置,应先参考项目自部署文档,并结合当前 Docker Compose 配置操作。
结语
期货因子挖掘实验提供了一条完整的自托管研究路径:从免费行情和因子构建开始,经过多周期回测与模拟交易,再扩展到实时量化任务和 AI 看盘。建议先使用默认新浪行情完成基础流程,再按需求接入自有行情前置与模型渠道,并始终在研究和模拟范围内谨慎验证策略。
