Skip to content
ai-supply.store
DiscoverCategoriesLeaderboardsCommunityAgent APIFAQ
Sign inSign up free
catalog / Finance / pyfolio-reloaded — Portfolio Performance Analytics
△EvalFinanceFree

pyfolio-reloaded — Portfolio Performance Analytics

Maintained fork of Quantopian's pyfolio providing comprehensive risk and return analytics, tear sheets, and performance attribution for quantitative strategies.

@ai-supply
Installs43k
⟳ upstream 0.9.9 · updated 1y ago
↗ Source repository
← More FinanceFinance leaderboard →How we grade security →Source ↗
✓ Grade A · 100/100 · SafeSecurity assessment
✓No compromise signals8capabilities surfaced9of 20 OWASP controls clear
External endpoints declaredExternal endpoints declaredExternal endpoints declaredExternal endpoints declared
scanned 16d ago·osv · gitleaks · opengrep · picklescan + heuristics·full breakdown in the Security tab ↓

pyfolio-reloaded — Portfolio Performance Analytics

pyfolio-reloaded is the actively maintained fork of Quantopian's pyfolio, providing deep quantitative portfolio analytics. It generates beautiful tear sheets covering returns, drawdowns, Sharpe/Sortino ratios, rolling beta, factor exposures, transaction costs, and round-trip analysis — essential for evaluating backtested and live trading strategies.

Key Features

  • Full tear sheets: returns, drawdowns, risk metrics, position analysis, transaction analysis
  • Rolling performance metrics: Sharpe, beta, volatility, correlation
  • Bayesian tear sheet (posterior distributions of performance metrics)
  • Integration with Zipline, QuantConnect, and any returns Series
  • Interactive Plotly output supported

Quick Start

import pyfolio as pf
import pandas as pd

# Load daily returns (index=DatetimeIndex, values=float)
returns = pd.read_csv("strategy_returns.csv", index_col=0, parse_dates=True).squeeze()
pf.create_full_tear_sheet(returns)
npx ai-supply add pyfolio-reloaded-portfolio-analytics

Curated mirror of the open-source pyfolio-reloaded (Apache-2.0). Get it from the source.

Rating rank
#1
of 15 in Finance
Install rank
#8
of 15 in Finance
Security score
100/100 · A
safe
Security rank
#1
of 15 in Finance
Installs
43k
cat avg 85k
This listing vs category average
Installs
this
cat avg
Security (of 100)
this
cat avg
Adoption trend
See the Finance leaderboard →
✓ Security: Safe · 100100/100 · grade Ascanned 16d ago
✓ no compromise signals8 risk-surface · 4/20 OWASP controls flagged

Compromise signals — malicious or tampered code (leaked secrets, backdoors, a dropped executable) — reduce the score, and known dependency CVEs carry a bounded penalty (they warrant review but never QUARANTINE — update the dependency to clear). Other dangerous-by-capability traits are risk surface, expected for some capabilities. Every finding is mapped to its OWASP control below.

Control card · high confidence (static)
framework: pytestcovers: secrets-leak
choicestringdetect_intradaycheck_intradaytest_days_to_liquidate_positionstest_get_max_days_to_liquidate_by_tickertest_get_low_liquidity_transactionstest_daily_txns_with_bar_datatest_apply_slippage_penaltytest_perf_attrib_simpletest_perf_attrib_regressiontest_missing_stocks_and_datestest_high_turnover_warningtest_cumulative_returns_less_coststest_get_percent_alloctest_extract_postest_sector_exposuretest_max_median_exposuretest_detect_intradaytest_check_intradaytest_estimate_intradaytest_groupby_consecutivetest_extract_round_tripstest_add_closing_trades

Findings mapped to the OWASP Top 10 for LLM Applications (2025) and the OWASP Machine Learning Security Top 10. Expand any flagged control for the exact findings — compromise reduces the score; expected/risk-surface do not, except a known CVE, which carries a small bounded penalty (high/critical → Review).

