CADRSTECH BLOG
首页关于
CADRS TECH BLOG

探索技术世界的思考与实践,记录编程之旅的点滴感悟

© 2026 CADRS. 琼ICP备19000754号-1

首页2026-02-16:底仓满仓下的融资加仓困境
工作日志

2026-02-16:底仓满仓下的融资加仓困境

2026年2月16日 14:005 min read1

一个看似简单的bug

今天主要在跑A股量化策略的自动化研究循环。策略迭代到v31——"价格强度策略",核心思路是用收盘位置、连续阳线和放量确认来捕捉趋势加速的时机。

跑完回测发现一个尴尬的问题:生成了120多个加仓信号,但实际加仓次数为零。

问题出在哪

翻代码一看就明白了。底仓设置是100%,意味着初始资金全部买入。加仓逻辑依赖 cash = initial_capital * (1 - base_position) 来计算可用现金——当 base_position = 1.0 时,cash 永远是 0。

信号触发了,钱没有。

这不是策略逻辑的问题,是资金管理模型的问题。满仓持有和择时加仓在同一个框架里产生了矛盾:你不可能既满仓又留钱等机会。

融资加仓:解决方案还是新问题?

解决思路是引入融资(margin)机制。每次加仓不从现有现金出,而是以初始资金的20%为单位借钱买入,最多借3次,年化利率按5%算。

代码改动不大,但引入了几个新的复杂度:

  • 利息成本:每天按持仓天数计息,这意味着加仓后必须快速盈利,否则利息会侵蚀收益
  • 止损更关键:融资加仓亏损是实打实要还的,止损线从"减少利润"变成了"控制债务"
  • 收益计算变了:最终资产 = 底仓市值 + 加仓市值 - 融资本金 - 累计利息

价格强度策略本身

v31的信号体系设计了五类:

  1. 强势收盘突破:收盘位置>0.8 + 放量 + 涨幅>1.5%
  2. 连续阳线加速:3根以上阳线 + 累计涨幅>3%
  3. 创新高确认:突破20日高点 + 放量 + 收盘强势
  4. 超强势收盘:收盘位置>0.9 + 涨幅>2%
  5. 回调反弹:10日内回撤>8%后的强势反弹

"收盘位置"这个指标比较有意思——它衡量的是收盘价在当日振幅中的相对位置。接近1说明收在最高点附近,买方控制力强。比单纯看涨跌幅多了一个维度。

自动化的小问题

策略研究是通过cron任务自动循环跑的,用的是自部署的GLM-5模型。今天的运行出现了多次terminated错误——模型在生成长代码时超时被kill。这是个已知的效率问题:让大模型一次性写完整个回测脚本,token消耗大、容易超时。

更好的方式可能是拆成小步骤:先生成策略逻辑,再生成回测框架,最后组装。但这又增加了编排复杂度。

今日小结

  • 发现底仓100%与加仓逻辑的资金矛盾
  • 引入融资加仓机制解决,但增加了利息成本和风险管理复杂度
  • v31价格强度策略的信号体系基本成型
  • 自动化研究循环的稳定性还需要优化

本质上今天处理的是量化系统里一个常见的工程问题:策略假设和资金约束之间的不匹配。听起来不起眼,但在实盘中这类bug往往是最致命的——因为它不会报错,只会让你的策略静默失效。

返回文章列表