abupy.AlphaBu package

Submodules

abupy.AlphaBu.ABuAlpha module

abupy.AlphaBu.ABuPickBase module

择时与选股抽象基类

class abupy.AlphaBu.ABuPickBase.AbuPickStockWorkBase[源代码]

Bases: abc.NewBase

选股抽象基

fit(*args, **kwargs)[源代码]

fit在整个项目中的意义为开始对象最重要的工作, 对于选股对象即为开始选股操作,或者从字面理解 开始针对交易数据进行拟合选股操作

init_stock_pickers(*args, **kwargs)[源代码]

初始化选股因子

class abupy.AlphaBu.ABuPickBase.AbuPickTimeWorkBase[源代码]

Bases: abc.NewBase

择时抽象基类

fit(*args, **kwargs)[源代码]

fit在整个项目中的意义为开始对象最重要的工作, 对于择时对象即为开始择时操作,或者从字面理解 开始针对交易数据进行拟合择时操作

init_buy_factors(*args, **kwargs)[源代码]

初始化择时买入因子

init_sell_factors(*args, **kwargs)[源代码]

初始化择时卖出因子

abupy.AlphaBu.ABuPickStockExecute module

包装选股worker进行,完善前后工作

abupy.AlphaBu.ABuPickStockExecute.do_pick_stock_thread_work(choice_symbols, benchmark, capital, stock_pickers, n_thread)[源代码]

包装AbuPickStockWorker启动线程进行选股

abupy.AlphaBu.ABuPickStockExecute.do_pick_stock_work(choice_symbols, benchmark, capital, stock_pickers)[源代码]

包装AbuPickStockWorker进行选股 :param choice_symbols: 初始备选交易对象序列 :param benchmark: 交易基准对象,AbuBenchmark实例对象 :param capital: 资金类AbuCapital实例化对象 :param stock_pickers: 选股因子序列 :return:

abupy.AlphaBu.ABuPickStockMaster module

选股并行多任务调度模块

class abupy.AlphaBu.ABuPickStockMaster.AbuPickStockMaster[源代码]

Bases: object

选股并行多任务调度类

classmethod do_pick_stock_with_process(capital, benchmark, stock_pickers, choice_symbols=None, n_process_pick_stock=4, callback=None)[源代码]

选股并行多任务对外接口 :param capital: 资金类AbuCapital实例化对象 :param benchmark: 交易基准对象,AbuBenchmark实例对象 :param stock_pickers: 选股因子序列 :param choice_symbols: 初始备选交易对象序列 :param n_process_pick_stock: 控制启动多少进程并行选股操作 :param callback: 并行选股工作函数 :return: 最终选股结果序列

classmethod do_pick_stock_with_process_mix_thread(*args, **kwargs)

Deprecated: hdf5 store mode will crash or dead! Deprecated不应该使用,因为默认hdf5多线程读取会有问题

abupy.AlphaBu.ABuPickStockWorker module

选股具体工作者,整合金融时间序列,选股因子,资金类进行 选股操作,在择时金融时间序列之前一段时间上迭代初始交易对象 进行选股因子的拟合操作

class abupy.AlphaBu.ABuPickStockWorker.AbuPickStockWorker(capital, benchmark, kl_pd_manager, choice_symbols=None, stock_pickers=None)[源代码]

Bases: abupy.AlphaBu.ABuPickBase.AbuPickStockWorkBase

选股类

fit()[源代码]

选股开始工作,与择时不同,选股是数据多对多, 即多个交易对象对多个选股因子配合资金基准等参数工作 :return:

init_stock_pickers(stock_pickers)[源代码]

通过stock_pickers实例化各个选股因子 :param stock_pickers:list中元素为dict,每个dict为因子的构造元素,如class,构造参数等 :return:

abupy.AlphaBu.ABuPickTimeExecute module

多支交易对象进行择时操作封装模块,内部通过AbuPickTimeWorker进行 择时,包装完善前后工作,包括多进程下的进度显示,错误处理捕获,结果 处理等事务

class abupy.AlphaBu.ABuPickTimeExecute.EFitError[源代码]

Bases: enum.Enum

择时操作的错误码

