# -*- encoding:utf-8 -*-from __future__ import print_functionimport seaborn as snsimport warnings# noinspection PyUnresolvedReferencesimport abu_local_envimport abupyfrom abupy import EStoreAbu, abufrom abupy import ABuSymbolPdfrom abupy import tlfrom abupy import ndfrom abupy import ABuMarketDrawingwarnings.filterwarnings('ignore')sns.set_context(rc={'figure.figsize': (14, 7)})"""附录C-量化统计分析及指标应用abu量化系统github地址:https://github.com/bbfamily/abu (您的star是我的动力!)abu量化文档教程ipython notebook:https://github.com/bbfamily/abu/tree/master/abupy_lecture本节内容建议对照阅读abu量化文档:第13节 量化技术分析应用"""def sample_c1():"""C.1 量化统计分析应用:return:"""tsla_df = ABuSymbolPd.make_kl_df('usTSLA', n_folds=2)jumps = tl.jump.calc_jump(tsla_df)print('jumps:\n', jumps)# sw[0]代表非时间因素的jump_power,sw[1]代表时间加权因素的jump_power,当sw[0]=1时与非加权方式相同,具体实现请参考源代码filter_jumps = tl.jump.calc_jump_line_weight(tsla_df, sw=(0.5, 0.5))print('filter_jumps:\n', filter_jumps)# tl.wave.calc_wave_abs()函数可视化价格波动情况tl.wave.calc_wave_abs(tsla_df, xd=21, show=True)"""C.2 量化技术指标应用: 对量化策略失败结果的人工分析"""def sample_c2():"""C.2 量化技术指标应用: 对量化策略失败结果的人工分析:return:"""abupy.env.disable_example_env_ipython()# 从之前章节的缓存中读取交易数据abu_result_tuple_train = abu.load_abu_result_tuple(n_folds=5, store_type=EStoreAbu.E_STORE_CUSTOM_NAME,custom_name='train_cn')# 只筛选orders中有交易结果的单子has_result = abu_result_tuple_train.orders_pd[abu_result_tuple_train.orders_pd.result == -1]# 随便拿一个交易数据作为示例sample_order = has_result.ix[100]_ = ABuMarketDrawing.plot_candle_from_order(sample_order)nd.macd.plot_macd_from_order(sample_order, date_ext=252)nd.boll.plot_boll_from_order(has_result.ix[100], date_ext=252)nd.ma.plot_ma_from_order(has_result.ix[100], date_ext=252, time_period=[10, 20, 30, 60, 90, 120])if __name__ == "__main__":sample_c1()# sample_c2()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。