You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

skfolio参数配置咨询:等权投资组合相关设置问题

skfolio等权投资组合参数调整解决方案

1. 修改组合默认纳入的20只资产数量

load_sp500_dataset()默认返回20只SP500成分股,调整数量直接通过n_assets参数指定即可;如果需要自定义挑选特定资产,可通过筛选价格数据的列实现:

# 方式1:加载指定数量的资产(例:50只)
prices = load_sp500_dataset(n_assets=50)

# 方式2:自定义筛选特定资产(例:选取前10只)
prices = load_sp500_dataset()
prices_custom = prices[prices.columns[:10]]
X = prices_to_returns(prices_custom)

2. 调整调仓频率(从每日改为周度/月度/季度/年度)

默认的EqualWeighted模型是每日再平衡,要修改调仓频率,需用Rebalance策略包装器,通过frequency参数指定pandas兼容的频率字符串:

from skfolio.optimization import Rebalance

# 包装等权模型,设置月度调仓
model = Rebalance(
    estimator=skfolio.optimization.naive.EqualWeighted(),
    frequency="M"  # 可选值:"W"=周度,"Q"=季度,"Y"=年度
)

model.fit(X_train)
portfolio = model.predict(X_test)

3. 修改组合运行时段(自定义起始年份如2002年)

load_sp500_dataset()返回的数据集包含更长时间范围,直接通过pandas索引筛选目标时段即可:

prices = load_sp500_dataset()
# 筛选2002年1月1日至任意结束日期的数据集
prices_custom_period = prices.loc["2002-01-01":]
# 若需指定结束日期:prices.loc["2002-01-01":"2023-12-31"]

X = prices_to_returns(prices_custom_period)
X_train, X_test = train_test_split(X, test_size=0.33, shuffle=False)

4. 将累计收益图改为复利收益展示

portfolio.plot_cumulative_returns()默认展示的就是复利累计收益(compounding参数默认值为True),若需明确指定或重置参数,直接设置该参数即可:

# 绘制复利累计收益图
portfolio.plot_cumulative_returns(compounding=True)

内容的提问来源于stack exchange,提问作者Hotone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 16:11:12