DATE_ERROR = 2
FIT_OK = 0
NET_ERROR = 1
NO_ORDER_GEN = 3
OTHER_ERROR = 4
abupy.AlphaBu.ABuPickTimeExecute.do_symbols_with_diff_factors(target_symbols, benchmark, factor_dict, capital, apply_capital=True, kl_pd_manager=None, show=False, back_target_symbols=None)[源代码]

输入为多个择时交易对象,每个交易对象有属于自己的买入,卖出因子, 在factor_dict中通过对象唯一标识进行提取

abupy.AlphaBu.ABuPickTimeExecute.do_symbols_with_same_factors(target_symbols, benchmark, buy_factors, sell_factors, capital, apply_capital=True, kl_pd_manager=None, show=False, back_target_symbols=None, func_factors=None)[源代码]

输入为多个择时交易对象,以及相同的择时买入,卖出因子序列,对多个交易对象上实施相同的因子 :param target_symbols: 多个择时交易对象序列 :param benchmark: 交易基准对象,AbuBenchmark实例对象 :param buy_factors: 买入因子序列 :param sell_factors: 卖出因子序列 :param capital: AbuCapital实例对象 :param apply_capital: 是否进行资金对象的融合,多进程环境下将是False :param kl_pd_manager: 金融时间序列管理对象,AbuKLManager实例 :param show: 是否显示每个交易对象的交易细节 :param back_target_symbols: 补位targetSymbols为了忽略网络问题及数据不足导致的问题 :param func_factors: funcFactors在内层解开factors dicts为了do_symbols_with_diff_factors :return:

abupy.AlphaBu.ABuPickTimeMaster module

择时并行多任务调度模块

class abupy.AlphaBu.ABuPickTimeMaster.AbuPickTimeMaster[源代码]

Bases: object

择时并行多任务调度类

classmethod do_symbols_with_same_factors_process(target_symbols, benchmark, buy_factors, sell_factors, capital, kl_pd_manager=None, n_process_kl=8, n_process_pick_time=4)[源代码]

将多个交易对象拆解为多份交易对象序列,多任务并行完成择时工作 :param target_symbols: 多个择时交易对象序列 :param benchmark: 交易基准对象,AbuBenchmark实例对象 :param buy_factors: 买入因子序列 :param sell_factors: 卖出因子序列 :param capital: AbuCapital实例对象 :param kl_pd_manager: 金融时间序列管理对象,AbuKLManager实例 :param n_process_kl: 控制金融时间序列管理对象内部启动n_process_kl进程获取金融序列数据 :param n_process_pick_time: 控制择时操作并行任务数量 :return:

abupy.AlphaBu.ABuPickTimeWorker module

择时具体工作者,整合金融时间序列,买入因子,卖出因子,资金类进行 择时操作,以时间驱动择时事件的发生

class abupy.AlphaBu.ABuPickTimeWorker.AbuPickTimeWorker(cap, kl_pd, benchmark, buy_factors, sell_factors)[源代码]

Bases: abupy.AlphaBu.ABuPickBase.AbuPickTimeWorkBase

择时类

enable_task_pg()[源代码]

启动择时内部任务进度条

filter_long_task_factors()[源代码]

根据每一个因子是否有fit_week筛选周任务因子 根据每一个因子是否有fit_month筛选月任务因子 在初始化时完成筛选工作,避免在时间序列中迭代 不断的进行hasattr判断是否支持

fit(*args, **kwargs)[源代码]

根据交易数据,因子等输入数据,拟合择时

init_buy_factors(buy_factors)[源代码]

通过buy_factors实例化各个买入因子 :param buy_factors: list中元素为dict,每个dict为因子的构造元素,如class,构造参数等 :return:

init_sell_factors(sell_factors)[源代码]

通过sell_factors实例化各个卖出因子 :param sell_factors: list中元素为dict,每个dict为因子的构造元素,如class,构造参数等 :return:

Module contents

class abupy.AlphaBu.AbuPickTimeWorkBase[源代码]

Bases: abc.NewBase

择时抽象基类

fit(*args, **kwargs)[源代码]

