Skip to main content

One-command quantitative portfolio risk analysis: optimisation, Monte Carlo, VaR, CVaR, GARCH, stress testing.

Project description

portfoliorisk

One-command quantitative portfolio risk analysis for everyone.

Created by Yash


Install

pip install portfoliorisk

Usage

Just give it your stocks and your investment amount:

import portfoliorisk as pr

pr.run(["AAPL", "JPM", "XOM", "GLD"], investment=10000)

That's it. A full risk report prints instantly in your terminal.


What You Get

═══════════════════════════════════════════════════════════════════════
  PORTFOLIORISK · FULL RISK ANALYSIS REPORT
═══════════════════════════════════════════════════════════════════════

  1 · PORTFOLIO COMPOSITION  (Max Sharpe Ratio Optimisation)
  2 · OPTIMISATION PERFORMANCE
  3 · MONTE CARLO SIMULATION  (10,000 paths · 252 trading days)
  4 · HISTORICAL MAXIMUM DRAWDOWN
  5 · GARCH(1,1) VOLATILITY MODEL
  6 · STRESS TEST RESULTS
  ── EXECUTIVE SUMMARY ──

What It Analyses

Analysis Description
Portfolio Optimisation Finds the best allocation across your stocks using the Efficient Frontier (Maximum Sharpe Ratio)
Monte Carlo Simulation Runs 10,000 simulated future scenarios over 1 year
Value at Risk (VaR) Maximum expected loss at 95% confidence
Conditional VaR (CVaR) Average loss in the worst 5% of scenarios
Fat-Tail Simulation Realistic crash modelling using Student-t distribution
GARCH(1,1) Model Measures how volatile your portfolio is right now + 7-day forecast
Max Drawdown Largest historical peak-to-trough loss
Stress Testing Impact of 2008 crisis, tech crash, rate hike on your portfolio

Examples

import portfoliorisk as pr

# Tech-heavy portfolio
pr.run(["AAPL", "MSFT", "GOOGL", "NVDA"], investment=25000)

# Balanced portfolio
pr.run(["SPY", "BND", "GLD", "QQQ"], investment=50000)

# Indian ADRs + US stocks
pr.run(["INFY", "WIT", "AAPL", "JPM"], investment=15000)

# Small portfolio
pr.run(["TSLA", "AMZN"], investment=5000)

Access the Results in Code

pr.run() also returns a dict so you can use the numbers yourself:

results = pr.run(["AAPL", "JPM", "XOM", "GLD"], investment=10000)

print(results["weights"])           # {'AAPL': 0.088, 'GLD': 0.608, ...}
print(results["sharpe_ratio"])      # 1.62
print(results["var_fattail"])       # 1661.02  ← realistic downside risk
print(results["max_drawdown"])      # -0.1623  ← worst historical dip
print(results["garch"]["beta"])     # 0.8822   ← volatility persistence

Requirements

  • Python 3.8+
  • Internet connection (to download stock data)

All dependencies install automatically with pip install portfoliorisk.


How It Works

Your tickers + investment amount
         ↓
  [1] Download 5 years of price data  (yfinance)
  [2] Compute optimal weights          (PyPortfolioOpt)
  [3] Run 10,000 Monte Carlo paths     (NumPy)
  [4] Calculate VaR & CVaR             (Normal + Fat-Tail)
  [5] Fit GARCH(1,1) volatility model  (arch)
  [6] Run stress test scenarios
  [7] Print full report to terminal

License

MIT © 2026 Yash

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

portfoliorisk-1.0.1-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file portfoliorisk-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: portfoliorisk-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for portfoliorisk-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5de68f114ca0f6df06e581fcda4dae32d3e603fae67aa8f65b4cc33f3bdd3949
MD5 8b653106885731e2158d156203db24f5
BLAKE2b-256 9bd3672a51aaaa641277ea9d378b9b269102e021c746315b7ec321f23bbeb749

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page