专享策略20 | 基于LLM(大模型)的订单流日内交易策略(文末完整提示词)

松鼠Quant
2025-03-28


图片
量化策略开发,高质量社群,交易思路分享等相关内容

工具推荐

· 参数筛选工具

· Ai帮你编写策略

· 订单流图表

· 加入2025俱乐部

· Ai投研助手课程

『正文』

ˇ

大家好,本期策略基于Python-CTP接口开发,采用多进程架构,实现了行情数据处理、订单流分析、AI决策和交易执行的全流程自动化代码总量2000行+

### 一、系统架构图












```主程序├── 行情进程 (run_tick_engine)│   └── Tick数据处理└── 交易进程 (run_trader)    ├── MyTrader类    │   ├── 交易逻辑处理    │   ├── 止损止盈管理    │   └── 日内平仓控制    └── AI分析线程 (background_model_call)```



























### 系统架构图```┌───────────────────────┐│      主程序入口       │└───────────┬───────────┘            │     ┌──────┴──────┐     ▼             ▼┌─────────┐   ┌─────────┐│行情进程 │   │交易进程 │└────┬────┘   └────┬────┘     │             │     ▼             ▼┌─────────┐   ┌─────────────┐│Tick处理 │   │ MyTrader类   │└────┬────┘   └──────┬──────┘     │               │     ▼               ▼┌─────────┐    ┌───────────┐     ┌───────────┐│K线构建   │    │交易信号处理│ ← ── │ AI分析线程│└────┬────┘    └──────┬────┘     └───────────┘     │                │     ▼                ▼┌─────────┐     ┌───────────┐│订单流分析│     │风险管理系统│└─────────┘     └───────────┘```

系统采用多进程架构设计,主要分为两个核心进程:

1. **行情进程**负责接收和处理实时市场数据

   - Tick数据处理

   - K线构建

   - 订单流分析

2. **交易进程**负责交易决策与执行

   - AI模型分析(异步线程)

   - 交易信号处理

   - 风险管理系统

   - 订单执行

这种架构设计有效分离了数据处理和交易执行,确保系统稳定性和响应速度。

### 二、核心数据流程

## 数据流向图










```┌───────────┐    ┌───────────┐    ┌───────────┐    ┌───────────┐│   CTP接口   │   → │   Tick数据   │   → │   K线数据   │ →   │订单流分析 │└───────────┘    └───────────┘    └───────────┘    └─────┬─────┘                                                         │┌───────────┐    ┌───────────┐    ┌───────────┐          ││订单执行系统│   ← │交易信号生成│   ← │ AI决策分析 │   ←   ────┘└───────────┘    └───────────┘    └───────────┘```
系统数据处理的完整流程如下:
1. **Tick数据接收**:从CTP接口获取实时行情数据
2. **K线构建**:将Tick数据聚合成分钟级K线
3. **订单流分析**:计算Delta值和堆积指标
4. **AI模型分析**:利用大模型分析市场状态
5. **交易信号生成**:生成包含方向、置信度和风控参数的信号
6. **订单执行**:根据信号执行交易策略

### 三、订单流分析详解

订单流分析是该系统的核心特色,它通过分析每一笔成交背后的买卖意图,揭示常规技术分析无法察觉的市场微观结构。

## 订单流原理图




















```价格 │       ┌────┐ │       │    │ │   ┌───┘    └───┐ │   │             │ │   │             └───┐ │   │                 │ │   │                 │ └───┴─────────────────┴────────► 时间     ↑     ↑     ↑     ↑     │     │     │     │    +5    -3    +8    -2    ← Delta值     │     │     │     │     └─────┴─────┴─────┘           │        Delta累计 = +8```







### 订单流指标解读| 指标名称 | 计算方法 | 市场含义 | 交易信号 ||---------|---------|---------|---------|| Delta值 | 主动买入量-主动卖出量 | 单根K线买卖力量对比 | 正值=买方强势,负值=卖方强势 || Delta累计 | Delta值的累计曲线 | 资金流向趋势 | 向上倾斜=做多信号,向下倾斜=做空信号 || 堆积指标(DJ) | 基于买卖盘大单异常计算 | 大资金买卖意图 | 正值=多头堆积,负值=空头堆积 || 买卖比值 | 主动买入量/主动卖出量 | 短期市场情绪 | >1.5买方强势,<0.7卖方强势 |
图片

### 四、AI决策系统工作流程

系统采用DeepSeek-R1推理模型作为核心分析引擎,实现类似专业交易员的市场分析和决策能力。

## 1.AI决策流程图













