精华帖子

“质量·低波·可转债”选股策略

由bqu1vdra创建,最终由bqu1vdra 被浏览 31 用户

一、策略总览

从当期持有存续可转债的 A 股正股中,筛选出盈利能力达标(ROE > 5%)的股票,再按20日均换手率从低到高排序,结合行业分散约束,最终等权持有换手率最低的10只股票,每 15 个交易日调仓一次。

策略逻辑图

全市场 A 股
    │
    ▼
动态可转债股票池过滤(仅保留当日有存续可转债的正股)
    │
    ▼
基础质量过滤(非ST / 非停牌 / 上市>1年 / 市值>10亿/ PE在(0,100) / PB>0 / ROE>5%)
    │
    ▼
计算20日均换手率(主排序因子)
    │
    ▼
行业分散约束(每个申万一级行业最多3只)
    │
    ▼
选出换手率最低的前10只
    │
    ▼
等权持仓,每15个交易日调仓

策略参数一览表

参数 说明
股票池 可转债正股(动态) 每日按存续状态动态匹配
选股因子 20日均换手率(升序) 越低越优先
质量门槛 ROE(TTM) > 5% 剔除盈利能力弱的公司
持股数量 10 只 等权,每只权重 10%
行业上限 每行业最多 3 只 申万一级行业
调仓频率 每 15 个交易日 约 3 周调仓一次
手续费 买入 0.03%,卖出 0.13% 含印花税,最低 5 元
初始资金 50 万元

二、核心概念:什么是可转债

2.1 可转债的定义

可转换债券(Convertible Bond,简称"可转债")是一种特殊的公司债券,持有人在约定的期限内,可以按照事先确定的转股价格,将债券转换为发行公司的普通股股票

简单理解:

可转债 = 普通债券(有利息保底)+ 看涨期权(可转为股票)

它兼具债券的保本属性和股票的上涨弹性,被投资者称为"进可攻、退可守"的品种

可转债最大的魅力,在于它在不同市场环境下展现出的“双重性格”

  • 债券属性(保底功能):当公司股价下跌时,你可以选择不转股,继续当债券持有。只要公司不违约,你就能拿到到期后的本金和利息。这就像一张“安全垫”,为你的投资提供了下行保护。
  • 股票属性(进攻功能):当公司股价上涨时,你可以把手里的债券转换成股票,从而享受到股价上涨带来的收益。这意味着它的上涨空间和股票一样,潜力很大。

这种特性让可转债在历史上表现出一种“涨起来像股票,跌起来像债券”的风险收益特征,也因此常被称为“攻守兼备”的投资工具。

2.2 可转债的基本要素

要素 说明 典型数值
票面价值 每张可转债的面值 100 元
票面利率 每年支付的利息 0.2%~1.5%(逐年递增)
转股价格 转换为股票时的换算价格 发行时约定,可下修
转股比例 每张债券可换多少股 100元 ÷ 转股价
★存续期 债券的有效期 通常 6 年
赎回条款 正股连续 15/20 日收盘价 ≥ 转股价×130%,发行方可强制赎回 触发强赎后几乎必须转股
回售条款 正股连续 30 日收盘价 ≤ 转股价×70%,持有人可要求回售 保护持有人的底线
下修条款 正股连续 15/20 日收盘价 ≤ 转股价×85%,发行方可申请下修转股价 保护投资者,刺激正股上涨

2.3 可转债的价格构成

可转债的市场价格由两部分构成:

可转债价格 ≈ 债券价值(纯债底价)+ 转股期权价值
债券价值  = 按同级别债券折现率计算的票息现值(通常 85~95 元)
期权价值  = 正股价格与转股价之间的空间所产生的价值

举例说明

  • 某公司发行可转债,转股价 20 元,正股现价 25 元
  • 每张 100 元面值的可转债可转 100÷20 = 5 股
  • 转股价值 = 5 × 25 = 125 元
  • 则可转债市价通常高于 125 元(含溢价)

2.4 可转债市场规模

截至 2025 年底,中国 A 股可转债市场:

  • 存续可转债数量:约 500~600
  • 对应正股(有存续可转债的 A 股公司):约 500~700
  • 覆盖多个行业:银行、制造业、化工、医药、科技等等

