欢迎大家订阅《教你用 Python 进阶量化交易》专栏!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外已陆续推出一些手记来辅助同学们学习本专栏内容,目前推出的扩展篇链接如下:
为了将专栏中分散的知识点贯穿起来,笔者在专栏的末尾小节《制作自己的量化交易工具》中分享了早期制作的一个简易版量化交易小工具,希望大家能够通过调试代码的方式掌握相关的知识。
目前在场外篇第9篇中已经移植到了Python3.7x版本上,接下来我们在这个版本的基础上逐步完善这个工具,使专栏的读者不仅能够通过小工具掌握专栏的相关知识点,也能够把工具用到自己的股票量化交易中去。
TA-Lib库的强大我们已经有目共睹了,对此可以基于TA-Lib库建立起基础的指标库。首先创建一个py文件“IndicatorsLib.py”,文件中创建QtYx_Talib_Indictors类,用于集合所有TA-Lib实现的技术指标。
TA-Lib库的函数分为10个功能组,如Overlap Studies(重叠研究)、Momentum Indicators(动量指标)、Volume Indicators(交易量指标)、Cycle Indicators(周期指标)、Price Transform(价格变换)、Volatility Indicators(波动率指标)、Pattern Recognition(模式识别)、Statistic Functions(统计函数)、Math Transform(数学变换)、Math Operators(数学运算),此处我们有代表性地选取几个指标接口去实现。
比如动量指标中包括如下指标:
ADX - Average Directional Movement Index
ADXR - Average Directional Movement Index Rating
CMO - Chande Momentum Oscillator
MACD - Moving Average Convergence/Divergence
STOCH - Stochastic
……
实现代码如下所示:
class QtYx_Talib_Indictors():
# Momentum Indicator Functions
@staticmethod
def ADX_DF(DataFrame, N=14):
# ADX - Average Directional