OWASP Top 10 for LLM Applications
⚠LLM02Sensitive Information Disclosurehigh
Secrets, credentials or PII shipped inside the artifact.
•Email addresses present — contains email-like strings · stefan-jansen-pyfolio-reloaded-6b55da7/pyproject.tomlexpected
•Credit-card-like number — a number passes the Luhn checksum · stefan-jansen-pyfolio-reloaded-6b55da7/tests/test_data/factor_returns.csv (CWE-359)expected
⚠LLM08Vector and Embedding Weaknesseshigh
PII or plaintext source leakage in embedding/vector exports.
Embedding inversion/poisoning is largely runtime; static check covers PII in vector exports.
•Email addresses present — contains email-like strings · stefan-jansen-pyfolio-reloaded-6b55da7/pyproject.tomlexpected
•Credit-card-like number — a number passes the Luhn checksum · stefan-jansen-pyfolio-reloaded-6b55da7/tests/test_data/factor_returns.csv (CWE-359)expected
⚠LLM06Excessive Agencylow
Over-broad tool/permission surface or unrestricted egress.
•External endpoints declared — 1 distinct host(s) · stefan-jansen-pyfolio-reloaded-6b55da7/.github/dependabot.ymlrisk surface
•External endpoints declared — 2 distinct host(s) · stefan-jansen-pyfolio-reloaded-6b55da7/.github/workflows/test_wheels.ymlrisk surface
•External endpoints declared — 9 distinct host(s) · stefan-jansen-pyfolio-reloaded-6b55da7/README.mdrisk surface
•External endpoints declared — 3 distinct host(s) · stefan-jansen-pyfolio-reloaded-6b55da7/WHATSNEW.mdrisk surface
•External endpoints declared — 4 distinct host(s) · stefan-jansen-pyfolio-reloaded-6b55da7/docs/source/conf.pyrisk surface
§LLM09MisinformationGovernance
Artifacts designed to produce false/deceptive output.
Detectable only by runtime behavioral evaluation; addressed via responsible-use attestation.
◷LLM10Unbounded ConsumptionRuntime-enforced
Unbounded loops/recursion causing DoS or runaway cost.
Enforced at runtime by the gateway (rate limits + spend caps + size caps); static check flags unbounded loops.
✓LLM01Prompt InjectionPassed
✓LLM03Supply ChainPassed
✓LLM04Data and Model PoisoningPassed
Backdoors/poisoning in training data or serialized models.
Behavioral poisoning needs model execution; static check covers unsafe serialization + dataset skew only.
✓LLM05Improper Output HandlingPassed
✓LLM07System Prompt LeakagePassed
OWASP Machine Learning Security Top 10
⚠ML02Data Poisoninghigh
Poisoned training datasets with triggers or anomalous distributions.
Static check covers trigger phrasing, PII and label skew; full poisoning detection is runtime.
•Email addresses present — contains email-like strings · stefan-jansen-pyfolio-reloaded-6b55da7/pyproject.tomlexpected
•Credit-card-like number — a number passes the Luhn checksum · stefan-jansen-pyfolio-reloaded-6b55da7/tests/test_data/factor_returns.csv (CWE-359)expected
§ML01Input Manipulation (Adversarial)Governance
Models vulnerable to adversarial perturbations.
Requires runtime robustness evaluation; addressed via publisher robustness attestation.
§ML03Model InversionGovernance
Training data reconstructable from a model's outputs.
Runtime/evaluation property; addressed via model-card data-provenance + DP attestation.
§ML04Membership InferenceGovernance
Determining whether a record was in the training set.
Runtime/evaluation property; addressed via overfitting disclosure + DP attestation.
§ML08Model SkewingGovernance
Models trained on skewed data producing biased output.
Requires fairness evaluation; addressed via model-card bias/limitations disclosure.
◷ML09Output IntegrityRuntime-enforced
Middleware tampering with model outputs in transit.
Gateway enforces TLS + response integrity; static check flags output-rewriting code.
✓ML05Model TheftPassed
Unlicensed re-distribution / license-incompatible derivatives.
Static check verifies license declaration; extraction throttling is runtime.
✓ML06AI Supply ChainPassed
✓ML07Transfer Learning AttackPassed
Backdoored base models / LoRA adapters propagating to derivatives.
Backdoor detection needs behavioral probing; static check covers unsafe serialization + provenance.
✓ML10Model Poisoning (Weights)Passed
Tampered model weight files; integrity must be verifiable.
Static check enforces safe formats + records a content hash for downstream verification.
Other findings (8) · hygiene / uncategorized
•Unrecognized file type — '.flake8' is not on the allowlist · stefan-jansen-pyfolio-reloaded-6b55da7/.flake8risk surface
•Unrecognized file type — '.gitattributes' is not on the allowlist · stefan-jansen-pyfolio-reloaded-6b55da7/.gitattributesrisk surface
•Unrecognized file type — '.gitignore' is not on the allowlist · stefan-jansen-pyfolio-reloaded-6b55da7/.gitignorerisk surface
•Unrecognized file type — '.?' is not on the allowlist · stefan-jansen-pyfolio-reloaded-6b55da7/LICENSErisk surface
•Unrecognized file type — '.in' is not on the allowlist · stefan-jansen-pyfolio-reloaded-6b55da7/MANIFEST.inrisk surface
•Disallowed file type — '.bat' executables are not permitted · stefan-jansen-pyfolio-reloaded-6b55da7/docs/make.bat (CWE-434)risk surface
•Unrecognized file type — '.pickle' is not on the allowlist · stefan-jansen-pyfolio-reloaded-6b55da7/docs/source/notebooks/results.picklerisk surface
•Suspicious network references — URL shortener (9 URLs) · stefan-jansen-pyfolio-reloaded-6b55da7/src/pyfolio/timeseries.pyrisk surface
✔ verified source · pinned stefan-jansen-pyfolio-reloaded-6b55da7
Check against a policy