三、为什么选择可转债正股作为股票池

这是本策略最核心的设计逻辑之一,也是与普通低换手率策略最本质的区别。

3.1 发行可转债的公司具有“天然质量门槛”

可转债并非所有公司都能发行,监管机构对发行人有严格的条件限制:

要求项目 具体标准(参考监管要求)
盈利能力 最近 3 年连续盈利,且平均净利润能够覆盖可转债一年利息
资产负债率 发行后不得超过 70%(部分行业有豁免)
信用评级 通常需要 AA 及以上(主体评级)
上市年限 通常要求上市满一定年限
违规记录 最近 3 年无重大违法违规行为

结论:能够发行可转债的公司,本身已经过了监管层面的初步质量筛选,财务状况相对健康,盈利能力有一定保证,这为我们的股票池提供了天然的安全垫。

3.2 可转债存续期间,公司有强烈的"护盘"动机

可转债发行后,上市公司管理层有强烈动机维护正股股价,原因如下:

① 触发强制赎回条款(强赎)的需要

当正股价格连续 15~20 个交易日高于转股价的 130% 时,发行方可以以 103 元(含利息)强制赎回所有可转债

这对公司是极为有利的融资结果——以低利率(远低于银行贷款)募集到的资金,通过转股方式偿还,无需还本。因此,公司有动力推动股价上涨,促成转股

② 下修转股价以避免回售压力

当正股持续低迷时,可转债持有人可能行使回售权,要求公司以 103~106 元回购债券

为避免这一情况(公司需大量现金偿债),管理层往往会通过下修转股价(降低换算比例)来提振可转债投资者信心,间接支撑正股股价。

③ 再融资声誉考量

可转债本质上是一种低成本融资工具。发行成功后,若正股表现差劲,债券顺利转股变得困难,公司未来的再融资能力和市场声誉将受损。因此管理层有长期动力维护股价表现

3.3 可转债股票池的行业特征

有可转债的公司往往集中在以下行业(2023 年以来统计):

行业 占比估计 特点
制造业(机械、化工等) ~30% 资本开支需求大,适合发债融资
银行 ~10% 补充资本充足率的需求
医药生物 ~10% 研发投入大,需要低成本融资
电力设备/新能源 ~8% 产能扩张需求
公用事业/交通运输 ~7% 稳定现金流,信用评级高
其他 ~35% 多元化分布

可以看出,可转债股票池天然覆盖了多个实体经济行业,避免了全面暴露于纯金融/纯防御板块

3.4 与普通全市场选股的对比

对比维度 普通全市场 可转债正股池
股票数量 5000+ 只 ~500~700 只
财务质量底线 无保证 有监管要求
公司护盘动机 有(强赎/下修动机)
行业分布 高度集中于银行/公用事业 相对分散
退市/爆雷风险 较高 相对较低
极端低流动性风险 存在 较低(发债公司有流动性要求)

四、核心选股因子:换手率

4.1 换手率的定义

换手率(Turnover Rate)是衡量股票在一定时间内交易活跃程度的指标:

日换手率 = 当日成交量 ÷ 流通股本 × 100%

例如,某股票流通股 10 亿股,某日成交 500 万股,则日换手率 = 0.5%。

本策略使用的是 20 日均换手率(m_avg(turn, 20)),即最近 20 个交易日日换手率的算术平均值,相比单日换手率更稳定,能过滤短期异常波动。

4.2 低换手率背后的经济含义

低换手率意味着:

现象 背后含义
成交量极少 持股者不愿卖出
筹码高度集中 大股东或机构长期持有,不轻易交易
市场关注度低 没有短线资金博弈,价格更反映基本面
波动相对较小 缺乏炒作,但也减少了无效噪声

4.3 低换手率选股的理论依据

① 筹码集中效应

学术研究表明(如 Amihud & Mendelson, 1986),低流动性股票存在流动性溢价,长期回报往往超越高流动性股票,以补偿持有者承担的流动性风险。

② 聪明钱信号

