绘图函数¶
该模块具有允许我们创建图表的函数,帮助我们快速分析我们最佳投资组合的特性。
以下示例构建投资组合和有效前沿,这将使用该模块的函数进行绘制。
示例¶
import numpy as np
import pandas as pd
import yfinance as yf
import riskfolio as rp
# Date range
start = '2016-01-01'
end = '2019-12-30'
# Tickers of assets
assets = ['JCI', 'TGT', 'CMCSA', 'CPB', 'MO', 'APA', 'MMC', 'JPM',
'ZION', 'PSA', 'BAX', 'BMY', 'LUV', 'PCAR', 'TXT', 'TMO',
'DE', 'MSFT', 'HPQ', 'SEE', 'VZ', 'CNP', 'NI', 'T', 'BA']
assets.sort()
# Tickers of factors
factors = ['MTUM', 'QUAL', 'VLUE', 'SIZE', 'USMV']
factors.sort()
tickers = assets + factors
tickers.sort()
# Downloading the data
data = yf.download(tickers, start = start, end = end)
data = data.loc[:,('Adj Close', slice(None))]
data.columns = tickers
returns = data.pct_change().dropna()
Y = returns[assets]
X = returns[factors]
# Creating the Portfolio Object
port = rp.Portfolio(returns=Y)
# To display dataframes values in percentage format
pd.options.display.float_format = '{:.4%}'.format
# Choose the risk measure
rm = 'MSV' # Semi Standard Deviation
# Estimate inputs of the model (historical estimates)
method_mu='hist' # Method to estimate expected returns based on historical data.
method_cov='hist' # Method to estimate covariance matrix based on historical data.
port.assets_stats(method_mu=method_mu, method_cov=method_cov)
mu = port.mu
cov = port.cov
# Estimate the portfolio that maximizes the risk adjusted return ratio
w1 = port.optimization(model='Classic', rm=rm, obj='Sharpe', rf=0.0, l=0, hist=True)
# Estimate points in the efficient frontier mean - semi standard deviation
ws = port.efficient_frontier(model='Classic', rm=rm, points=20, rf=0, hist=True)
# Estimate the risk parity portfolio for semi standard deviation
w2 = port.rp_optimization(model='Classic', rm=rm, rf=0, b=None, hist=True)
# Estimate the risk parity portfolio for semi standard deviation
w2 = port.rp_optimization(model='Classic', rm=rm, rf=0, b=None, hist=True)
# Estimate the risk parity portfolio for risk factors
port.factors = X
port.factors_stats(method_mu=method_mu,
method_cov=method_cov,
feature_selection='stepwise',
stepwise='Forward')
w3 = port.rp_optimization(model='FC', rm='MV', rf=0, b_f=None)
# Estimate the risk parity portfolio for principal components
port.factors = X
port.factors_stats(method_mu=method_mu,
method_cov=method_cov,
feature_selection='PCR',
n_components=0.95)
w4 = port.rp_optimization(model='FC', rm='MV', rf=0, b_f=None)
模块函数¶
-
PlotFunctions.plot_series(返回, w, 色彩图=
'tab20', 颜色数量=20, 高度=6, 宽度=10, ax=None)[来源]¶ 创建一个包含投资组合的复合累积图表。
- Parameters:¶
- returns : DataFrame of shape (n_samples, n_assets)¶
资产返回一个数据框,其中 n_samples 是观测值的数量,n_assets 是资产的数量。
- w : DataFrame or Series of shape (n_assets, 1)¶
投资组合权重,其中 n_assets 是资产数量。
- cmap : cmap, optional¶
用于绘制每个投资组合复合累计回报的颜色比例尺。 默认值为‘tab20’。
- n_colors : int, optional¶
每个颜色循环的不同颜色数量。如果资产数量超过 n_colors,图表将开始重复颜色循环。默认值为 20。
- height : float, optional¶
图像的高度(以英寸为单位)。默认值为6。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为10。
- ax : matplotlib axis, optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回包含图形的坐标轴对象,以便进行进一步调整。
- Return type:¶
matplotlib 轴
示例
ax = rp.plot_series(returns=Y, w=ws, cmap='tab20', height=6, width=10, ax=None)
-
PlotFunctions.plot_frontier(w_frontier, 返回, mu=
None, 协方差=None, rm='MV', 凯莉=False, rf=0, 阿尔法=0.05, a_sim=100, 贝塔=None, b_sim=None, kappa=0.3, 求解器='CLARABEL', 色彩图='viridis', w=None, 标签='Portfolio', 标记='*', s=16, c='r', 高度=6, 宽度=10, t_factor=252, ax=None)[来源]¶ 创建一个针对用户指定的风险度量的有效前沿图。
- Parameters:¶
- w_frontier : DataFrame¶
有效边界上一些点的投资组合权重。
- mu : DataFrame of shape (1, n_assets)¶
预期回报的向量,其中 n_assets 是资产的数量。
- cov : DataFrame of shape (n_assets, n_assets)¶
协方差矩阵,其中 n_assets 是资产的数量。
- returns : DataFrame of shape (n_samples, n_assets)¶
资产返回一个数据框,其中 n_samples 是观测值的数量,n_assets 是资产的数量。
- rm : str, optional¶
用于估计边界的风险度量。 默认值为‘MV’。可能的值包括:
’MV’: 标准差。
’KT’: 平方根峰度。
’MAD’: 平均绝对偏差。
’MSV’: 半标准差。
’SKT’: 平方根半峰度。
’FLPM’: 第一个下部分矩(奥米加比率)。
’SLPM’: 第二个下部分矩(索提诺比率)。
’CVaR’: 有条件的风险价值。
’TG’: 尾部基尼。
’EVaR’: 熵值风险。
’RLVaR’: 相对风险价值。
’WR’: 最差实现(最小最大)。
’CVRG’: CVaR 回报范围。
’TGRG’: 尾部基尼回报范围。
’RG’: 回报范围。
’MDD’: 非复利回报的最大回撤(卡尔玛比率)。
’ADD’: 非复利累计回报的平均回撤。
’DaR’: 非复利累计回报的回撤风险。
’CDaR’: 非复利累计回报的条件回撤风险。
’EDaR’: 非复利累计回报的熵回撤风险。
’RLDaR’: 非复利累计回报的相对回撤风险。
’UCI’: 非复利累计回报的溃疡指数。
- kelly : bool, optional¶
用于计算平均回报的方法。可能的值是 False 表示算术平均回报,True 表示平均对数回报。默认值为 False。
- rf : float, optional¶
无风险利率或最低可接受收益率。默认值为0。
- alpha : float, optional¶
VaR、CVaR、EVaR、RLVaR、DaR、CDaR、EDaR、RLDaR 和尾部基尼损失的显著性水平。 默认值是 0.05。
- a_sim : float, optional¶
用于近似损失尾基尼的CVaR数量。默认为100。
- beta : float, optional¶
CVaR和尾部Gini的显著性水平。如果为None,则重复alpha值。默认值为None。
- b_sim : float, optional¶
用于逼近收益的尾部基尼的CVaR数量。如果为None,则复制a_sim值。 默认值为None。
- kappa : float, optional¶
RLVaR和RLDaR的变形参数,必须在0和1之间。默认值为0.30。
- solver : str, optional¶
可用于CVXPY的求解器,支持功率锥编程。用于计算RLVaR和RLDaR。 默认值为‘CLARABEL’。
- cmap : cmap, optional¶
表示风险调整后收益比例的颜色标度。 默认值为‘viridis’。
- w : DataFrame or Series of shape (n_assets, 1), optional¶
用户指定的投资组合。默认为 None。
- label : str or list, optional¶
在绘图图例中出现的投资组合名称或名称列表。 默认值为‘投资组合’。
- marker : str, optional¶
w的标记。默认值是“*”。
- s : float, optional¶
标记的大小。默认值为16。
- c : str, optional¶
标记的颜色。默认值为'r'。
- height : float, optional¶
图像的高度(以英寸为单位)。默认值为6。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为10。
- t_factor : float, optional¶
用于将预期收益和预期风险年化的因子,适用于基于收益的风险度量(不包括回撤)。默认值为252。
\[\begin{split}\begin{align} \text{Annualized Return} & = \text{Return} \, \times \, \text{t_factor} \\ \text{Annualized Risk} & = \text{Risk} \, \times \, \sqrt{\text{t_factor}} \end{align}\end{split}\]- ax : matplotlib axis, optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回包含图形的坐标轴对象,以便进行进一步调整。
- Return type:¶
matplotlib 轴
示例
label = 'Max Risk Adjusted Return Portfolio' mu = port.mu cov = port.cov returns = port.returns ax = rp.plot_frontier(w_frontier=ws, mu=mu, cov=cov, returns=Y, rm=rm, rf=0, alpha=0.05, cmap='viridis', w=w1, label=label, marker='*', s=16, c='r', height=6, width=10, t_factor=252, ax=None)
-
PlotFunctions.plot_pie(w, 标题=
'', 其他=0.05, 行数=25, 色彩图='tab20', 颜色数量=20, 高度=6, 宽度=8, ax=None)[来源]¶ 创建一个饼图,显示投资组合权重。
- Parameters:¶
- w : DataFrame or Series of shape (n_assets, 1)¶
投资组合权重,其中 n_assets 是资产数量。
- title : str, optional¶
图表的标题。默认值为“”。
- others : float, optional¶
其他部分的百分比。默认值为0.05。
- nrow : int, optional¶
图例的行数。默认值为25。
- cmap : cmap, optional¶
用于绘制每个资产权重的颜色比例。默认值为‘tab20’。
- n_colors : int, optional¶
每个颜色循环的不同颜色数量。如果资产数量超过 n_colors,图表将开始重复颜色循环。默认值为 20。
- height : float, optional¶
图像的高度(以英寸为单位)。默认值为10。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为10。
- ax : matplotlib axis, optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回包含图形的坐标轴对象,以便进行进一步调整。
- Return type:¶
matplotlib 轴。
示例
ax = rp.plot_pie(w=w1, title='Portfolio', height=6, width=10, cmap="tab20", ax=None)
-
PlotFunctions.plot_bar(w, 标题=
'', 种类='v', 其他=0.05, nrow=25, cpos='tab:green', cneg='darkorange', 其他='dodgerblue', 高度=6, 宽度=10, ax=None)[来源]¶ 创建一个包含投资组合权重的条形图。
- Parameters:¶
- w : DataFrame or Series of shape (n_assets, 1)¶
投资组合权重,其中 n_assets 是资产数量。
- title : str, optional¶
图表的标题。默认值为“”。
- kind : str, optional¶
条形图的种类,“v”表示垂直条形,“h”表示水平条形。默认是“v”。
- others : float, optional¶
其他部分的百分比。默认值为0.05。
- nrow : int, optional¶
可以绘制的最大条形数。默认值为25。
- cpos : str, optional¶
正权重的颜色。默认为‘tab:green’。
- cneg : str, optional¶
负权重的颜色。默认值是‘darkorange’。
- cothers : str, optional¶
其它条的颜色。 默认为‘dodgerblue’。
- height : float, optional¶
图像的高度(以英寸为单位)。默认值为10。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为10。
- ax : matplotlib axis, optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回包含图形的坐标轴对象,以便进行进一步调整。
- Return type:¶
matplotlib 轴。
示例
ax = rp.plot_bar(w1, title='Portfolio', kind="v", others=0.05, nrow=25, height=6, width=10, ax=None)
-
PlotFunctions.plot_frontier_area(w_frontier, nrow=
25, 色彩图='tab20', 颜色数量=20, 高度=6, 宽度=10, ax=None)[来源]¶ 创建一个图表,显示有效前沿的资产组合。
- Parameters:¶
- w_frontier : DataFrame¶
有效前沿中的投资组合权重。
- nrow : int, optional¶
图例的行数。默认值为25。
- cmap : cmap, optional¶
用于绘制每个资产权重的颜色比例。默认值为‘tab20’。
- n_colors : int, optional¶
每个颜色循环的不同颜色数量。如果资产数量超过 n_colors,图表将开始重复颜色循环。默认值为 20。
- height : float, optional¶
图像的高度(以英寸为单位)。默认值为6。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为10。
- ax : matplotlib axis, optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回包含图形的坐标轴对象,以便进行进一步调整。
- Return type:¶
matplotlib 轴。
示例
ax = rp.plot_frontier_area(w_frontier=ws, cmap="tab20", height=6, width=10, ax=None)
-
PlotFunctions.plot_risk_con(w, 返回, 协方差=
None, rm='MV', rf=0, 阿尔法=0.05, a_sim=100, 贝塔=None, b_sim=None, kappa=0.3, 求解器='CLARABEL', 百分比=False, erc_line=True, 颜色='tab:blue', erc_linecolor='r', 高度=6, 宽度=10, t_factor=252, ax=None)[来源]¶ 创建一个显示投资组合中每个资产风险贡献的图表。
- Parameters:¶
- w : DataFrame or Series of shape (n_assets, 1)¶
投资组合权重,其中 n_assets 是资产数量。
- cov : DataFrame of shape (n_assets, n_assets)¶
协方差矩阵,其中 n_assets 是资产的数量。
- returns : DataFrame of shape (n_samples, n_assets)¶
资产返回一个数据框,其中 n_samples 是观测值的数量,n_assets 是资产的数量。
- rm : str, optional¶
用于估计风险贡献的风险度量。 默认值为‘MV’。可能的值有:
’MV’: 标准差。
’KT’: 平方根峰度。
’MAD’: 平均绝对偏差。
’GMD’: 基尼均值差。
’MSV’: 半标准差。
’SKT’: 平方根半峰度。
’FLPM’: 第一个下偏部分矩(欧米伽比率)。
’SLPM’: 第二个下偏部分矩(索提诺比率)。
’CVaR’: 风险条件值。
’TG’: 尾部分基尼。
’EVaR’: 熵值风险。
’RLVaR’: 相对值风险。
’WR’: 最坏实现(最小最大)。
’CVRG’: 收益的CVaR范围。
’TGRG’: 收益的尾基尼范围。
’RG’: 收益的范围。
’MDD’: 非复合累积收益的最大回撤(卡尔马比率)。
’ADD’: 非复合累积收益的平均回撤。
’CDaR’: 非复合累积收益的条件回撤风险。
’EDaR’: 非复合累积收益的熵回撤风险。
’RLDaR’: 非复合累积收益的相对回撤风险。
’UCI’:非复合累积收益的溃疡指数。
- rf : float, optional¶
无风险利率或最低可接受收益率。默认值为0。
- alpha : float, optional¶
VaR、CVaR、尾部Gini、EVaR、RLVaR、CDaR、EDaR和RLDaR的显著性水平。默认值为0.05。
- a_sim : float, optional¶
用于近似损失尾基尼的CVaR数量。默认为100。
- beta : float, optional¶
CVaR和尾部Gini的显著性水平。如果为None,则重复alpha值。默认值为None。
- b_sim : float, optional¶
用于逼近收益的尾部基尼的CVaR数量。如果为None,则复制a_sim值。 默认值为None。
- kappa : float, optional¶
RLVaR和RLDaR的变形参数,必须在0和1之间。默认值为0.30。
- solver : str, optional¶
可用于CVXPY的求解器,支持功率锥编程。用于计算RLVaR和RLDaR。 默认值为‘CLARABEL’。
- percentage : bool, optional¶
如果每个资产的风险贡献以百分比或值的形式表达。默认值为 False。
- erc_line : bool, optional¶
如果绘制等风险贡献线。 默认值为 False。
- color : str, optional¶
用于绘制每个资产风险贡献的颜色。 默认值是‘tab:blue’。
- erc_linecolor : str, optional¶
用于绘制相等风险贡献线的颜色。 默认值为‘r’。
- height : float, optional¶
图像的高度(以英寸为单位)。默认值为6。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为10。
- t_factor : float, optional¶
用于将预期收益和预期风险年化的因子,适用于基于收益的风险度量(不包括回撤)。默认值为252。
\[\begin{split}\begin{align} \text{Annualized Return} & = \text{Return} \, \times \, \text{t_factor} \\ \text{Annualized Risk} & = \text{Risk} \, \times \, \sqrt{\text{t_factor}} \end{align}\end{split}\]- ax : matplotlib axis, optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回包含图形的坐标轴对象,以便进行进一步调整。
- Return type:¶
matplotlib 轴。
示例
ax = rp.plot_risk_con(w=w2, cov=cov, returns=Y, rm=rm, rf=0, alpha=0.05, color="tab:blue", height=6, width=10, t_factor=252, ax=None)
-
PlotFunctions.plot_factor_risk_con(w, 返回, 因子, 协方差=
None, B=None, 常量=True, rm='MV', rf=0, 阿尔法=0.05, a_sim=100, 贝塔=None, b_sim=None, kappa=0.3, 求解器='CLARABEL', 特征选择='stepwise', 逐步='Forward', 标准='pvalue', 阈值=0.05, 主成分数量=0.95, 百分比=False, erc_line=True, 颜色='tab:orange', erc_linecolor='r', 高度=6, 宽度=10, t_factor=252, ax=None)[来源]¶ 创建一个图表,显示投资组合每个风险因素的风险贡献。
- Parameters:¶
- w : DataFrame or Series of shape (n_assets, 1)¶
投资组合权重,其中 n_assets 是资产数量。
- cov : DataFrame of shape (n_assets, n_assets)¶
协方差矩阵,其中 n_assets 是资产的数量。
- returns : DataFrame of shape (n_samples, n_assets)¶
资产返回一个数据框,其中 n_samples 是观测值的数量,n_assets 是资产的数量。
- factors : DataFrame or nd-array of shape (n_samples, n_factors)¶
风险因素返回一个数据框,其中 n_samples 是样本数量,n_factors 是因素数量。
- B : DataFrame of shape (n_assets, n_factors), optional¶
加载矩阵,其中 n_assets 是资产数量,n_factors 是风险因素数量。如果未指定,则使用逐步回归进行估计。默认值为 None。
- const : bool, optional¶
指示载荷矩阵是否具有常数。 默认值为 False。
- rm : str, optional¶
用于估计风险贡献的风险度量。 默认值为 ‘MV’。可能的值包括:
’MV’: 标准差。
’KT’: 平方根峰态。
’MAD’: 平均绝对偏差。
’GMD’: 基尼均差。
’MSV’: 半标准差。
’SKT’: 平方根半峰态。
’FLPM’: 第一低部分矩(欧米伽比率)。
’SLPM’: 第二低部分矩(索提诺比率)。
’CVaR’: 条件风险价值。
’TG’: 尾部基尼。
’EVaR’: 熵值风险。
’RLVaR’: 相对风险价值。
’WR’: 最坏实现(极小化)。
’CVRG’: 风险价值收益范围。
’TGRG’: 尾部基尼收益范围。
’RG’: 收益范围。
’MDD’: 非复合累积收益的最大回撤(卡尔马比率)。
’ADD’: 非复合累积收益的平均回撤。
’CDaR’: 非复合累积收益的条件回撤风险。
’EDaR’: 非复合累积收益的熵回撤风险。
’RLDaR’: 非复合累积收益的相对回撤风险。
’UCI’: 非复合累积收益的溃疡指数。
- rf : float, optional¶
无风险利率或最低可接受收益率。默认值为0。
- alpha : float, optional¶
VaR、CVaR、尾部吉尼、EVaR、RLVaR、CDaR、EDaR 和 RLDaR 的显著性水平。默认值为 0.05。
- a_sim : float, optional¶
用于近似损失尾基尼的CVaR数量。默认为100。
- beta : float, optional¶
CVaR和尾部Gini的显著性水平。如果为None,则重复alpha值。默认值为None。
- b_sim : float, optional¶
用于逼近收益的尾部基尼的CVaR数量。如果为None,则复制a_sim值。 默认值为None。
- kappa : float, optional¶
RLVaR和RLDaR的变形参数,必须在0和1之间。默认值为0.30。
- solver : str, optional¶
可用于CVXPY的求解器,支持功率锥编程。用于计算RLVaR和RLDaR。 默认值为‘CLARABEL’。
- feature_selection : str 'stepwise' or 'PCR', optional¶
指明用于估计负载矩阵的方法。 默认值为“逐步”。
- stepwise : str 'Forward' or 'Backward', optional¶
指明用于逐步回归的方法。 默认值为“前向”。
- criterion : str, optional¶
默认值为‘pvalue’。用于选择最佳特征的标准的可能值有:
’pvalue’: 基于p值选择特征。
’AIC’: 基于最低的赤池信息量准则选择特征。
’SIC’: 基于最低的施瓦兹信息量准则选择特征。
’R2’: 基于最高的R平方选择特征。
’R2_A’: 基于最高的调整后R平方选择特征。
- threshold : scalar, optional¶
这是模型中将被接受的每个变量的最大p值。默认值为0.05。
- n_components : int, float, None or str, optional¶
如果 1 < n_components (int),则表示要保留的组件数量。如果 0 < n_components < 1 (float),则表示由保留的组件解释的方差百分比。有关更多详细信息,请参见 PCA。默认值为 0.95。
- percentage : bool, optional¶
如果每个资产的风险贡献以百分比或值的形式表达。默认值为 False。
- erc_line : bool, optional¶
如果绘制等风险贡献线。 默认值为 False。
- color : str, optional¶
用于绘制每个资产风险贡献的颜色。 默认值是‘tab:orange’。
- erc_linecolor : str, optional¶
用于绘制等风险贡献线的颜色。 默认值为‘r’。
- height : float, optional¶
图像的高度(以英寸为单位)。默认值为6。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为10。
- t_factor : float, optional¶
用于将预期收益和预期风险年化的因子,适用于基于收益的风险度量(不包括回撤)。默认值为252。
\[\begin{split}\begin{align} \text{Annualized Return} & = \text{Return} \, \times \, \text{t_factor} \\ \text{Annualized Risk} & = \text{Risk} \, \times \, \sqrt{\text{t_factor}} \end{align}\end{split}\]- ax : matplotlib axis, optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回包含图形的坐标轴对象,以便进行进一步调整。
- Return type:¶
matplotlib 轴。
示例
ax = rp.plot_factor_risk_con(w=w3, cov=cov, returns=Y, factors=X, B=None, const=True, rm=rm, rf=0, feature_selection="stepwise", stepwise="Forward", criterion="pvalue", threshold=0.05, height=6, width=10, t_factor=252, ax=None)
ax = rp.plot_factor_risk_con(w=w4, cov=cov, returns=Y, factors=X, B=None, const=True, rm=rm, rf=0, feature_selection="PCR", n_components=0.95, height=6, width=10, t_factor=252, ax=None)
-
PlotFunctions.plot_hist(返回, w, 阿尔法=
0.05, a_sim=100, kappa=0.3, 求解器='CLARABEL', 箱子=50, 高度=6, 宽度=10, ax=None)[来源]¶ 绘制包含风险测量的投资组合收益直方图。
- Parameters:¶
- returns : DataFrame of shape (n_samples, n_assets)¶
资产返回一个数据框,其中 n_samples 是观测值的数量,n_assets 是资产的数量。
- w : DataFrame or Series of shape (n_assets, 1)¶
投资组合权重,其中 n_assets 是资产数量。
- alpha : float, optional¶
VaR、CVaR、EVaR、RLVaR 和尾部 Gini 的显著性水平。默认值为 0.05。
- a_sim : float, optional¶
用于近似损失尾基尼的CVaR数量。默认为100。
- kappa : float, optional¶
RLVaR和RLDaR的变形参数,必须在0和1之间。默认值为0.30。
- solver : str, optional¶
可用于CVXPY的求解器,支持功率锥编程。用于计算RLVaR和RLDaR。 默认值为‘CLARABEL’。
- bins : float, optional¶
直方图的箱数。默认值为50。
- height : float, optional¶
图像的高度(以英寸为单位)。默认值为6。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为10。
- ax : matplotlib axis, optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回包含图形的坐标轴对象,以便进行进一步调整。
- Return type:¶
matplotlib 轴。
示例
ax = rp.plot_hist(returns=Y, w=w1, alpha=0.05, bins=50, height=6, width=10, ax=None)
-
PlotFunctions.plot_range(返回, w, 阿尔法=
0.05, a_sim=100, 贝塔=None, b_sim=None, 分箱=50, 高度=6, 宽度=10, ax=None)[来源]¶ 创建一个包含范围风险度量的投资组合收益直方图。
- Parameters:¶
- returns : DataFrame of shape (n_samples, n_assets)¶
资产返回一个数据框,其中 n_samples 是观测值的数量,n_assets 是资产的数量。
- w : DataFrame or Series of shape (n_assets, 1)¶
投资组合权重,其中 n_assets 是资产数量。
- alpha : float, optional¶
CVaR和尾部Gini损失的显著性水平。默认值为0.05。
- a_sim : float, optional¶
用于近似损失尾基尼的CVaR数量。默认为100。
- beta : float, optional¶
CVaR和尾部Gini的显著性水平。如果为None,则重复alpha值。默认值为None。
- b_sim : float, optional¶
用于逼近收益的尾部基尼的CVaR数量。如果为None,则复制a_sim值。 默认值为None。
- bins : float, optional¶
直方图的箱数。默认值是50。
- height : float, optional¶
图像的高度(以英寸为单位)。默认值为6。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为10。
- ax : matplotlib axis, optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回包含图形的坐标轴对象,以便进行进一步调整。
- Return type:¶
matplotlib 轴。
示例
ax = rp.plot_range(returns=Y, w=w1, alpha=0.05, a_sim=100, beta=None, b_sim=None, bins=50, height=6, width=10, ax=None)
-
PlotFunctions.plot_drawdown(返回, w, 阿尔法=
0.05, kappa=0.3, 求解器='CLARABEL', 高度=8, 宽度=10, 高度比=[2, 3], ax=None)[来源]¶ 创建一个包含投资组合价格和回撤演变的图表。
- Parameters:¶
- returns : DataFrame of shape (n_samples, n_assets)¶
资产返回一个数据框,其中 n_samples 是观测值的数量,n_assets 是资产的数量。
- w : DataFrame or Series of shape (n_assets, 1)¶
投资组合权重,其中 n_assets 是资产数量。
- alpha : float, optional¶
DaR、CDaR、EDaR和RLDaR的显著性水平。默认值为0.05。
- kappa : float, optional¶
RLVaR和RLDaR的变形参数,必须在0和1之间。默认值为0.30。
- solver : str, optional¶
可用于CVXPY的求解器,支持功率锥编程。用于计算RLVaR和RLDaR。 默认值为‘CLARABEL’。
- height : float, optional¶
图像的高度(以英寸为单位)。默认为8。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为10。
- height_ratios : list or ndarray¶
定义行的相对高度。每行的相对高度为 height_ratios[i] / sum(height_ratios)。默认值为 [2,3]。
- ax : matplotlib axis of size (2,1), optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回一个包含可供进一步调整的图表的 Axes 对象的 np.array。
- Return type:¶
np.array
示例
ax = rp.plot_drawdown(returns=Y, w=w1, alpha=0.05, height=8, width=10, ax=None)
-
PlotFunctions.plot_table(返回, w, 三月=
0, 阿尔法=0.05, a_sim=100, kappa=0.3, 求解器='CLARABEL', 高度=9, 宽度=12, t_factor=252, 初始天数=1, 每年天数=252, ax=None)[来源]¶ 创建一个包含风险度量和风险调整收益比率的信息表。
- Parameters:¶
- returns : DataFrame of shape (n_samples, n_assets)¶
资产返回一个数据框,其中 n_samples 是观测值的数量,n_assets 是资产的数量。
- w : DataFrame or Series of shape (n_assets, 1)¶
投资组合权重,其中 n_assets 是资产数量。
- MAR : float, optional¶
最低可接受回报。
- alpha : float, optional¶
VaR、CVaR、尾部吉尼、EVaR、RLVaR、CDaR、EDaR 和 RLDaR 的显著性水平。 默认值为 0.05。
- a_sim : float, optional¶
用于近似损失尾基尼的CVaR数量。默认为100。
- beta : float, optional
CVaR和尾部Gini的显著性水平。如果为None,则重复alpha值。默认值为None。
- b_sim : float, optional
用于逼近收益的尾部基尼的CVaR数量。如果为None,则复制a_sim值。 默认值为None。
- kappa : float, optional¶
RLVaR和RLDaR的变形参数,必须在0和1之间。默认值为0.30。
- solver : str, optional¶
可用于CVXPY的求解器,支持功率锥编程。用于计算RLVaR和RLDaR。 默认值为‘CLARABEL’。
- height : float, optional¶
图像的高度以英寸为单位。默认为9。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为12。
- t_factor : float, optional¶
用于将预期收益和预期风险年化的因子,适用于基于收益的风险度量(不包括回撤)。默认值为252。
\[\begin{split}\begin{align} \text{Annualized Return} & = \text{Return} \, \times \, \text{t_factor} \\ \text{Annualized Risk} & = \text{Risk} \, \times \, \sqrt{\text{t_factor}} \end{align}\end{split}\]- ini_days : float, optional¶
如果提供,则为首次回报的复利天数。 它用于计算复合年增长率(CAGR)。此值依赖于在t_factor中使用的假设,例如,如果数据是按月的,可以使用21(每年252天)或30(每年360天)。默认值为1,表示每日回报。
- days_per_year : float, optional¶
每年的天数假设。用于计算复合年增长率(CAGR)。默认值为每年252个交易日。
- ax : matplotlib axis, optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回包含图形的坐标轴对象,以便进行进一步调整。
- Return type:¶
matplotlib 轴
示例
ax = rp.plot_table(returns=Y, w=w1, MAR=0, alpha=0.05, ax=None)
-
PlotFunctions.plot_clusters(返回, 自定义协方差=
None, 相互依赖='pearson', 链接='ward', opt_k_method='twodiff', k=None, max_k=10, bins_info='KN', 阿尔法尾部=0.05, gs_threshold=0.5, 叶序=True, 显示聚类=True, 树状图=True, 色彩图='RdYlBu', 线颜色='fuchsia', 标题='', 高度=11, 宽度=12, ax=None)[来源]¶ 根据所选的共依赖测量创建聚类图。
- Parameters:¶
- returns : DataFrame of shape (n_samples, n_assets)¶
资产返回一个数据框,其中 n_samples 是观测值的数量,n_assets 是资产的数量。
- custom_cov : DataFrame or None, optional¶
自定义协方差矩阵,用于当共依赖参数的值为‘custom_cov’时。默认值为None。
- codependence : str, can be {'pearson', 'spearman', 'abs_pearson', 'abs_spearman', 'distance', 'mutual_info', 'tail' or 'custom_cov'}¶
用于构建距离度量和聚类的共依赖性或相似性矩阵。默认值为‘pearson’。可能的值有:
’pearson’: pearson 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho_{i,j})}\).
’spearman’: spearman 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho_{i,j})}\).
’kendall’: kendall 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{kendall}_{i,j})}\).
’gerber1’: Gerber 统计量 1 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{gerber1}_{i,j})}\).
’gerber2’: Gerber 统计量 2 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{gerber2}_{i,j})}\).
’abs_pearson’: 绝对值 pearson 相关矩阵。距离公式: \(D_{i,j} = \sqrt{(1-|\rho_{i,j}|)}\).
’abs_spearman’: 绝对值 spearman 相关矩阵。距离公式: \(D_{i,j} = \sqrt{(1-|\rho_{i,j}|)}\).
’abs_kendall’: 绝对值 kendall 相关矩阵。距离公式: \(D_{i,j} = \sqrt{(1-|\rho^{kendall}_{i,j}|)}\).
’distance’: 距离相关矩阵。距离公式 \(D_{i,j} = \sqrt{(1-|\rho_{i,j}|)}\).
’mutual_info’: 互信息矩阵。使用的距离是变异信息矩阵。
’tail’: 下尾依赖指数矩阵。差异性公式 \(D_{i,j} = -\log{\lambda_{i,j}}\).
’custom_cov’: 使用基于 custom_cov 参数的自定义相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{pearson}_{i,j})}\).
- linkage : string, optional¶
层次聚类的连接方法,请参见linkage以获取更多详细信息。 默认值为‘ward’。 可能的值包括:
’single’。
’complete’。
’average’。
’weighted’。
’centroid’。
’median’。
’ward’。
’DBHT’:直接气泡层次树。
- opt_k_method : str¶
用于计算最佳聚类数量的方法。 默认值为‘twodiff’。可能的值包括:
’twodiff’: 两个差异间隙统计量。
’stdsil’: 标准化轮廓得分。
- k : int, optional¶
聚类的数量。此值取代了通过两种不同的间隙统计量计算的最优聚类数量。默认值为 None。
- max_k : int, optional¶
两种差异间隙统计量用于找出最佳聚类数的最大聚类数。默认值为10。
- bins_info : int or str¶
用于计算信息变异的箱子数量。默认值为‘KN’。可能的值包括:
’KN’: Knuth的选择方法。详见 knuth_bin_width。
’FD’: Freedman–Diaconis的选择方法。详见 freedman_bin_width。
’SC’: Scotts的选择方法。详见 scott_bin_width。
’HGR’: Hacine-Gharbi 和 Ravier的选择方法。
int: 用户选择的整数值。
- alpha_tail : float, optional¶
下尾依赖指数的显著性水平。默认值为 0.05。
- gs_threshold : float, optional¶
Gerber统计阈值。默认值为0.5。
- leaf_order : bool, optional¶
指示集群是否按顺序排列,以使连续叶子之间的距离最小。默认为 True。
- show_clusters : bool, optional¶
指示是否绘制集群。 默认值为 True。
- dendrogram : bool, optional¶
指示图表是否具有树状图。默认值为 True。
- cmap : str or cmap, optional¶
用于绘制pcolormesh图的颜色图。默认值是‘viridis’。
- linecolor : str, optional¶
用于在pcolormesh图中识别簇的颜色。 默认值是fuchsia。
- title : str, optional¶
图表的标题。默认值为“”。
- height : float, optional¶
图像的高度(以英寸为单位)。默认值为12。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为12。
- ax : matplotlib axis, optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回包含图形的坐标轴对象,以便进行进一步调整。
- Return type:¶
matplotlib 轴
示例
ax = rp.plot_clusters(returns=Y, codependence='spearman', linkage='ward', k=None, max_k=10, leaf_order=True, dendrogram=True, ax=None)
-
PlotFunctions.plot_dendrogram(返回, 自定义协方差=
None, 相互依赖='pearson', 链接='ward', opt_k_method='twodiff', k=None, max_k=10, bins_info='KN', 阿尔法尾部=0.05, gs_threshold=0.5, 叶序=True, 显示聚类=True, 标题='', 高度=5, 宽度=12, ax=None)[来源]¶ 根据选择的共依赖测量创建一个树状图。
- Parameters:¶
- returns : DataFrame of shape (n_samples, n_assets)¶
资产返回一个数据框,其中 n_samples 是观测值的数量,n_assets 是资产的数量。
- custom_cov : DataFrame or None, optional¶
自定义协方差矩阵,用于当共依赖参数的值为‘custom_cov’时。默认值为None。
- codependence : str, can be {'pearson', 'spearman', 'abs_pearson', 'abs_spearman', 'distance', 'mutual_info', 'tail' or 'custom_cov'}¶
用于构建距离度量和聚类的共依赖或相似度矩阵。默认值为‘pearson’。可能的值有:
’pearson’: pearson 相关矩阵。距离公式:\(D_{i,j} = \sqrt{0.5(1-\rho_{i,j})}\)。
’spearman’: spearman 相关矩阵。距离公式:\(D_{i,j} = \sqrt{0.5(1-\rho_{i,j})}\)。
’kendall’: kendall 相关矩阵。距离公式:\(D_{i,j} = \sqrt{0.5(1-\rho^{kendall}_{i,j})}\)。
’gerber1’: Gerber 统计量 1 相关矩阵。距离公式:\(D_{i,j} = \sqrt{0.5(1-\rho^{gerber1}_{i,j})}\)。
’gerber2’: Gerber 统计量 2 相关矩阵。距离公式:\(D_{i,j} = \sqrt{0.5(1-\rho^{gerber2}_{i,j})}\)。
’abs_pearson’: 绝对值 pearson 相关矩阵。距离公式:\(D_{i,j} = \sqrt{(1-|\rho_{i,j}|)}\)。
’abs_spearman’: 绝对值 spearman 相关矩阵。距离公式:\(D_{i,j} = \sqrt{(1-|\rho_{i,j}|)}\)。
’abs_kendall’: 绝对值 kendall 相关矩阵。距离公式:\(D_{i,j} = \sqrt{(1-|\rho^{kendall}_{i,j}|)}\)。
’distance’: 距离相关矩阵。距离公式 \(D_{i,j} = \sqrt{(1-|\rho_{i,j}|)}\)。
’mutual_info’: 互信息矩阵。使用的距离是变异信息矩阵。
’tail’: 下尾依赖指数矩阵。差异性公式 \(D_{i,j} = -\log{\lambda_{i,j}}\)。
’custom_cov’: 使用基于 custom_cov 参数的自定义相关矩阵。距离公式:\(D_{i,j} = \sqrt{0.5(1-\rho^{pearson}_{i,j})}\)。
- linkage : string, optional¶
层次聚类的连接方法,更多详细信息请参见 linkage。 默认值为‘ward’。可能的值有:
’single’。
’complete’。
’average’。
’weighted’。
’centroid’。
’median’。
’ward’。
’DBHT’: 直接气泡层次树。
- opt_k_method : str¶
用于计算最佳聚类数量的方法。 默认值为‘twodiff’。可能的值包括:
’twodiff’: 两个差异间隙统计量。
’stdsil’: 标准化轮廓得分。
- k : int, optional¶
聚类的数量。此值取代了通过两种不同的间隙统计量计算的最优聚类数量。默认值为 None。
- max_k : int, optional¶
两种差异间隙统计量用于找出最佳聚类数的最大聚类数。默认值为10。
- bins_info : int or str¶
用于计算信息变异的箱数。默认值为‘KN’。可能的值有:
’KN’: Knuth的选择方法。详情请见 knuth_bin_width。
’FD’: Freedman–Diaconis的选择方法。详情请见 freedman_bin_width。
’SC’: Scotts的选择方法。详情请见 scott_bin_width。
’HGR’: Hacine-Gharbi和Ravier的选择方法。
int: 用户选择的整数值。
- alpha_tail : float, optional¶
下尾依赖指数的显著性水平。默认值为 0.05。
- gs_threshold : float, optional¶
Gerber统计阈值。默认值为0.5。
- leaf_order : bool, optional¶
指示集群是否按顺序排列,以使连续叶子之间的距离最小。默认为 True。
- show_clusters : bool, optional¶
指示是否绘制集群。 默认值为 True。
- title : str, optional¶
图表的标题。默认值为“”。
- height : float, optional¶
图像的高度,以英寸为单位。默认值为5。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为12。
- ax : matplotlib axis, optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回包含图形的坐标轴对象,以便进行进一步调整。
- Return type:¶
matplotlib 轴
示例
ax = rp.plot_dendrogram(returns=Y, codependence='spearman', linkage='ward', k=None, max_k=10, leaf_order=True, ax=None)
-
PlotFunctions.plot_network(返回, 自定义协方差=
None, 相互依赖='pearson', 链接='ward', opt_k_method='twodiff', k=None, max_k=10, bins_info='KN', 阿尔法尾部=0.05, gs_threshold=0.5, 叶序=True, 种类='spring', 种子=0, 节点标签=True, 节点大小=1400, node_alpha=0.7, 字体大小=10, 标题='', 高度=8, 宽度=10, ax=None)[来源]¶ 创建网络图。平面最大滤波图(PMFG)用于DBHT连接,最小生成树(MST)用于其他连接方法。
- Parameters:¶
- returns : DataFrame of shape (n_samples, n_assets)¶
资产返回一个数据框,其中 n_samples 是观测值的数量,n_assets 是资产的数量。
- custom_cov : DataFrame or None, optional¶
自定义协方差矩阵,用于当共依赖参数的值为‘custom_cov’时。默认值为None。
- codependence : str, can be {'pearson', 'spearman', 'abs_pearson', 'abs_spearman', 'distance', 'mutual_info', 'tail' or 'custom_cov'}¶
用于构建距离度量和聚类的共依赖性或相似性矩阵。默认值为“pearson”。可能的值有:
’pearson’: Pearson 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{pearson}_{i,j})}\)。
’spearman’: Spearman 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{spearman}_{i,j})}\)。
’kendall’: Kendall 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{kendall}_{i,j})}\)。
’gerber1’: Gerber 统计量 1 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{gerber1}_{i,j})}\)。
’gerber2’: Gerber 统计量 2 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{gerber2}_{i,j})}\)。
’abs_pearson’: 绝对值 Pearson 相关矩阵。距离公式: \(D_{i,j} = \sqrt{(1-|\rho_{i,j}|)}\)。
’abs_spearman’: 绝对值 Spearman 相关矩阵。距离公式: \(D_{i,j} = \sqrt{(1-|\rho_{i,j}|)}\)。
’abs_kendall’: 绝对值 Kendall 相关矩阵。距离公式: \(D_{i,j} = \sqrt{(1-|\rho^{kendall}_{i,j}|)}\)。
’distance’: 距离相关矩阵。距离公式 \(D_{i,j} = \sqrt{(1-\rho^{distance}_{i,j})}\)。
’mutual_info’: 互信息矩阵。使用的距离是变化信息矩阵。
’tail’: 下尾依赖指数矩阵。非相似性公式 \(D_{i,j} = -\log{\lambda_{i,j}}\)。
’custom_cov’: 使用基于 custom_cov 参数的自定义相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{pearson}_{i,j})}\)。
- linkage : string, optional¶
层次聚类的连接方法,请参见linkage以获取更多详细信息。 默认值为‘ward’。 可能的值包括:
’single’。
’complete’。
’average’。
’weighted’。
’centroid’。
’median’。
’ward’。
’DBHT’:直接气泡层次树。
- opt_k_method : str¶
用于计算最佳聚类数量的方法。 默认值为‘twodiff’。可能的值包括:
’twodiff’: 两个差异间隙统计量。
’stdsil’: 标准化轮廓得分。
- k : int, optional¶
聚类的数量。此值取代了通过两种不同的间隙统计量计算的最优聚类数量。默认值为 None。
- max_k : int, optional¶
两种差异间隙统计量用于找出最佳聚类数的最大聚类数。默认值为10。
- bins_info : int or str¶
用于计算信息变异的箱子数量。默认值为‘KN’。可能的值包括:
’KN’: Knuth的选择方法。详见 knuth_bin_width。
’FD’: Freedman–Diaconis的选择方法。详见 freedman_bin_width。
’SC’: Scotts的选择方法。详见 scott_bin_width。
’HGR’: Hacine-Gharbi 和 Ravier的选择方法。
int: 用户选择的整数值。
- alpha_tail : float, optional¶
下尾依赖指数的显著性水平。默认值为 0.05。
- gs_threshold : float, optional¶
Gerber统计阈值。默认值为0.5。
- leaf_order : bool, optional¶
指示集群是否按顺序排列,以使连续叶子之间的距离最小。默认为 True。
- kind : str, optional¶
networkx 布局的类型。 默认值是 'spring'。 可能的值有:
’spring’: networkx spring_layout.
’planar’. networkx planar_layout.
’circular’. networkx circular_layout.
’kamada’. networkx kamada_kawai_layout.
- seed : int, optional¶
用于 networkx spring layout 的种子。默认值为 0。
- node_labels : bool, optional¶
指定节点标签是否可见。默认值为 True。
- node_size : float, optional¶
节点的大小。默认值为1600。
- node_alpha : float, optional¶
节点的Alpha参数或透明度。默认值为0.7。
- font_size : float, optional¶
节点标签的字体大小。默认值为 12。
- title : str, optional¶
图表的标题。默认值为“”。
- height : float, optional¶
图像的高度(以英寸为单位)。默认为8。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为10。
- ax : matplotlib axis, optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回包含图形的坐标轴对象,以便进行进一步调整。
- Return type:¶
matplotlib 轴
示例
ax = rp.plot_network(returns=Y, codependence="pearson", linkage="ward", k=None, max_k=10, alpha_tail=0.05, leaf_order=True, kind='kamada', ax=None)
-
PlotFunctions.plot_network_allocation(返回, w, 自定义协方差=
None, 相互依赖='pearson', 链接='ward', bins_info='KN', 阿尔法尾部=0.05, gs_threshold=0.5, 叶序=True, 种类='spring', 种子=0, 节点标签=True, 最大节点大小=2000, 颜色语言='tab:blue', color_sht='tab:red', 标签_v=0.08, 标签_h=0, 字体大小=10, 标题='', 高度=8, 宽度=10, ax=None)[来源]¶ 创建一个网络图,节点的大小和颜色分别表示投资金额和方向(多头-空头)。平面最大过滤图(PMFG)用于DBHT链接,最小生成树(MST)用于其他链接方法。
- Parameters:¶
- returns : DataFrame of shape (n_samples, n_assets)¶
资产返回一个数据框,其中 n_samples 是观测值的数量,n_assets 是资产的数量。
- w : DataFrame or Series of shape (n_assets, 1)¶
投资组合权重,其中 n_assets 是资产数量。
- custom_cov : DataFrame or None, optional¶
自定义协方差矩阵,用于当共依赖参数的值为‘custom_cov’时。默认值为None。
- codependence : str, can be {'pearson', 'spearman', 'abs_pearson', 'abs_spearman', 'distance', 'mutual_info', 'tail' or 'custom_cov'}¶
用于构建距离度量和聚类的共依赖性或相似性矩阵。默认值为“pearson”。可能的值有:
’pearson’: Pearson 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{pearson}_{i,j})}\)。
’spearman’: Spearman 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{spearman}_{i,j})}\)。
’kendall’: Kendall 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{kendall}_{i,j})}\)。
’gerber1’: Gerber 统计量 1 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{gerber1}_{i,j})}\)。
’gerber2’: Gerber 统计量 2 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{gerber2}_{i,j})}\)。
’abs_pearson’: 绝对值 Pearson 相关矩阵。距离公式: \(D_{i,j} = \sqrt{(1-|\rho_{i,j}|)}\)。
’abs_spearman’: 绝对值 Spearman 相关矩阵。距离公式: \(D_{i,j} = \sqrt{(1-|\rho_{i,j}|)}\)。
’abs_kendall’: 绝对值 Kendall 相关矩阵。距离公式: \(D_{i,j} = \sqrt{(1-|\rho^{kendall}_{i,j}|)}\)。
’distance’: 距离相关矩阵。距离公式 \(D_{i,j} = \sqrt{(1-\rho^{distance}_{i,j})}\)。
’mutual_info’: 互信息矩阵。使用的距离是变化信息矩阵。
’tail’: 下尾依赖指数矩阵。非相似性公式 \(D_{i,j} = -\log{\lambda_{i,j}}\)。
’custom_cov’: 使用基于 custom_cov 参数的自定义相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{pearson}_{i,j})}\)。
- linkage : string, optional¶
层次聚类的连接方法,更多详细信息请参见 linkage。 默认值为‘ward’。可能的值有:
’single’。
’complete’。
’average’。
’weighted’。
’centroid’。
’median’。
’ward’。
’DBHT’: 直接气泡层次树。
- bins_info : int or str¶
用于计算信息变异的箱数。默认值为‘KN’。可能的值有:
’KN’: Knuth的选择方法。详情请见 knuth_bin_width。
’FD’: Freedman–Diaconis的选择方法。详情请见 freedman_bin_width。
’SC’: Scotts的选择方法。详情请见 scott_bin_width。
’HGR’: Hacine-Gharbi和Ravier的选择方法。
int: 用户选择的整数值。
- alpha_tail : float, optional¶
下尾依赖指数的显著性水平。默认值为 0.05。
- gs_threshold : float, optional¶
Gerber统计阈值。默认值为0.5。
- leaf_order : bool, optional¶
指示集群是否按顺序排列,以使连续叶子之间的距离最小。默认为 True。
- kind : str, optional¶
networkx 布局的类型。 默认值是 'spring'。 可能的值有:
’spring’: networkx spring_layout.
’planar’. networkx planar_layout.
’circular’. networkx circular_layout.
’kamada’. networkx kamada_kawai_layout.
- seed : int, optional¶
用于 networkx spring layout 的种子。默认值为 0。
- node_labels : bool, optional¶
指定节点标签是否可见。默认值为 True。
- max_node_size : float, optional¶
权重绝对值最大的节点的大小。默认值是2000。
- color_lng : str, optional¶
持有多头头寸的资产的颜色。默认值为‘tab:blue’。
- color_sht : str, optional¶
持有空头头寸的资产颜色。默认值为‘tab:red’。
- label_v : float, optional¶
标签相对于中心的垂直距离偏移。默认值为0.08。
- label_h : float, optional¶
标签距离中心的水平距离。默认值为0。
- font_size : float, optional¶
节点标签的字体大小。默认值为12。
- title : str, optional¶
图表的标题。默认值为“”。
- height : float, optional¶
图像的高度(以英寸为单位)。默认为8。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为10。
- ax : matplotlib axis, optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回包含图形的坐标轴对象,以便进行进一步调整。
- Return type:¶
matplotlib 轴
示例
ax = rp.plot_network_allocation(returns=Y, w=w1, codependence="pearson", linkage="ward", alpha_tail=0.05, leaf_order=True, kind='kamada', ax=None)
-
PlotFunctions.plot_clusters_network(返回, 自定义协方差=
None, 相互依赖='pearson', 链接='ward', opt_k_method='twodiff', k=None, max_k=10, bins_info='KN', 阿尔法尾部=0.05, gs_threshold=0.5, 叶序=True, 种子=0, 节点标签=True, 节点大小=2000, node_alpha=0.7, 缩放=10, 子量表=5, 字体大小=10, 标题='', 高度=8, 宽度=10, ax=None)[来源]¶ 创建一个网络图,显示从树状图获得的每个聚类作为一个独立图形。
- Parameters:¶
- returns : DataFrame of shape (n_samples, n_assets)¶
资产返回一个数据框,其中 n_samples 是观测值的数量,n_assets 是资产的数量。
- custom_cov : DataFrame or None, optional¶
自定义协方差矩阵,用于当共依赖参数的值为‘custom_cov’时。默认值为None。
- codependence : str, can be {'pearson', 'spearman', 'abs_pearson', 'abs_spearman', 'distance', 'mutual_info', 'tail' or 'custom_cov'}¶
用于构建距离度量和聚类的共依赖性或相似性矩阵。默认值为“pearson”。可能的值有:
’pearson’: Pearson 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{pearson}_{i,j})}\)。
’spearman’: Spearman 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{spearman}_{i,j})}\)。
’kendall’: Kendall 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{kendall}_{i,j})}\)。
’gerber1’: Gerber 统计量 1 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{gerber1}_{i,j})}\)。
’gerber2’: Gerber 统计量 2 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{gerber2}_{i,j})}\)。
’abs_pearson’: 绝对值 Pearson 相关矩阵。距离公式: \(D_{i,j} = \sqrt{(1-|\rho_{i,j}|)}\)。
’abs_spearman’: 绝对值 Spearman 相关矩阵。距离公式: \(D_{i,j} = \sqrt{(1-|\rho_{i,j}|)}\)。
’abs_kendall’: 绝对值 Kendall 相关矩阵。距离公式: \(D_{i,j} = \sqrt{(1-|\rho^{kendall}_{i,j}|)}\)。
’distance’: 距离相关矩阵。距离公式 \(D_{i,j} = \sqrt{(1-\rho^{distance}_{i,j})}\)。
’mutual_info’: 互信息矩阵。使用的距离是变化信息矩阵。
’tail’: 下尾依赖指数矩阵。非相似性公式 \(D_{i,j} = -\log{\lambda_{i,j}}\)。
’custom_cov’: 使用基于 custom_cov 参数的自定义相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{pearson}_{i,j})}\)。
- linkage : string, optional¶
层次聚类的连接方法,更多详细信息请参见 linkage。 默认值为‘ward’。可能的值有:
’single’。
’complete’。
’average’。
’weighted’。
’centroid’。
’median’。
’ward’。
’DBHT’: 直接气泡层次树。
- opt_k_method : str¶
用于计算最佳聚类数量的方法。 默认值为‘twodiff’。可能的值包括:
’twodiff’: 两个差异间隙统计量。
’stdsil’: 标准化轮廓得分。
- k : int, optional¶
聚类的数量。此值取代了通过两种不同的间隙统计量计算的最优聚类数量。默认值为 None。
- max_k : int, optional¶
两种差异间隙统计量用于找出最佳聚类数的最大聚类数。默认值为10。
- bins_info : int or str¶
用于计算信息变异的箱数。默认值为‘KN’。可能的值有:
’KN’: Knuth的选择方法。详情请见 knuth_bin_width。
’FD’: Freedman–Diaconis的选择方法。详情请见 freedman_bin_width。
’SC’: Scotts的选择方法。详情请见 scott_bin_width。
’HGR’: Hacine-Gharbi和Ravier的选择方法。
int: 用户选择的整数值。
- alpha_tail : float, optional¶
下尾依赖指数的显著性水平。默认值为 0.05。
- gs_threshold : float, optional¶
Gerber统计阈值。默认值为0.5。
- leaf_order : bool, optional¶
指示集群是否按顺序排列,以使连续叶子之间的距离最小。默认为 True。
- seed : int, optional¶
用于 networkx spring layout 的种子。默认值为 0。
- node_labels : bool, optional¶
指定节点标签是否可见。默认值为 True。
- max_node_size : float, optional
权重绝对值最大的节点的大小。默认值是2000。
- node_alpha : float, optional¶
节点的Alpha参数或透明度。默认值为0.7。
- scale : float, optional¶
整个图的缩放比例。默认值为10。
- subscale : float, optional¶
集群的规模。默认值是5。
- font_size : float, optional¶
节点标签的字体大小。默认值为 12。
- title : str, optional¶
图表的标题。默认值为“”。
- height : float, optional¶
图像的高度(以英寸为单位)。默认为8。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为10。
- ax : matplotlib axis, optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回包含图形的坐标轴对象,以便进行进一步调整。
- Return type:¶
matplotlib 轴
示例
ax = rp.plot_clusters_network(returns=Y, codependence="pearson", linkage="ward", k=None, max_k=10, ax=None)
-
PlotFunctions.plot_clusters_network_allocation(返回, w, 自定义协方差=
None, 相互依赖='pearson', 链接='ward', opt_k_method='twodiff', k=None, max_k=10, bins_info='KN', 阿尔法尾部=0.05, gs_threshold=0.5, 叶序=True, 种子=0, 节点标签=True, 最大节点大小=2000, 颜色语言='tab:blue', color_sht='tab:red', 缩放=10, 子量表=5, 标签_v=1.5, 标签_h=0, 字体大小=10, 标题='', 高度=8, 宽度=10, ax=None)[来源]¶ 创建一个网络图,显示从树状图中获得的每个簇作为独立图形。节点的大小和颜色分别代表投资金额和方向(多头-空头)。
- Parameters:¶
- returns : DataFrame of shape (n_samples, n_assets)¶
资产返回一个数据框,其中 n_samples 是观测值的数量,n_assets 是资产的数量。
- w : DataFrame or Series of shape (n_assets, 1)¶
投资组合权重,其中 n_assets 是资产数量。
- custom_cov : DataFrame or None, optional¶
自定义协方差矩阵,用于当共依赖参数的值为‘custom_cov’时。默认值为None。
- codependence : str, can be {'pearson', 'spearman', 'abs_pearson', 'abs_spearman', 'distance', 'mutual_info', 'tail' or 'custom_cov'}¶
用于构建距离度量和聚类的共依赖性或相似性矩阵。默认值为“pearson”。可能的值有:
’pearson’: Pearson 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{pearson}_{i,j})}\)。
’spearman’: Spearman 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{spearman}_{i,j})}\)。
’kendall’: Kendall 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{kendall}_{i,j})}\)。
’gerber1’: Gerber 统计量 1 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{gerber1}_{i,j})}\)。
’gerber2’: Gerber 统计量 2 相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{gerber2}_{i,j})}\)。
’abs_pearson’: 绝对值 Pearson 相关矩阵。距离公式: \(D_{i,j} = \sqrt{(1-|\rho_{i,j}|)}\)。
’abs_spearman’: 绝对值 Spearman 相关矩阵。距离公式: \(D_{i,j} = \sqrt{(1-|\rho_{i,j}|)}\)。
’abs_kendall’: 绝对值 Kendall 相关矩阵。距离公式: \(D_{i,j} = \sqrt{(1-|\rho^{kendall}_{i,j}|)}\)。
’distance’: 距离相关矩阵。距离公式 \(D_{i,j} = \sqrt{(1-\rho^{distance}_{i,j})}\)。
’mutual_info’: 互信息矩阵。使用的距离是变化信息矩阵。
’tail’: 下尾依赖指数矩阵。非相似性公式 \(D_{i,j} = -\log{\lambda_{i,j}}\)。
’custom_cov’: 使用基于 custom_cov 参数的自定义相关矩阵。距离公式: \(D_{i,j} = \sqrt{0.5(1-\rho^{pearson}_{i,j})}\)。
- linkage : string, optional¶
层次聚类的连接方法,更多详细信息请参见 linkage。 默认值为‘ward’。可能的值有:
’single’。
’complete’。
’average’。
’weighted’。
’centroid’。
’median’。
’ward’。
’DBHT’: 直接气泡层次树。
- bins_info : int or str¶
用于计算信息变异的箱数。默认值为‘KN’。可能的值有:
’KN’: Knuth的选择方法。详情请见 knuth_bin_width。
’FD’: Freedman–Diaconis的选择方法。详情请见 freedman_bin_width。
’SC’: Scotts的选择方法。详情请见 scott_bin_width。
’HGR’: Hacine-Gharbi和Ravier的选择方法。
int: 用户选择的整数值。
- alpha_tail : float, optional¶
下尾依赖指数的显著性水平。默认值为 0.05。
- gs_threshold : float, optional¶
Gerber统计阈值。默认值为0.5。
- leaf_order : bool, optional¶
指示集群是否按顺序排列,以使连续叶子之间的距离最小。默认为 True。
- seed : int, optional¶
用于 networkx spring layout 的种子。默认值为 0。
- node_labels : bool, optional¶
指定节点标签是否可见。默认值为 True。
- max_node_size : float, optional¶
权重绝对值最大的节点的大小。默认值是2000。
- color_lng : str, optional¶
持有多头头寸的资产的颜色。默认值为‘tab:blue’。
- color_sht : str, optional¶
持有空头头寸的资产颜色。默认值为‘tab:red’。
- scale : float, optional¶
整个图表的缩放比例。默认值为10。
- subscale : float, optional¶
聚类的规模。默认值为5。
- label_v : float, optional¶
标签从中心偏移的垂直距离。默认值为1.5。
- label_h : float, optional¶
标签从中心偏移的水平距离。默认值为0。
- font_size : float, optional¶
节点标签的字体大小。默认值为10。
- title : str, optional¶
图表的标题。默认值为“”。
- height : float, optional¶
图像的高度(以英寸为单位)。默认为8。
- width : float, optional¶
图像的宽度,以英寸为单位。默认值为10。
- ax : matplotlib axis, optional¶
如果提供,绘制在此轴上。默认值为无。
- Raises:¶
ValueError – 当无法计算该值时。
- Returns:¶
ax – 返回包含图形的坐标轴对象,以便进行进一步调整。
- Return type:¶
matplotlib 轴
示例
ax = rp.plot_clusters_network_allocation(returns=Y, w=w1, codependence="pearson", linkage="ward", k=None, max_k=10, ax=None)