交易记录策略
交易记录策略(FileBasedStrategy) 是策引平台的一个策略类型,主要给 AI 大模型策略使用。AI Agent 生成交易信号后,这个策略读取这些信号文件来执行回测,分析策略表现。
怎么工作的
基本流程
- AI 生成信号:AI Agent 分析市场后,生成买卖信号
- 保存到文件:信号保存成 CSV 格式的文件
- 策略读取:FileBasedStrategy 读取这个文件
- 执行回测:根据文件里的信号进行历史回测
- 分析表现:看这个 AI 策略的历史表现如何
信号文件格式
基础格式(全仓交易)
CSV 文件包含四列:
- date:交易日期(YYYY-MM-DD)
- symbol:股票代码
- signal:买卖信号
- comment:AI 的分析理由
扩展格式(动态仓位控制)
如果需要精细控制仓位,可以添加 position 列:
- date:交易日期(YYYY-MM-DD)
- symbol:股票代码
- signal:买卖信号
- position:目标仓位比例(0.0-1.0)
- comment:AI 的分析理由
信号类型
- B:买入
- S:卖出
- H:继续持有(AI 说明为什么继续拿着)
- E:空仓(AI 说明为什么不买)
文件例子
基础文件(全仓交易)
date,symbol,signal,comment
2024-01-15,AAPL,B,技术突破关键阻力位,基本面强劲
2024-03-20,AAPL,S,估值过高,获利了结
2024-06-10,TSLA,H,电动车行业领导地位稳固,继续持有
2024-08-05,GOOGL,E,等待财报明朗,暂时观望
动态仓位文件
date,symbol,signal,position,comment
2024-01-15,AAPL,B,0.3,估值合理但略高,先建仓30%观察
2024-01-20,AAPL,B,0.6,趋势确认,加仓至60%
2024-02-10,AAPL,H,0.6,保持现有仓位,继续观察
2024-03-01,AAPL,S,0.3,获利部分了结,保留30%核心仓位
2024-03-20,AAPL,S,0.0,完全清仓,估值过高
为什么有用
1. 测试 AI 策略
- 可以看 AI 的历史决策效果如何
- 知道 AI 在什么时候容易出错
- 帮助改进 AI 的分析逻辑
2. 决策有记录
- 每个买卖决定都有原因
- 可以追踪 AI 的思考过程
- 方便后续分析和改进
3. 灵活性好
- AI 可以随时更新交易信号
- 支持本地文件测试
- 也可以用云端文件
4. 动态仓位控制
- 精细风险管理:根据市场条件灵活调整仓位
- 分批建仓:AI可以实现逐步加仓策略
- 部分止盈:不必全进全出,保留核心仓位
- 综合决策:AI同时考虑"何时交易"和"交易多少"
动态仓位控制详解
什么是动态仓位?
传统策略通常是"全进全出"(100%或0%),而动态仓位允许在0%-100%之间灵活调整。这对AI策略特别重要,因为AI做决策时会综合考虑多个因素:
举例:
AI分析:
- 估值:PE=20(偏高但可接受)
- 趋势:突破关键阻力位
- 风险:波动率上升
AI决策:买入,但只建仓40%(而非满仓)
position 列的含义
- 取值范围:0.0 到 1.0
- 0.0:空仓(完全不持有)
- 0.3:轻仓(持有30%)
- 0.6:中仓(持有60%)
- 1.0:满仓(全仓持有)
信号与仓位的配合
买入信号 (B) + position
date,symbol,signal,position,comment
2024-01-01,QQQ,B,0.3,首次建仓30%,试探性买入
2024-01-15,QQQ,B,0.6,趋势确认,加仓至60%
2024-02-01,QQQ,B,1.0,市场强势,满仓
- 首次建仓:从空仓到有仓位
- 加仓:从现有仓位增加到更高仓位
卖出信号 (S) + position
date,symbol,signal,position,comment
2024-03-01,QQQ,S,0.6,部分获利了结,保留60%
2024-03-15,QQQ,S,0.3,继续减仓至30%
2024-04-01,QQQ,S,0.0,完全清仓
- 部分卖出:position > 0,减仓到目标仓位
- 完全清仓:position = 0 或不填position列
持有信号 (H) + position
date,symbol,signal,position,comment
2024-02-15,QQQ,H,0.6,保持60%仓位不变
- 保持当前仓位,不进行交易
- position值被记录但不触发新的买卖操作
实际应用场景
1. 估值驱动的动态仓位
date,symbol,signal,position,comment
2024-01-10,AAPL,B,0.8,PE=22,估值合理偏低,重仓买入
2024-02-05,AAPL,B,1.0,PE=20,估值更具吸引力,满仓
2024-03-10,AAPL,S,0.5,PE=28,估值偏高,减仓至50%
2024-04-15,AAPL,S,0.0,PE=32,估值过高,清仓
2. 波动率风险控制
date,symbol,signal,position,comment
2024-01-05,QQQ,B,1.0,低波动环境,满仓建仓
2024-02-10,QQQ,S,0.6,波动率上升,降低风险敞口至60%
2024-02-20,QQQ,S,0.3,市场剧烈波动,降至30%防守
2024-03-15,QQQ,B,0.8,波动率回落,恢复至80%仓位
3. 趋势强度调仓
date,symbol,signal,position,comment
2024-01-01,SPY,B,0.4,趋势初现,试探性建仓40%
2024-01-20,SPY,B,0.7,趋势强化,加仓至70%
2024-02-10,SPY,B,1.0,强趋势确认,满仓
2024-03-05,SPY,S,0.5,趋势减弱信号,降至50%
动态仓位的优势
相比全仓交易:
- ✅ 更灵活的风险管理
- ✅ 避免频繁的全进全出
- ✅ 可以保留核心仓位
- ✅ 更符合专业投资者的实际操作
适合以下场景:
- AI综合多因子决策
- 人工经验判断
- 实盘交易记录
- 复杂的风险管理策略
注意事项
position 列是可选的
- 有 position 列:启用动态仓位控制
- 无 position 列:使用全仓交易(100%或0%)
仓位值的合理性
- 不能空仓时减仓(系统会自动忽略)
- 不能超过100%仓位
- 建议使用0.1的倍数(如0.3、0.5、0.8)
成本考虑
- 频繁小幅调仓会增加交易成本
- 建议仓位变化超过一定阈值(如5%)再调整
- AI应该在综合考虑交易成本后做决策
文件存放位置
本地模式
- 用于开发和测试
- 把 CSV 文件放在指定文件夹
- 适合个人使用
云端模式
- 文件存在 S3 上
- 多个地方可以访问
- 适合 AI Agent 自动更新
标的池管理
标的变化处理
- 组合里有,文件里也有:正常执行交易
- 组合里有,文件里没有:保持空仓,等 AI 生成新信号
- 组合里没有,文件里有:忽略这个股票的信号
这样设计是合理的:
- 删除股票说明不想投资了
- 新增股票会等 AI 重新分析
- 现有股票继续按 AI 信号执行
使用场景
1. AI 策略回测
主要用途:
- 开发新的 AI 投资策略
- 测试 AI 在不同市场环境下的表现
- 验证 AI 决策逻辑的有效性
2. 策略对比
分析用途:
- 对比不同 AI 模型的效果
- 分析人工决策和 AI 决策的差异
- 找出最优的策略组合
3. 实盘准备
部署前验证:
- 在真实数据上测试 AI 策略
- 确保策略逻辑没有问题
- 评估风险和收益特征
注意事项
1. 文件格式要正确
- 日期格式必须是 YYYY-MM-DD
- 信号只能是 B、S、H、E
- CSV 格式要规范
2. 交易信号要合理
- 不能空仓的时候卖出
- 不能满仓的时候买入
- 系统会自动过滤无效信号
3. 文件及时更新
- AI 生成新信号要及时保存
- 删除过期的信号记录
- 保持文件的时效性
在策引平台使用
创建组合时选择
在策引平台创建投资组合时:
- 选择 "FileBasedStrategy" 作为策略类型
- 配置信号文件的位置(本地或云端)
- 设置其他参数如资金管理规则
- 开始回测分析
配置参数
- vendor:选择 local(本地)或 remote(云端)
- path:指定文件路径(本地模式时)
- signal_source:信号来源标识
- signal_generator:AI 模型标识
总结
FileBasedStrategy 是专门为 AI 策略设计的:
主要用途:
- 让 AI Agent 生成的交易信号能够回测
- 分析 AI 策略的历史表现
- 验证 AI 决策逻辑的有效性
适合谁用:
- 开发 AI 投资策略的团队
- 想测试 AI 决策效果的投资者
- 需要对比不同策略的研究人员
关键特点:
- 简单的 CSV 文件格式
- 支持详细的决策记录
- 灵活的标的池管理
- 完整的回测分析功能
开始使用:在策引平台选择 FileBasedStrategy 来测试你的 AI 投资策略。