abupy.MetricsBu package¶
Submodules¶
abupy.MetricsBu.ABuGridHelper module¶
组合参数辅助模块
-
abupy.MetricsBu.ABuGridHelper.
gen_factor_grid
(type_param, factors)[源代码]¶ 参数: - type_param – grid目标,为K_GEN_FACTOR_PARAMS_BUY或K_GEN_FACTOR_PARAMS_SELL需要重构
- factors – 可迭代序列,元素为因子dict 如: {‘class’: [AbuFactorBuyBreak], ‘xd’: [42]}, {‘class’: [AbuFactorBuyBreak],’xd’: [60]}
返回: 返回因子dict的组合参数序列
abupy.MetricsBu.ABuGridSearch module¶
借鉴sklearn GridSearch,针对买入因子,卖出因子,选股因子最合进行最优寻找分析
-
class
abupy.MetricsBu.ABuGridSearch.
GridSearch
(read_cash, choice_symbols, stock_pickers_product=None, buy_factors_product=None, sell_factors_product=None, score_weights=None, metrics_class=None)[源代码]¶ Bases:
object
最优grid search对外接口类
-
abupy.MetricsBu.ABuGridSearch.
grid_mul_func
(read_cash, benchmark, buy_factors, sell_factors, stock_pickers, choice_symbols, kl_pd_manager=None)[源代码]¶ 针对输入的买入因子,卖出因子,选股因子及其它参数,进行两年历史交易回测,返回结果包装AbuScoreTuple对象 :param read_cash: 初始化资金数(int) :param benchmark: 交易基准对象,AbuBenchmark实例对象 :param buy_factors: 买入因子序列 :param sell_factors: 卖出因子序列 :param stock_pickers: 选股因子序列 :param choice_symbols: 初始备选交易对象序列 :param kl_pd_manager: 金融时间序列管理对象,AbuKLManager实例 :return: AbuScoreTuple对象
abupy.MetricsBu.ABuMetrics module¶
abupy.MetricsBu.ABuMetricsBase module¶
度量模块基础
-
class
abupy.MetricsBu.ABuMetricsBase.
AbuMetricsBase
(orders_pd, action_pd, capital, benchmark, enable_stocks_full_rate_factor=False)[源代码]¶ Bases:
object
主要适配股票类型交易对象的回测结果度量
-
benchmark
= None¶ 满仓乘数,如果设置为True, 针对度量信息如收益等需要除self.stocks_full_rate_factor
-
plot_returns_cmp
(only_show_returns=False, only_info=False)[源代码]¶ 考虑资金情况下的度量,进行与benchmark的收益度量对比,收益趋势,资金变动可视化,以及其它度量信息
-
plot_sharp_volatility_cmp
(only_info=False)[源代码]¶ sharp,volatility的策略与基准对比可视化,以及alpha阿尔法,beta贝塔,Information信息比率等信息输出
-
classmethod
show_general
(orders_pd, action_pd, capital, benchmark, returns_cmp=False, only_info=False, only_show_returns=False, enable_stocks_full_rate_factor=False)[源代码]¶ 类方法,针对输入执行度量后执行主要度量可视化及度量结果信息输出 :param orders_pd: 回测结果生成的交易订单构成的pd.DataFrame对象 :param action_pd: 回测结果生成的交易行为构成的pd.DataFrame对象 :param capital: 资金类AbuCapital实例化对象 :param benchmark: 交易基准对象,AbuBenchmark实例对象 :param returns_cmp: 是否只度量无资金管理的情况下总体情况 :param only_info: 是否只显示文字度量结果,不显示图像 :param only_show_returns: 透传plot_returns_cmp,默认False, True则只显示收益对比不显示其它可视化 :param enable_stocks_full_rate_factor: 是否开启满仓乘数 :return AbuMetricsBase实例化类型对象
-
-
class
abupy.MetricsBu.ABuMetricsBase.
MetricsDemo
(orders_pd, action_pd, capital, benchmark, enable_stocks_full_rate_factor=False)[源代码]¶ Bases:
abupy.MetricsBu.ABuMetricsBase.AbuMetricsBase
扩展自定义度量类示例
- eg:
- metrics = MetricsDemo(*abu_result_tuple) metrics.fit_metrics() metrics.plot_commission()
abupy.MetricsBu.ABuMetricsFutures module¶
期货度量模块
-
class
abupy.MetricsBu.ABuMetricsFutures.
AbuMetricsFutures
(orders_pd, action_pd, capital, benchmark, enable_stocks_full_rate_factor=False)[源代码]¶ Bases:
abupy.MetricsBu.ABuMetricsBase.AbuMetricsBase
期货度量类,主要区别在于不涉及benchmark
abupy.MetricsBu.ABuMetricsScore module¶
回测结果评分模块
-
class
abupy.MetricsBu.ABuMetricsScore.
AbuBaseScorer
(score_tuple_array, *arg, **kwargs)[源代码]¶ Bases:
abc.NewBase
针对GridSearch的score_tuple_array进行评分抽象基类
-
class
abupy.MetricsBu.ABuMetricsScore.
AbuScoreTuple
[源代码]¶ Bases:
abupy.MetricsBu.ABuMetricsScore.AbuScoreTuple
namedtuple扩展类,在GridSearch中包装回测参数及结果
-
abupy.MetricsBu.ABuMetricsScore.
make_scorer
(score_tuple_array, sc_class, **kwargs)[源代码]¶ score对外接口模块函数 :param score_tuple_array: 承接GridSearch返回的AbuScoreTuple对象序列 :param sc_class: 指定进行评分的具体评分类,AbuBaseScorer子类,非实例对象 :param kwargs: AbuBaseScorer中init的参数,可选weights代表评分项权重, 可选metrics_class代表交易目标度量类 :return: 通过AbuBaseScorer __call__ 调用sc_class.fit_score(),
返回fit_score返回值,即self.score_pd.sort_values(by=’score’)[‘score’]
abupy.MetricsBu.ABuMetricsTC module¶
比特币度量模块
-
class
abupy.MetricsBu.ABuMetricsTC.
AbuMetricsTC
(orders_pd, action_pd, capital, benchmark, enable_stocks_full_rate_factor=False)[源代码]¶ Bases:
abupy.MetricsBu.ABuMetricsFutures.AbuMetricsFutures
比特币,莱特币等币类型度量,自扩张使用,暂时继承AbuMetricsFutures,即不涉及benchmark,user可继承扩展需求
Module contents¶
-
class
abupy.MetricsBu.
GridSearch
(read_cash, choice_symbols, stock_pickers_product=None, buy_factors_product=None, sell_factors_product=None, score_weights=None, metrics_class=None)[源代码]¶ Bases:
object
最优grid search对外接口类
-
class
abupy.MetricsBu.
AbuMetricsBase
(orders_pd, action_pd, capital, benchmark, enable_stocks_full_rate_factor=False)[源代码]¶ Bases:
object
主要适配股票类型交易对象的回测结果度量
-
plot_returns_cmp
(only_show_returns=False, only_info=False)[源代码]¶ 考虑资金情况下的度量,进行与benchmark的收益度量对比,收益趋势,资金变动可视化,以及其它度量信息
-
plot_sharp_volatility_cmp
(only_info=False)[源代码]¶ sharp,volatility的策略与基准对比可视化,以及alpha阿尔法,beta贝塔,Information信息比率等信息输出
-
classmethod
show_general
(orders_pd, action_pd, capital, benchmark, returns_cmp=False, only_info=False, only_show_returns=False, enable_stocks_full_rate_factor=False)[源代码]¶ 类方法,针对输入执行度量后执行主要度量可视化及度量结果信息输出 :param orders_pd: 回测结果生成的交易订单构成的pd.DataFrame对象 :param action_pd: 回测结果生成的交易行为构成的pd.DataFrame对象 :param capital: 资金类AbuCapital实例化对象 :param benchmark: 交易基准对象,AbuBenchmark实例对象 :param returns_cmp: 是否只度量无资金管理的情况下总体情况 :param only_info: 是否只显示文字度量结果,不显示图像 :param only_show_returns: 透传plot_returns_cmp,默认False, True则只显示收益对比不显示其它可视化 :param enable_stocks_full_rate_factor: 是否开启满仓乘数 :return AbuMetricsBase实例化类型对象
-
-
class
abupy.MetricsBu.
AbuMetricsFutures
(orders_pd, action_pd, capital, benchmark, enable_stocks_full_rate_factor=False)[源代码]¶ Bases:
abupy.MetricsBu.ABuMetricsBase.AbuMetricsBase
期货度量类,主要区别在于不涉及benchmark
-
class
abupy.MetricsBu.
AbuMetricsTC
(orders_pd, action_pd, capital, benchmark, enable_stocks_full_rate_factor=False)[源代码]¶ Bases:
abupy.MetricsBu.ABuMetricsFutures.AbuMetricsFutures
比特币,莱特币等币类型度量,自扩张使用,暂时继承AbuMetricsFutures,即不涉及benchmark,user可继承扩展需求
-
class
abupy.MetricsBu.
MetricsDemo
(orders_pd, action_pd, capital, benchmark, enable_stocks_full_rate_factor=False)[源代码]¶ Bases:
abupy.MetricsBu.ABuMetricsBase.AbuMetricsBase
扩展自定义度量类示例
- eg:
- metrics = MetricsDemo(*abu_result_tuple) metrics.fit_metrics() metrics.plot_commission()
-
class
abupy.MetricsBu.
AbuBaseScorer
(score_tuple_array, *arg, **kwargs)[源代码]¶ Bases:
abc.NewBase
针对GridSearch的score_tuple_array进行评分抽象基类
-
abupy.MetricsBu.
make_scorer
(score_tuple_array, sc_class, **kwargs)[源代码]¶ score对外接口模块函数 :param score_tuple_array: 承接GridSearch返回的AbuScoreTuple对象序列 :param sc_class: 指定进行评分的具体评分类,AbuBaseScorer子类,非实例对象 :param kwargs: AbuBaseScorer中init的参数,可选weights代表评分项权重, 可选metrics_class代表交易目标度量类 :return: 通过AbuBaseScorer __call__ 调用sc_class.fit_score(),
返回fit_score返回值,即self.score_pd.sort_values(by=’score’)[‘score’]