因子投资已经彻底改变了量化金融的世界,提供了一种系统性方法来捕捉持久的超额回报来源。在这篇文章里,我们将构建基于因子的投资策略模型,并构建一个暴露于关键因子的投资组合,以实现长期优化的表现。
请访问 https://quantjourney.substack.com 查看完整代码和文本
因子投资的演变历程因子投资起源于威廉·夏普在20世纪60年代提出的资本资产定价模型(CAPM)。CAPM提出,单一因素——市场贝塔——可以解释预期收益的横截面。但很快发现,仅凭CAPM并不能完全解释资产定价的复杂性。
真正的突破出现在1992年,当时尤金·法玛和肯尼斯·弗伦奇提出了三因素模型,该模型在市场贝塔的基础上添加了规模和价值因素。这个模型显著增强了资产定价理论的解释能力,并为现代因素投资提供了基础。
因子投资是领先对冲基金采用的机构级量化策略的核心所在,利用了多因子模型的进步。这些因子的发展推动了复杂的多因子模型和策略的进步,这些模型和策略已经成为许多量化投资方法的基础。尽管因子投资被广泛应用,但仍然存在批评的声音,并且也会经历表现不佳的阶段。
理解因素溢价?基于因子的投资的核心前提是,某些因子(因素)与较长时期内的超出预期的风险调整回报相关。这些回报的溢价可以归因于多种因素。
- 基于风险的解释:某些因素可能代表承担未完全被市场贝塔捕捉到的系统性风险的补偿。例如,价值溢价可能反映了价值股与财务困境相关的较高风险。
- 行为学解释:因素可能利用持续存在的行为偏差或机构约束导致的误定价。例如,动量因素可能是因为投资者对新信息反应不足所驱动。
- 结构性解释:某些因素可能得益于市场或监管环境的结构性特征。例如,规模溢价可能部分归因于小股票的较低流动性和较高的交易成本。
理解这些基本驱动因素对于评估因素溢价的持续性及其未来可能带来的回报至关重要,对我们投资组合的构建至关重要。
股票市场的关键因素尽管学术文献中提出了许多因素,但少数因素经受住了时间的考验并在实践中被广泛应用,包括:
- 市场(Beta):整体市场风险因素(如CAPM中所定义)。
- 规模:小型公司比大型公司更有可能表现良好。
- 价值:低价格相对于基本面的股票表现更佳。
- 动量:近期表现倾向于延续。
- 质量:基本面强劲的股票表现更佳。
- 低波动性:低风险股票表现出异常的优异表现。
- 收益:高股息股票表现出优于其他股票的趋势。
现在,让我们来定义这些因素,并指定我们将使用的指标。这一步对于成功实施和获得正向的投资回报至关重要。这里是一些常用的指标,用于定义主要因素:
- 价值:
- 股价与净值比(P/B)
- 股价与盈利比(P/E)
- 企业价值与EBITDA(EV/EBITDA)
2. 势头 :
- 11个月的价格回报(不包括最近一个月)
- 动量(考虑了市场和行业影响)
3. 品质 :
- 每股收益 (ROE)
- 盈利能力的稳定性
- 低应计利润
4. 低波动 :
- 收益的标准差
- 贝塔值
5. 尺寸 :
- 市值
6. 收益率 :
- 股息率
- 股东回报率(股息加上股票回购)
指标的选择对因子投资策略的表现有着重大影响,许多投资者使用综合评估指标以提高稳健性。
让我们在QuantJourney中实现因子投资策略吧为了实施,我们将按以下步骤操作:
- 数据收集:我们将收集广泛股票的历史价格和基本面数据。这些数据来自EODHD,我们使用equity.py模块来获取。
- 因子计算:我们只会使用由价格和基本面数据计算得出的因子,为每只股票计算因子得分。
- 股票排名:我们将根据每只股票的得分对它们进行排名。
- 投资组合构建:最后,我们将根据因子排名选择股票,并确定它们在投资组合中的权重。
让我给你们看看我们的代码结果,然后给大家详细讲讲。
这是来自SPY500中的前10只股票的结果(在代码中你可以设置任意股票组合)。
投资组合表现与标普500指数的比较。
累积回报:
- 投资组合: 1.91(91%的总回报)
- 标普500指数: 1.87(87%的总回报)
年化收益率
- 投资组合:13.9%,标普500:13.3% 我们取得了更高的年化回报,这表明了更好的年度表现(这还不是最优解,具体的投资组合生成代码请参见下方)
夏普比率(Sharpe比率):
- 投资组合:0.663
- S&P 500:0.697 S&P 500 的夏普比率略高一些,表明它在风险调整回报方面做得更好。我们的投资组合则承担了更多的风险以获取回报。
最大回撤幅度:
- 投资组合表现:-31.8%
- 标普500指数:-33.9%
让我们来看看获取基本数据和价格数据的方式
然后计算_factors。
就像你看到的,我们已经获取了资产负债表的数据以计算PB_Ratio (市净率),并从定价数据表中检查相应的日期。资产负债表和利润表的数据按年或季度提供,如下所示:
投资组合构建方式可以使用各种方法构建因子投资组合。
- 长空策略组合:买入具有有利因子敞口的股票,卖出具有不利因子敞口的股票。建议修改为:“买入有利因子的股票,卖出不利因子的股票”,更为直接且符合中文习惯。
- 单边倾斜:在一个仅做多的组合中,对具有正因子敞口的股票进行超配。建议修改为:“在仅做多的投资组合中,对具有正因子敞口的股票进行超配”,更加明确且符合中文表达习惯。
- 多因子模型:结合多个因子来创建更稳健和多元化的投资组合。这可以通过简单地等权因子组合或更复杂的优化技术来实现。建议修改为:“结合多个因子来创建更稳健和多元化的投资组合。这可以通过简单的等权重因子组合或更复杂的优化技术来实现”,保留原意的同时,语言更加自然。
- 风险均等分配:将风险预算平均分配给不同的因子,这有助于平衡每个因子对投资组合整体风险的贡献。建议修改为:“将风险预算平均分配给不同的因子,这样可以平衡每个因子对整体投资组合风险的贡献”,语言更加流畅。
-
智能贝塔:旨在通过透明、低成本的框架捕捉因子溢价的规则型策略,通常通过ETF来实施。建议修改为:“旨在通过透明、低成本的框架捕捉因子溢价的规则型策略,通常通过ETF来实现”,语言更为自然且符合中文习惯。
- 买入有利因子的股票,卖出不利因子的股票:这种做法旨在捕捉纯粹的因子溢价,同时中立化市场敞口。
- 在仅做多的投资组合中,对具有正因子敞口的股票进行超配:由于卖空限制,这种做法在传统资产管理者中更为常见。
- 结合多个因子来创建更稳健和多元化的投资组合:这可以通过简单的等权重因子组合或更复杂的优化技术来实现。
- 将风险预算平均分配给不同的因子:这样可以平衡每个因子对整体投资组合风险的贡献。
- 旨在通过透明、低成本的框架捕捉因子溢价的规则型策略,通常通过ETF来实现。
选择的方法取决于投资者的目标、限制条件和市场情况。
我们建立了一个简单的投资组合,通过对我们投资组合中的所有因子进行排序,并选取排名前40%的因子,采用多因子模型的方法。
因子择时与轮动正如我们之前提到的,尽管许多因素已经证明了长期溢价,但它们可以经历显著的周期性和表现不佳的时期。这在累积回报图中有所体现,相对于标普500指数(基准),有时候它们的表现会更好,有时候则会更差。
许多领先的对冲基金通过战略性地运用择时和轮动因子,来提高回报。
- 宏观经济体制:根据当前的经济环境调整因子暴露(例如,在早期周期阶段偏好价值)。
- 基于估值的时机选择:转向那些相对于其历史估值显得便宜的因子。
- 基于动量的轮动:增加对近期表现强劲的因子的暴露。
- 差异信号:当因子回报的横截面差异较大时增加因子暴露。
我们也计算了SPY500的基准值,以便在同一时间段内比较投资组合的回报如下:
我们来看看来自信息系数的因子表现。
- 价值因子:-0.040043 价值因子的IC略为负数,表明其预测能力较弱,可能会影响表现。
- 质量因子:0.125108 质量因子具有最高的正IC,显示出它在预测未来收益方面最为有效。
- 动量因子:0.110823 动量因子也有正IC,表明它具有一定的预测价值,虽然略逊于质量因子。
基于信息系数(ICs)的因素表现分析结果显示进一步优化的空间。我们与因子工厂的持续合作将增强因子的选择和轮换,符合业界最佳实践。
试试因子投资!
共同学习,写下你的评论
评论加载中...
作者其他优质文章