当一只股票长期换手率极低,往往意味着大机构已经重仓持有且坚定持有。这类"长线资金认可"的股票,在没有外部冲击的情况下,价格表现往往更稳健。

③ 行为金融视角

高换手率常伴随着:散户频繁博弈、题材炒作、主力拉升出货等行为,这些行为会制造大量"噪声"。低换手率则天然过滤了这类噪声,留下价格信号更"干净"的股票。

④ A 股市场的特殊性

A 股市场散户占比高(散户贡献约 80% 的交易量),短线博弈盛行。低换手率股票相当于"脱离了散户游戏",其价格运行规律与机构主导的成熟市场更接近。

4.4 为什么用 20 日均而非单日换手率

指标 优点 缺点
单日换手率 实时敏感 噪声大(受临时事件影响,如除权除息日)
20日均换手率 平滑噪声,反映真实活跃度 对短期变化反应滞后

20 个交易日约对应 1 个自然月,是量化中常用的"中期动量/流动性"观测窗口,能平衡及时性与稳定性。

五、质量过滤因子:ROE

5.1 ROE 的定义

ROE(Return on Equity,净资产收益率)是衡量公司盈利能力最重要的综合指标之一:

ROE = 净利润 ÷ 平均净资产 × 100%

本策略使用的是 ROE(TTM),即滚动 12 个月的净利润除以净资产,能够反映公司最近一年的真实盈利能力,消除季节性影响

5.2 为什么用 ROE 而不是 PE/营收增速

指标 反映内容 局限性
PE(市盈率) 市场对利润的定价 受股价影响,高PE不一定差
营收增速 收入扩张能力 不反映盈利质量
ROE 股东资金的使用效率 综合了利润率、资产周转率和杠杆

根据杜邦分析:

ROE = 净利润率 × 资产周转率 × 财务杠杆

ROE 是三种能力的综合体现,一个 ROE 持续高于 10% 的公司,意味着它同时具备良好的盈利能力、运营效率和合理的资本结构。

5.3 为什么设定 ROE > 5% 这一阈值

本策略对 ROE 的要求是 > 5%(即 0.05),这是一个相对宽松的底线,而非追求高 ROE。原因如下:

  1. 策略核心因子是换手率,ROE 只是"过滤负面因素"的防线,不是选股主力
  2. ROE > 5% 可以剔除大量亏损企业、严重衰退企业(ROE 接近 0 甚至为负的公司)
  3. 某些低换手率行业(如公用事业、交通运输)的 ROE 天然偏低(通常 8%~15%),过高的 ROE 门槛会误伤这类质量尚可的防御性股票
  4. 保留足够的股票池深度,确保行业分散约束能正常运作

对比:如果设 ROE > 10%,银行板块大部分可以保留,但公用事业、建筑等会被大量剔除,导致行业更集中。

5.4 ROE 过滤前后的效果

原策略(无 ROE 过滤)选出的股票可能包含:

  • ROE 极低甚至为负(处于亏损边缘)的股票,只因换手率低就被选中
  • 这类公司"换手率低"的原因可能是"没人想买",而非"筹码集中"

加入 ROE > 5% 后:

  • 剔除了"被市场遗弃的低质量低流动性"股票
  • 保留的低换手率股票更可能是"机构长期持有的优质低波动股"

六、行业分散约束设计

6.1 为什么需要行业分散约束

不加约束的低换手率策略会高度集中于少数行业,主要是银行、公用事业、交通运输。原因如下:

  • 银行股:国有大股东持股比例极高(如工农中建交,国有持股 > 60%),实际流通盘极小,日换手率通常仅 0.001%~0.01%,远低于其他行业
  • 公用事业:电力、水务、燃气公司现金流稳定,机构长期持有,换手也极低
  • 交通运输:铁路、港口等重资产垄断企业,股价波动小,散户参与度低

若不加约束,10 只股票中可能有 5~6 只是银行股,导致:

  • 策略实际上是"银行+公用事业"的混合组合,缺乏真正意义上的多元化
  • 对利率、信用政策极度敏感,存在系统性集中风险

6.2 约束规则:每行业最多 3 只

本策略规定:每个申万一级行业最多持有 3 只股票

