abupy.FactorSellBu package

Submodules

abupy.FactorSellBu.ABuFS module

abupy.FactorSellBu.ABuFactorAtrNStop module

卖出择时示例因子:n倍atr(止盈止损)择时卖出策略

class abupy.FactorSellBu.ABuFactorAtrNStop.AbuFactorAtrNStop(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]

Bases: abupy.FactorSellBu.ABuFactorSellBase.AbuFactorSellBase

示例n倍atr(止盈止损)因子

fit_day(today, orders)[源代码]

止盈event:截止今天相比买入时的收益 * 买入时的期望方向 > n倍atr 止损event:截止今天相比买入时的收益 * 买入时的期望方向 < -n倍atr :param today: 当前驱动的交易日金融时间序列数据 :param orders: 买入择时策略中生成的订单序列 :return:

support_direction()[源代码]

n倍atr(止盈止损)因子支持两个方向

abupy.FactorSellBu.ABuFactorCloseAtrNStop module

卖出择时示例因子: 较小利润值 < 买入后最大收益价格 - 今日价格 < 较大利润值 -> 止盈卖出 只做为单边止盈因子使用,作为利润保护因子使用

class abupy.FactorSellBu.ABuFactorCloseAtrNStop.AbuFactorCloseAtrNStop(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]

Bases: abupy.FactorSellBu.ABuFactorSellBase.AbuFactorSellBase

示例利润保护因子(止盈)因子

fit_day(today, orders)[源代码]

止盈event: 较小利润值 < 买入后最大收益价格 - 今日价格 < 较大利润值 :param today: 当前驱动的交易日金融时间序列数据 :param orders: 买入择时策略中生成的订单序列 :return:

support_direction()[源代码]

单日最大跌幅n倍atr(止损)因子支持两个方向

abupy.FactorSellBu.ABuFactorPreAtrNStop module

卖出择时示例因子:单日最大跌幅n倍atr止损 做为单边止损因子使用,作为风险控制保护因子

class abupy.FactorSellBu.ABuFactorPreAtrNStop.AbuFactorPreAtrNStop(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]

Bases: abupy.FactorSellBu.ABuFactorSellBase.AbuFactorSellBase

示例单日最大跌幅n倍atr(止损)风险控制因子

fit_day(today, orders)[源代码]

止损event:今天相比昨天的收益 * 买入时的期望方向 > today.atr21 * pre_atr_n :param today: 当前驱动的交易日金融时间序列数据 :param orders: 买入择时策略中生成的订单序列 :return:

support_direction()[源代码]

单日最大跌幅n倍atr(止损)因子支持两个方向

abupy.FactorSellBu.ABuFactorSellBase module

卖出择时策略因子基础模块

class abupy.FactorSellBu.ABuFactorSellBase.AbuFactorSellBase(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]

Bases: abc.NewBase

卖出择时策略因子基类:卖出择时策略基类和买入择时基类不同,买入择时 必须混入一个方向类,代表买涨还是买跌,且只能有一个方向,,卖出策略 可以同时支持买涨,也可以只支持一个方向

fit_day(today, orders)[源代码]

子类主要需要实现的函数,完成策略因子针对每一个交易日的卖出交易策略

make_sell_order(order, day_ind)[源代码]

根据交易发生的时间索引,依次进行:卖出交易时间序列特征生成, 决策卖出交易是否拦截,生成特征学习数据,最终返回是否order成交,即订单生效 :param order: 买入择时策略中生成的订单 :param day_ind: 卖出交易发生的时间索引,即对应self.kl_pd.key :return:

make_sell_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:

read_fit_day(today, orders)[源代码]

在择时worker对象中做日交易的函数,亦可以理解为盘前的一些决策事件处理, 内部会调用子类实现的fit_day函数 :param today: 当前驱动的交易日金融时间序列数据

param orders:买入择时策略中生成的订单序列
返回:生成的交易订单AbuOrder对象
sell_today(order)[源代码]

今天即进行卖出操作,需要不能使用今天的收盘数据等做为fit_day中信号判断, 适合如比特币非明确一天交易日时间或者特殊情况的卖出信号 :param order交易订单AbuOrder对象

sell_tomorrow(order)[源代码]

