当前位置: 首页 > news >正文

研报复现|史蒂夫·路佛价值选股法则

本文参考:20151009-申万宏源-申万大师系列价值投资篇之八:史蒂夫·路佛价值选股法则

史蒂夫·路佛是华尔街著名投资人,拥有40余年投资研究经验,1969-1981年先后担任投资策略分析师和投资组合经理,1981年创立路佛威登资产管理公司,后成为欧本海默基金成员。他管理的路佛核心投资基金曾获晨星公司五颗星评价,2005年管理资产规模达10亿美元,其投资理念集中体现在《The Myths of inflation and Investing》等著作中。

史蒂·夫路佛介绍

策略概述

史蒂夫·路佛价值选股法则从估值水平、分红水平和财务状况三个角度出发,提出7条可量化的选股标准,强调通过客观指标筛选“便宜且财务健康”的股票。策略注重系统性设计,减少主观判断,回测显示其在A股市场具有较强适用性,年化收益率达23.9%,超额收益显著。

史蒂·夫路佛策略介绍

策略实现逻辑

策略实现逻辑与步骤

  1. 核心逻辑:通过多维度财务指标筛选低估值、高分红、财务稳健的公司,认为此类公司具备长期投资价值。

  2. 具体步骤

    • 估值筛选:要求市净率、市盈率、市现率低于市场平均值,每股流动资产/股价达标,确保股票“便宜”;

    • 分红要求:股息收益率不低于市场平均值,保障股东收益;

    • 财务健康:长期借款/总资本<50%,流动比率高于市场平均值,降低偿债风险。

核心指标及含义

指标含义计算公式作用

市盈率(PE)

股价与每股收益的比率,衡量估值水平

市盈率 = 股价 ÷ 每股收益(5年平均)

筛选低估值股票

市净率(PB)

股价与每股净资产的比率,反映股价相对资产的溢价

市净率 = 股价 ÷ 每股净资产

排除资产高估标的

市现率

股价与每股现金流量的比率,衡量现金流匹配度

市现率 = 股价 ÷ 每股现金流量

评估盈利质量

每股流动资产/股价

每股流动资产与股价的比率,衡量资产流动性价值

每股流动资产/股价 = 每股流动资产 ÷ 股价 × 100%

确保股价有流动资产支撑

股息收益率

年度股息与股价的比率,衡量分红水平

股息收益率 = 近12个月每股股息 ÷ 股价 × 100%

筛选高分红股票

长期借款/总资本

长期借款占总资本的比例,衡量财务杠杆

长期借款/总资本 = 长期借款 ÷ 总资本 × 100%

控制负债风险

流动比率

流动资产与流动负债的比率,衡量短期偿债能力

流动比率 = 流动资产 ÷ 流动负债

评估短期偿债能力

市净率(PB)
  1. 定义
    衡量股价相对于每股净资产的倍数,用于评估资产密集型企业的估值水平。

  2. 计算公式

市净率当前股价每股净资产

其中,每股净资产 = 股东权益合计 ÷ 总股本

  1. 财报对应名称

  • 股东权益合计:资产负债表中“归属于母公司所有者权益合计”。

  • 总股本:资产负债表“股本”或“实收资本”科目。

市现率
  1. 定义
    衡量股价相对于每股现金流量的倍数,反映企业现金创造能力的估值。

  2. 计算公式

市现率当前股价每股经营活动现金流量

其中,每股经营活动现金流量 = 经营活动现金流量净额 ÷ 总股本

  1. 财报对应名称

  • 经营活动现金流量净额:现金流量表中“经营活动产生的现金流量净额”。

市盈率(PE)
  1. 定义
    衡量投资者为获取单位净利润支付的价格,反映市场对未来盈利的预期。

  2. 计算公式

静态市盈率当前股价上一年度每股收益

动态市盈率当前股价预测本年度每股收益

  1. 财报对应名称

  • 每股收益:利润表中“基本每股收益”或“稀释每股收益”。

每股流动资产
  1. 定义
    每股股票对应的流动资产价值,反映企业短期变现能力。

  2. 计算公式

每股流动资产流动资产合计总股本

  1. 财报对应名称

  • 流动资产合计:资产负债表中“流动资产合计”科目。

股息收益率
  1. 定义
    年度股息与股价的比率,衡量股东现金回报水平。

  2. 计算公式

股息收益率每股股息当前股价

  1. 财报对应名称

  • 每股股息:利润分配表中“每股派发现金红利”,或现金流量表“分配股利、利润支付的现金”。

股价现金流量
  1. 定义
    衡量股价相对于每股现金流量的指标,与市现率类似,但可能使用不同口径的现金流量(如自由现金流量)。

  2. 计算公式

股价现金流量比当前股价每股自由现金流量

其中,每股自由现金流量 = (经营活动现金流量净额 - 资本支出) ÷ 总股本

  1. 财报对应名称

  • 资本支出:现金流量表中“购建固定资产、无形资产和其他长期资产支付的现金”。

长期借款
  1. 定义
    企业向外部机构借入的期限超过一年的债务,属于非流动负债。

  2. 财报对应名称

  • 长期借款:资产负债表中“长期借款”科目,通常在非流动负债部分。

总资本
  1. 定义
    企业全部长期资金来源的总和,包括股东权益和长期负债。

  2. 计算公式

总资本股东权益合计长期负债合计

  1. 财报对应名称

  • 长期负债合计:资产负债表中“长期借款”“应付债券”等非流动负债科目之和。

