abupy.FactorBuyBu package¶
Submodules¶
abupy.FactorBuyBu.ABuBuyFactorWrap module¶
买入因子类装饰器模块
abupy.FactorBuyBu.ABuFactorBuyBase module¶
买入择时策略因子基础模块
-
class
abupy.FactorBuyBu.ABuFactorBuyBase.
AbuFactorBuyBase
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abc.NewBase
买入择时策略因子基类:每一个继承AbuFactorBuyBase的子类必须混入一个方向类, 且只能混入一个方向类,即具体买入因子必须明确买入方向,且只能有一个买入方向, 一个因子不能同上又看涨又看跌,详情查阅ABuFactorBuyBreak因子示例
-
buy_today
()[源代码]¶ 今天即进行买入操作,需要不能使用今天的收盘数据等做为fit_day中信号判断, 适合如比特币非明确一天交易日时间或者特殊情况的买入信号 :return 生成的交易订单AbuOrder对象
-
buy_tomorrow
()[源代码]¶ 明天进行买入操作,比如突破策略使用了今天收盘的价格做为参数,发出了买入信号, 需要进行明天买入操作,不能执行今天买入操作 :return 生成的交易订单AbuOrder对象
-
make_buy_order
(day_ind=-1)[源代码]¶ 根据交易发生的时间索引,依次进行交易订单生成,交易时间序列特征生成, 决策交易是否拦截,生成特征学习数据,最终返回order,即订单生效 :param day_ind: 交易发生的时间索引,即对应self.kl_pd.key
-
make_buy_order_ml_feature
(day_ind)[源代码]¶ 根据交易发生的时间索引构通过AbuMlFeature构建买入时刻的各个交易特征 :param day_ind: 交易发生的时间索引,对应self.kl_pd.key :return:
-
make_ump_block_decision
(ml_feature_dict)[源代码]¶ 输入需要决策的当前买入交易特征通过ump模块的对外manager对交易进行决策, 判断是否拦截买入交易,还是放行买入交易。子类可复写此方法,即子类策略因子实现 自己的任意ump组合拦截方式,根据策略的拦截比例需要等等参数确定ump具体策略, 且对于多种策略并行执行策略本身定制适合自己的拦截策略,提高灵活度 :param ml_feature_dict: 需要决策的当前买入时刻交易特征dict :return: bool, 对ml_feature_dict所描述的交易特征是否进行拦截
-
position_class
= None¶ 因子可选择根据策略的历史回测设置胜率,期望收益,期望亏损, 比如使用AbuKellyPosition,必须需要因子的胜率,期望收益, 期望亏损参数,不要使用kwargs.pop(‘a’, None)设置,因为 暂时使用hasattr判断是否有设置属性
-
-
class
abupy.FactorBuyBu.ABuFactorBuyBase.
AbuFactorBuyTD
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyBase
很多策略中在fit_day中不仅仅使用今天的数据,经常使用昨天,前天数据,方便获取昨天,前天的封装
-
class
abupy.FactorBuyBu.ABuFactorBuyBase.
AbuFactorBuyXD
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyBase
以周期为重要参数的策略,xd代表参数’多少天’如已周期为参数可直接继承使用
-
buy_today
()[源代码]¶ 覆盖base函数,今天即进行买入操作,需要不能使用今天的收盘数据等做为fit_day中信号判断, 适合如比特币非明确一天交易日时间或者特殊情况的买入信号,,使用周期参数xd赋予skip_days :return 生成的交易订单AbuOrder对象
-
abupy.FactorBuyBu.ABuFactorBuyBreak module¶
买入择时示例因子:突破买入择时因子
-
class
abupy.FactorBuyBu.ABuFactorBuyBreak.
AbuFactorBuyBreak
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyBase
,abupy.FactorBuyBu.ABuFactorBuyBase.BuyCallMixin
示例正向突破买入择时类,混入BuyCallMixin,即向上突破触发买入event
-
class
abupy.FactorBuyBu.ABuFactorBuyBreak.
AbuFactorBuyPutBreak
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyBase
,abupy.FactorBuyBu.ABuFactorBuyBase.BuyPutMixin
示例反向突破买入择时类,混入BuyPutMixin,即向下突破触发买入event,详情请查阅期货回测示例demo
-
class
abupy.FactorBuyBu.ABuFactorBuyBreak.
AbuFactorBuyPutXDBK
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyXD
,abupy.FactorBuyBu.ABuFactorBuyBase.BuyPutMixin
示例继承AbuFactorBuyXD完成反向突破买入择时类
-
class
abupy.FactorBuyBu.ABuFactorBuyBreak.
AbuFactorBuyXDBK
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyXD
,abupy.FactorBuyBu.ABuFactorBuyBase.BuyCallMixin
示例继承AbuFactorBuyXD完成正向突破买入择时类
abupy.FactorBuyBu.ABuFactorBuyDemo module¶
买入择时示例因子:突破买入择时因子
-
class
abupy.FactorBuyBu.ABuFactorBuyDemo.
AbuBTCDayBuy
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyBase
,abupy.FactorBuyBu.ABuFactorBuyBase.BuyCallMixin
比特币日交易策略:
- 买入条件1: 当日这100个股票60%以上都是上涨的
- 买入条件2: 使用在第12节:机器学习与比特币示例中编写的:信号发出今天比特币会有大行情
-
class
abupy.FactorBuyBu.ABuFactorBuyDemo.
AbuFactorBuyBreakHitPredictDemo
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBreak.AbuFactorBuyBreak
继续继承AbuFactorBuyBreak复写make_ump_block_decision, 区别是使用AbuFactorBuyBreakReocrdHitDemo的学习成果hit_ml 对几个裁判这次交易命中的分类簇个数组成矢量特征进行predict, 拦截预测结果为-1的交易
-
class
abupy.FactorBuyBu.ABuFactorBuyDemo.
AbuFactorBuyBreakReocrdHitDemo
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBreak.AbuFactorBuyBreak
示例让裁判自己学习怎么配合,自己做出最正确的判断
-
make_ump_block_decision
(ml_feature_dict)[源代码]¶ 即是可以再次根据裁判之间的配合数据进行训练学习,让裁判自己学习怎么配合,自己做出最正确的判断, 而不是像上面的示例使用固定值3来做为裁决阀值,AbuFactorBuyBreakReocrdHitDemo类似 AbuFactorBuyBreakUmpDemo但是不对交易进行决策,只是把每一个裁判的对应交易命中的分类簇个数进行记录,更新在特征数据里 :param ml_feature_dict: 需要决策的当前买入时刻交易特征dict :return: bool, 对ml_feature_dict所描述的交易特征是否进行拦截
-
-
class
abupy.FactorBuyBu.ABuFactorBuyDemo.
AbuFactorBuyBreakUmpDemo
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBreak.AbuFactorBuyBreak
示例组织裁判进行更复杂的综合裁决 扩展AbuFactorBuyBreak组织裁判进行更复杂的综合裁决
-
class
abupy.FactorBuyBu.ABuFactorBuyDemo.
AbuSDBreak
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyXD
,abupy.FactorBuyBu.ABuFactorBuyBase.BuyCallMixin
示例买入因子: 在AbuFactorBuyBreak基础上进行降低交易频率,提高系统的稳定性处理
-
class
abupy.FactorBuyBu.ABuFactorBuyDemo.
AbuTwoDayBuy
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyTD
,abupy.FactorBuyBu.ABuFactorBuyBase.BuyCallMixin
示例AbuLeastPolyWrap,混入BuyCallMixin,即向上突破触发买入event
-
fit_day
(*args, **kwargs)¶
-
fit_month
(*args, **kwargs)¶
-
abupy.FactorBuyBu.ABuFactorBuyGolden module¶
买入择时示例因子:黄金分割线买入择时因子
-
class
abupy.FactorBuyBu.ABuFactorBuyGolden.
AbuFactorBuyGolden
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyBase
,abupy.FactorBuyBu.ABuFactorBuyBase.BuyCallMixin
示例黄金分割线买入择时因子,混入BuyCallMixin,即向上突破触发买入event
Module contents¶
-
class
abupy.FactorBuyBu.
AbuFactorBuyBase
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abc.NewBase
买入择时策略因子基类:每一个继承AbuFactorBuyBase的子类必须混入一个方向类, 且只能混入一个方向类,即具体买入因子必须明确买入方向,且只能有一个买入方向, 一个因子不能同上又看涨又看跌,详情查阅ABuFactorBuyBreak因子示例
-
buy_today
()[源代码]¶ 今天即进行买入操作,需要不能使用今天的收盘数据等做为fit_day中信号判断, 适合如比特币非明确一天交易日时间或者特殊情况的买入信号 :return 生成的交易订单AbuOrder对象
-
buy_tomorrow
()[源代码]¶ 明天进行买入操作,比如突破策略使用了今天收盘的价格做为参数,发出了买入信号, 需要进行明天买入操作,不能执行今天买入操作 :return 生成的交易订单AbuOrder对象
-
make_buy_order
(day_ind=-1)[源代码]¶ 根据交易发生的时间索引,依次进行交易订单生成,交易时间序列特征生成, 决策交易是否拦截,生成特征学习数据,最终返回order,即订单生效 :param day_ind: 交易发生的时间索引,即对应self.kl_pd.key
-
make_buy_order_ml_feature
(day_ind)[源代码]¶ 根据交易发生的时间索引构通过AbuMlFeature构建买入时刻的各个交易特征 :param day_ind: 交易发生的时间索引,对应self.kl_pd.key :return:
-
-
class
abupy.FactorBuyBu.
AbuFactorBuyXD
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyBase
以周期为重要参数的策略,xd代表参数’多少天’如已周期为参数可直接继承使用
-
buy_today
()[源代码]¶ 覆盖base函数,今天即进行买入操作,需要不能使用今天的收盘数据等做为fit_day中信号判断, 适合如比特币非明确一天交易日时间或者特殊情况的买入信号,,使用周期参数xd赋予skip_days :return 生成的交易订单AbuOrder对象
-
-
class
abupy.FactorBuyBu.
AbuFactorBuyTD
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyBase
很多策略中在fit_day中不仅仅使用今天的数据,经常使用昨天,前天数据,方便获取昨天,前天的封装
-
class
abupy.FactorBuyBu.
BuyCallMixin
[源代码]¶ Bases:
object
混入类,混入代表买涨,不完全是期权中buy call的概念, 只代表看涨正向操作,即期望买入后交易目标价格上涨,上涨带来收益
-
buy_type_str
¶ 描述器类:作用在类中需要lazy的对象方法上
-
expect_direction
¶ 描述器类:作用在类中需要lazy的对象方法上
-
-
class
abupy.FactorBuyBu.
BuyPutMixin
[源代码]¶ Bases:
object
混入类,混入代表买跌,应用场景在于期权,期货策略中, 不完全是期权中buy put的概念,只代看跌反向操作, 即期望买入后交易目标价格下跌,下跌带来收益
-
buy_type_str
¶ 描述器类:作用在类中需要lazy的对象方法上
-
expect_direction
¶ 描述器类:作用在类中需要lazy的对象方法上
-
-
class
abupy.FactorBuyBu.
AbuFactorBuyBreak
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyBase
,abupy.FactorBuyBu.ABuFactorBuyBase.BuyCallMixin
示例正向突破买入择时类,混入BuyCallMixin,即向上突破触发买入event
-
class
abupy.FactorBuyBu.
AbuFactorBuyWD
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyTD
,abupy.FactorBuyBu.ABuFactorBuyBase.BuyCallMixin
示例短线:日胜率均值回复策略
- 默认以40天为周期(8周)结合涨跌阀值计算周几适合买入
- 回测运行中每一月重新计算一次上述的周几适合买入
- 在策略日任务中买入信号为:昨天下跌,今天开盘也下跌,且明天是计算出来的上涨概率大的’周几’
-
class
abupy.FactorBuyBu.
AbuFactorBuyPutBreak
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyBase
,abupy.FactorBuyBu.ABuFactorBuyBase.BuyPutMixin
示例反向突破买入择时类,混入BuyPutMixin,即向下突破触发买入event,详情请查阅期货回测示例demo
-
class
abupy.FactorBuyBu.
AbuFactorBuyBreakUmpDemo
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBreak.AbuFactorBuyBreak
示例组织裁判进行更复杂的综合裁决 扩展AbuFactorBuyBreak组织裁判进行更复杂的综合裁决
-
class
abupy.FactorBuyBu.
AbuFactorBuyBreakReocrdHitDemo
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBreak.AbuFactorBuyBreak
示例让裁判自己学习怎么配合,自己做出最正确的判断
-
make_ump_block_decision
(ml_feature_dict)[源代码]¶ 即是可以再次根据裁判之间的配合数据进行训练学习,让裁判自己学习怎么配合,自己做出最正确的判断, 而不是像上面的示例使用固定值3来做为裁决阀值,AbuFactorBuyBreakReocrdHitDemo类似 AbuFactorBuyBreakUmpDemo但是不对交易进行决策,只是把每一个裁判的对应交易命中的分类簇个数进行记录,更新在特征数据里 :param ml_feature_dict: 需要决策的当前买入时刻交易特征dict :return: bool, 对ml_feature_dict所描述的交易特征是否进行拦截
-
-
class
abupy.FactorBuyBu.
AbuFactorBuyBreakHitPredictDemo
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBreak.AbuFactorBuyBreak
继续继承AbuFactorBuyBreak复写make_ump_block_decision, 区别是使用AbuFactorBuyBreakReocrdHitDemo的学习成果hit_ml 对几个裁判这次交易命中的分类簇个数组成矢量特征进行predict, 拦截预测结果为-1的交易
-
class
abupy.FactorBuyBu.
AbuSDBreak
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyXD
,abupy.FactorBuyBu.ABuFactorBuyBase.BuyCallMixin
示例买入因子: 在AbuFactorBuyBreak基础上进行降低交易频率,提高系统的稳定性处理
-
class
abupy.FactorBuyBu.
AbuTwoDayBuy
(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]¶ Bases:
abupy.FactorBuyBu.ABuFactorBuyBase.AbuFactorBuyTD
,abupy.FactorBuyBu.ABuFactorBuyBase.BuyCallMixin
示例AbuLeastPolyWrap,混入BuyCallMixin,即向上突破触发买入event
-
fit_day
(*args, **kwargs)¶
-
fit_month
(*args, **kwargs)¶
-