明天进行卖出操作,比如突破策略使用了今天收盘的价格做为参数,发出了买入信号, 需要进行卖出操作,不能执行今天卖出操作 :param order交易订单AbuOrder对象

support_direction()[源代码]

子类需要显视注明自己支持的交易方向

class abupy.FactorSellBu.ABuFactorSellBase.AbuFactorSellXD(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]

Bases: abupy.FactorSellBu.ABuFactorSellBase.AbuFactorSellBase

以周期为重要参数的策略,xd代表参数’多少天’如已周期为参数可直接继承使用

fit_day(today, orders)[源代码]

raise NotImplementedError

read_fit_day(today, orders)[源代码]

覆盖base函数, 为fit_day中切片周期金融时间序列数据 :param today: 当前驱动的交易日金融时间序列数据 :param orders: 买入择时策略中生成的订单序列 :return: 生成的交易订单AbuOrder对象

support_direction()[源代码]

raise NotImplementedError

class abupy.FactorSellBu.ABuFactorSellBase.ESupportDirection[源代码]

Bases: enum.Enum

子策略在support_direction中支持的方向数值定义

DIRECTION_CAll = 1.0
DIRECTION_PUT = -1.0

abupy.FactorSellBu.ABuFactorSellBreak module

卖出择时示例因子:突破卖出择时因子

class abupy.FactorSellBu.ABuFactorSellBreak.AbuFactorSellBreak(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]

Bases: abupy.FactorSellBu.ABuFactorSellBase.AbuFactorSellBase

示例向下突破卖出择时因子

fit_day(today, orders)[源代码]

寻找向下突破作为策略卖出驱动event :param today: 当前驱动的交易日金融时间序列数据 :param orders: 买入择时策略中生成的订单序列

support_direction()[源代码]

支持的方向,只支持正向

class abupy.FactorSellBu.ABuFactorSellBreak.AbuFactorSellXDBK(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]

Bases: abupy.FactorSellBu.ABuFactorSellBase.AbuFactorSellXD

示例继承AbuFactorBuyXD, 向下突破卖出择时因子

fit_day(today, orders)[源代码]

寻找向下突破作为策略卖出驱动event :param today: 当前驱动的交易日金融时间序列数据 :param orders: 买入择时策略中生成的订单序列

support_direction()[源代码]

支持的方向,只支持正向

abupy.FactorSellBu.ABuFactorSellNDay module

卖出择时示例因子:n日卖出策略,不管什么结果,买入后只持有N天

class abupy.FactorSellBu.ABuFactorSellNDay.AbuFactorSellNDay(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]

Bases: abupy.FactorSellBu.ABuFactorSellBase.AbuFactorSellBase

n日卖出策略,不管交易现在什么结果,买入后只持有N天

fit_day(today, orders)[源代码]
参数:
  • today – 当前驱动的交易日金融时间序列数据
  • orders – 买入择时策略中生成的订单序列
返回:

support_direction()[源代码]

因子支持两个方向

Module contents

class abupy.FactorSellBu.AbuFactorSellBase(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]

Bases: abc.NewBase

卖出择时策略因子基类:卖出择时策略基类和买入择时基类不同,买入择时 必须混入一个方向类,代表买涨还是买跌,且只能有一个方向,,卖出策略 可以同时支持买涨,也可以只支持一个方向

fit_day(today, orders)[源代码]

子类主要需要实现的函数,完成策略因子针对每一个交易日的卖出交易策略

make_sell_order(order, day_ind)[源代码]

根据交易发生的时间索引,依次进行:卖出交易时间序列特征生成, 决策卖出交易是否拦截,生成特征学习数据,最终返回是否order成交,即订单生效 :param order: 买入择时策略中生成的订单 :param day_ind: 卖出交易发生的时间索引,即对应self.kl_pd.key :return:

make_sell_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:

read_fit_day(today, orders)[源代码]

在择时worker对象中做日交易的函数,亦可以理解为盘前的一些决策事件处理, 内部会调用子类实现的fit_day函数 :param today: 当前驱动的交易日金融时间序列数据

param orders:买入择时策略中生成的订单序列
返回:生成的交易订单AbuOrder对象
sell_today(order)[源代码]

