|
金字塔支持:PEL,Python,VBA,C++语言,是除Wind之外的支持多种主流计算机语言的量化软件;
随着大数据和人工智能的兴起,目前Python语言的使用率逐年递增;
金字塔+Python,股票+期货量化教程1
https://www.24krmb.com/thread-3132-1-1.html
金字塔+Python,股票+期货量化教程2
https://www.24krmb.com/thread-3137-1-1.html
本章内容:必装最强大的技术分析库TA-Lib
一:TA-Lib简介
TA-Lib,全称为Technical Analysis Library,是一个广泛使用的技术分析库,它提供了大量(最新版有200+个)的技术指标和函数,用于金融市场的分析。TA-Lib支持多种编程语言,包括C、C++、Java、Python等,使得开发者可以方便地在自己的应用程序中集成技术分析功能。
二:TA-Lib的主要功能包括但不限于:
计算各种技术指标,如移动平均线、相对强弱指数(RSI)、布林带等。
支持多种图表模式的识别,例如头肩顶、双顶等。
提供交易信号的生成,帮助交易者做出决策。
支持自定义指标的创建。
三:功能组(由于库很强大,很多,这里说一下常用的,后期再详细介绍和基本格式)
3-1:Overlap Studies FUnctions 重叠研究指标
- BBANDS Bollinger Bands #布林带
- DEMA Double Exponential Moving Average #双指数移动平均线
- EMA Exponential Moving Average #指数滑动平均
- HT_TRENDLINE Hilbert Transform - Instantaneous Trendline #希尔伯特变换瞬时趋势
- KAMA Kaufman Adaptive Moving Average #卡玛考夫曼自适应移动平均
- MA Moving average #均线
- MAMA MESA Adaptive Moving Average #自适应移动平均
- MAVP Moving average with variable period #变周期移动平均
- MIDPOINT MidPoint over period #在周期的中点
- MIDPRICE Midpoint Price over period #中间时段价格
- SAR Parabolic SAR #抛物线转向指标
- SAREXT Parabolic SAR - Extended #抛物线转向指标 - 扩展
- SMA Simple Moving Average# 简单移动平均线
- T3 Triple Exponential Moving Average (T3)
- TEMA Triple Exponential Moving Average
- TRIMA Triangular Moving Average
- WMA Weighted Moving Average#加权移动平均线
复制代码
3-2:Momentum Indicators 动量指标
- ADX Average Directional Movement Index#平均趋向指数
- ADXR Average Directional Movement Index Rating#平均趋向指数的趋向指数
- APO AbsoLUte Price Oscillator
- AROON Aroon#阿隆指标
- AROONOSC Aroon Oscillator#阿隆振荡指标
- BOP Balance Of Power#均势指标
- CCI Commodity Channel Index#顺势指标
- CMO Chande Momentum Oscillator#钱德动量摆动指标
- DX Directional Movement Index#动向指标或趋向指标
- MACD Moving Average Convergence/Divergence#平滑异同移动平均线
- MACDEXT MACD with controllable MA type
- MACDFIX Moving Average Convergence/Divergence Fix 12/26
- MFI Money Flow Index#资金流量指标,属于量价类指标,反映市场的运行趋势
- MINUS_DI Minus Directional Indicator#下升动向值
- MINUS_DM Minus Directional Movement#上升动向值 DMI中的DM代表正趋向变动值即上升动向值
- MOM Momentum#上升动向值,是一种专门研究波动的中短期技术分析工具
- PLUS_DI Plus Directional Indicator
- PLUS_DM Plus Directional Movement
- PPO Percentage Price Oscillator#价格震荡百分比指标(PPO)是一个和MACD指标非常接近的指标。
- ROC Rate of change : ((price/prevPrice)-1)*100#变动率指标是由当天与一定的天数之前的某一天比较,其变动速度的大小,来反映市变动的快慢程度
- ROCP Rate of change Percentage: (price-prevPrice)/prevPrice
- ROCR Rate of change ratio: (price/prevPrice)
- ROCR100 Rate of change ratio 100 scale: (price/prevPrice)*100
- RSI Relative Strength Index#相对强弱指数,是通过比较一段时期内的平均收盘涨数和平均收盘跌数来分析市场买沽盘的意向和实力,从而作出未来市场的走势。
- STOCH Stochastic#随机指标,俗称KD指标
- STOCHF Stochastic Fast
- STOCHRSI Stochastic Relative Strength Index
- TRIX 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
- ULTOSC Ultimate Oscillator#终极波动指标,一种多方位功能的指标,除了趋势确认及超买超卖方面的作用之外,它的“突破”讯号不仅可以提供最适当的交易时机之外,更可以进一步加强指标的可靠度。
- WILLR Williams' %R#威廉指标
复制代码
3-3:Volume Indicators 成交量指标
- AD Chaikin A/D Line累积/派发线
- ADOSC Chaikin A/D OscillatorChaikin震荡指标
- OBV On Balance Volume能量潮
复制代码
3-4:Volatility Indicator Functions 波动率指标函数
- ATR Average True Range真实波动幅度均值
- NATR Normalized Average True Range归一化波动幅度均值
- TRANGE True Range真正的范围
复制代码
3-5:Price Transform 价格指标
- AVGPRICE Average Price#平均价格函数
- MEDPRICE Median Price#中位数价格
- TYPPRICE Typical Price#代表性价格
- WCLPRICE Weighted Close Price#加权收盘价
复制代码
3-6:Cycle Indicators 周期指标
- HT_DCPERIOD Hilbert Transform - Dominant Cycle Period#希尔伯特变换-主导周期
- HT_DCPHASE Hilbert Transform - Dominant Cycle Phase#希尔伯特变换-主导循环阶段
- HT_PHASOR Hilbert Transform - Phasor Components#希尔伯特变换-希尔伯特变换相量分量
- HT_SINE Hilbert Transform - SineWave# 希尔伯特变换-正弦波
- HT_TRENDMODE Hilbert Transform - Trend vs Cycle Mode#希尔伯特变换-趋势与周期模式
复制代码
3-7:Pattern Recognition 形态识别
- CDL2CROWS Two Crows#两只乌鸦,三日K线模式
- CDL3BLACKCROWS Three Black Crows#三只乌鸦,三日K线模式
- CDL3INSIDE Three Inside Up/Down#三内部上涨和下跌,三日K线模式
- CDL3LINESTRIKE Three-Line Strike#三线打击,四日K线模式
- CDL3OUTSIDE Three Outside Up/Down# 三外部上涨和下跌,三日K线模式
- CDL3STARSINSOUTH Three Stars In The South#南方三星,三日K线模式
- CDL3WHITESOLDIERS Three Advancing White Soldiers#三个白兵,三日K线模式
- CDLABANDONEDBABY Abandoned Baby#弃婴,三日K线模式
- CDLADVANCEBLOCK Advance Block#大敌当前,三日K线模式
- CDLBELTHOLD Belt-hold#捉腰带线,两日K线模式
- CDLBREAKAWAY Breakaway# 脱离,五日K线模式
- CDLCLOSINGMARUBOZU Closing Marubozu#收盘缺影线,一日K线模式
- CDLCONCEALBABYSWALL Concealing Baby Swallow#藏婴吞没,四日K线模式
- CDLCOUNTERATTACK Counterattack#反击线,二日K线模式,与分离线类似
- CDLDARKCLOUDCOVER Dark Cloud Cover#乌云盖顶,二日K线模式
- CDLDOJI Doji#十字,一日K线模式,开盘价与收盘价基本相同
- CDLDOJISTAR Doji Star#十字星,一日K线模式,预示着当前趋势反转
- CDLDRAGONFLYDOJI Dragonfly Doji#蜻蜓十字/T形十字,一日K线模式
- CDLENGULFING Engulfing Pattern#吞噬模式,两日K线模式
- CDLEVENINGDOJISTAR Evening Doji Star#十字暮星,三日K线模式,基本模式为暮星
- CDLEVENINGSTAR Evening Star#暮星,三日K线模式,与晨星相反
- CDLGAPSIDESIDEWHITE Up/Down-gap side-by-side white lines#向上/下跳空并列阳线,二日K线模式
- CDLGRAVESTONEDOJI Gravestone Doji#墓碑十字/倒T十字,一日K线模式
- CDLHAMMER Hammer#锤头,一日K线模式
- CDLHANGINGMAN Hanging Man#上吊线,一日K线模式
- CDLHARAMI Harami Pattern#母子线,二日K线模式
- CDLHARAMICROSS Harami Cross Pattern#十字孕线,二日K线模式
- CDLHIGHWAVE High-Wave Candle#风高浪大线,三日K线模式
- CDLHIKKAKE Hikkake Pattern#陷阱,三日K线模式
- CDLHIKKAKEMOD Modified Hikkake Pattern#修正陷阱,三日K线模式
- CDLHOMINGPIGEON Homing Pigeon#家鸽,二日K线模式
- CDLIDENTICAL3CROWS Identical Three Crows#三胞胎乌鸦,三日K线模式
- CDLINNECK In-Neck Pattern#颈内线,二日K线模式
- CDLINVERTEDHAMMER Inverted Hammer#倒锤头,一日K线模式
- CDLKICKING Kicking#反冲形态,二日K线模式,与分离线类似
- CDLKICKINGBYLENGTH Kicking - bull/bear determined by the longer marubozu#由较长缺影线决定的反冲形态
- CDLLADDERBOTTOM Ladder Bottom#梯底,五日K线模式
- CDLLONGLEGGEDDOJI Long Legged Doji#长脚十字,一日K线模式
- CDLLONGLINE Long Line Candle#长蜡烛,一日K线模式
- CDLMARUBOZU Marubozu#光头光脚/缺影线,一日K线模式
- CDLMATCHINGLOW Matching Low#相同低价,二日K线模式
- CDLMATHOLD Mat Hold#铺垫,五日K线模式
- CDLMORNINGDOJISTAR Morning Doji Star#十字晨星,三日K线模式, 基本模式为晨星
- CDLMORNINGSTAR Morning Star#晨星,三日K线模式
- CDLONNECK On-Neck Pattern#颈上线,二日K线模式
- CDLPIERCING Piercing Pattern#刺透形态,两日K线模式
- CDLRICKSHAWMAN Rickshaw Man#黄包车夫,一日K线模式
- CDLRISEFALL3METHODS Rising/Falling Three Methods#上升/下降三法,五日K线模式
- CDLSEPARATINGLINES Separating Lines#分离线,二日K线模式
- CDLSHOOTINGSTAR Shooting Star#射击之星,一日K线模式
- CDLSHORTLINE Short Line Candle#短蜡烛,一日K线模式
- CDLSPINNINGTOP Spinning Top#纺锤,一日K线,实体小
- CDLSTALLEDPATTERN Stalled Pattern#停顿形态,三日K线模式
- CDLSTICKSANDWICH Stick Sandwich#条形三明治,三日K线模式
- CDLTAKURI Takuri (Dragonfly Doji with very long lower shadow)#探水竿
- CDLTASUKIGAP Tasuki Gap#跳空并列阴阳线,三日K线模式
- CDLTHRUSTING Thrusting Pattern#插入线,二日K线模式,与颈上线类似
- CDLTRISTAR Tristar Pattern#三星,三日K线模式,由三个十字组成
- CDLUNIQUE3RIVER Unique 3 River#奇特三河床,三日K线模式
- CDLUPSIDEGAP2CROWS Upside Gap Two Crows#向上跳空的两只乌鸦,三日K线模式
- CDLXSIDEGAP3METHODS Upside/Downside Gap Three Methods#上升/下降跳空三法,五日K线模式
复制代码
3-8:Statistic Functions 统计函数,统计学指标
- BETA Beta#β系数也称为贝塔系数
- CORREL Pearson's Correlation Coefficient (r)#皮尔逊相关系数
- LINEARREG Linear Regression#线性回归
- LINEARREG_ANGLE Linear Regression Angle#线性回归的角度
- LINEARREG_INTERCEPT Linear Regression Intercept#线性回归截距
- LINEARREG_SLOPE Linear Regression Slope#线性回归斜率指标
- STDDEV Standard Deviation#标准偏差
- TSF Time Series Forecast#时间序列预测
- VAR Variance#方差
复制代码
3-9:Math Transform 数学变换
- ACOS - Vector Trigonometric ACos#acos函数是反余弦函数,三角函数
- ASIN - Vector Trigonometric ASin#反正弦函数,三角函数
- ATAN - Vector Trigonometric ATan#数字的反正切值,三角函数
- CEIL - Vector Ceil#向上取整数
- COS - Vector Trigonometric Cos#余弦函数,三角函数
- COSH - Vector Trigonometric Cosh#双曲正弦函数,三角函数
- EXP - Vector Arithmetic Exp#指数曲线,三角函数
- FLOOR - Vector Floor#向下取整数
- LN - Vector Log Natural#自然对数
- LOG10 - Vector Log10#对数函数log
- SIN - Vector Trigonometric Sin正弦函数,三角函数
- SINH - Vector Trigonometric Sinh#双曲正弦函数,三角函数
- SQRT - Vector Square Root非负实数的平方根
- TAN - Vector Trigonometric Tan正切函数,三角函数
- TANH - Vector Trigonometric Tanh#双曲正切函数,三角函数
复制代码
3-10:Math Operators 数学运算符
- Math Operator Functions#向量加法运算
- DIV - Vector Arithmetic Div#向量除法运算
- MAX - Highest value over a specified period#周期内最大值(未满足周期返回nan)
- MAXINDEX - Index of highest value over a specified period#周期内最大值的索引
- MIN - Lowest value over a specified period#周期内最小值 (未满足周期返回nan)
- MININDEX - Index of lowest value over a specified period#周期内最小值的索引
- MINMAX - Lowest and highest values over a specified period#周期内最小值和最大值
- MINMAXINDEX - Indexes of lowest and highest values over a specified period#周期内最小值和最大值索引
- #MULT - Vector Arithmetic Mult#向量乘法运算
- SUB - Vector Arithmetic Substraction#向量减法运算
- SUM - Summation#周期内求和
复制代码
四:TA-Lib 在 Python 中安装和使用
1:安装TA-Lib
1-1:安装TA-Lib库:
可以使用pip来安装TA-Lib。打开终端或命令提示符,运行以下命令:
1-2:安装TA-Lib的Python接口:
TA-Lib的Python接口可以通过以下命令安装:
- pip install TA-Lib-Wrapper
复制代码
2:使用TA-Lib
2-1:导入库:
在你的Python脚本中,首先需要导入TA-Lib库:
2-2:准备数据:
你需要准备一组时间序列数据,通常使用pandas的DataFrame格式。例如:
- import pandas as pd
- # 假设你有一个包含日期和收盘价的DataFrame
- data = pd.DataFrame({
- 'date': ['2024-01-01', '2024-01-02', '2024-01-03', '2024-01-04'],
- 'close': [100, 105, 102, 110]
- }, index=pd.to_datetime(data['date']))
复制代码
2-3:计算技术指标:
你可以使用TA-Lib提供的函数来计算各种技术指标。例如,计算简单移动平均线(SMA):
- close_prices = data['close']
- talib.SMA(close_prices, timeperiod=2)
复制代码
2-4获取更多技术指标:
TA-Lib提供了大量的技术指标,你可以通过查看TA-Lib的文档或使用dir(talib)来获取所有可用的函数列表。
五:示例代码(确保你的环境中已经安装了pandas和TA-Lib)
以下是一个完整的示例,展示如何在Python中使用TA-Lib计算简单移动平均线(SMA)和相对强弱指数(RSI):
- import pandas as pd
- import talib
- # 创建数据
- data = pd.DataFrame({
- 'date': ['2024-01-01', '2024-01-02', '2024-01-03', '2024-01-04'],
- 'close': [100, 105, 102, 110]
- }, index=pd.to_datetime(data['date']))
- # 计算SMA
- sma = talib.SMA(data['close'], timeperiod=2)
- # 计算RSI
- rsi = talib.RSI(data['close'], timeperiod=2)
- # 输出结果
- print("SMA:", sma)
- print("RSI:", rsi)
复制代码
|
评分
-
1
查看全部评分
-
|