Python金融库进阶指南
引入
之前我们讨论过一些偏基础的金融库,比如 stockstats 可以很快帮我们把常见指标算出来。在实战中,很快会发现“有指标”还远远不够。很多时候需要的是更复杂的信息结构,比如趋势方向、支撑位和阻力位的位置关系,信号之间的组合判断,以及最基本也最容易被忽略的回测验证。
今天来看看一些较为高阶的 Python 金融库。许多库都被称为“技术分析库”,但它们的目标其实各不相同。像 TTI 和 pandas-ta 恰好是两种走向几乎完全相反的代表。它们正好位于交易系统中的两个不同层次,一个侧重于结构和决策的雏形,另一个侧重于高阶信息的提取和配置。
| ## 分析 |
| 如果粗略分一下层次,大概可以理解成两层: |
| 更底层的是“特征层”,主要工作是把价格序列加工成可以使用的结构化信息,比如各种技术指标、趋势信息、支撑阻力等,这一层尽量客观,尽量少做判断。 |
| 再上一层是“策略层”,开始引入规则,比如什么时候算买点、什么时候该卖出,这一层不可避免会掺杂人的主观选择。 |
| 在这个框架下看,TTI 更靠近策略,pandas-ta 更靠近特征。它们的差异,本质上是封装程度的差异。 |
TTI
TTI—更像“半成品策略引擎”。它 的设计思路是高度封装。它不仅帮你算指标,还顺手把“信号”(买点/卖点)也做了,同时还打包了图形显示和回测。用户能看到类似“当前是买、卖还是观望”的结果,这一点对初学者来说非常直观。
它的缺点是灵活性受限,只能修改指标参数,无法进行复杂的调整和组合,这在实战场景中就很难用了。
- 无法自定义交易规则(比如:只在特定条件下才买卖)
- 无法组合多个指标(比如:MACD + RSI 双重确认)
- 无法控制仓位管理、止损止盈等高级策略
它更像一个“策略的样板间”,更适合用来做快速测试、概念验证和学习结构,而不是直接用于实盘逻辑。
安装方法:
1 | pip install tti |
使用示例
1 | import pandas as pd |
这里直接计算并画出了持仓及盈亏情况。

pandas-ta
pandas-ta—更像“特征工厂”,它几乎从不帮你下结论,只负责尽可能多地把技术指标算出来。
它的输出通常就是一堆 DataFrame 列,剩下的事情几乎全交给你。怎么组合这些指标?什么是有效信号?过滤条件怎么设?全靠你自己设计。
优点也很明显,自由度极高。趋势类、震荡类指标都有现成实现,支撑阻力、趋势方向、上下轨这类东西也能开箱即用。你可以把它当成一整套“原材料库”,先把常见功能快速铺开,再一点点打磨细节。
它的门槛更高,但也更贴近真实策略开发的方式,更像是特征工程的一部分,而不是策略本身。
使用说明:https://www.pandas-ta.dev/getting-started/usage/
安装方法
1 | pip install pandas-ta |
如果 python 低于 3.12 可下载包安装:
1 | curl https://www.pandas-ta.dev/assets/zip/pandas_ta-0.3.14b.tar.gz -o pandas-ta.tar.gz |
使用示例:pandas-ta 计算出的阻力和支撑位
(pandas-ta 提供多种趋势计算方法,将在后续文章中详细介绍)
总结
TTI 更像一个认知工具,用来帮你快速建立“指标 - 信号 - 回测”这一整条链路的直觉;pandas-ta 更像一个生产工具,你可以用它搭建属于自己的特征层,再在上面构建策略逻辑。
很多技术形态,比如趋势线、支撑阻力,本身就很难说绝对对错。自己从零写不一定更好,但成熟库的价值,在于能让你先把骨架搭起来。先跑起来,再发现哪里不对,再慢慢细化,这往往比一开始就追求完美更现实。