以申万行业(2021版)为基准,共有 31 个一级行业,包括:银行、非银金融、医药生物、电力设备、机械设备、化工、食品饮料、房地产、交通运输、公用事业等。

实现逻辑:

def select_with_industry_limit(group):
    # 先在每个行业内按换手率取前3只
    industry_limited = group.groupby('sw2021_level1', sort=False).head(3)
    # 再从行业受限结果中按换手率取全局前10只
    return industry_limited.sort_values('turnover_20d').head(10)

效果

  • 银行行业最多贡献 3 只股票(占仓位 30%),而非 6~8 只
  • 其他行业的低换手率优质股有机会入选(如交通运输、医药、制造业等)

6.3 行业代码字段说明

策略中使用 sw2021_level1 字段(申万一级行业代码,2021 年版),同时用 sw_level1_name 作为中文行业名称。

七、动态股票池的实现原理

7.1 静态 vs 动态股票池的区别

对比项 静态股票池(原始版) 动态股票池
实现方式 一次性查询所有历史上发过可转债的股票代码,生成固定列表 每个交易日实时与可转债日线数据做 JOIN
可转债到期处理 ❌ 已到期的可转债正股仍在池中 ✅ 到期当日自动移出股票池
可转债强赎处理 ❌ 被强赎后的正股仍在池中 ✅ 停止交易后自动移出
新发可转债 需要更新查询时间窗口 ✅ 实时纳入
数据量 少(只有股票代码列表) 略多(需要跨表 JOIN)

7.2 技术实现:CTE + INNER JOIN

动态股票池通过 SQL 的 公共表表达式(CTE)+ INNER JOIN 实现:

WITH prefactors AS (
    -- 第一个 CTE:在 cn_stock_prefactors 单表内
    -- 完成所有窗口函数计算(如 m_avg),此时 date 无歧义
    SELECT date, instrument, m_avg(turn, 20) AS turnover_20d, ...
    FROM cn_stock_prefactors
    WHERE ...
),
cb_stocks AS (
    -- 第二个 CTE:查询每日有存续可转债(volume > 0)的正股
    SELECT DISTINCT date, stock_code
    FROM cn_cbond_bar1d
    WHERE stock_code IS NOT NULL AND volume > 0
)
-- 主查询:两个 CTE 做 INNER JOIN
-- p.date = c.date AND p.instrument = c.stock_code
-- 确保:只有"当日正股行情"和"当日有交易的可转债"同时存在的记录才被保留
SELECT p.*
FROM prefactors p
INNER JOIN cb_stocks c
    ON p.date = c.date AND p.instrument = c.stock_code

7.3 为什么用 volume > 0 判断可转债存续

cn_cbond_bar1d 是可转债日线行情表,当一只可转债:

  • 正常交易:每日有成交量,volume > 0✅

  • 已到期/强赎/退市:不再出现在日线数据中,或 volume = 0 ✅

  • 停牌:volume = 0,会被过滤,但对应正股仍可能正常交易(此逻辑可接受)

    因此,volume > 0 是判断可转债"当日存续且正常交易"的简洁有效标准。

7.4 JOIN 顺序的重要性(窗口函数歧义问题)

当使用 SQL 窗口函数(如 m_avg)时:

  • 错误做法:在 JOIN 后的结果集上计算 m_avg(turn, 20)

    • 原因:JOIN 后两张表都有date列,引擎不知道用哪个date作为时序排序依据
    • 报错:Ambiguous reference to column name "date" in function "m_avg"
  • 正确做法:先在单表 CTE 中计算完窗口函数,再做 JOIN(本策略的实现方式)

    此时prefactors CTE 内只有一个date,窗口函数无歧义 ✅

八、调仓频率的选择逻辑

8.1 为什么从 5 日改为 15 日

调仓频率 年均调仓次数 交易成本 换手率 适用场景
每 5 日 ~48 次 动量、短线策略
每 15 日 ~16 次 中期价值/低波动策略
每 20 日 ~12 次 月度再平衡
每季度 ~4 次 极低 极低 长期价值策略

