api.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:WindAdapter 作者: iLampard 项目源码 文件源码
def factor_load(start_date, end_date, factor_name, save_file=None, **kwargs):
    """
    :param start_date: str, ???????????
    :param end_date: str, ???????????
    :param factor_name: str, ???????????
    :param save_file: str, optional, ???????????? '*.csv' ?? '*.pkl'
    :param kwargs: dict, optional

            freq: str, optional, ???????? ??'M', 'W', 'S', 'Y'? ??enums.py - FreqType
            tenor: str, optional, ???????? ?????????????????????????(??)? ????+FreqType? ?'3M'
            sec_id, str/list, optional, ???????????
            output_data_format: enum, optional, ??enums.py - FreqType
                                MULTI_INDEX_DF: multi-index DataFrame, index=[date, secID], value = factor
                                PIVOT_TABLE_DF: DataFrame, index=date, columns = secID
            is_index: bool, optional, True: ???sec_id????????????????????????
                                      False: ????sec_id?????
            date_format: str, optional, ?????? ??'%Y-%m-%d'
    :return: pd.DataFrame ????????
    """
    if isinstance(factor_name, list):
        kwargs = merge(kwargs, {'output_data_format': OutputFormat.MULTI_INDEX_DF})
        factor_names = factor_name
    else:
        factor_names = [factor_name]

    ret = pd.DataFrame()
    for factor_name in factor_names:
        LOGGER.info('Loading factor data {0}'.format(factor_name))
        factor_loader = FactorLoader(start_date=start_date,
                                     end_date=end_date,
                                     factor_name=factor_name,
                                     **kwargs)
        factor_data = factor_loader.load_data()
        LOGGER.info('factor data {0} is loaded '.format(factor_name))
        ret = pd.concat([ret, factor_data], axis=1)
    if kwargs.get('reset_col_names'):
        ret.columns = factor_names
    if save_file:
        save_data_to_file(ret, save_file)
        LOGGER.critical('Data saved in {0}'.format(save_file))
    return ret
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号