factor_calculator
  • fxdayu_alphaman.factor.factor.Factor.factor_calculator(pn_data)

简要描述:

  • 继承自Factor的自定义因子需在此方法下实现因子的计算逻辑

参数:

参数名 必选 类型 说明
pn_data pandas.Panel 时间为索引,按资产分类的一张时间序列数据表,用于计算因子的初始所需数据 pandas.Panel类型 一共三个维度。items axis 为股票代码,包含所有该因子跟踪的股票;在这之下,每只股票对应一个pandas.Dataframe,对应这只股票需要被访问到的数据,index为时间,columns为数据字段名称。

参数示例:

<class 'pandas.core.panel.Panel'>
Dimensions: 196 (items) x 335 (major_axis) x 5 (minor_axis)
Items axis: 600011.XSHG to 300450.XSHG
Major_axis axis: 2015-12-02 15:00:00 to 2017-04-18 15:00:00
Minor_axis axis: close to volume

返回参数说明:

参数名 类型 说明
factor_value pandas.MultiIndex A MultiIndex Series indexed by date (level 0) and asset (level 1), containing the values for a single alpha factor

返回示例:

  -----------------------------------
  date         |    asset   |
  -----------------------------------
               |   AAPL     |   0.5
               -----------------------
               |   BA       |  -1.1
               -----------------------
  2014-01-01   |   CMG      |   1.7
               -----------------------
               |   DAL      |  -0.1
               -----------------------
               |   LULU     |   2.7
               -----------------------
get_factor
  • fxdayu_alphaman.factor.factor.Factor.get_factor(pn_data, update=False)

简要描述:

  • 获得因子值

参数:

参数名 必选 类型 说明
pn_data pandas.Panel 时间为索引,按资产分类的一张时间序列数据表,用于计算因子的初始所需数据 pandas.Panel类型 一共三个维度。items axis 为股票代码,包含所有该因子跟踪的股票;在这之下,每只股票对应一个pandas.Dataframe,对应这只股票需要被访问到的数据,index为时间,columns为数据字段名称。
update bool 是否更新因子值(bool),默认为False,即在该factor实例被销毁前,因子值以第一次计算为准。否则每次取因子值都会重新计算。

参数示例:

  • pn_data:
<class 'pandas.core.panel.Panel'>
Dimensions: 196 (items) x 335 (major_axis) x 5 (minor_axis)
Items axis: 600011.XSHG to 300450.XSHG
Major_axis axis: 2015-12-02 15:00:00 to 2017-04-18 15:00:00
Minor_axis axis: close to volume
  • update:
False

返回参数说明:

参数名 类型 说明
factor_value pandas.MultiIndex A MultiIndex Series indexed by date (level 0) and asset (level 1), containing the values for a single alpha factor

返回示例:

  -----------------------------------
  date         |    asset   |
  -----------------------------------
               |   AAPL     |   0.5
               -----------------------
               |   BA       |  -1.1
               -----------------------
  2014-01-01   |   CMG      |   1.7
               -----------------------
               |   DAL      |  -0.1
               -----------------------
               |   LULU     |   2.7
               -----------------------
factor_df_to_factor_mi
  • fxdayu_alphaman.factor.factor.Factor.factor_df_to_factor_mi(factor_df)

简要描述:

  • 将pandas.Dataframe格式的因子值调整为以date(level0),asset(level1)为索引的MultiIndex格式

参数:

参数名 必选 类型 说明
factor_df pandas.Dataframe 因子值 (pandas.Dataframe类型),index为datetime, colunms为股票代码(asset)。

参数示例:

                AAPL       BA      CMG       DAL         LULU     
 date
 2016-06-24 0.165260    0.002198    0.085632    -0.078074   0.173832
 2016-06-27 0.165537    0.003583    0.063299    -0.048674   0.180890
 2016-06-28 0.135215    0.010403    0.059038    -0.034879   0.111691
 2016-06-29 0.068774    0.019848    0.058476    -0.049971   0.042805
 2016-06-30 0.039431    0.012271    0.037432    -0.027272   0.010902

返回参数说明:

参数名 类型 说明
factor_value pandas.MultiIndex A MultiIndex Series indexed by date (level 0) and asset (level 1), containing the values for a single alpha factor

返回示例:

  -----------------------------------
  date         |    asset   |
  -----------------------------------
               |   AAPL     |   0.5
               -----------------------
               |   BA       |  -1.1
               -----------------------
  2014-01-01   |   CMG      |   1.7
               -----------------------
               |   DAL      |  -0.1
               -----------------------
               |   LULU     |   2.7
               -----------------------
get_factor_by_rankScore
  • fxdayu_alphaman.factor.factor.Factor.get_factor_by_rankScore(factor, ascending = True)