低换手率策略的天然适配频率是中低频

  1. 因子变化缓慢:20 日均换手率是一个惰性指标,排名不会在短期内剧烈变化。每 5 日调仓,大概率换来的是"持仓基本不变但产生了额外手续费"
  2. 持股标的本身换手极低:我们选的就是不活跃的股票,这类股票的价格趋势也相对稳定,不需要频繁追踪
  3. 15 日是折中:既保留了对因子变化的适度响应,又将年均调仓次数控制在可接受范围(16 次左右)

8.2 调仓频率与交易成本

每次调仓产生的成本估算(以单次调仓为例):

假设:10 只股票全部换仓,每只持仓 5 万元

卖出成本:50万 × 0.13% = 650 元
买入成本:50万 × 0.03% = 150 元
合计单次:800 元

全年调仓成本:
  5日调仓(48次):800 × 48 = 38,400 元(占本金 7.68%)
  15日调仓(16次):800 × 16 = 12,800 元(占本金 2.56%)

实际情况中持仓不会 100% 换仓(大约 30%~50% 变化),但15日调仓明显更节省成本!

九、策略筛选条件详解

本策略 SQL WHERE 子句中的每个条件都有明确的意义:

WHERE
    st_status = 0              -- ① 非ST/非*ST
    AND suspended = 0          -- ② 非停牌
    AND list_days > 365        -- ③ 上市超过1年
    AND float_market_cap > 1000000000  -- ④ 流通市值 > 10亿元
    AND volume > 0             -- ⑤ 当日有成交(非零成交)
    AND pe_ttm > 0             -- ⑥ 市盈率为正(公司盈利)
    AND pe_ttm < 100           -- ⑦ 市盈率不超过100倍
    AND pb > 0                 -- ⑧ 市净率为正(净资产为正)
    AND roe_avg_ttm > 0.05     -- ⑨ ROE(TTM) > 5%

条件逐一说明

