ta

ta

Python实现43种金融技术分析指标

TA是一个基于Pandas和Numpy的Python技术分析库,专门用于金融时间序列数据的特征工程。该库实现了43种技术指标,涵盖成交量、波动性、趋势和动量等方面,包括移动平均线、布林带、MACD等。TA为金融数据分析和量化交易策略开发提供了全面的工具支持。

技术分析Python金融指标数据处理Github开源项目

CircleCI 文档状态 覆盖率状态 代码风格:black 代码检查:Prospector PyPI PyPI - 下载量 通过PayPal捐赠

Python技术分析库

这是一个用于从金融时间序列数据集(开盘价、收盘价、最高价、最低价、交易量)进行特征工程的技术分析库。它基于Pandas和Numpy构建。

布林带图表示例

该库已实现43个指标:

成交量

ID名称函数
1资金流量指标 (MFI)MFIIndicatormoney_flow_index
2累积/分配指标 (ADI)AccDistIndexIndicatoracc_dist_index
3能量潮指标 (OBV)OnBalanceVolumeIndicatoron_balance_volume
4蔡金资金流量 (CMF)ChaikinMoneyFlowIndicatorchaikin_money_flow
5强力指数 (FI)ForceIndexIndicatorforce_index
6移动便利指标 (EoM, EMV)EaseOfMovementIndicatorease_of_movement<br>sma_ease_of_movement
7成交量价格趋势 (VPT)VolumePriceTrendIndicatorvolume_price_trend
8负成交量指标 (NVI)NegativeVolumeIndexIndicatornegative_volume_index
9成交量加权平均价格 (VWAP)VolumeWeightedAveragePricevolume_weighted_average_price
<br>

波动率

ID名称函数
10平均真实范围 (ATR)AverageTrueRangeaverage_true_range
11布林带 (BB)BollingerBandsbollinger_hband<br>bollinger_hband_indicator<br>bollinger_lband<br>bollinger_lband_indicator<br>bollinger_mavg<br>bollinger_pband<br>bollinger_wband
12肯特纳通道 (KC)KeltnerChannelkeltner_channel_hband<br>keltner_channel_hband_indicator<br>keltner_channel_lband<br>keltner_channel_lband_indicator<br>keltner_channel_mband<br>keltner_channel_pband<br>keltner_channel_wband
13唐奇安通道 (DC)DonchianChanneldonchian_channel_hband<br>donchian_channel_lband<br>donchian_channel_mban<br>donchian_channel_pband<br>donchian_channel_wband
14溃疡指数 (UI)UlcerIndexulcer_index
<br>

趋势

ID名称定义
15简单移动平均线 (SMA)SMAIndicatorsma_indicator
16指数移动平均线 (EMA)EMAIndicatorema_indicator
17加权移动平均线 (WMA)WMAIndicatorwma_indicator
18移动平均收敛散度 (MACD)MACDmacd <br>macd_diff<br>macd_signal
19平均趋向指标 (ADX)ADXIndicatoradx<br>adx_neg<br>adx_pos
20涡旋指标 (VI)VortexIndicatorvortex_indicator_neg <br>vortex_indicator_pos
21三重指数平滑平均线 (TRIX)TRIXIndicatortrix
22质量指数 (MI)MassIndexmass_index
23顺势指标 (CCI)CCIIndicatorcci
24去趋势价格摆动指标 (DPO)DPOIndicatordpo
25知识共享系统指标 (KST)KSTIndicatorkst<br>kst_sig
26一目均衡图 (Ichimoku)IchimokuIndicatorichimoku_a<br>ichimoku_b<br>ichimoku_base_line<br>ichimoku_conversion_line
27抛物线转向指标 (Parabolic SAR)PSARIndicatorpsar_down <br>psar_down_indicator<br>psar_up<br>psar_up_indicator
28沙夫趋势周期指标 (STC)STCIndicatorstc
29阿隆指标AroonIndicatoraroon_down<br>aroon_up

动量

