量化交易学习(四十六)Pandas TA 库的安装使用

前几天看《量价分析》这本书时,在第九章看到了能够很方便找出支撑位和阻力位的价量分布图,然后在网上一通搜索,发现只有 tradingview 提供这个指标 volume profile (成交量分布图),但是这个指标是收费会员才能用的,虽然在 tradingview 的 charting-library 的示例网站(https://charting-library.tradingview-widget.com/)上可以使用这个指标,但用起来有限制,也很不方便。

在网上一番搜索后,发现 Pandas TA 这个库支持计算成交量分布图。今天这篇文章就来讲一下 Pandas TA 这个库的安装使用吧。

介绍

Pandas Technical Analysis (Pandas TA) 是一个易于使用的库,它利用 Pandas 包提供超过 130 个指标和实用程序函数以及超过 60 个 TA Lib 蜡烛图形态。

它包含了许多常用指标,例如:

蜡烛形态 (cdl_pattern)、简单移动平均线 (sma)、移动平均汇聚发散 (macd)、霍尔指数移动平均线 (hma)、布林带 (bbands)、能量潮 (obv)、阿伦指标和阿伦摆动指标 (aroon)、挤压 (squeeze) 等许多其他指标。

注意:需要安装 TA Lib 才能使用所有蜡烛图形态。 pip install TA-Lib.
如果未安装 TA Lib,则只能使用内置的蜡烛图形态。

安装

1
pip install pandas_ta

快速入门

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import pandas as pd
import pandas_ta as ta

df = pd.DataFrame() # Empty DataFrame

# Load data
df = pd.read_csv("path/to/symbol.csv", sep=",")
# OR if you have yfinance installed
df = df.ta.ticker("aapl")

# VWAP requires the DataFrame index to be a DatetimeIndex.
# Replace "datetime" with the appropriate column from your DataFrame
df.set_index(pd.DatetimeIndex(df["datetime"]), inplace=True)

# Calculate Returns and append to the df DataFrame
df.ta.log_return(cumulative=True, append=True)
df.ta.percent_return(cumulative=True, append=True)

# New Columns with results
df.columns

# Take a peek
df.tail()

用 Pandas TA 库计算成交量分布

折腾这个库最主要的目的就是计算成交量分布,代码很简单,不过因为下载数据时,用了 yfinance 所以在使用时要科学上网。

1
2
3
4
5
6
7
8
9
10
11
12
import pandas as pd
import pandas_ta as ta

df = pd.DataFrame()

# 下载苹果公司最近5日的1分钟频率的股价数据
df = df.ta.ticker("aapl",period="5d", interval="1m")

# 计算成交量分布
vp=df.ta.vp()
print(vp)

输出结果如下:
b45b4bd5c74cdabb5482f7e87b33e25f.png

现在我们得到了成交量分布的数据,那我要怎么画出成交量分布图呢?

这块我还没搞定,等搞定了再写一篇文章告诉大家。

江达小记