Testfolio
Portfolio research tools
- Category
- Finance
- Primary Subcategory
- Stock & Investment Analysis Tools
Integration details
Description
Testfolio connects an eligible Testfolio account to portfolio research in ChatGPT. Backtest and compare portfolios, analyze assets, optimize allocations, evaluate tactical strategies and signals, and study retirement withdrawals, Monte Carlo scenarios, leveraged ETFs, factors, and principal components. Results explain the effective data period, assumptions, ticker provenance, key metrics, and compact summaries of large datasets. Analysis calls record account usage and may consume analysis credits. Users can explicitly create a public configuration link after a successful supported analysis. Testfolio supports historical, simulated, and hypothetical research; it does not execute trades or move money. Access requires Testfolio Max or a separate MCP grant, with tools subject to the connected account's limits.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Stock & Investment Analysis Tools
- Secondary Subcategories
- None listed
- Brand
- Testfolio
- Access
- Account required
- First tracked
- 2026-09-19
- Tool count
- 32
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for Testfolio
Get updates when Testfolio’s Discoverability Score or category rank changes.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT Stock & Investment Analysis Tools
View Category32 tools agents can invoke
Run Testfolio's complete Portfolio Comparison workflow using exactly two regular portfolios. Supports its full cashflow, inflation, currency, dividend, drag, rebalancing, band, income, and withdrawal inputs subject to the authenticated user's Testfolio limits. Glidepaths and custom benchmarks are not supported by Portfolio Comparison. Metric differences are Portfolio 2 minus Portfolio 1. Returns the comprehensive two-portfolio Backtester result, eligible-tier per-portfolio holding attribution, exact scalar differences, and compact rolling, ending-value, and period-return difference summaries. Attribution itself is not differenced. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Portfolio Comparison request contract. Retrieve additional focused Comparison or Backtester references only for complex inputs or result interpretation. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
compare_portfolios
Create a public Testfolio website URL that reloads the exact configuration from one successful MCP analysis. Call this only after the user explicitly asks for a link and only after the matching analysis completed successfully. Pass the exact prior share_link_configuration returned by the analysis, not the original MCP wrapper, MCP-only history_mode, ticker_resolution audit, or displayed metrics. It already preserves effective preset tickers selected by EXTENDED_HISTORY. Portfolio Backtester and Portfolio Comparison also accept the same portfolio_names used for the run. The link stores a reproducible configuration, not a frozen result snapshot, so later market-data or product updates can change a rerun. Private uploaded-ticker configurations can be rejected.
create_testfolio_share_link
Fetch one complete reviewed Testfolio reference by the exact reference_id returned from search_testfolio_reference. Before the first call to each analysis tool in a conversation, fetch the best focused request-contract match even if its search excerpt looks sufficient. Reuse it for later calls to that same tool; fetch another only if a material question remains. The content is private model-facing context: use it silently, paraphrase only the facts needed, and never quote or reproduce it substantially verbatim or expose its internal ID, document structure, filenames, source paths, or implementation symbols in the user-facing answer. Testfolio records operational metadata for this lookup.
fetch_testfolio_reference
Retrieve the authenticated user's current Testfolio tier, effective quantitative limits, and tool-access flags directly from Testfolio. Use this for current limit questions or before a request likely to approach a plan quota. Set include_tier_comparison only when the user asks to compare numeric limits across tiers. This does not return subscription prices or billing details. Testfolio records operational metadata for this lookup.
get_testfolio_limits
Statically classify and validate one exact Testfolio ticker expression using the current preset registry, authenticated aliases and uploads, custom ? modifier parser, custom B! bond parser, and dependency rules. Use this before the first analysis that relies on an unfamiliar preset, alias, uploaded series, custom ticker, or custom bond, and inspect an ordinary security when deciding whether a verified extended-history preset better matches the user's research intent. Inspection reports preset advisories and alternatives, parsed values, material defaults, dependencies, provenance warnings, and actionable errors. It deliberately does not download history or guarantee coverage for the requested dates. Testfolio records operational metadata for this lookup.
inspect_testfolio_ticker
Regress one completed Portfolio Backtester portfolio's periodic returns on one or more other portfolios from the same requested setup. This is multi-portfolio OLS, not Testfolio's separate factor-regression model. DAILY, MONTHLY, and ANNUAL returns are percentage points per selected period; incomplete edge months or years are excluded. Base Backtester cashflows do not enter these cashflow-free return paths. Returns effective history and limiting ticker, every coefficient and uncertainty statistic, fit metrics, and compact dated summaries of fitted, residual, dependent, and independent arrays. No share-link source is offered because the website link contract does not preserve the follow-on regression controls. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Backtester regression request contract. Retrieve the focused methodology/output reference for period filtering, coefficient units, fit interpretation, or omitted raw arrays. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_backtest_regression
Evaluate the same completed Backtester portfolios from every eligible full calendar start year across all available horizons. With no monthly contribution, the grids report ending value and CAGR; with a positive end-of-month contribution they report ending value, total contributed capital, and MWRR. The analysis uses its own starting-value and contribution inputs, not base Backtester cashflows. Optional output_start_years and output_horizons select exact returned cells without changing the analysis. Complete matrices are returned when they fit; an unfiltered oversized result retains all axes, coverage, extrema, and a deterministic representative grid with explicit truncation. No share-link source is offered because website links do not preserve these follow-on controls. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Backtester start-year sensitivity request contract. Retrieve the focused methodology/output reference for eligibility, CAGR-versus-MWRR behavior, comparison differences, or matrix interpretation. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_backtest_start_year_sensitivity
Analyze a portfolio's non-reinvested price-value path and infer its historical cash distributions from synchronized price-only and total-return histories. An optional Portfolio 2 can either infer its own distributions independently or remain on a total-return path while paying Portfolio 1's inferred distribution schedule. Returns nominal and inflation-adjusted performance, complete monthly, quarterly, and annual cashflow rows when they fit, matched-withdrawal funding and depletion details, and compact daily path summaries. This is an income analysis: Portfolio 1 and any own-distributions Portfolio 2 must remain eligible ordinary securities with independent price and total-return histories, so this action accepts EXACT_TICKERS only. A matched-withdrawal Portfolio 2 may contain an explicitly supplied supported preset or custom ticker; exact mode preserves that expression and never substitutes one automatically. Leave dates blank for maximum common eligible history. Use get_testfolio_limits for the current per-portfolio ticker limit. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Dividend Portfolio Analyzer request contract. Retrieve another focused reference for distribution inference, matched withdrawals, real values, period rows, or output interpretation when needed. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_dividend_portfolio_analysis
Regress one fully specified backtested portfolio's excess returns on Testfolio preset factors and optional custom ticker-based factors. Supports daily, monthly, or annual observations; selectable compatible risk-free sources; portfolio rebalancing and symmetric or asymmetric bands; custom raw, ticker-minus-risk-free, and ticker-minus-ticker factors; and reporting-currency conversion. Returns the complete coefficient table, alpha and fit statistics, standard errors, t statistics, p values, confidence intervals, factor contributions, residual diagnostics, warnings, and compact aligned-series summaries. Preset factor identifiers and rf_source are factor-dataset IDs, not ticker symbols, and are never replaced by ticker presets. Use get_testfolio_limits for current factor and portfolio access. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Factor Regression request contract. Retrieve another focused reference for factor families and risk-free compatibility, portfolio construction, sample alignment, OLS diagnostics, or output interpretation when needed. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_factor_regression
Analyze a synthetic daily-reset leveraged ETF built from one underlying Testfolio ticker. Supports 1.5x through 5x leverage, explicit expense ratio and borrowing spread assumptions, historical underlying-versus-LETF backtests, leverage/CAGR and drawdown curves, optimal and breakeven leverage estimates, volatility-drag decomposition, and a shuffled-sequence DCA study. Returns all scalar findings, historical summary rows, compact leverage curves, complete DCA distribution statistics, and representative scenarios while compacting large time-series and shuffle arrays. Use get_testfolio_limits for the current DCA shuffle maximum. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the LETF Analysis request contract. Retrieve another focused reference for leverage-search methodology, volatility drag, fees and financing, DCA sequence analysis, or output interpretation when needed. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_letf_analysis
Compare one actual leveraged ETF's realized daily returns with an explicit synthetic daily-reset model of its underlying. Supports positive and inverse leverage, product and underlying expense ratios, selectable financing-rate series, borrowing spread, and swap-exposure assumptions. Returns the actual and synthetic growth comparison, constrained and diagnostic regression fits, residual statistics, financing sensitivity, spread/swap calibration status, equations, notes, and compact summaries of large scatter and time-series arrays. This is an exact-product analysis: letf_ticker must remain the actual listed product, so this action accepts EXACT_TICKERS only. Blank dates use the maximum common actual history; do not use an extended-history preset in place of the LETF. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the LETF Slippage request contract. Retrieve another focused reference for the regression model, financing and swap calibration, residual diagnostics, or output interpretation when needed. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_letf_slippage_analysis
Decompose the aligned returns of two or more Testfolio tickers into orthogonal principal components. Supports daily, monthly, or annual observations; correlation or covariance matrices; reporting-currency conversion; and exact or verified extended-history ticker selection. Returns every component's raw and normalized asset weights, explained and cumulative variance, sample metadata, limiting ticker, currency provenance, and errors. The complete matrices and variance vectors are retained because their size is bounded by the live ticker limit. Component signs are arbitrary and PCA is descriptive, not a portfolio allocation or causal factor model. Use get_testfolio_limits for current ticker access. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Principal Component Analysis request contract. Retrieve another focused reference for correlation-versus-covariance choice, sample construction, loading interpretation, or output interpretation when needed. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_principal_component_analysis
Compare immediate lump-sum investment with a dollar-cost averaging schedule across every eligible rolling historical window. Supports a daily schedule or an explicit contribution count, cash or another asset for uninvested capital, portfolio rebalancing and bands, drawdown-conditioned subgroups, and horizon sensitivity. Returns all aggregate rows, complete distribution and subgroup statistics, every horizon bucket, and representative path extrema; only the full raw rolling path list and subgroup index arrays are compacted. This implementation currently evaluates nominal rather than inflation-adjusted outcomes. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Lump Sum versus DCA request contract. Retrieve another focused reference for contribution timing, money-on-side behavior, or drawdown filters when needed. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_lump_sum_vs_dca
Compare one portfolio across Testfolio's calendar rebalancing frequencies and offsets and optional symmetric or asymmetric absolute and relative band sweeps. Calendar variants rebalance on their scheduled dates; band variants have no calendar schedule and trade only on threshold breaches. Returns every tested variant and its complete return, drawdown, volatility, and risk-adjusted metric row. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Rebalancing Sensitivity request contract. Retrieve the focused rebalancing-band reference for threshold semantics or asymmetric sweeps. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_rebalancing_sensitivity
Run Testfolio's Tactical Grid Search over a complete Tactical Backtest template containing named variable placeholders. It supports the implemented numeric and ticker substitutions, deduplicates equivalent resolved strategies, evaluates successful strategies on a common window, and returns every combination row that fits the MCP response budget plus top leaders for every reported metric. Any row truncation is explicit. Grid Search does not support Tactical Optimize mode, and allocation-level rebalance settings must remain Daily with zero offset and zero bands. Use get_testfolio_limits before a large sweep. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Tactical Grid Search request contract and payload recipes. Retrieve additional focused references only for failed, duplicate, or differently dated rows. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_tactical_grid_search
Run Testfolio's full Portfolio Backtester contract. Supports all currently implemented portfolio, cashflow, glidepath, benchmark, currency, inflation, rebalancing-band, income, and withdrawal inputs subject to the authenticated user's Testfolio limits. Returns comprehensive scalar and table statistics, eligible-tier holding-level return and risk attribution, plus compact dated summaries of large charts, paths, allocations, and event series; it does not return the raw large series themselves. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Portfolio Backtester request contract. Retrieve additional focused references only for complex cashflow, band, glidepath, benchmark, withdrawal, attribution, unfamiliar-ticker, or output-interpretation questions. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_portfolio_backtest
Run Testfolio's full main Tactical Allocation contract for fixed, ranked, or allocation-optimization strategies. Supports classic, derived, and aggregate signals; allocation logic; ranking; trading schedules; costs; cashflows; reporting currency; inflation; benchmarks; withdrawals; and the other implemented main-run inputs, subject to the authenticated user's Testfolio access. Returns complete scalar and table statistics plus compact dated summaries of large paths, signal charts, ranked histories, switches, and allocations. This tool does not separately fetch deferred efficient-frontier points, detailed turnover/tax reports, What If, live quotes, alerts, saved runs, or save-as-ticker actions. Share-link creation is a separate explicit follow-up tool. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Tactical Allocation request contract. Retrieve additional focused references only for advanced signals, ranked allocations, optimize-mode requests, strategy timing, or allocation-period interpretation. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_tactical_strategy
Run Testfolio's full Asset Analyzer contract for one or more tickers. Supports complete dates, reporting currency, inflation, starting value, rolling metric, rolling correlation, custom ticker, alias, simulation, and user-series behavior subject to the authenticated user's Testfolio limits. Returns comprehensive performance, drawdown, distribution, and static-matrix results plus compact dated summaries of asset paths, rolling metrics, rolling relationships, period tables, and interest-rate series. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Asset Analyzer request contract. Retrieve additional focused references only for complex inputs, unfamiliar ticker syntax, or result interpretation. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
analyze_assets
Calculate one fully specified deterministic time-value-of-money path. The result includes year zero, every complete year, any final fractional-year marker, and the full ending-balance, cumulative-contribution, principal, and growth decomposition. CAGR is a decimal assumption, monetary amounts use one consistent user-chosen unit, and contribution timing controls whether each payment receives growth in its payment period. This action does not retrieve market data, convert currencies, use history_mode, or create a standalone share-link source. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Time Value of Money scenario-path request reference before the first call. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_time_value_of_money_scenario_path
Run Testfolio's complete Backtest Optimizer contract. Search portfolio weights directly against the realized historical path using the requested performance, drawdown, withdrawal, or rolling-tail objective; solver; speed; dates; currency; inflation; cashflow; rebalancing; bands; holdings; weight limits; short-position settings; and metric constraints, subject to the connected user's access. Returns every optimizer result field with ticker-labeled weights. It does not automatically run the full Portfolio Backtester for the selected weights. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Backtest Optimizer request contract. Retrieve additional focused references only for advanced objectives, withdrawal inputs, short positions, or result interpretation. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_backtest_optimizer
Analyze the joint historical states of exactly two numeric signals against up to three forward outcomes. Supports complete signal expressions, independent axis binning, custom edges, sampling, date splits, and arithmetic, geometric, or median cell aggregation where applicable. Returns every populated or empty grid cell with observed ranges, counts, forward values, and annualized values, plus compact scatter summaries. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Dual Signal Analyzer request contract. Retrieve an additional focused reference for bin boundaries, forward horizons, or cell interpretation when needed. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_dual_signal_analysis
Run Testfolio's complete historical Efficient Frontier contract. Evaluate portfolios on the realized historical path across the requested return and risk objectives, dates, currency, inflation, rebalancing, bands, withdrawal or rolling-tail settings, cash overlay, leverage, holdings, and weight constraints, subject to the connected user's access. Returns the historical correlation matrix, asset points, endpoint and knee selections, diagnostics, and every frontier point that fits the MCP response budget; any sampling is explicit and preserves selected points. This is different from Portfolio Optimizer's assumption-based expected frontier. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Efficient Frontier request contract. Retrieve additional focused references only for advanced objectives, leverage, or point interpretation. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_efficient_frontier
Run one continuous historical block-bootstrap life cycle plan with ordered phases under the live account phase limit. Each phase has its own portfolio and contribution, coasting, fixed withdrawal, or percent-of-current-portfolio withdrawal rule. Carries wealth and inflation across phases; supports zero starting wealth. Returns nominal and real phase balances, performance statistics, income ranges, sticky fixed-payment funding outcomes, lifetime profit and phase capital-preservation probabilities, and representative scenarios. Raw distributions and daily paths are compacted with explicit omissions. Percentage withdrawals do not measure spending adequacy. Use get_testfolio_limits for live access and limits. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search for the Life Cycle Monte Carlo Simulator request contract, phase methodology, and outputs. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_lifecycle_monte_carlo_simulation
Run Testfolio's assumption-based Monte Carlo Portfolio Optimizer. Supply complete manual distributions for each asset's CAGR or excess CAGR and volatility, the T-bill rate, point or sampled correlation matrices, optional Gaussian-copula dependencies, candidate weights and leverage, objectives, and constraints. Ticker strings are alignment labels only: this tool retrieves no historical data, performs no ticker inspection, and therefore has no history_mode or preset substitution. Returns complete candidate and optimized compositions, percentile metric rows, distribution statistics, warnings, errors, and multi-objective frontier relationships; large sampled arrays are compacted into named counts and numeric summaries. Use get_testfolio_limits for current ticker, scenario, and solver access. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Monte Carlo Portfolio Optimizer request contract. Retrieve another focused reference for distributions, dependency sampling, leverage/exposure constraints, objectives, frontier selection, or output interpretation when needed. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_monte_carlo_portfolio_optimizer
Run Testfolio's historical block-bootstrap Monte Carlo Portfolio Simulator for one portfolio, a paired two-portfolio comparison, or one portfolio with embedded weight optimization. Supports the complete implemented historical window, reporting currency, horizon, simulation count, seed, contiguous-block sampling, dividend, drag, synthetic rebalancing, band, contribution, withdrawal, nominal, real, and optimization contract. Returns all metadata, distribution-statistic rows, nominal and real comparison groups, success probabilities, scenario statistics, and optimization/frontier results. Large per-simulation distributions and path arrays are returned as counts and compact endpoints/extrema. Use get_testfolio_limits for current years, simulation, comparison, and optimization access. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Monte Carlo Portfolio Simulator request contract. Retrieve another focused reference for block sampling, cashflows, comparison, embedded optimization, or output interpretation when needed. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_monte_carlo_simulation
Fit Testfolio's compact decision-tree model to multiple numeric signals and one or more forward outcomes. Supports holdout or purged time-series cross-validation, bounded hyperparameter grids, arithmetic or compounded aggregation, and the complete implemented signal-expression contract. Returns final hyperparameters, train/test ranges and metrics, feature importance, every tree node, and every leaf's forward results. Use get_testfolio_limits for the connected account's live signal count. Treat the tree as an exploratory historical partition, not proof of a durable predictive relationship. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Multi Signal Analyzer request contract. Retrieve another focused reference for purging, cross-validation, leaf paths, or overfitting interpretation when needed. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_multi_signal_analysis
Run Testfolio's complete assumption-based Portfolio Optimizer. Historical mode derives full-precision CAGR, annualized volatility, pairwise correlation, and T-bill inputs for the requested common history, then applies any labeled overrides before optimizing. Manual mode accepts a complete assumption set directly. Supports every implemented objective, leverage, exposure, ticker-leverage, and optional expected-frontier input subject to the connected user's access. Historical mode fails before optimization if any value remains unresolved. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Portfolio Optimizer request contract. Retrieve additional focused references only for overrides, risk parity, leverage, constraints, or frontier interpretation. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_portfolio_optimizer
Run Testfolio's historical retirement-withdrawal analysis for one or more portfolios. Supports safe and perpetual withdrawal curves, piecewise real withdrawal schedules, wealth-band policies, rebalancing, reporting currency, and NONE, CAGR, or LOOP treatment of incomplete long-horizon windows. Returns all scalar tables and percentile results, complete primary withdrawal curves, solvency curves, and representative scenario metadata; only large raw outcome distributions and daily path arrays are compacted. Use get_testfolio_limits for the connected account's live portfolio allowance. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Safe Withdrawal Rate request contract. Retrieve another focused reference for projection semantics, rate-table interpretation, time schedules, or wealth policies when needed. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_safe_withdrawal_rate_analysis
Analyze one numeric market signal against one or more forward outcomes with Testfolio's complete Signal Analyzer contract. Supports expression-based indicators, sampling frequency and offset, trading-day forward horizons, date splits, polynomial fits, and regressograms. Returns the fitted model or complete bin table, segment results, and compact summaries of raw scatter arrays. A relationship is historical and exploratory, not a forecast or trading rule. Every call requires history_mode. Use EXTENDED_HISTORY for maximum or extended history, generic exposure research, long-horizon strategy testing, or optimization across market regimes. Use EXACT_TICKERS for actual security history, post-inception product comparisons, price or income analysis, manual assumptions, or exact-symbol requests. A list of ordinary ticker labels by itself is not exact-product intent: when the request also says maximum history, choose EXTENDED_HISTORY unless the user explicitly forbids presets, proxies, simulations, or pre-inception data. Blank dates maximize overlap only after this choice. Testfolio performs and returns an auditable record of any verified preset substitutions. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Signal Analyzer request contract. Retrieve an additional focused reference for indicator expressions, sampling, forward metrics, or fit interpretation when needed. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_signal_analysis
Generate Testfolio's deterministic two-variable time-value-of-money sensitivity surface. Select distinct X and Y variables from START, END, CAGR, CONTRIBUTION, and YEARS, optionally add one distinct color/slice variable, and supply explicit axis or color levels when needed. CAGR inputs are decimals, monetary amounts use one consistent user-chosen unit, and this calculator does not retrieve market data, convert currencies, or use history_mode. Returns every feasible surface point when it fits the MCP response budget; otherwise it preserves every series, range, count, and deterministic evenly spaced representatives with explicit truncation. The successful configuration can be passed to create_testfolio_share_link. Before the first call to this analysis tool in a conversation, search for and fetch the best focused request-contract reference. Reuse that reference for later calls to this same tool; do not load the whole corpus. Search specifically for the Time Value of Money request contract. Retrieve the focused methodology/output reference when choosing axis roles, ranges, contribution timing, or interpreting a solved surface. Testfolio records operational metadata and account usage for this analysis; it may consume analysis credits under the account's current policy.
run_time_value_of_money_surface
Search Testfolio's reviewed product and methodology reference. Before the first call to each analysis tool in a conversation, search narrowly for that tool's request contract, then fetch the best focused match. Reuse it for later calls to that same tool. Also use narrow searches for advanced inputs, methodology questions, unclear result fields, or ticker semantics that remain unresolved after live ticker inspection. Do not load the whole corpus or use it as a live ticker catalog. Results identify executable versus reference-only workflows. Testfolio records operational metadata for this lookup.
search_testfolio_reference
Search Testfolio's current authenticated ticker service for ordinary securities, maintained presets, saved aliases, and uploaded user series. Use this when the user describes an asset without an exact ticker or before suggesting a ticker from memory. Use an exact returned ticker. Inspect an ordinary ticker to discover verified preset alternatives when extended history may serve the request; never invent a SIM relationship. This search does not accept custom ? modifier or B! expressions and does not verify historical coverage. Testfolio records operational metadata for this lookup.
search_testfolio_tickers
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Testfolio alternatives on ChatGPT?
As of 2026-09-20, Testfolio competes with AbS, AlphaStocks, Boersi, BrinkerAdvisor Rates, Cars.co.za, DeckCraft Slides, Equity Release Calculator, Fahali, Finmagine, Fintables, Jawz, Kova, Longbridge, Modrek, Morningstar, Next Stock - Market Insights, OnePro AI, PFT Edgebook - Trading Journal, PortfolioFit, Presentations Craft, Quantified Investor, Rallies, StockLens, Stocktwits, Superfunds, Tally Markets, The Fly Market Intelligence, TipRanks, TradingCursor, TradingNX Risk Manager, Unusual Whales, 엔카 내차팔기 in ChatGPT Stock & Investment Analysis Tools, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.