ID名称定义
30相对强弱指标 (RSI)RSIIndicatorrsi
31随机相对强弱指标 (SRSI)StochRSIIndicatorstochrsi<br>stochrsi_d<br>stochrsi_k
32真实强度指数 (TSI)TSIIndicatortsi
33终极指标 (UO)UltimateOscillatorultimate_oscillator
34随机指标 (SR)StochasticOscillatorstoch<br>stoch_signal
35威廉指标 (WR)WilliamsRIndicatorwilliams_r
36牛市动量指标 (AO)AwesomeOscillatorIndicatorawesome_oscillator
37考夫曼自适应移动平均线 (KAMA)KAMAIndicatorkama
38变动率指标 (ROC)ROCIndicatorroc
39价格震荡百分比指标 (PPO)PercentagePriceOscillatorppo<br>ppo_hist<br>ppo_signal
40成交量震荡百分比指标 (PVO)PercentageVolumeOscillatorpvo<br>pvo_hist<br>pvo_signal

其他

ID名称定义
41日收益率 (DR)DailyReturnIndicatordaily_return
42日对数收益率 (DLR)DailyLogReturnIndicatordaily_log_return
43累计收益率 (CR)CumulativeReturnIndicatorcumulative_return
<br>

文档

https://technical-analysis-library-in-python.readthedocs.io/en/latest/

使用动机

如何使用 (Python 3)

$ pip install --upgrade ta

要使用此库,您应该有一个包含 TimestampOpenHighLowCloseVolume 列的金融时间序列数据集。

在添加技术分析特征之前,您应该清理或填充数据集中的 NaN 值。

您可以在 examples_to_use 文件夹中获取代码示例。

您可以在这个笔记本中可视化这些特征。

添加所有特征的示例

import pandas as pd from ta import add_all_ta_features from ta.utils import dropna # 加载数据 df = pd.read_csv('ta/tests/data/datas.csv', sep=',') # 清理 NaN 值 df = dropna(df) # 添加所有 ta 特征 df = add_all_ta_features( df, open="Open", high="High", low="Low", close="Close", volume="Volume_BTC")

添加特定特征的示例

import pandas as pd from ta.utils import dropna from ta.volatility import BollingerBands # 加载数据 df = pd.read_csv('ta/tests/data/datas.csv', sep=',') # 清理 NaN 值 df = dropna(df) # 初始化布林带指标 indicator_bb = BollingerBands(close=df["Close"], window=20, window_dev=2) # 添加布林带特征 df['bb_bbm'] = indicator_bb.bollinger_mavg() df['bb_bbh'] = indicator_bb.bollinger_hband() df['bb_bbl'] = indicator_bb.bollinger_lband() # 添加布林带高指标 df['bb_bbhi'] = indicator_bb.bollinger_hband_indicator() # 添加布林带低指标 df['bb_bbli'] = indicator_bb.bollinger_lband_indicator() # 添加布林带宽度 df['bb_bbw'] = indicator_bb.bollinger_wband() # 添加布林带百分比 df['bb_bbp'] = indicator_bb.bollinger_pband()

部署和开发(针对开发者)

$ git clone https://github.com/bukosabino/ta.git $ cd ta $ pip install -r requirements-play.txt $ make test

赞助商

Logo OpenSistemas

感谢 OpenSistemas!正是因为您的贡献,我才能继续开发这个开源库。

基于

进行中

  • 所有指标的自动化测试。

待办事项

  • 使用 NumExpr 加速 NumPy/Pandas 操作?文章动机
  • 添加更多技术分析特征
  • 获取金融数据的包装器。
  • 使用 Pandas 多重索引技术同时计算多个指标。
  • 使用 Plotly/Streamlit 可视化特征

更新日志

查看项目的更新日志

捐赠

如果您认为 ta 库对您有帮助,请考虑为我买杯咖啡

致谢

由 Darío López Padial(又名 Bukosabino)和其他贡献者开发。

请告诉我任何评论或反馈。

此外,我是一名专注于数据科学的自由软件工程师,使用 Python 工具如 Pandas、Scikit-Learn、Backtrader、Zipline 或 Catalyst。如果您需要开发与这个库、Python、技术分析、算法交易、机器学习等相关的内容,请随时与我联系。

编辑推荐精选

问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

聊天机器人AI助手热门AI工具AI对话
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

热门AI工具AI办公办公工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

模型训练热门AI工具内容创作智能问答AI开发讯飞星火大模型多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

AI助手热门AI工具AI创作AI辅助写作讯飞绘文内容运营个性化文章多平台分发
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

下拉加载更多