The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Data & research · SKILL.md

portfolio-risk

portfolio-risk

Analyzes portfolio risk and performance metrics. Computes Value at Risk (VaR), Sharpe ratio, Sortino ratio, beta, correlation matrices, drawdown analysis, and position sizing recommendations. Trigger when the user requests risk analysis, portfolio optimization, or performance attribution.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: portfolio-risk description: Analyzes portfolio risk and performance metrics. Computes Value at Risk (VaR), Sharpe ratio, Sortino ratio, beta, correlation matrices, drawdown analysis, and position sizing recommendations. Trigger when the user requests risk analysis, portfolio optimization, or performance attribution. metadata: hermes: tags: [risk, portfolio, VaR, sharpe, position-sizing] category: trading

Portfolio Risk

Analyzes portfolio risk and recommends position sizing and diversification.

Real Code Reference

  • tradinglearn/backtest/backtester.py — Backtester._calculate_performance() computes Sharpe, max drawdown, win rate, total return, CAGR
  • tradinglearn/utils/parameter_optimizer.py — plot_optimization_results() heatmaps: return, Sharpe, drawdown, win rate
  • tradinglearn/pytdx2/backtest.py — BacktestEngine tracks per-trade P&L for risk analysis

Risk Metrics

  • VaR: historical simulation, parametric, Monte Carlo
  • CVaR (Expected Shortfall): average loss beyond VaR
  • Maximum Drawdown: peak-to-trough with recovery duration
  • Volatility: annualized std of returns

Performance Metrics

  • Sharpe Ratio: (R - Rf) / sigma
  • Sortino Ratio: downside-only volatility
  • Calmar Ratio: annual return / max drawdown
  • Information Ratio: active return / tracking error

Portfolio Analysis

  • Correlation matrix between holdings
  • Beta to market benchmark
  • Position concentration (Herfindahl index)
  • Risk parity weights

Usage

from backtest.backtester import Backtester

bt = Backtester(initial_capital=100000.0)
bt.run_backtest(data, MyStrategy, params)
perf = bt.get_performance()
# {'total_return': 0.15, 'annual_return': 0.12, 'sharpe_ratio': 1.2,
#  'max_drawdown': -0.08, 'win_rate': 0.55, 'total_trades': 42}
portfolio = bt.get_portfolio()
# DataFrame with: portfolio_value, position, cash, returns
Saved skills