fit在整个项目中的意义为开始对象最重要的工作, 对于择时对象即为开始择时操作,或者从字面理解 开始针对交易数据进行拟合择时操作

init_buy_factors(*args, **kwargs)[源代码]

初始化择时买入因子

init_sell_factors(*args, **kwargs)[源代码]

初始化择时卖出因子

class abupy.AlphaBu.AbuPickStockWorkBase[源代码]

Bases: abc.NewBase

选股抽象基

fit(*args, **kwargs)[源代码]

fit在整个项目中的意义为开始对象最重要的工作, 对于选股对象即为开始选股操作,或者从字面理解 开始针对交易数据进行拟合选股操作

init_stock_pickers(*args, **kwargs)[源代码]

初始化选股因子

class abupy.AlphaBu.AbuPickStockMaster[源代码]

Bases: object

选股并行多任务调度类

classmethod do_pick_stock_with_process(capital, benchmark, stock_pickers, choice_symbols=None, n_process_pick_stock=4, callback=None)[源代码]

选股并行多任务对外接口 :param capital: 资金类AbuCapital实例化对象 :param benchmark: 交易基准对象,AbuBenchmark实例对象 :param stock_pickers: 选股因子序列 :param choice_symbols: 初始备选交易对象序列 :param n_process_pick_stock: 控制启动多少进程并行选股操作 :param callback: 并行选股工作函数 :return: 最终选股结果序列

classmethod do_pick_stock_with_process_mix_thread(*args, **kwargs)

Deprecated: hdf5 store mode will crash or dead! Deprecated不应该使用,因为默认hdf5多线程读取会有问题

class abupy.AlphaBu.AbuPickStockWorker(capital, benchmark, kl_pd_manager, choice_symbols=None, stock_pickers=None)[源代码]

Bases: abupy.AlphaBu.ABuPickBase.AbuPickStockWorkBase

选股类

fit()[源代码]

选股开始工作,与择时不同,选股是数据多对多, 即多个交易对象对多个选股因子配合资金基准等参数工作 :return:

init_stock_pickers(stock_pickers)[源代码]

通过stock_pickers实例化各个选股因子 :param stock_pickers:list中元素为dict,每个dict为因子的构造元素,如class,构造参数等 :return:

class abupy.AlphaBu.AbuPickTimeWorker(cap, kl_pd, benchmark, buy_factors, sell_factors)[源代码]

Bases: abupy.AlphaBu.ABuPickBase.AbuPickTimeWorkBase

择时类

enable_task_pg()[源代码]

启动择时内部任务进度条

filter_long_task_factors()[源代码]

根据每一个因子是否有fit_week筛选周任务因子 根据每一个因子是否有fit_month筛选月任务因子 在初始化时完成筛选工作,避免在时间序列中迭代 不断的进行hasattr判断是否支持

fit(*args, **kwargs)[源代码]

根据交易数据,因子等输入数据,拟合择时

init_buy_factors(buy_factors)[源代码]

通过buy_factors实例化各个买入因子 :param buy_factors: list中元素为dict,每个dict为因子的构造元素,如class,构造参数等 :return:

init_sell_factors(sell_factors)[源代码]

通过sell_factors实例化各个卖出因子 :param sell_factors: list中元素为dict,每个dict为因子的构造元素,如class,构造参数等 :return:

class abupy.AlphaBu.AbuPickTimeMaster[源代码]

Bases: object

择时并行多任务调度类

classmethod do_symbols_with_same_factors_process(target_symbols, benchmark, buy_factors, sell_factors, capital, kl_pd_manager=None, n_process_kl=8, n_process_pick_time=4)[源代码]

将多个交易对象拆解为多份交易对象序列,多任务并行完成择时工作 :param target_symbols: 多个择时交易对象序列 :param benchmark: 交易基准对象,AbuBenchmark实例对象 :param buy_factors: 买入因子序列 :param sell_factors: 卖出因子序列 :param capital: AbuCapital实例对象 :param kl_pd_manager: 金融时间序列管理对象,AbuKLManager实例 :param n_process_kl: 控制金融时间序列管理对象内部启动n_process_kl进程获取金融序列数据 :param n_process_pick_time: 控制择时操作并行任务数量 :return: