Panda01|基于“布林极限宽 + 自适应移动出场”的CTA策略

松鼠Quant
2025-09-19


图片


松鼠Quant

Flow Shop


图片


订阅地址:

https://www.pandaai.online/hypermarket/productdetails?workflowId=84


PandaAI 工作流商城正式开启,

“一键启用”工具的全新平台。


PandaAI —— 全球首个量化智能体平台。

零代码、开箱即用,普通投资者也能拥有一位专业的量化研究员。

现在,全新的 量化工作流智能体商店 已正式上线。

无论你是专业量化研究者,还是初入门的散户,都能在这里一键调用因子研究、策略回测、智能风控等工作流,快速落地你的交易想法。


PandaAI,人人都能低门槛量化。




PART 01

上架工作流:Panda 01

图片


基于“魔改布林 + 自适应移动出场”的趋势 / 反转策略

设计思路是把复杂的策略逻辑,

拆解成五个模块化节点:


数据节点:初始化账号、合约、调仓周期;

信号节点:布林通道 + 趋势判断,确认“多头/空头预备”形态;

入场节点:突破确认后开仓,支持“固定手数”或“资金自适应仓位”;

出场节点:独创 liQKA 衰减机制,趋势持仓越久,止盈线越敏感;

编译器节点:自动融合行情、信号、入场、出场,生成完整回测与实盘逻辑。



PART 02

工作流介绍

这是一套面向模块化工作流的 panda01 策略:

信号与下单拆分、出场自成体系、可选“基于资金”的手数计算,最后用“编译器(融合)”将片段拼成可回测代码。


- 节点篇:工作流中五个核心节点的职责与参数

- 策略篇:panda01 的信号、入场、出场逻辑,为什么这样设计、怎样调参数更稳


注:panda01 的信号/入场/出场节点放在 panda01 目录,行情与融合复用已有成熟节点(不在 panda01 目录内)。本文作为“panda01 工作流五大组件”来介绍。


图片

节点篇

图片

Panda01 工作流的五个节点

节点1: CTA 市场数据规格节点


图片

复用成熟节点cta_market_data_spec_node.py

作用:初始化账号、交易合约、默认手数、调仓周期等;提供基础 imports;为后续片段提供 context 变量。

看点:支持设置 symbol/account/position_size

与主力连续合约映射逻辑兼容(下游信号片段还会兜底)


节点2: Panda01 信号计算节点


图片

(src/panda_plugins/custom/node/panda01/panda01_signal_spec_node.py)


作用:取数→计算布林通道→得到“上一根”的趋势信号和突破参考价,输出给入场/出场使用。

核心输出变量:

1、 panda01_long_setup / panda01_short_setup:上一根是否满足趋势/动能的“做多/做空预备”形态

2、panda01_up_break_prev / panda01_down_break_prev:上一根的上/下轨价格(本根突破判定的参考线)

设计细节:

1、布林参数:Length, Offset, X(X 用于更长周期的平滑均线 ma1)

2、主力映射兜底:固定合约没数据时自动切 88 主力


节点3: Panda01 信号计算节点



图片

(src/panda_plugins/custom/node/panda01/panda01_entry_spec_node.py)


作用执行入场下单。

与资金联动(新增):支持“基于资金 Fund 的手数计算”或使用固定手数

sizing_mode=fixed(默认):使用 context.position_size

sizing_mode=fund:按 Fund/(Open×ContractUnit×BigPointValue×MarginRatio/rollover) 计算手数,四舍五入并取下限 min_contracts

触发逻辑:

多头:panda01_long_setup 为真 且 本根高点 ≥ 上一根上轨价 且 当前持仓 ≤ 0 → 开多

空头:panda01_short_setup 为真 且 本根低点 ≤ 上一根下轨价 且 当前持仓 ≥ 0 → 开空


节点4: panda01 出场节点


图片

(panda01_exit_spec_node.py)


作用:自适应移动出场(liQKA 衰减):

记录入场 bar(entBar)与持仓经过的 bar 数(bar_entry_count)

每跨一根新 bar,让 liQKA 以固定步长 decay 递减(不低于 floor)

多头移动出场线 DliqPoint = LowAfterEntry − Open×TRS/1000×liQKA

空头移动出场线 KliqPoint = HighAfterEntry + Open×TRS/1000×liQKA

多:当前 Low ≤ DliqPoint → 平多;空:当前 High ≥ KliqPoint → 平空

设计要点:

  只在“入场后一根及以后”生效(避免当根入场当根触发)

  平仓后重置所有出场状态变量,等待下一次入场再重新建立轨迹


节点5: CTA 策略编译器(融合)节点


图片

(cta_compiler_fusion_node.py)


作用:把“行情/信号/入场/出场”的 code_spec 片段按顺序拼成完整策略

顺序保障(非常关键):handle_pre → handle_position → handle_data_fetch → handle_indicators → handle_exit → handle_entry

出场先执行、入场后执行,避免反手“未先平仓”的风险

接线建议:

信号、入场、出场都直接接 fusion(或使用合并器先合并,再接 fusion)

行情/上下文初始化的片段同样接 fusion


图片

策略篇

信号计算:用“布林 + 趋势方向”形态


图片

我们用三条线描述价格形态:

1、MidLine = Close 的 Length 期均线