```┌────────────┐     ┌────────────┐     ┌────────────┐│ 市场数据整合│ ──► │ 数据格式化   │ ──► │   提示词构建 │└──────┬─────┘     └──────┬─────┘     └──────┬─────┘       │                  │                  │       └──────────────────┼──────────────────┘                          │                          ▼┌────────────┐     ┌────────────┐     ┌────────────┐│ 交易信号执行 │ ◄──│信号质量检查 │ ◄-- │ 大模型API调用│└────────────┘     └────────────┘     └────────────┘```

##   2.AI分析要素

- **技术形态**:均线排列、K线形态、支撑阻力位

- **订单流特征**:Delta趋势、堆积情况、买卖力量对比

- **市场状态**:超买超卖、波动性、当前位置

- **趋势强度**:价格动量、趋势持续性

- **当前持仓**:持仓状态、盈亏情况、风险敞口

## 3.数据存储结构

系统在`traderdata/`目录下保存以下数据文件:






| 文件名 | 内容 | 用途 ||-------|-----|------|| `{合约代码}_ofdata.json` | 订单流历史数据 | 用于回测分析和模型训练 || `{合约代码}traderdata.csv` | 持仓和止损止盈数据 | 用于持仓状态恢复 || `{合约代码}_stops.json` | 详细止盈止损设置 | 用于风险管理参数存储 |

这种数据存储设计允许系统在重启后能够恢复交易状态,避免信息丢失。

### 五、运行效果
这两天写好策略之后,SIMNOW模拟测试运行,目的是检查代码。记录如下:

PS:只是模拟资金运行测试代码,无不良引导,不构成任何交易意见和建议!!!
第一天
1.
图片
图片
2.
图片
图片
图片
3.
图片
图片
图片
4.
图片
图片
第二天
1.
图片
图片
图片
图片
图片
图片
以上是模拟资金测试,今天完善了脚本。deepseek-r1调用的API模块做了多线程处理,同时把交易计划放入了队列保存到本地,即使出现了API宕机也不会造成飘单的情况,代码循环执行交易计划。
这个策略代码量庞大,耗费了不少功夫但获得了很多启发。首先,它与传统的规则策略有差异也有趋同。它可以像人一样去动态调整持仓的止盈止损,这一点比规则策略要灵活的很多,持仓过程中它会根据市场的变化不断调整出场参数,在一个风控规则内自由调整参数。
另外提示词非常重要,我丰富了因子及算法,提示词也做了相应的规范。
提示词







































    # 构建提示词    prompt = f"""    作为期货交易员,基于以下市场数据做出交易决策:        {data_text}        请重点考虑以下关键因素:    1. 均线形态(5、10、20均线)的排列状态及价格位置    2. 价格趋势、波动性与关键支撑阻力位    3. 日内超涨超跌状态,寻找高胜率反转交易机会    4. K线组合形态,尤其关注反转信号和动量变化    5. 订单流趋势变化与力度    6. 买卖力量对比和资金流向    7. 当前持仓状态与盈亏情况    8. 风险回报比与止损止盈设置合理性    9. 适合的交易时机与市场环境判断        【风险控制原则】:    - 严格控制每笔交易亏损不超过本金的1%    - 止损位设置应紧凑,一般不超过开仓价的0.3%-0.8%    - 风险回报比至少为1:1.5,建议争取1:2或更高    - 在不明确的市场环境下,以保护资金为第一要务        请根据市场状态和持仓情况,给出明确的交易指令:    1. 交易方向: 开多/开空/平多/平空/不操作    2. 执行理由: 详细说明交易逻辑,结合技术形态、价格位置、订单流特征和市场状态,包括对当前持仓的处理方案    3. 置信度: 1-10的数字,必须是整数    4. 止损价: 明确的止损价格(必须是数字),确保亏损控制在合理范围内,不能过大    5. 止盈价: 明确的止盈价格(必须是数字),应至少是止损距离的1.5倍    6. 跟踪止损百分比: 0.0001-0.001之间的数字,根据市场波动性调整        请按以下格式返回交易决策,格式必须严格匹配:    action: 开多/开空/平多/平空/不操作    reason: 交易理由    confidence: 置信度(1-10)    stop_loss: 止损价    take_profit: 止盈价    trailing_percent: 跟踪止损百分比(0.0001-0.001)    """
新版本代码做了如下调整:
1.保存行情数据为json格式,每次程序启动时可以选择加载历史数据。
2.Ai单独线程不会堵塞主线程,交易计划独立执行不等Bar走完。
3.增加了更多因子包括:形态识别,订单流指标超涨超跌分析、买卖力量对比、Z分数、计算订单流波动性。
4.优化了角色定义与提示词,更对规范和专业。

完整源码包-已经上传到2025俱乐部
图片

防迷路


           图片

微   信|小松鼠-松鼠Quant

微信号|viquant01

本期源码 VIP20》

2025量化俱乐部


分享