M.derived_feature_extractor¶
定义¶
-
M.derived_feature_extractor.
v2
(self, input_data, features, date_col='date', instrument_col='instrument', user_functions={})¶ 衍生特征(因子)抽取:对于衍生特征(通过表达式定义的,e.g. close_1/close_0),通过表达式引擎,计算表其值
参数: - input_data (DataSource) – 特征数据,包含用于构建衍生因子的基础因子数据,一般来自基础特征抽取或者衍生特征抽取模块。
- features (列表|DataSource) – 特征列表,需要抽取的衍生特征,由表达式构建。可用数据字段来自输入的data,可用操作符和函数见 表达式引擎 。
- date_col (str) – 日期列名,如果在表达式中用到切面相关函数时,比如 rank,会用到此列名;默认值是date。
- instrument_col (str) – 证券代码列名,如果在表达式中用到时间序列相关函数时,比如 shift,会用到此列名;默认值是instrument。
- user_functions (字典) – 自定义表达式函数,字典格式,例:{‘user_rank’:user_rank},字典的key是方法名称,字符串类型,字典的value是方法的引用,参考 表达式引擎 ;默认值是{}。
返回: - .data: 特征数据
返回类型: Outputs
示例代码¶
代码:
features = [
'return_5', # 5日收益
'return_10', # 10日收益
'return_20', # 20日收益
'avg_amount_0/avg_amount_5', # 当日/5日平均交易额
'avg_amount_5/avg_amount_20', # 5日/20日平均交易额
]
instruments = ['601318.SHA']
start_date = '2017-03-01'
end_date = '2017-04-01'
# 抽取基础特征,比如 return_5, return_10, ..
m2 = M.general_feature_extractor.v6(
instruments=instruments,
start_date=start_date, end_date=end_date,
features=features)
# 计算衍生特征,比如 avg_amount_0/avg_amount_5 ..
m2_1 = M.derived_feature_extractor.v2(input_data=m2.data, features=features)
# 再计算一个衍生特征,比如 rank(return_10 / return_20)
m2_2 = M.derived_feature_extractor.v2(
input_data=m2.data,
features=['rank(return_10 / return_20)'])