专业策略分析——优质基本面高股息策略思想
由bq9e696k创建,最终由small_q 被浏览 109 用户
1.市场观察和机会发现
许多投资者热衷追逐热门概念,像曾火爆的新能源汽车概念,行业利好时股价飙升,吸引大量资金买入。但市场多变,热度减退后股价急跌。以2021年1月4日起跟踪买涨幅最大的策略,每日调仓,初期有涨幅,随后收益震荡下行,到2024年9月收益低至-50%左右,最大回撤超55%。原因在于过度关注短期热点,忽视股票基本面和内在价值。
下图是追逐热门概念的选股策略回测收益
2.假设提出
股价变动背后有着清晰的逻辑。以戴维斯理论来看
这意味着,股价上涨、投资获利有两条途径:
一是提升每股收益,即企业业绩增长,当企业净利润大幅增加,每股收益提高,在市盈率不变时,股价会上涨,投资者赚取企业业绩增长的钱;
二是增大市盈率,即提升估值,投资者对股票价值的看法会影响估值,若每股收益 1 元,20 倍估值时股价 20 元,30 倍估值时股价 30 元 。当业绩和估值同时增长,便会出现戴维斯双击。但在当前大盘行情下,成交量萎缩,资金增量不足,总体流动性溢价难以实现,此时有业绩支撑、基本面良好的股票更具抗跌性
不过,每股收益有时并非真金白银,可能存在应收账款和高价库存,面临坏账风险。
真正能落到投资者手中的现金,是现金股利和分红。
因此,股利贴现模型(Dividend Discount Model,DDM)常被用于衡量股票内在价值,该模型将股票内在价值表达为未来股利的折现值之和。近年来,有两大事件促使更多投资者青睐高股息高分红股票。
两个利好消息:
(1)新 “国九条” 的出台。去年国务院印发《关于加强监管防范风险推动资本市场高质量发展的若干意见》,着重强调对上市公司现金分红的监管,对多年未分红或分红比例偏低的公司限制大股东减持、实施风险警示,同时加大对分红优质公司的激励力度。沪深交易所也积极跟进,在《股票上市规则》中加入对分红不达标公司的强约束措施,主板和科创板、创业板分别对分红金额做出明确规定。
(2) “资产荒” 的出现。随着一些行业的调整,曾经稳定的高息理财逐渐减少,一年期大额存单利率降至 2% 以下,消费贷利率也跌到 3% 以下。相比之下,股息率较高的股票显得更具吸引力。而且,愿意慷慨分红的公司通常拥有充沛的现金流,长期稳定高分红的公司,往往具备更强的创造正向现金流的盈利能力,净利润增速也相对更高。
在大盘行情复杂多变,资金流动性存在不确定性的情况下,股票的内在价值是决定其长期投资价值的关键因素。因此,这里就产生了一个优质基本面高股息策略思想。
3.策略逻辑编写
3.1策略思想
3.1.1稳定性指标:
使用股息收益率
m_avg(dividend_yield_ratio,200*5)
来计算过去 5 年的平均股息收益率。这一指标用于捕捉公司是否具有持续稳定的分红能力。
3.1.2成长性指标:
-
使用净利润同比增长率(
net_profit_to_parent_shareholders_ttm_yoy
)进行评估,若当前年,上一年,上上一年的同比增长率分别大于 6%,则认为公司净利润具有持续增长的趋势。
-
策略指定必须连续三年净利润增长率大于 6%
continuing_operation_net_profit_ttm_yoy_3Y_IF
,这一筛选条件旨在确保公司运营的稳定性并具备持续增长的能力。
3.1.3估值合理性指标:
- 策略要求股票的市净率(PB)小于 1.5 倍。
- 策略要求每股现金流量折现率(FCFF / 总市值)大于 3%。
- 策略要求市盈率 TTM(PE-TTM)小于行业平均值。
- 策略要求市现率(PCF)小于行业平均值。
- 策略要求资产负债率(debt_to_asset_lf)小于行业平均值。
3.1.4其他筛选条件:
- 公司必须上市超过五年(225 个交易日乘以 5 年)。
- 对选出的股票按照五年平均股息收益率降序排列,选取前 5 名进行投资。
\
3.2回测配置
- 回测时间:从 2020 年 1 月 1 日至 2025 年 4 月 5 日。
- 初始资金:1,000,000 元
- 交易频率:每日
4.历史数据回测
对该策略从2020年初回测,市场为中国股票市场,起始资金100万元。4年多来,累计收益率达81.97%,年化收益12.59%,夏普率0.51,最大回撤21.14%。大部分时间跑赢沪深300指数,除2020上半年外每年正收益。
5.回测结果分析
由于策略的参数如持股数量、交易频率、上市时间等参数的设置的科学性有待确认,回测周期中有1/3低于基准收益,且年化收益不高,最大回测达到21.14%,策略表现略差。
可能原因是参数的设置是基于理论,与实际的数据会产生偏差,下面进行参数优化,探寻最适合该策略思想的参数设置方案。
6.参数优化
6.1 参数优化的必要性
- 提高策略性能:通过调整参数,可以使策略更好地适应市场或问题的特点,从而提高策略的盈利能力、准确性、效率等关键性能指标。例如,在投资策略中,合适的参数设置可能使收益最大化,同时降低风险。
- 增强策略稳定性:优化参数有助于减少策略在不同市场条件或数据子集上的性能波动,使其更加稳定可靠。这意味着策略在面对各种实际情况时,能够更一致地发挥作用,避免因参数不合理而导致的过度拟合或欠拟合现象。
- 适应变化的环境:市场环境、业务需求和数据特征等都可能随时间变化。参数优化能够让策略及时适应这些变化,保持良好的性能。例如,在机器学习中,随着新数据的不断产生,对模型参数进行优化可以使其更好地拟合新数据,提高预测的准确性。
6.2 常用的参数优化方式
6.2.1 原始调优方式
对于大多数人来说,参数调优的方式是不断的在代码中一个一个改参数,比如将持股数量从3只调整到10只,再运行一次,看看效果如何,效果不好的话再换其它的。
这样子的调优方式非常主观,且很看运气。当涉及到多个参数调优时,再进行这种人工遍历调优的方式就更加低效。
6.2.2 科学调优方式
对于参数调优的方式,目前已有多种成熟的方法:
- 网格搜索:这是一种简单直观的方法,它在指定的参数空间中,通过穷举所有可能的参数组合来寻找最优解。例如,对于一个包含两个参数的模型,一个参数有 5 个可能取值,另一个参数有 3 个可能取值,那么网格搜索就会尝试这 5×3 = 15 种不同的参数组合,然后选择性能最佳的组合作为最优参数。这种方法的优点是简单易懂,能够保证找到全局最优解,但缺点是计算成本高,当参数空间较大时,计算量会呈指数级增长。
- 随机搜索:与网格搜索不同,随机搜索是在参数空间中随机选择参数组合进行评估。它通过设定一定的搜索次数,从参数空间中随机采样并测试不同的参数组合,然后根据性能指标选择最优的参数。随机搜索的优点是计算效率较高,能够在较短时间内探索较大的参数空间,但它不能保证找到全局最优解,结果可能会受到随机采样的影响。
- 遗传算法:遗传算法是一种模拟自然进化过程的优化算法。它将参数编码为染色体,通过选择、交叉和变异等操作来生成新的参数组合,并根据适应度函数评估每个参数组合的性能,逐步淘汰性能较差的个体,保留和进化性能较好的个体,最终得到最优参数。遗传算法能够处理复杂的非线性问题,具有较强的全局搜索能力,但需要设计合适的遗传操作和适应度函数,且计算成本也相对较高。
6.3 贝叶斯参数优化
6.3.1 原理
贝叶斯参数优化基于贝叶斯定理,该定理提供了一种在给定先验知识和观测数据的情况下,计算后验概率的方法。在参数优化问题中,我们将参数视为随机变量,并根据已有的数据和先验知识来更新对参数的概率分布的估计。
举例:
6.3.2 选择贝叶斯参数优化方法的原因
- 利用先验信息:贝叶斯优化结合了先验知识和观测数据来估计参数的后验分布。通过利用先验信息,可以在搜索过程中更有针对性地探索参数空间,避免盲目搜索,尤其对于具有一定先验知识的问题,能够更快地找到最优参数。例如,在某些领域中,根据以往的经验或研究,我们可能对参数的大致范围或分布有一定的了解,贝叶斯优化可以将这些信息纳入考虑,提高优化效率。
- 高效的全局搜索:贝叶斯优化使用高斯过程等模型来建模目标函数,能够根据已有的观测数据预测未知点的函数值和不确定性。它通过平衡探索(尝试新的参数区域)和利用(选择当前认为最优的参数区域)来进行搜索,能够在较少的迭代次数内找到接近全局最优的解。相比其他一些优化方法,如网格搜索的盲目性和随机搜索的不确定性,贝叶斯优化在全局搜索效率上具有明显优势。
- 处理复杂的目标函数:对于复杂的、非凸的、甚至不可微的目标函数,贝叶斯优化仍然能够有效地进行优化。它不需要对目标函数进行显式的求导或其他复杂的数学运算,而是通过对函数的观测和建模来寻找最优解。这使得贝叶斯优化适用于各种实际问题,尤其是那些难以用传统优化方法处理的问题。
- 自动调整搜索策略:贝叶斯优化根据观测到的数据不断更新对参数空间的认识,从而自动调整搜索策略。随着迭代的进行,它会逐渐聚焦于可能包含最优解的区域,减少对不太可能区域的搜索,提高搜索效率。这种自适应的搜索方式能够更好地适应不同的问题和参数空间特点,无需人工过多干预。
6.3.3 主要步骤
- 定义先验分布:根据问题的领域知识和经验,为参数设定一个先验分布。这个分布反映了在没有观测到数据之前,我们对参数取值的初始信念。
- 观测数据:进行实验或收集数据,通过对实际系统的运行或采样,获取与参数相关的观测值。
- 计算后验分布:利用贝叶斯定理,将先验分布和观测数据结合起来,计算参数的后验分布。后验分布代表了在考虑了观测数据之后,我们对参数取值的新信念。
- 选择最优参数:基于后验分布,采用某种策略选择最优的参数值。常见的策略包括最大后验概率估计(MAP),即选择后验分布中概率最大的参数值作为最优解;或者使用期望最大化(EM)算法等,找到使目标函数期望最大化的参数值。
- 迭代优化:不断重复上述步骤,随着新数据的不断加入,后验分布会不断更新,从而逐步逼近参数的真实最优值。
6.4 目标函数
设置目标函数,得到累积函数和最大回撤的综合得分
6.5 先验分布
6.6 最优参数
通过对holding_nums、frequency等7个参数的优化,实现score的最小,即达到在确保累积收益较大的基础上缩小最大回撤。在进行了30次的迭代后,得到最优参数为:
6.7 调优后的回测
将最优参数输入到策略后,按相同的时间进行回测,累积收益从原来的81.97%提高到327.5%,年化收益从12.59%提高到33.35%,最大回撤较原来有所提升,但==策略收益实现了大约300%的提升==
6.8 采样数据分布分析
本策略的贝叶斯参数优化基于高斯函数,需满足采样数据大体符合正态分布。以下是采样数据的可视化:
可以看到,采样数据在偏度和峰度上都与正态分布的标准特征存在差异,并不严格满足正态分布。从理论严格性角度,这些数据并不完全满足基于正态分布假设的高斯函数使用条件,使用时可能会对贝叶斯参数优化的结果产生一定影响 。不过在实际应用中,如果偏差不是特别大,仍可尝试使用高斯函数进行优化,并通过实验和验证来评估结果的有效性,==通过对比优化前和优化后的参数策略回测结果,我们可以发现策略在进行贝叶斯参数优化后,表现得到了非常显著的提升。==
7.参数敏感性分析
下图为分别参数进行0.5倍、2倍和4倍变化后,回测后score的影响分布图,可以看到holding_nums的变化对策略score的影响较大,其它参数的变化对策略的影响较小
8.压力测试和情景分析
8.1 2015年股灾
8.2 2020年2月疫情冲击
8.3 2024年国庆节前
8.4 2025年4月07日关税冲击
9.交易成本与滑点
万3 千1 最低五元
10. 设置最优参数后的策略代码
https://bigquant.com/codesharev3/fdad3d60-6475-4328-b77b-8e87a91bbe35
{{pro}}
说明:
-
该代码大概会运行30分钟左右 取决于开的服务器速度
-
建议回测时间小于5年,否则会出现超出内存导致运行停止
\
-
运行之前请 在开发环境中点击左上角红色Q-终端-新建终端
在终端中输入: pip install scikit-optimize 然后Enter运行
https://bigquant.com/codesharev3/127967e7-c1fb-43c6-b852-99ec28a92b87
\