quanteda.generate_financial_metrics
Module Contents
Functions
|
Calculate financial metrics based on a DataFrame of random returns on time series. |
- quanteda.generate_financial_metrics.generate_financial_metrics(random_returns_df, annual_risk_free=0.0)[source]
Calculate financial metrics based on a DataFrame of random returns on time series.
- Parameters:
random_returns_df (pandas.DataFrame) – DataFrame containing returns of stocks on time series in columns. Each column is an independent series of returns. The supported frequencies of the index is ‘D’ for daily, ‘H’ for hourly and ‘min’ for minutely.
annual_risk_free (float, default 0.00.) – Annualized risk-free rate as a decimal (e.g., 0.02 for 2%).
- Returns:
A DataFrame containing financial metrics including count (number of returns), total return, annualized return, annualized volatility, and Sharpe ratio for each stock return series
- Return type:
pandas.DataFrame
Examples
>>> random_returns_df = pd.DataFrame([ {'index': '2024-01-01 00:00:00', 'stock_1': -0.002286, 'stock_2': 0.002545, 'stock_3': 0.002997}, {'index': '2024-01-01 01:00:00', 'stock_1': 0.003045, 'stock_2': 0.002913, 'stock_3': -0.000855}, {'index': '2024-01-01 02:00:00', 'stock_1': -0.001142, 'stock_2': 0.000635, 'stock_3': -0.002592}, {'index': '2024-01-01 03:00:00', 'stock_1': 0.000971, 'stock_2': -0.000168, 'stock_3': 0.000074}, {'index': '2024-01-01 04:00:00', 'stock_1': -0.000392, 'stock_2': 0.002252, 'stock_3': -0.000342} ])
>>> generate_financial_metrics(random_returns_df, annual_risk_free=0.02) count total_return annual_return annual_volatility sharpe_ratio stock_1 5 0.000196 0.343184 0.192332 1.680339 stock_2 5 0.008177 14.325234 0.124650 114.763058 stock_3 5 -0.000718 -1.258381 0.189806 -6.735214