指标应用逻辑

  1. 筛选逻辑

    • 先通过市盈率、市净率、市现率和每股流动资产/股价排除高估值股票;

    • 再用股息收益率筛选高分红标的,强化价值属性;

    • 最后通过长期借款/总资本和流动比率确保公司财务稳健,降低暴雷风险。

  2. 逻辑优势:指标覆盖估值、分红、财务三大核心维度,形成多层过滤体系,兼顾价值与安全。

策略回测

回测方案设计

  1. 回测周期:2020年1月1日至2025年1月1日, 共计1212交易日。

  2. 数据范围:历史上所有沪深300成分股(含退市股票)。

  3. 调仓频率:每年12次调仓, 每月度月初调仓。

  4. 手续费:交易费用为千分之1.3。

  5. 业绩基准:沪深300指数

回测结果分析

from backtest.analyzer import StrategyAnalyzerfrom backtest.visualizer import Visualizer
def screen_stocks(self, date):    """        市净率低于全市场平均值        PE 低于全市场平均值        每股流动资产至少是股价的 30%        股息收益率不低于全市场平均值        股价现金流量比低于全市场平均值        长期借款占总资本比率低于 50%        流动比率高于市场平均值     参数:    date: 日期,用于筛选特定交易日的数据
    返回:    符合筛选条件的股票代码列表    """    qualified_stocks = []    data_strategy = self.data_strategy.copy()
    if data_strategy is None:        return qualified_stocks
    data_strategy['trade_date'] = pd.to_datetime(        data_strategy['trade_date'],        format='%Y%m%d'    )
    data_strategy = data_strategy[data_strategy['trade_date'] == date]    if len(data_strategy) == 0:        print(f'Error: 调仓日:{date}, 无数据!')        return qualified_stocks
    data_strategy.fillna(0, inplace=True)
    # 强制转换数值列类型并处理异常值    numeric_cols = [        'close', 'pb', 'pe', 'dv_ratio', 'cfps',        'current_ratio', '每股流动资产', '股价现金流量比', '总资本', 'lt_borr', 'market_avg_pb',        'market_avg_pe', 'market_avg_dv', 'market_avg_cfps_ratio',        'market_avg_current_ratio'    ]
    data_strategy[numeric_cols] = data_strategy[numeric_cols].apply(pd.to_numeric, errors='coerce')
    # 定义筛选条件    conditions = [        "总得分==True"    ]
    # 构建查询字符串    query_str = " and ".join(conditions)    filtered_df = data_strategy.query(query_str)    print(f"{date}: 符合条件标的个数:{len(filtered_df)}")    results = filtered_df
    # 按PE排序并限制持股数量    qualified_stocks = results['ts_code'].tolist()
    return qualified_stocks
analyzer = StrategyAnalyzer()performance = analyzer.analyze()
analyzer.generate_report(performance);
===== 回测报告 =====
回测周期: 20200101 - 20250101
初始资金: 10,000,000.00元
最终资金: 5,479,659.82元===== 收益分析 =====
总收益率: -45.13%
年化收益率: -11.73%
基准总收益率: -5.23%
基准年化收益率: -1.11%
超额收益率: -39.90%===== 风险分析 =====
最大回撤: -74.84%
基准最大回撤: -45.60%
波动率: 30.14%
基准波动率: 19.59%===== 风险调整后收益 =====
夏普比率: -0.26
基准夏普比率: 0.04
索提诺比率: -0.37
卡玛比率: -0.16===== 胜率和盈亏比 =====
胜率: 47.52%
盈亏比: 1.05===== 月度表现 =====
盈利月份: 24
亏损月份: 36
月度胜率: 40.00%===== 交易统计 =====
总交易次数: 1604
买入次数: 807
卖出次数: 797
交易总费用: 1566132.18元===== 总结 =====
策略表现劣于基准,超额收益为负
夏普比率 -0.26,风险调整后收益一般
==============================================
visualizer = Visualizer()visualizer.strategy_title = "史蒂夫·路佛价值选股法则"visualizer.plot_performance(performance)

png

png

png

png

png

png

png

http://www.dtcms.com/a/313164.html

相关文章:

  • linux ollama模型缓存位置变更
  • 音视频学习(四十九):音频有损压缩
  • 机器学习之决策树(二)
  • 解决PyCharm的Terminal终端conda环境默认为base的问题
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-57,(知识点:电感的选型,电感参数,电感量,饱和电流,直流电阻,自谐振频率)
  • 可视化AI应用构建工具(Dyad)
  • 【内容规范】关于标题中【】标记的使用说明
  • 2.0 vue工程项目的创建
  • TableCurve 3D:自动化曲面拟合与方程发现
  • Steam饥荒联机版多人服务器搭建全解析 -- 阿里云Linux系统构建云服务器
  • Flutter dart控制流程
  • Shell脚本-变量的定义规则
  • 【DL学习笔记】深入学习tenser
  • electron-多线程
  • JDBC核心技术与预编译SQL实战
  • 计算机网络:如何将一个C类网络划分成两个子网
  • 集成电路学习:什么是USB HID人机接口设备
  • Web前端文件上传安全与敏感数据安全处理
  • 时序论文44 | TwinsFormer:通过两个交互组件重构时间序列内在依赖关系
  • [spring-cloud: 服务发现]-源码解析
  • 医院课题管理全动态流程 (AI-Enhanced, Data-Driven Research Lifecycle)
  • 位运算在权限授权中的应用及Vue3实践
  • 第2章算法分析:其他渐进复杂度符号
  • 免费非常好用的录屏软件,体积小
  • 【Java EE】Spring AOP
  • Gumbel-Softmax函数
  • AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年8月3日第155弹
  • 数据与信息的边界:非法获取计算机信息系统数据罪的司法困境与出路
  • 【十九、Javaweb-day19-Linux概述】
  • python---可变类型、不可变类型