第13节 量化技术分析应用
作者: 阿布
阿布量化版权所有 未经允许 禁止转载
量化交易的最大优势即为通过计算机强大的运算能力,在市场广度分析上占有绝对优势,通过历史规律的总结,在规律的基础上发现概率优势,形成良好投机优势,量化交易离不开技术分析,本节将主要示例一些常用的技术分析在abupy中的接口实现。
将abupy内置沙盒数据中美股,A股,港股市场中的symbol都列出来,稍后绘制这些symbol的阻力线,支持线:us_choice_symbols = ['usTSLA', 'usNOAH', 'usSFUN', 'usBIDU', 'usAAPL', 'usGOOG', 'usWUBA', 'usVIPS']
cn_choice_symbols = ['002230', '300104', '300059', '601766', '600085', '600036', '600809', '000002', '002594', '002739']
hk_choice_symbols = ['hk03333', 'hk00700', 'hk02333', 'hk01359', 'hk00656', 'hk03888', 'hk02318']
1. 阻力线,支撑线自动绘制
对趋势技术分析很熟悉的朋友们对上升趋势线,下降趋势线,阻力线, 支撑线这些概念很熟悉,但是从理论出发,很难有两个人画出的线是完全一样的,即使是一个人不同的时候去画也会有精度的误差,使用数据分析自己画出趋势与阻力是对量化分析的最根本诠释,人对数据的敏感度一定不如死的机器,因为人是有感情的,也许你会画出自己想要的趋势线阻力线来骗自己,再坚持一下马上就阻力了就上去了等等,快交给机器吧!别自己画了!
封装一个函数默认绘制usTSLA的趋势线,主要将AbuTLine中绘制阻力线,支撑线的函数进行封装,代码如下所示:def plot_trend(symbol='usTSLA', n_folds=1, only_last=False, how='both', show_step=False):
n_folds = int(n_folds)
# 获取symbol的n_folds年数据
kl = ABuSymbolPd.make_kl_df(symbol, n_folds=n_folds)
# 构造技术线对象
kl_tl = tl.AbuTLine(kl.close, 'kl')
if how == 'support':
# 只绘制支持线
kl_tl.show_support_trend(only_last=only_last, show=True, show_step=show_step)
elif how == 'resistance':
# 只绘制阻力线
kl_