简要描述:

  • 输入multiIndex格式的因子值, 将因子用排序分值重构,并处理到0-1之间(默认为升序——因子越大 排序分值越大(越好)

参数:

参数名 必选 类型 说明
factor pandas.MultiIndex A MultiIndex Series indexed by date (level 0) and asset (level 1), containing the values for a single alpha factor.
ascending bool 因子值按升序法排序对应还是降序法排序对应。具体根据因子对收益的相关关系而定,为正则应用升序,为负用降序

参数示例:

  • factor:
  -----------------------------------
  date         |    asset   |
  -----------------------------------
               |   AAPL     |   0.5
               -----------------------
               |   BA       |  -1.1
               -----------------------
  2014-01-01   |   CMG      |   1.7
               -----------------------
               |   DAL      |  -0.1
               -----------------------
               |   LULU     |   2.7
               -----------------------
  • ascending:
 True

返回参数说明:

参数名 类型 说明
factor_value pandas.MultiIndex 重构后的因子值。A MultiIndex Series indexed by date (level 0) and asset (level 1), containing the values for a single alpha factor. 取值范围在0-1之间

返回示例:

  -----------------------------------
  date         |    asset   |
  -----------------------------------
               |   AAPL     |   0.5
               -----------------------
               |   BA       |   0.1
               -----------------------
  2014-01-01   |   CMG      |   0.7
               -----------------------
               |   DAL      |   0.1
               -----------------------
               |   LULU     |   0.9
               -----------------------
get_disturbed_factor
  • fxdayu_alphaman.factor.factor.Factor.get_disturbed_factor(factor)

简要描述:

  • 输入multiIndex格式的因子值, 将因子值加一个极小的扰动项,用于做quantile区分

参数:

参数名 必选 类型 说明
factor pandas.MultiIndex A MultiIndex Series indexed by date (level 0) and asset (level 1), containing the values for a single alpha factor.

参数示例:

  -----------------------------------
  date         |    asset   |
  -----------------------------------
               |   AAPL     |   0.5
               -----------------------
               |   BA       |  -1.1
               -----------------------
  2014-01-01   |   CMG      |   1.7
               -----------------------
               |   DAL      |  -0.1
               -----------------------
               |   LULU     |   2.7
               -----------------------

返回参数说明:

参数名 类型 说明
factor_value pandas.MultiIndex 重构后的因子值,每个值加了一个极小的扰动项。A MultiIndex Series indexed by date (level 0) and asset (level 1), containing the values for a single alpha factor. 取值范围在0-1之间

返回示例:

  -----------------------------------
  date         |    asset   |
  -----------------------------------
               |   AAPL     |   0.5
               -----------------------
               |   BA       |  -1.1
               -----------------------
  2014-01-01   |   CMG      |   1.7
               -----------------------
               |   DAL      |  -0.1
               -----------------------
               |   LULU     |   2.7
               -----------------------
winsorize
  • fxdayu_alphaman.factor.factor.Factor.winsorize(factor_df)

简要描述:

  • 横截面去极值 - 对Dataframe类型的因子值

参数:

参数名 必选 类型 说明
factor_df pandas.Dataframe 因子值 (pandas.Dataframe类型),index为datetime, colunms为股票代码(asset)。

参数示例:

                AAPL       BA      CMG       DAL         LULU     
 date
 2016-06-24 0.165260    0.002198    0.085632    -0.078074   0.173832
 2016-06-27 0.165537    0.003583    0.063299    -0.048674   0.180890
 2016-06-28 0.135215    0.010403    0.059038    -0.034879   0.111691
 2016-06-29 0.068774    0.019848    0.058476    -0.049971   0.042805
 2016-06-30 0.039431    0.012271    0.037432    -0.027272   0.010902

返回参数说明:

参数名 类型 说明
factor_df pandas.Dataframe 去极值后的因子值(pandas.Dataframe类型),index为datetime, colunms为股票代码。
standardize
  • fxdayu_alphaman.factor.factor.Factor.standardize(factor_df)

简要描述:

  • 横截面z-score标准化 - 对Dataframe类型的因子值

参数:

参数名 必选 类型 说明
factor_df pandas.Dataframe 因子值 (pandas.Dataframe类型),index为datetime, colunms为股票代码(asset)。

参数示例:

                AAPL       BA      CMG       DAL         LULU     
 date
 2016-06-24 0.165260    0.002198    0.085632    -0.078074   0.173832
 2016-06-27 0.165537    0.003583    0.063299    -0.048674   0.180890
 2016-06-28 0.135215    0.010403    0.059038    -0.034879   0.111691
 2016-06-29 0.068774    0.019848    0.058476    -0.049971   0.042805
 2016-06-30 0.039431    0.012271    0.037432    -0.027272   0.010902

返回参数说明:

参数名 类型 说明
factor_df pandas.Dataframe z-score标准化后的因子值(pandas.Dataframe类型),index为datetime, colunms为股票代码。
neutralize
  • fxdayu_alphaman.factor.factor.Factor.neutralize(factor_df,factorIsMV = False)

简要描述:

  • 行业、市值中性化 - 对Dataframe类型的因子值

参数:

参数名 必选 类型 说明
factor_df pandas.Dataframe 因子值 (pandas.Dataframe类型),index为datetime, colunms为股票代码(asset)。
factorIsMV bool 待中性化的因子是否是市值类因子(bool)。是则为True,默认为False

参数示例:

                AAPL       BA      CMG       DAL         LULU     
 date
 2016-06-24 0.165260    0.002198    0.085632    -0.078074   0.173832
 2016-06-27 0.165537    0.003583    0.063299    -0.048674   0.180890
 2016-06-28 0.135215    0.010403    0.059038    -0.034879   0.111691
 2016-06-29 0.068774    0.019848    0.058476    -0.049971   0.042805
 2016-06-30 0.039431    0.012271    0.037432    -0.027272   0.010902


factorIsMV:
False

返回参数说明:

参数名 类型 说明
factor_df pandas.Dataframe 中性化后的因子值(pandas.Dataframe类型),index为datetime, colunms为股票代码。