今天即进行卖出操作,需要不能使用今天的收盘数据等做为fit_day中信号判断, 适合如比特币非明确一天交易日时间或者特殊情况的卖出信号 :param order交易订单AbuOrder对象

sell_tomorrow(order)[源代码]

明天进行卖出操作,比如突破策略使用了今天收盘的价格做为参数,发出了买入信号, 需要进行卖出操作,不能执行今天卖出操作 :param order交易订单AbuOrder对象

support_direction()[源代码]

子类需要显视注明自己支持的交易方向

class abupy.FactorSellBu.AbuFactorSellXD(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]

Bases: abupy.FactorSellBu.ABuFactorSellBase.AbuFactorSellBase

以周期为重要参数的策略,xd代表参数’多少天’如已周期为参数可直接继承使用

fit_day(today, orders)[源代码]

raise NotImplementedError

read_fit_day(today, orders)[源代码]

覆盖base函数, 为fit_day中切片周期金融时间序列数据 :param today: 当前驱动的交易日金融时间序列数据 :param orders: 买入择时策略中生成的订单序列 :return: 生成的交易订单AbuOrder对象

support_direction()[源代码]

raise NotImplementedError

class abupy.FactorSellBu.ESupportDirection[源代码]

Bases: enum.Enum

子策略在support_direction中支持的方向数值定义

DIRECTION_CAll = 1.0
DIRECTION_PUT = -1.0
class abupy.FactorSellBu.AbuFactorPreAtrNStop(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]

Bases: abupy.FactorSellBu.ABuFactorSellBase.AbuFactorSellBase

示例单日最大跌幅n倍atr(止损)风险控制因子

fit_day(today, orders)[源代码]

止损event:今天相比昨天的收益 * 买入时的期望方向 > today.atr21 * pre_atr_n :param today: 当前驱动的交易日金融时间序列数据 :param orders: 买入择时策略中生成的订单序列 :return:

support_direction()[源代码]

单日最大跌幅n倍atr(止损)因子支持两个方向

class abupy.FactorSellBu.AbuFactorAtrNStop(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]

Bases: abupy.FactorSellBu.ABuFactorSellBase.AbuFactorSellBase

示例n倍atr(止盈止损)因子

fit_day(today, orders)[源代码]

止盈event:截止今天相比买入时的收益 * 买入时的期望方向 > n倍atr 止损event:截止今天相比买入时的收益 * 买入时的期望方向 < -n倍atr :param today: 当前驱动的交易日金融时间序列数据 :param orders: 买入择时策略中生成的订单序列 :return:

support_direction()[源代码]

n倍atr(止盈止损)因子支持两个方向

class abupy.FactorSellBu.AbuFactorCloseAtrNStop(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]

Bases: abupy.FactorSellBu.ABuFactorSellBase.AbuFactorSellBase

示例利润保护因子(止盈)因子

fit_day(today, orders)[源代码]

止盈event: 较小利润值 < 买入后最大收益价格 - 今日价格 < 较大利润值 :param today: 当前驱动的交易日金融时间序列数据 :param orders: 买入择时策略中生成的订单序列 :return:

support_direction()[源代码]

单日最大跌幅n倍atr(止损)因子支持两个方向

class abupy.FactorSellBu.AbuFactorSellBreak(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]

Bases: abupy.FactorSellBu.ABuFactorSellBase.AbuFactorSellBase

示例向下突破卖出择时因子

fit_day(today, orders)[源代码]

寻找向下突破作为策略卖出驱动event :param today: 当前驱动的交易日金融时间序列数据 :param orders: 买入择时策略中生成的订单序列

support_direction()[源代码]

支持的方向,只支持正向

class abupy.FactorSellBu.AbuFactorSellNDay(capital, kl_pd, combine_kl_pd, benchmark, **kwargs)[源代码]

Bases: abupy.FactorSellBu.ABuFactorSellBase.AbuFactorSellBase

n日卖出策略,不管交易现在什么结果,买入后只持有N天

fit_day(today, orders)[源代码]
参数:
  • today – 当前驱动的交易日金融时间序列数据
  • orders – 买入择时策略中生成的订单序列
返回:

support_direction()[源代码]

因子支持两个方向