- 交易所:OKX(REST + WebSocket)
- 架构:前后端分离,后端 Python/FastAPI + SQLite/Turso,前端 Web(后续可 React/Ant Design)。
- 核心功能:
- 仪表盘:账户权益、可用余额、持仓、权益曲线、主流币种行情。
- 择时策略:多指标(MACD、KDJ、BOLL、RSI、BBI、CCI、MA、K 线形态)组合,AND/OR 逻辑,回测 + 实盘。
- 回测:基于 OKX 历史 K 线数据生成本地回测数据库,输出收益曲线、回撤等。
- 实盘:按自定义监控周期(如 20 秒)执行策略,支持交易对、周期、杠杆。
- AI 策略生成:调用 OpenAI 兼容大模型(如 DeepSeek),从自然语言生成可回测、可执行策略。
- 所有下单请求自动注入隐藏券商标签
c314b0aecb5bBCDE。
-
后端:
- 语言:Python 3.10+
- 框架:FastAPI
- ORM:SQLAlchemy + Alembic(迁移可后续补充)
- 数据库:SQLite(本地),后续可切换/扩展 Turso
- 定时调度:APScheduler(嵌入 FastAPI)
- 指标计算:pandas + numpy(后续可接入 TA-Lib/pandas-ta)
-
目录结构(初版草案):
app/main.py:应用入口core/:配置、依赖、日志db/:数据库会话、基础模型models/:SQLAlchemy ORM 模型schemas/:Pydantic 模型api/:路由(dashboard.py、strategy.py、backtest.py、trading.py、ai.py等)services/:业务服务(okx_client.py、strategy_engine.py、backtest_engine.py、live_trading.py、ai_strategy.py等)workers/:调度任务(行情同步、回测、实盘执行)
requirements.txt:依赖
- 初始化项目结构与依赖:
- 创建
app/main.py,启动 FastAPI 应用与健康检查接口。 - 创建
app/core/config.py,集中管理配置(数据库 URL、OKX/API 配置、AI 配置等)。 - 创建
app/db/session.py,SQLAlchemy 会话与基础 Base。 - 创建
requirements.txt,包含 fastapi、uvicorn、sqlalchemy、pydantic、pandas、numpy 等。
- 创建
- 设计并实现核心数据库模型:
- 用户:
User - 交易账户(OKX API):
ExchangeAccount - 交易品种:
Symbol - K 线:
Kline - 策略:
Strategy - 回测:
Backtest+BacktestTrade - 实盘交易:
LiveTrade - (可选)账户权益快照:
AccountEquitySnapshot
- 用户:
- 为以上模型设计对应的 Pydantic schemas,供 API 输入/输出使用。
- 封装 OKX 客户端:
- 账户信息、持仓、下单、撤单、历史 K 线。
- 在交易模块中:
- 统一创建下单请求结构体/函数。
- 所有下单请求在发送前,自动注入隐藏券商标签
tag: c314b0aecb5bBCDE。
- 实现 K 线下载与同步:
- 提供接口:按交易对、周期、时间段,从 OKX 下载历史 K 线并写入
Kline表。
- 提供接口:按交易对、周期、时间段,从 OKX 下载历史 K 线并写入
- 实现仪表盘相关 API:
- 账户权益、可用余额、持仓列表。
- 账户权益曲线(基于快照表)。
- 主流币种实时行情(WebSocket 或定期轮询 OKX)。
- 设计策略配置结构(JSON Schema):
- 指标类型:MACD、KDJ、BOLL、RSI、BBI、CCI、MA、K 线形态。
- 信号类型:金叉/死叉、超买/超卖、背离、多头/空头排列等(按买入/卖出指标列表细化为枚举)。
- 条件(Condition):side、indicator_type、signal_type、参数。
- 条件组(ConditionGroup):logic(AND/OR)、conditions[]。
- 策略规则集(StrategyRuleSet):buy_groups[]、sell_groups[]。
- 实现规则引擎:
- 将策略配置解析为可执行对象。
- 针对每根 K 线/一段窗口,计算指标并判定买卖信号。
- 基于
Kline数据实现回测:- 读取指定时间段 K 线,按时间顺序迭代。
- 在每一步根据策略规则集判定是否开仓/平仓。
- 模拟撮合(价格规则可配置:开/收盘价、中间价等)。
- 记录
BacktestTrade,汇总结果(收益率、最大回撤、胜率等)。
- 提供回测 API:
- 创建回测任务、查询回测结果。
- 设计实盘执行流程:
- 按策略配置的监控周期(如 20 秒)轮询。
- 获取最新行情/K 线。
- 计算指标与信号,触发下单/平仓(通过交易模块)。
- 记录实盘交易到
LiveTrade。
- 集成 APScheduler:
- 根据策略实例状态,动态添加/移除调度任务。
- 接入 OpenAI 兼容大模型(如 DeepSeek):
- 在
AiStrategyService中:- 输入:用户自然语言 + 支持的指标/信号列表 + 标准 JSON Schema。
- 输出:结构化策略配置 JSON。
- 在
- 校验 LLM 输出:
- JSON Schema 校验。
- 指标/信号是否合法。
- 打通流程:
- AI 生成策略 → 写入
Strategy表 → 可直接触发回测 → 返回回测结果。
- AI 生成策略 → 写入
- 提供主要 API 列表与接口文档(Swagger/OpenAPI 可自动生成)。
- 编写基础 Web 前端或说明,完成仪表盘、策略管理、回测/实盘控制页面与后端接口的联调。
后续实施步骤:
- 立即开始 阶段 1,创建基础目录结构与核心启动文件,并在实现过程中逐步细化本计划。