2、Band = Close 的 Length 期标准差

3、上/下轨:UpLine = Mid + Offset×Band;DownLine = Mid − Offset×Band

为了更平滑地判断趋势,再用更长的均线 ma1(窗口=Length×X)

图片

BB指标

BB指标是一个基于KDJ的算法改编的摆动指标,一般是低于20做多,高于80做空。但是这个是做震荡的思路,如果碰到趋势就会长期在正负50以上,甚至经常出现背离,如果我们按照震荡思路去做趋势的话,是肯定不行的嘛。但还有一种简单的用法,这个指标不建议单独使用,我们可以将它作为一个趋势强度的辅助指标,就是大于50%做多,小于50%做空。也就是要与趋势指标共振。

“上一根”的形态检查:


多头预备条件:Mid 上升且收盘在 Mid 上方;上轨抬升且上一根的最高价曾“触碰/突破”上轨;下轨下移且上一根最低价“跌破”下轨(趋势确认的反证);ma1 上升且收盘在 ma1 上方;同时 BB(布林极限)> 0.5

  空头预备条件同理反向

入场:本根价格对上一根“轨道价”的突破


图片

(src/panda_plugins/custom/node/panda01/panda01_signal_spec_node.py)

多:本根的高点 ≥ 上一根上轨价(up_break_prev),且满足多头预备条件、且当前持仓 ≤ 0 → 开多

空:本根的低点 ≤ 上一根下轨价(down_break_prev),且满足空头预备条件、且当前持仓 ≥ 0 → 开空

手数计算两种模式:

固定手数:用 context.position_size

基于资金:Fund/(Open×ContractUnit×BigPointValue×MarginRatio/rollover),最少 1 手(或自定义下限)

为什么这样?

趋势预备 + 突破确认 → 减少“假突破”和“追涨杀跌”的概率

基于资金的手数法让仓位随资金与合约属性自适应

出场:liQKA 衰减的移动出场线


入场后,策略记录“入场后的最高/最低价”轨迹

多:记录“开仓后最低价”的上移轨迹(LowAfterEntry 逐步变大)

空:记录“开仓后最高价”的下移轨迹(HighAfterEntry 逐步变小)

每跨一根新 bar,就让 liQKA 下降一点点(比如 0.1),但不低于 floor

用“Open×TRS/1000×liQKA”做一个动态距离,移动出场线越来越“紧”

越久不触发出场,liQKA 越小,线越敏感,有利于兑现趋势利润、控制回撤

优点:自适应、兼顾“吃到趋势”和“尽快落袋为安”


如何快速上手


参数建议:

  日内/小时级:Length 可适当缩短,Offset 稍增;日级:Length 适中,Offset 2.0 是常见起点

  TRS:50–120 的区间较常见;liQKA 的 decay 与 floor 控制“变敏感的速度”和“最低敏感度”

图片

品种绩效:


panda01 的精髓在“通过对boll指标的魔改,

把趋势形态量化,更容易辨别:

上一根形态确认 + 本根突破触发 + 自适应移动出场”。

模块化拆分之后,你可以很方便地替换信号算法、尝试不同出场机制、或把入场切换为限价。


为什么值得关注?

1. 降低入场与学习成本

  • 投资者不需要自己写代码、搭建环境、调试策略。

  • 打开工作流,就能直接跑出一套 趋势/反转 CTA 策略
    👉 对投资者的价值:快速落地,不需要技术背景

2. 减少“假突破”“追涨杀跌”的损失

  • panda01 的逻辑是“上一根形态确认 + 本根突破触发”,
    避免仅靠单一信号贸然下单。

  • 对震荡和趋势都有自适应过滤。
    👉 对投资者的价值:更稳健的入场点,降低亏损概率

3. 仓位管理更灵活,风险可控

  • 支持固定手数,也支持“资金自适应”手数计算。

  • 随资金规模变化自动调整仓位,避免过度或不足杠杆。
    👉 对投资者的价值:仓位与风险匹配,更安全

4. 利润兑现更科学

  • 独创的 liQKA 衰减移动出场线
    趋势走得越久,止盈线越敏感。

  • 有利于:

    • 吃到趋势利润;

    • 及时锁定收益,避免利润回吐。
      👉 对投资者的价值:提高盈利兑现效率,控制回撤


--

松鼠Quant 团队的 Panda01 工作流,
是 PandaAI 商城“研究成果应用化”的第一步。

接下来,还会有更多知名研究员实盘交易员加入
让每一个用户都能像使用软件一样,使用量化策略


图片

👉 点击打开松鼠Panda01



【聚力生态·共创美好】


打开 PandaAI 工作流商城,

体验Panda01探索属于你的第一条工作流

把复杂留给系统,把结果交给你。


PandaAI,期待你的加入。



-风险提示说明-

量化策略并非保证收益,所有模型和工作流的回测结果仅代表历史表现,不构成对未来收益的承诺。

用户在使用过程中,应根据自身的风险承受能力合理配置资金,并独立判断策略适用性。
PandaAI 提供的是技术工具与研究成果分发平台,
不承担因策略使用或交易决策所带来的任何直接或间接损失。

策略使用即表示您已知悉并接受相关风险。




图片

扫码报名

图片

加入量化交流群


分享