Performance Metrics
Performance Metrics return a float and are not part of the DataFrame Extension. They are called the Standard way. The DataFrame must have a DatetimeIndex for time-based metrics such as cagr.
import pandas_ta_classic as ta
result = ta.cagr(df.close)
Available Metrics
Compounded Annual Growth Rate: cagr
Calmar Ratio: calmar_ratio
Downside Deviation: downside_deviation
Jensen’s Alpha: jensens_alpha
Log Max Drawdown: log_max_drawdown
Max Drawdown: max_drawdown
Pure Profit Score: pure_profit_score
Sharpe Ratio: sharpe_ratio
Sortino Ratio: sortino_ratio
Volatility: volatility
Backtesting with vectorbt
Use ta.tsignals to generate trading signals for integration with vectorbt’s Portfolio.from_signals method.
For a comprehensive example, see the example Jupyter Notebook VectorBT Backtest with Pandas TA in the examples directory.
Brief Example
import pandas as pd
import pandas_ta_classic as ta
import vectorbt as vbt
# Load your data
df = pd.read_csv("your_data.csv")
# Generate trading signals using Pandas TA Classic
df['sma_short'] = df.ta.sma(length=20)
df['sma_long'] = df.ta.sma(length=50)
# Create buy/sell signals
entries = df['sma_short'] > df['sma_long']
exits = df['sma_short'] < df['sma_long']
# Use tsignals for vectorbt integration
signals = ta.tsignals(entries, asbool=True)
# Run backtest with vectorbt
portfolio = vbt.Portfolio.from_signals(
df['close'],
entries=signals['TS_Entries'],
exits=signals['TS_Exits']
)
# View results
portfolio.stats()