You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将月度Fama-French因子转换为季度收益率?

解决Fama-French月度因子转季度因子的数值过大问题

你的问题出在多余的cumsum()调用——这个函数会对所有季度的因子值进行累积求和,导致数值持续膨胀。Fama-French季度因子的正确计算逻辑是对每个季度内的月度因子值进行汇总,而非累积所有历史季度的数值。

修正后的代码

首先补充导入pandas(你的代码中遗漏了这一步),然后重新计算季度因子:

import pandas as pd
import getFamaFrenchFactors as gff

# 下载月度Fama-French三因子数据
df_ff3_monthly = gff.famaFrench3Factor(frequency='m') 
# 转换日期格式并过滤2021年及以后的数据
df_ff3_monthly['date_ff_factors'] = pd.to_datetime(df_ff3_monthly['date_ff_factors'])
df_ff3_monthly = df_ff3_monthly[df_ff3_monthly['date_ff_factors'] > '2020-12-31']
# 设置日期为索引
df_ff3_monthly.set_index('date_ff_factors', inplace=True)

# 方式1:单利求和(学术研究常用,匹配Fama-French官方季度因子逻辑)
df_ff3_quarterly = df_ff3_monthly.resample('Q').sum()

# 方式2:复利计算(更精确的收益计算场景可选)
def compound_quarterly(series):
    return ((1 + series / 100).prod() - 1) * 100

df_ff3_quarterly_compound = df_ff3_monthly.resample('Q').apply(compound_quarterly)

关键说明

  • 单利求和:直接将季度内3个月的因子值相加,这是金融学术研究中计算Fama-French季度因子的标准方式,和Kenneth French官网发布的季度因子数据逻辑一致。
  • 复利计算:考虑月度收益的复利滚动效应,结果会比单利求和略高,适合需要更精确模拟资产收益的场景。

内容的提问来源于stack exchange,提问作者Purple_Leprichaun09

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 00:37:14