The same gate an agent runs before installing (POST /api/v1/trust/pyfolio-reloaded-portfolio-analytics/check). Click a policy:

Consume pyfolio-reloaded — Portfolio Performance Analytics programmatically. Authenticate with an API key or session — see Authorize an agent.

# Agents: CHECK BEFORE YOU INSTALL (no auth) — score, grade, level, capability manifest
curl https://ai-supply.store/api/v1/trust/pyfolio-reloaded-portfolio-analytics

# Gate against your org policy (returns { pass, violations })
curl -X POST https://ai-supply.store/api/v1/trust/pyfolio-reloaded-portfolio-analytics/check \
  -H "Content-Type: application/json" \
  -d '{"minGrade":"B","denyPermissions":["shell"],"denyUnknownEgress":true}'

# CLI
npx ai-supply add pyfolio-reloaded-portfolio-analytics

# REST (install → download)
curl -X POST https://ai-supply.store/api/v1/listings/pyfolio-reloaded-portfolio-analytics/install \
  -H "Authorization: Bearer $AIM_KEY"

# MCP tool
install_listing({ "slug": "pyfolio-reloaded-portfolio-analytics" })
OpenAPI spec →
vlatest
✓ Security: Safe · 1001mo ago

Curated mirror — latest upstream source. See the repository for tagged releases.

Sign in and install this listing to leave a review.

More from @ai-supply

View profile →
◉Agent
MetaGPT
Multi-agent framework that assigns GPT roles (PM, engineer, QA) to solve complex software tasks end-to-end.
↓ 1.0M
⇄Connector
vLLM
High-throughput, memory-efficient LLM inference engine with PagedAttention and continuous batching.
↓ 892k
⇄Connector
Meilisearch
Lightning-fast open-source search engine with typo-tolerance, semantic hybrid search, and sub-50ms response times.
↓ 811k
△Eval
Weights & Biases (wandb)
ML experiment tracking and visualization — log metrics, hyperparameters, models, and media in real time.
↓ 784k
ai-supply.store

Free, security-vetted AI capabilities — skills, MCPs, plugins, agents, datasets and more, each graded and freshness-tracked, and built for humans and agents alike.

api · v3.1status · all green
Contact
support@ai-supply.storesecurity@ai-supply.store
Catalog
  • Discover
  • Categories
  • Leaderboards
  • Benchmarks
  • Security
  • Scan a repo
Community
  • Community
  • FAQ
For agents
  • Quickstart (60s)
  • Authorize an agent
  • Agent API
  • OpenAPI spec
For builders
  • Publish
  • Dashboard
Account
  • Create account
  • Sign in
  • Settings
Legal
  • Terms
  • Publisher Agreement
  • Acceptable Use
  • Privacy