条件 目的 背景说明
st_status = 0 剔除 ST/*ST 股票 ST 股票面临退市风险,基本面恶化,不适合持有
suspended = 0 剔除停牌股票 停牌期间无法买卖,持有会造成流动性陷阱
list_days > 365 剔除上市不足 1 年的新股 新股上市初期换手率数据不完整,且存在炒新现象,数据不可信
float_market_cap > 10亿 最低流通市值要求 10 亿以下的小微盘股流动性太差,机构资金难以实际建仓
volume > 0 排除完全无成交的股票 防止除权除息日等特殊情形下的异常数据
pe_ttm > 0 确保公司盈利 PE 为负说明公司处于亏损状态,不符合策略定位
pe_ttm < 100 排除极度高估的股票 PE > 100 的股票通常是题材炒作或利润基数极低,风险过高
pb > 0 净资产为正 PB ≤ 0 意味着公司资不抵债,财务极度恶化
roe_avg_ttm > 0.05 质量门槛(≥5%) 核心过滤,见第五章详解

十、完整代码逐行解析

10.1 策略初始化框架

def initialize(context: bigtrader.IContext):

BigTrader 框架的核心生命周期函数,在回测开始时执行一次,负责:

  • 设置交易参数(手续费等)

  • 数据查询和预处理

  • 将处理好的选股数据存入

    context.data
    

回测期间每个交易日的实际交易由 handle_data 函数完成(本策略使用预置的 handle_data_weight_based)。

10.2 手续费设置

context.set_commission(bigtrader.PerOrder(
    buy_cost=0.0003,    # 0.03% 买入佣金
    sell_cost=0.0013,   # 0.13% 卖出佣金(含0.1%印花税)
    min_cost=5          # 每笔最低5元
))

A 股交易成本构成:

  • 印花税:卖出时收取 0.1%(单边),由国家征收
  • 券商佣金:买卖双向,通常万分之二至万分之三(已压至较低水平)
  • 规费(过户费等):极小,本策略忽略

10.3 SQL 数据查询结构

df = dai.query(
    sql,
    filters={"date": [
        context.add_trading_days(context.start_date, -30),  # 向前多取30天
        context.end_date
    ]},
    params={"stock_num": stock_num}
).df()

为什么要向前多取 30 天(时间缓冲)?

m_avg(turn, 20) 是 20 日移动平均,计算第一个有效值需要至少 20 个历史数据点。若从 start_date 开始查,则回测期开始的前 20 天没有换手率均值数据,导致数据不足。

向前扩展 30 个交易日(略多于 20,留有余量),确保即使在回测起始日也能计算出完整的 20 日均值。

$stock_num 参数化是什么?

1.0 / $stock_num AS weight

等权重计算:10 只股票,每只权重 = 1/10 = 10%。通过 params={"stock_num": stock_num} 传入,便于后续修改持股数量时只需改 Python 变量,无需修改 SQL。

10.4 行业分散约束函数

def select_with_industry_limit(group):
    industry_limited = group.groupby('sw2021_level1', sort=False).head(max_per_industry)
    industry_limited = industry_limited.sort_values('turnover_20d')
    return industry_limited.head(stock_num)

df = df.groupby('date', group_keys=False).apply(select_with_industry_limit)

执行流程

每日数据(按换手率升序排列)
    │
    ▼ groupby('sw2021_level1').head(3)
每行业取前3只换手率最低的股票
    │
    ▼ sort_values('turnover_20d')
重新按换手率排序
    │
    ▼ head(10)
取全局前10只

注意:sort=False 参数让 groupby 保留原始顺序(即换手率升序),确保每行业取的是该行业换手率最低的 3 只,而非随机 3 只。

10.5 调仓计划设置

df = bigtrader.TradingDaysRebalance(
    rebalance_days,       # 15
    context=context
).select_rebalance_data(df)

TradingDaysRebalance 的作用:

  • 从全部数据中,每隔 15 个交易日筛选出一组调仓日期
  • 只保留调仓日的数据,非调仓日直接持仓不动
  • 这样context.data中只有调仓日的选股结果,handle_data_weight_base会在调仓日按权重重新平衡仓位

10.6 权重型持仓执行

handle_data=bigtrader.HandleDataLib.handle_data_weight_based

预置函数 handle_data_weight_based 的内部逻辑:

  1. 每个交易日检查context.data中是否有当日数据
  2. 如果有(调仓日):按weight列的权重买入/卖出,调整至目标持仓
  3. 如果没有(非调仓日):持仓不变,继续持有\n

十一、策略的适用环境与风格择时

11.1 策略的收益来源回顾

根据前文分析,本策略的收益主要来源于:

  • 低换手率因子:流动性溢价、筹码集中效应
  • 可转债正股池:发行公司的质量门槛和护盘动机
  • ROE质量过滤:剔除基本面恶化的公司

这三个因子共同决定了策略具有明显的价值风格暴露低波特征

11.2 策略表现与市场风格的关系

回测数据显示,本策略在不同市场风格下表现差异显著:

市场环境 表现 原因
价值风格占优(如2023-2025) ✅ 超额收益明显 策略选股集中于银行、公用事业、传统制造,与价值风格高度契合
成长风格占优(如2019-2020) ❌ 跑输大盘 科技、消费、新能源等成长板块领涨,策略持仓与之相关性低
熊市/震荡市(如2018、2023下半年) ✅ 相对抗跌 低波动特性提供防御属性
利率上行周期 ⚠️ 承压 银行、公用事业等高股息资产对利率敏感

11.3 风格判断指标(择时参考)

使用本策略前,可以通过以下指标判断当前市场风格:

指标一:国证价值/国证成长比值

价值成长比 = 国证价值指数 ÷ 国证成长指数

  • 比值 > 1.05:价值风格占优(适合启用策略)
  • 比值 < 0.95:成长风格占优(建议降低仓位或暂停)
  • 比值在0.95-1.05之间:风格均衡(可正常使用)

指标二:10年期国债收益率趋势

  • 收益率下行或低位:利好高股息/低波策略
  • 收益率快速上行:需警惕策略回撤风险

指标三:市场风险偏好指标

  • 高换手率股票整体表现强势 → 成长/题材风格
  • 低换手率股票整体抗跌 → 价值/防御风格

十二、策略组合使用建议:不单独持有

12.1 为什么建议组合使用

本策略存在两个固有特点:

  1. 风格暴露集中:高度依赖价值风格,在成长牛市中会跑输
  2. 收益结构稳健但弹性不足:低波特性意味着上涨时弹性弱于成长股

因此,将本策略作为单一策略满仓持有存在周期性跑输的风险。更优的方式是将其作为多策略组合的一部分

12.2 组合配置方案建议

方案一:双策略均衡配置

策略 配置比例 特点
本策略(价值/低波) 50% 稳健底仓,控制回撤
成长股/动量策略 50% 提供弹性,捕捉成长行情

效果:两种风格互补,平滑组合收益曲线,降低单一风格暴露风险。

方案二:核心-卫星配置

策略 配置比例 特点
本策略(核心) 60-70% 稳定器,追求长期复利
行业轮动/主题策略(卫星) 30-40% 增强收益,捕捉结构性机会

适用:追求稳健,愿意牺牲部分上行弹性换取更低回撤的投资者。

方案三:三策略分散配置

策略 配置比例 特点
本策略(价值/低波) 40% 防御底仓
成长股策略 30% 进攻弹性
可转债双低策略 30% 债底保护 + 股性弹性

效果:三类策略相关性较低,组合波动更平滑,适应更多市场环境。

12.3 组合配置的实操建议

定期再平衡

  • 建议每季度或每半年对组合内各策略的仓位进行再平衡
  • 当某一策略短期涨幅过大导致仓位偏离目标超过10%时,可触发再平衡

策略替换机制

  • 如果本策略连续6个月跑输沪深300超过5%,建议暂停并评估市场风格
  • 待市场风格回归价值后,可重新启用

资金分配方式

  • 对于小资金(<100万):可直接按比例分配到不同策略的回测框架中
  • 对于大资金(>100万):建议分账户独立运行各策略,便于跟踪评估

十三、总结

本策略的核心价值在于:

  • 逻辑清晰:可转债质量门槛 + 低换手率选股 + 行业分散
  • 回撤可控:低波特性在震荡市中表现稳健
  • 可解释性强:每个设计决策都有理论支撑

但任何策略都有其适用边界。理解本策略的价值风格暴露,在合适的市场环境中使用,并与其他策略组合配置,才能发挥其最大价值,实现长期稳健的资产增值

回测结果

  • 累计收益率(80.89%) vs 基准收益率(19.09%): 策略大幅跑赢了基准,超额收益(阿尔法)达到了61.8个百分点

  • 贝塔(0.72): 策略的系统性风险低于市场

  • 最大回撤(14.34%): 在获得年化22.81%高收益的同时,最大回撤仅控制在14.34%,这在权益类投资中是比较出色的风控水平。

  • 收益波动率(16.08%): 波动率控制得比较适中。结合22.81%的年化收益来看,收益是波动率的1.4倍左右,性价比不错。

  • 夏普比率(1.17): 这是衡量“每承担一单位风险,能换来多少超额回报”的核心指标。通常夏普比率>1,即被认为策略表现良好;>2则非常优秀。1.17表明你的策略在承担风险的同时,获得了比较可观的超额补偿,效率较高。

  • 胜率(72.77%): 这个胜率在投资策略中相当高。意味着你每交易10次,有7-8次是赚钱的。这种高胜率会带来较好的心理正反馈,有助于策略的长期执行。

  • 盈亏比(1.39): 1.39的盈亏比意味着:赚一次的钱,能覆盖亏损一次后还剩余0.39倍的收益。

    结合分析: 策略属于高胜率、中盈亏比类型。也就是说通过很高的胜率来积累利润,而不是依赖少数几次“暴富”的交易来覆盖大部分亏损。

    \

这个策略可以概括为一个稳健进取型策略。它在保持较低回撤(14.34%)和较低波动(16.08%)的前提下,实现了较高的年化收益(22.81%)。风格上相对稳健(Beta 0.72),且具备显著的超额收益能力(阿尔法为正)


注:AI策略广场链接:https://bigquant.com/square/ai/19c6558e-1adf-818b-4355-66c90b621bef



\

评论
  • 策略代码能发下吗?
  • 文末有链接哦
{link}