Back to list
Rachnog

portfolio-comparison

by Rachnog

2🍴 0📅 Jan 15, 2026

SKILL.md


name: portfolio-comparison description: Compare different portfolio optimization approaches and present trade-offs. Use when the investor wants to see multiple options or understand alternatives.

Portfolio Comparison Skill

Comparison Framework

What to Compare

  1. Optimization methods: MVO vs HRP
  2. Optimization targets: min_volatility vs max_sharpe vs max_return
  3. Universes: conservative vs global_diversified vs aggressive
  4. Constraints: different max_position limits

Code Example: Full Comparison

from portfolio_optimizer import (
    PortfolioConfig, optimize_portfolio, optimize_hrp,
    backtest_portfolio, download_market_data, get_universe
)

universe = "global_diversified"
tickers = get_universe(universe)
prices = download_market_data(tickers, "2019-01-01", "2024-01-01")

results = {}

# MVO - Min Volatility
config_mv = PortfolioConfig(
    tickers=list(prices.columns),
    start_date="2019-01-01",
    end_date="2024-01-01",
    optimization_target="min_volatility"
)
opt_mv = optimize_portfolio(config_mv, prices)
bt_mv = backtest_portfolio(opt_mv["weights"], prices)
results["MVO Min Vol"] = {**opt_mv, "backtest": bt_mv}

# MVO - Max Sharpe
config_ms = PortfolioConfig(
    tickers=list(prices.columns),
    start_date="2019-01-01",
    end_date="2024-01-01",
    optimization_target="max_sharpe"
)
opt_ms = optimize_portfolio(config_ms, prices)
bt_ms = backtest_portfolio(opt_ms["weights"], prices)
results["MVO Max Sharpe"] = {**opt_ms, "backtest": bt_ms}

# HRP
opt_hrp = optimize_hrp(prices)
bt_hrp = backtest_portfolio(opt_hrp["weights"], prices)
results["HRP"] = {**opt_hrp, "backtest": bt_hrp}

# Print comparison table
print(f"{'Method':<20} {'Exp Ret':>10} {'Vol':>10} {'Sharpe':>10} {'Max DD':>10}")
print("-" * 60)
for name, r in results.items():
    print(f"{name:<20} {r['expected_return']:>9.2%} {r['volatility']:>9.2%} "
          f"{r['sharpe_ratio']:>9.3f} {r['backtest']['max_drawdown']:>9.2%}")

Presenting Trade-offs

Risk vs Return Trade-off

ApproachExpected ReturnRiskBest For
Min VolatilityLowerLowestCapital preservation
Max SharpeBalancedMediumRisk-adjusted returns
Max ReturnHighestHighestGrowth seekers
HRPBalancedMediumDiversification

When to Recommend Each

  • Min Volatility: Short horizon, low risk tolerance, near retirement
  • Max Sharpe: Medium horizon, balanced risk tolerance
  • Max Return: Long horizon, high risk tolerance, young investors
  • HRP: Uncertainty about correlations, want robust diversification

Recommendation Template

Based on your profile:
- Time horizon: X years
- Risk tolerance: [Low/Medium/High]
- Investment goal: [Preservation/Growth/Income]

I recommend [Method] because:
1. [Reason aligned with time horizon]
2. [Reason aligned with risk tolerance]
3. [Reason aligned with goal]

Alternative: [Other method] would give you [trade-off explanation].

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon