Robust API

robust.robust

RobustTest

class RobustTest(fund, factor)

因子增量检验类,基于 Harvey & Liu (2021) “Lucky Factors”。

Parameters:
  • fund – 基金/组合收益序列(pd.Series)

  • factor – 因子数据(pd.DataFrame)

属性

X: pd.DataFrame

因子数据

y: pd.Series

资产收益数据

OX: pd.DataFrame

正交化后的因子数据

T: pd.DataFrame

t统计量

方法

neu()

去相关(正交化)。对每个因子进行单因子回归,得到正交化残差。

Returns:

(OX, T) 元组

bootstrap_once(n_bootstraps=1000)

Bootstrap检验。重复抽样计算最大统计量分布。

Parameters:

n_bootstraps – 重采样次数

Returns:

(eff_fct_name, modifd_P, max_statistic_pdf) 元组

work()

完整工作流程。迭代执行去相关和Bootstrap直到收敛。

static create_sample_dataframes()

创建示例数据集用于测试。

Returns:

(asset_returns, factor_values) 元组

辅助函数

panel(X, y)

面板回归,单测alpha。

Parameters:
  • X – 因子数据

  • y – 收益数据

Returns:

(B, OX, T, df_params) 元组

bootstrap_fake_fund(X, B, OX, T, n_bootstraps=1000)

Bootstrap检验伪基金。

Returns:

(modifd_P, max_statistic_pdf) 元组

parse_name_dates(s)

解析基金经理任期字符串。

Parameters:

s – 格式如 ‘姓名(开始日期-结束日期)’

Returns:

包含 name, start_date, end_date 的字典

get_interval(df, start=None, end=None)

获取DataFrame的时间区间切片。

gen_date_pairs(start_time, end_time, interval='1Y')

生成滚动时间段对。

Parameters:
  • start_time – 开始时间

  • end_time – 结束时间

  • interval – 时间间隔

Returns:

时间戳对列表