20 ChatGPT-5.5 Prompts for Financial Analysts: DCF Models, Earnings Analysis, Risk Assessment, and Investment Research

Author: Markos Symeonides — Updated July 2026
Introduction & How to Implement This Financial Analyst Playbook
Welcome to your ultimate resource for leveraging ChatGPT-5.5 prompts tailored specifically for financial analysts. Updated for July 2026, this comprehensive playbook presents 20 rigorously engineered prompts that accelerate and enhance core financial workflows—from advanced discounted cash flow (DCF) valuation and granular earnings analysis to comprehensive risk assessment and incisive investment research.
Each prompt is thoughtfully designed with:
- Optimized prompt text that delivers pinpoint accuracy and consistent outputs
- Detailed context variables loaded with realistic default values based on real-world financial datasets
- Standardized JSON and tabular output schemas to streamline integration into Excel models, BI tools, and data pipelines
- Best practice execution notes covering accuracy validation, model parameter tuning, and token management
- Concise example inputs and outputs to facilitate rapid adoption and reproducibility
Why this playbook? Financial analysts often spend up to 60% of their time collecting data, building models, and crafting narratives. Automating repeatable tasks using these prompts frees teams to focus on higher-value strategic analysis and decision-making, ensuring outputs are audit-ready and seamlessly adaptable across multiple platforms.
Whether used interactively within ChatGPT-5.5 or automated via API-driven Python or R workflows, these prompts empower financial professionals to build scalable, high-integrity analytic frameworks.
Who should master this playbook?
- Equity analysts focused on discounted cash flow valuations, scenario modeling, and dynamic earnings forecasts
- Sell-side and buy-side associates standardizing investment memos and financial deliverables
- Quantitative portfolio managers and risk analysts undertaking factor attribution and portfolio optimization
- Financial planning & analysis (FP&A) professionals streamlining month-end and quarter-end reporting
Prompt framework: Each prompt includes modular components for straightforward ChatGPT-5.5 or API use:
- Prompt text: Clear, production-ready instructions ensuring repeatable, audit-compliant results
- Context variables: Flexible and realistic input datasets to tailor prompt execution
- Expected output formats: Robust JSON or CSV schemas for direct parsing and downstream use
- Usage notes: Practical guidance on accuracy checks, model tuning, and token budgeting
- Example inputs and outputs: Ready-to-use templates to kickstart implementation
Prompt Engineering Best Practices for Financial Analysts
Establishing System Role and Optimal Runtime Configurations
To consistently generate high-integrity, audit-ready outputs with ChatGPT-5.5, start by defining a precise system role prompt that sets expertise expectations and output format constraints. Example:
System: You are a professional financial analyst with CFA-level expertise. Provide structured outputs in JSON or CSV formats as requested. Always include clear assumptions, concise calculation steps, and sources. Refrain from speculative conclusions unless labeled as estimates.
Recommended generation parameters for robust financial outputs:
- Temperature: 0.0–0.3 to maximize determinism and precision in numeric calculations
- Max tokens: Adjust between 800 and 4500 depending on prompt complexity; paginate responses as needed
- Top-p/frequency penalties: Maintain defaults unless output repetition is observed, then fine-tune
Comprehensive Validation Checklist to Ensure Data Quality
- Cross-check summed totals and ratios against raw company reports (e.g., quarterly revenues sum to annual within rounding tolerances)
- Validate derived metrics against published consensus figures (e.g., WACC and EV/EBITDA within industry benchmarks)
- Conduct sensitivity analyses by adjusting key assumptions verifying model responses align with theoretical expectations
- Export JSON or CSV outputs to run automated unit tests in your workflows to ensure data integrity at scale
Scalable Integration & Reproducibility Strategies
- Maintain fixed prompt templates under version control; tag prompt and context variable versions per analyst and session
- Archive comprehensive audit trails by storing both raw output text and parsed structured data
- Automate multi-stage workflows leveraging orchestration tools (e.g., Python/R scripts) that fetch live data, execute prompts, and integrate results into dashboards and reports
Section 1 — Advanced DCF & Valuation Modeling: 5 Tailored Prompts
Discounted Cash Flow (DCF) valuation is fundamental in equity research. Our expertly designed prompts deliver repeatable, audit-ready outputs, including free cash flow projections, detailed WACC component calculations, terminal value computations (via Gordon Growth and Exit Multiple methods), and extensive sensitivity analyses. Automate data exports optimized for Excel tables or analytic pipelines to supercharge financial modeling efficiency.
Prompt 1 — Comprehensive 10-Year DCF Model from Historical Financials to Fair Value
Production-ready Prompt Text:
Act as a professional equity analyst. Using the provided historical financials and market inputs, construct a 10-year discounted cash flow (DCF) model. Return output in VALID JSON with keys: assumptions, projections (yearly), wacc (detailed breakdown), terminal_values (Gordon Growth and Exit Multiple), valuation (enterprise value, equity value, per-share fair value), and sensitivity_table. Include calculation formulas and rounding conventions. Avoid extraneous commentary.
Context Variables
- company_name: “Acme Co.”
- fiscal_year_end: “2025-12-31”
- historical_revenue: {2021: 2,100,000; 2022: 2,450,000; 2023: 2,900,000; 2024: 3,300,000} USD
- historical_operating_income, capex_schedule, depreciation_schedule
- working_capital_rules: days receivable, payable; tax_rate (e.g., 21%)
- risk_free_rate (4.10%), market_premium (6.0%), beta (1.05), pre_tax_cost_of_debt (6.5%), target_debt_to_total_capital (25%)
- terminal_Gordon_Growth_rate (2.5%), exit_multiple (e.g., 10.5x NTM EBITDA)
- shares_outstanding (excluding dilutive instruments), net_debt (cash minus debt)
Expected Output Format (JSON Schema)
{
"assumptions": {
"discount_rate_description": "WACC calculated using CAPM and cost of debt",
"tax_rate": 0.21,
"growth_assumptions": {"year1": 0.08, "year2": 0.06, ...}
},
"projections": [
{"year": 2026, "revenue": 3300000, "unlevered_fcf": 265000, ...},
...
],
"wacc": {
"cost_of_equity": 0.085,
"cost_of_debt_after_tax": 0.0525,
"wacc": 0.075
},
"terminal_values": {
"gordon_growth": 123456789,
"exit_multiple": 130000000
},
"valuation": {
"enterprise_value": 250000000,
"equity_value": 200000000,
"per_share": 24.50
},
"sensitivity_table": {
"g_growth": {"1.5%": ..., "2.5%": ...},
"wacc": {"7.0%": ...}
}
}
Usage Notes
- Maintain temperature at 0.0 for deterministic, consistent numerical results
- Validate terminal EV/EBITDA multiples—values above 30x merit review
- For complex outputs, paginate requests to stay within token constraints
Example Input Snippet
{
"company_name": "Acme Co.",
"fiscal_year_end": "2025-12-31",
"historical_revenue": {"2021": 2100000, "2022": 2450000, "2023": 2900000, "2024": 3300000},
"tax_rate": 0.21,
"shares_outstanding": 8200000,
"net_debt": 50000000,
"risk_free_rate": 0.041,
"market_premium": 0.06,
"beta": 1.05
}
Example Output (Abridged)
{
"assumptions": {"tax_rate": 0.21, "terminal_growth": 0.025, "wacc": 0.075},
"projections": [{"year": 2026, "unlevered_fcf": 265000}, {"year": 2027, "unlevered_fcf": 285500}, ...],
"wacc": {"cost_of_equity": 0.085, "cost_of_debt_after_tax": 0.0525, "wacc": 0.075},
"terminal_values": {"gordon_growth": 125000000, "exit_multiple": 138000000},
"valuation": {"enterprise_value": 260000000, "equity_value": 210000000, "per_share": 25.61}
}
Prompt 2 — Dynamic WACC Calculator with Sensitivity Analysis
Production-ready Prompt Text:
Calculate a detailed weighted average cost of capital (WACC) from inputs provided. Compute cost of equity using CAPM (cost_of_equity = risk_free_rate + beta * market_premium), pre-tax and after-tax cost of debt, and capital structure weights. Generate a sensitivity matrix varying beta (0.8 to 1.6, step 0.1) and market premium (4.0% to 8.0%, step 0.5%). Output a CSV-compatible table with columns: beta, market_premium, wacc.
Context Variables
- risk_free_rate (e.g., 4.10%)
- base_beta (1.05)
- market_premium_base (6.0%)
- pre_tax_cost_of_debt (6.5%)
- tax_rate (21%)
- debt_weight (25%), equity_weight (75%)
Expected Output Snapshot
{
"base_wacc": 0.075,
"components": {
"cost_of_equity": 0.085,
"cost_of_debt_pre_tax": 0.065,
"cost_of_debt_after_tax": 0.05135
},
"sensitivity_grid": [
{"beta": 0.8, "market_premium": 0.04, "wacc": 0.0623},
{"beta": 0.9, "market_premium": 0.045, "wacc": 0.0644},
...
]
}
Best Practice Tips
- Regularly update market premium and risk-free rate using authoritative sources
- Recalculate WACC when adjusting capital structure or tax assumptions
Prompt 3 — Terminal Value Methodology Comparison and Sensitivity Analysis
Production-ready Prompt Text:
Calculate terminal value using: (a) Gordon Growth Model with specified growth rate and WACC, and (b) Exit Multiple methodology leveraging peer EV/EBITDA multiples. Normalize peer multiples by computing median and quartiles (25th, 75th percentiles). Provide a comparison table with implied per-share values under three valuation scenarios: conservative (25th percentile), base (median), and aggressive (75th percentile). Return JSON including peer multiples used.
Context Variables
- last_projected_ebitda (e.g., 120,000,000 for 2029)
- peer_ev_ebitda_list (e.g., [8.5, 9.8, 11.2, 14.0, 10.3])
- wacc, terminal_growth_rate
- shares_outstanding, net_debt
Expected Output Layout
{
"peer_stats": {"25th": 9.3, "median": 10.3, "75th": 11.6},
"terminal_values": {
"conservative": 950000000,
"base": 1236000000,
"aggressive": 1392000000
},
"per_share": {
"conservative": 12.34,
"base": 16.04,
"aggressive": 18.08
}
}
Usage Notes
- Flag terminal multiples that imply unrealistic long-term growth beyond economic fundamentals
- When peer sample size is small (<5), prompt model to augment peer set or warn on confidence
Prompt 4 — Free Cash Flow Bridge and Three-Statement Reconciliation
Production-ready Prompt Text:
Given income statement, balance sheet, and cash flow statement data (annual or quarterly), reconcile net income to unlevered free cash flow (FCF) per period. Provide a stepwise bridge listing net income, depreciation & amortization, capex, changes in working capital, tax effects, and resulting unlevered FCF. Output CSV-compatible table and JSON array with keys: period, net_income, d_and_a, capex, wc_change, unlevered_fcf.
Context Variables
- periods: [“2023-Q4”, “2024-Q1”, “2024-Q2”, …]
- net_income, depreciation_and_amortization, capex, changes_in_working_capital, interest_expense (for tax adjustment)
Expected Output Format
[
{"period": "2024-Q1", "net_income": 34000000, "d&a": 6500000, "capex": 12000000, "wc_change": -1500000, "unlevered_fcf": 37000000},
...
]
Usage Notes
- Explicitly flag missing or negative working capital line items; fail the prompt with error messaging if key data is omitted
Prompt 5 — Batch Scenario and Sensitivity Generator for DCF Models
Production-ready Prompt Text:
Generate three detailed DCF valuation scenarios: Base, Bear, and Bull, based on supplied assumptions. Include for each scenario a 10-year free cash flow projection, WACC, terminal value (Gordon Growth), enterprise and equity valuations, per-share fair value, and a concise 2-3 sentence narrative summarizing key drivers. Output structured JSON keyed by scenario name, including sensitivity matrices for WACC versus terminal growth rate.
Context Variables
- base_assumptions (growth rates, margins)
- downside_adjustments (e.g., margin minus 200bps)
- upside_adjustments (e.g., margin plus 150bps)
- scenario_probabilities (optional; e.g., base 50%, bear 30%, bull 20%)
Expected Output Structure
{
"Base": {"fcf": [...], "wacc": 0.075, "terminal": 120000000, "equity_value": 200000000, "per_share": 24.4, "narrative": "Base case forecasts margin expansion..."},
"Bear": {...},
"Bull": {...}
}
Usage Notes
- Leverage scenario probabilities to compute weighted average equity valuations where applicable
- Ensure scenario narratives clearly link quantitative drivers such as revenue growth, margin shifts, and capex changes without vague language
Pro Tip for Integration: Use Prompt 1 to generate baseline DCF outputs, storing results as versioned artifacts. Apply Prompt 5 to generate scenario analyses and sensitivities for governance review and enhanced decision workflows.
Section 2 — Comprehensive Earnings Analysis & Financial Statement Insights (5 Prompts)
Optimize your earnings cycle analysis with prompts designed for extracting key insights from earnings calls, reconciling consensus vs. reported results, normalizing non-GAAP metrics, analyzing KPI trends, and drafting polished earnings notes. Outputs are engineered for rapid dashboard integration and seamless slide deck inclusion.
Prompt 6 — Earnings Call Summary and KPI Extraction
Production-ready Prompt Text:
Extract and summarize the top 8 actionable items from the provided earnings call transcript or bullet points into a JSON structure: {items: [{title, type (guidance/product/operations/finance), quantitative_impact_estimate, confidence_level (low/medium/high), citation (timestamp or paragraph ID)}]}. Also extract numeric updated guidance ranges. Output JSON only.
Context Variables
- transcript_text (UTF-8, abide by token limits)
- recent_guidance (previous guidance figures for comparative analysis)
Expected Output Format
{
"items": [
{"title": "Revenue guidance raised", "type": "guidance", "quantitative_impact_estimate": "+3.5% FY revenue", "confidence": "high", "citation": "Q&A 12:34"},
...
],
"updated_guidance": {"FY2026_revenue": [320000000, 330000000]}
}
Implementation Notes
- For transcripts exceeding token limits, segment by themes (e.g., prepared remarks, Q&A), summarize each, then synthesize in aggregate
- Attach precise timestamps or paragraph IDs to enable traceability of quantitative figures
Prompt 7 — Reconciliation of Consensus Estimates vs. Reported Earnings
Production-ready Prompt Text:
Compare the quarterly reported financials to provided consensus datasets. Produce a reconciliation table with columns: line_item, consensus_value, reported_value, absolute variance, percentage variance, and explanatory commentary highlighting drivers of variance. Include non-GAAP adjustments for EPS and EBITDA, quantifying their impact on headline metrics. Output JSON and CSV string.
Context Variables
- consensus (line items like revenue, EPS, EBITDA)
- reported_results (matching keys)
Expected Output Example
{
"comparison": [
{"line_item": "revenue", "consensus": 320000000, "reported": 327500000, "var_abs": 7500000, "var_pct": 2.34, "commentary": "Stronger pricing power in North America"}
],
"csv": "line_item,consensus,reported,var_abs,var_pct,commentary\n..."
}
Validation Advice
- Flag variances exceeding two standard deviations based on the trailing eight quarters, highlighting potential anomalies
Prompt 8 — Non-GAAP to GAAP Reconciliation and Metric Normalization
Production-ready Prompt Text:
Using reported non-GAAP metrics and disclosed adjustments, generate a reconciliation table for GAAP metrics (EPS, EBITDA). Normalize by removing one-off items. Output JSON with fields: gaap_metric, non_gaap_metric, adjustments (list), and normalized_metric.
Context Variables
- non_gaap_adjustments (named with amounts and detailed descriptions)
- reported_gaap_metrics
Expected Output Sample
{
"reconciliation": [
{"metric": "net_income", "gaap": 35000000, "non_gaap": 37000000, "adjustments": [{"name": "restructuring", "amount": 2000000}]}
],
"normalized": {"adjusted_eps": 1.24, "adjusted_ebitda_margin": 0.185}
}
Usage Insights
- Flag adjustments exceeding 1% of revenue or recurring across multiple periods—potential signs of structural shifts
Prompt 9 — Quarter-over-Quarter KPI Trend Analysis with Statistical Signaling
Production-ready Prompt Text:
Analyze quarterly KPIs spanning 12 quarters. For each KPI (e.g., revenue, gross margin, accounts receivable days, churn rate, ARPU), calculate QoQ and YoY percentage changes, 4-quarter rolling averages, and Z-scores relative to 12-quarter means. Output a JSON array with KPI analyses, concise directional signals (improving/declining/stable), and recommended next actions.
Context Variables
- kpi_time_series (e.g., {“revenue”: […], “gross_margin”: […], “churn”: […]})
- reporting_calendar (quarterly timestamp mapping)
Expected Output Example
[
{"kpi": "revenue", "qoq_change": "1.8%", "yoy_change": "6.5%", "rolling_avg": "3.1%", "z_score": 1.4, "signal": "improving", "action": "Monitor product pricing trends"}
]
Implementation Tips
- Utilize rolling averages to smooth seasonality and prompt model to report statistical sample sizes
Prompt 10 — Professional Earnings Note Draft for Analyst Distribution
Production-ready Prompt Text:
Draft a 300–450 word earnings note for client dissemination, utilizing provided metrics and reconciliations. Organize the note with: key facts (bullet points), financial highlights (tabular bullets), investment implications (three bullets covering catalysts, risks, valuation), and analyst stance (Buy/Hold/Sell with price target and rationale). Include a brief methodology statement referencing model version and data sources. Output JSON keys: headline, key_facts, financial_highlights, implications, stance, methodology.
Context Variables
- headline_metrics (EPS, revenue, guidance updates, percentage variances)
- analyst_prior_rating_and_target
Expected Output Sample
{
"headline": "Acme Co. beats Q2 estimates; raises guidance",
"key_facts": ["Revenue $327.5m (+2.3% q/q)", "EPS $0.48 vs $0.42 est"],
"financial_highlights": [{"line": "Revenue", "value": "327.5"}],
"implications": [{"catalyst": "New product ramping in Q4", "risk": "Supply chain constraints affecting margins"}],
"stance": {"rating": "Buy", "new_target": 28.00},
"methodology": "DCF v3.1; data sourced from company release and consensus via Refinitiv; model date 2026-07-12"
}
Practical Advice
- Specify the tone (neutral, concise, or promotional) and target word count for consistent narrative style
Section 3 — Quantitative Risk Assessment & Portfolio Analytics (5 High-Impact Prompts)
Empower portfolio managers and risk analysts with prompts for detailed factor attribution, Value at Risk (VaR) and Conditional VaR (CVaR) analysis using historical and parametric approaches, bespoke stress test scenario development, constrained portfolio optimization, and robust backtesting. Outputs leverage structured JSON ideal for integration into Python and R analytical frameworks supporting data-driven decision-making.
Prompt 11 — Factor Attribution for Portfolio Excess Returns
Production-ready Prompt Text:
Using monthly returns over 60 months for a portfolio and its benchmark, along with factor exposures (market beta, size, value, momentum), perform a factor attribution decomposition. Return JSON with total_return, benchmark_return, active_return, allocation_effect, selection_effect, interaction_effect, plus factor_contributions (factor:contribution list). Summarize top drivers in a brief, three-line professional commentary.
Context Variables
- portfolio_returns (60-element monthly array)
- benchmark_returns (60-element monthly array)
- factor_returns (matrix: factors × months)
- current_factor_exposures (vector)
Expected Output Sample
{
"total_return": 0.182,
"benchmark_return": 0.145,
"active_return": 0.037,
"factor_contributions": [{"market": 0.025}, {"size": 0.004}, {"value": -0.002}]
}
Best Practice Tips
- Specify attribution methodology used (e.g., Brinson-Fachler) in output
- Validate total factor contributions sum to active return within a small rounding tolerance (e.g., 1e-4)
Prompt 12 — Portfolio VaR & CVaR Estimation Using Historical and Parametric Methods
Production-ready Prompt Text:
Estimate 1-day and 10-day Value at Risk (VaR) and Conditional VaR (CVaR) for the portfolio using: (1) historical simulation over 500 trading days and (2) parametric variance-covariance approach assuming normal and t-distributions (df=5). Output JSON with VaR and CVaR at 95% and 99% confidence levels, assumptions, and include a concise Python snippet illustrating calculations.
Context Variables
- positions: list of {ticker, weight, price_series}
- return_series: daily returns aligned by ticker
- holding_period_days: 1 or 10
Output Example
{
"historical_VaR": {"1d": {"95%": 0.024, "99%": 0.042}, "10d": {...}},
"parametric_VaR_normal": {...},
"parametric_VaR_tdist": {...},
"python_snippet": "import numpy as np\n..."
}
Usage Recommendations
- Check for return series stationarity and flag structural breaks (e.g., 2020 pandemic) that may bias historical simulation outputs
Prompt 13 — Custom Stress Test Scenario Generation for Portfolios
Production-ready Prompt Text:
Generate five bespoke stress-test scenarios tailored to the client portfolio considering sector weights, geographic exposures, leverage, and liquidity constraints. For each scenario provide: scenario_name, macroeconomic shock description (including GDP, interest rates, FX, commodities), expected P&L impact (% portfolio NAV), rationale, and recommended hedging strategies. Output JSON reflecting historical extremes and near-term credible risks as of July 2026.
Context Variables
- sector_weights, geographic_exposure, leverage
- holding_period_days, liquidity_constraints
Expected Output Sample
{
"scenarios": [
{
"name": "Rapid Rate Spike",
"macro_shock": "10-year rates +150 bps",
"pnl_impact": "-4.2%",
"hedge": "Increase duration hedges via interest rate swaps"
}
]
}
Best Practice Guidelines
- Include actionability scores (1-5) and estimated hedging costs per scenario
Prompt 14 — Portfolio Optimization Using Mean-Variance with Constraints
Production-ready Prompt Text:
Optimize portfolio allocations using expected returns, covariance matrix, and portfolio constraints. Enforce long-only weights, full investment, asset-level bounds, sector caps, turnover limits, and a target volatility ceiling supplied by the user. Return valid JSON containing optimized weights, expected portfolio return, expected volatility, constraint checks, marginal risk contributions, and any infeasibility warnings. Do not silently relax constraints.
Context Variables
- asset_ids and current_weights
- expected_returns and covariance_matrix
- minimum_weights and maximum_weights
- sector_mapping and sector_caps
- turnover_limit, volatility_ceiling, and transaction_cost_assumptions
Expected Output Sample
Illustrative structure:
{
"status": "feasible",
"optimized_weights": [
{"asset_id": "ASSET_A", "weight": null},
{"asset_id": "ASSET_B", "weight": null}
],
"portfolio_metrics": {
"expected_return": null,
"expected_volatility": null,
"estimated_turnover": null
},
"constraint_checks": {
"weights_sum_to_one": true,
"asset_bounds_satisfied": true,
"sector_caps_satisfied": true,
"turnover_limit_satisfied": true
},
"marginal_risk_contributions": [],
"warnings": []
}
Best Practice Tips
- Recalculate every portfolio metric outside the language model before approving an allocation.
- Require an explicit infeasibility result rather than allowing the model to modify a bound or constraint.
- Run sensitivity cases for expected returns, covariance estimates, turnover assumptions, and concentration limits.
Prompt 15 — VaR Backtesting and Exception Diagnostics
Production-ready Prompt Text:
Backtest the supplied daily Value at Risk forecasts against realized portfolio returns. Identify breach dates, calculate the exception count and exception rate, test for exception clustering using the diagnostics supplied by the user, and compare results with user-defined review thresholds. Return valid JSON containing summary_statistics, breaches, diagnostic_results, threshold_status, data_quality_warnings, and remediation_actions. Do not infer missing returns or forecasts.
Context Variables
- dates, realized_returns, and var_forecasts
- confidence_level and forecast_horizon
- diagnostic_method and decision_thresholds
- portfolio_changes and known data-quality events
Expected Output Sample
Illustrative structure:
{
"summary_statistics": {
"observation_count": null,
"exception_count": null,
"exception_rate": null
},
"breaches": [
{"date": "YYYY-MM-DD", "realized_return": null, "var_forecast": null}
],
"diagnostic_results": [],
"threshold_status": "review_required",
"data_quality_warnings": [],
"remediation_actions": []
}
Best Practice Tips
- Align forecast and return timestamps before running the test.
- Investigate clustered breaches separately from isolated exceptions.
- Preserve the forecast series used at the time; do not replace it with a later recalculation.
Section 4 — Strategic Investment Research & Market Intelligence (5 Prompts)
These prompts organize primary-source research, comparable-company analysis, catalysts, risks, and thesis review. Treat every generated statement as a research lead until it is matched to a dated source or a verified calculation.
Prompt 16 — Competitive Landscape and Industry Structure Map
Production-ready Prompt Text:
Using only the supplied company filings, industry reports, and market data, create a competitive landscape for the target company. Separate verified facts from analyst interpretation. Compare competitors across business model, customer segment, geographic exposure, pricing approach, distribution, cost drivers, and stated strategic priorities. Return valid JSON with market_structure, competitor_profiles, differentiation_claims, evidence_gaps, and research_questions. Attach a source ID and reporting date to every factual assertion.
Context Variables
- target_company and competitor_list
- source_documents with source IDs, publication dates, and reporting periods
- industry_scope and geographic_scope
- comparison_dimensions
Expected Output Format
Illustrative structure:
{
"market_structure": {
"verified_facts": [],
"analyst_interpretations": []
},
"competitor_profiles": [
{
"company": "COMPANY_A",
"comparison_points": [],
"source_ids": []
}
],
"differentiation_claims": [],
"evidence_gaps": [],
"research_questions": []
}
Usage Notes
- Reject unsupported market-share, pricing, or growth claims instead of estimating them.
- Keep reporting periods aligned when comparing competitors.
Prompt 17 — Investment Thesis, Variant View, and Falsification Tests
Production-ready Prompt Text:
Build a structured investment thesis from the supplied evidence. State the base thesis, the market expectation provided by the analyst, the proposed variant view, supporting evidence, counterevidence, and explicit falsification tests. Distinguish facts, assumptions, and judgments. Return valid JSON with thesis, consensus_assumptions, variant_view, evidence_for, evidence_against, falsification_tests, monitoring_indicators, and unresolved_questions. Do not create a consensus view when none is supplied.
Context Variables
- company_name and investment_horizon
- verified_evidence and source IDs
- consensus_assumptions supplied by the analyst
- valuation_outputs and risk factors
Expected Output Format
Illustrative structure:
{
"thesis": "",
"consensus_assumptions": [],
"variant_view": "",
"evidence_for": [],
"evidence_against": [],
"falsification_tests": [
{"test": "", "measurement": "", "review_date": "YYYY-MM-DD"}
],
"monitoring_indicators": [],
"unresolved_questions": []
}
Usage Notes
- Write falsification tests before drafting the recommendation.
- Use observable indicators and defined review dates rather than vague thesis statements.
Prompt 18 — Comparable-Company Screening and Multiple Reconciliation
Production-ready Prompt Text:
Evaluate the supplied comparable-company set. Check fiscal-period alignment, accounting definitions, currency treatment, enterprise-value inputs, and metric availability. Calculate requested valuation multiples only from provided values, summarize the distribution, and reconcile the target company's premium or discount to operating and financial differences. Return valid JSON with included_peers, excluded_peers, exclusion_reasons, calculated_multiples, distribution_summary, target_comparison, and data_quality_flags.
Context Variables
- target_company and proposed_peer_set
- market_values, net_debt, revenue, earnings, and cash-flow metrics
- reporting_periods, currencies, and accounting definitions
- peer inclusion and exclusion rules
Expected Output Format
Illustrative structure:
{
"included_peers": [],
"excluded_peers": [
{"company": "", "reason": ""}
],
"calculated_multiples": [],
"distribution_summary": {},
"target_comparison": {
"premium_or_discount": null,
"supported_drivers": [],
"unsupported_hypotheses": []
},
"data_quality_flags": []
}
Usage Notes
- Exclude a peer when the required metric cannot be reconciled; do not fill the gap with an invented estimate.
- Retain both reported values and normalized values so reviewers can reproduce each multiple.
Prompt 19 — Catalyst Calendar and Evidence-Based Event Monitor
Production-ready Prompt Text:
Create a catalyst calendar from the supplied dated sources and analyst assumptions. For each event, record the date or date range, event type, source, thesis linkage, measurable confirmation signal, downside signal, and required follow-up. Mark dates as confirmed, estimated, or unknown. Return valid JSON with confirmed_events, estimated_events, unknown_date_events, monitoring_rules, and stale_source_warnings. Never convert an estimated date into a confirmed date.
Context Variables
- company_calendar and reporting_calendar
- management statements and regulatory milestones
- industry events and macroeconomic releases supplied by the analyst
- thesis drivers and risk indicators
Expected Output Format
Illustrative structure:
{
"confirmed_events": [
{
"event": "",
"date": "YYYY-MM-DD",
"source_id": "",
"thesis_linkage": "",
"confirmation_signal": "",
"downside_signal": ""
}
],
"estimated_events": [],
"unknown_date_events": [],
"monitoring_rules": [],
"stale_source_warnings": []
}
Usage Notes
- Refresh the calendar when a company changes guidance or timing.
- Separate the expected business impact from the possible market reaction.
Prompt 20 — Source-Grounded Investment Memo with Red-Team Review
Production-ready Prompt Text:
Draft an investment memo using only the supplied research package. Include executive_summary, business_overview, thesis, valuation, catalysts, risks, counterarguments, falsification_tests, and open_questions. Cite a source ID for each factual statement and label every estimate or analyst judgment. Then perform a red-team review that identifies unsupported claims, stale evidence, inconsistent assumptions, omitted downside cases, and calculations requiring external verification. Return valid JSON only.
Context Variables
- research_package with source IDs and dates
- valuation_models and scenario_outputs
- portfolio_context and investment_horizon
- house_style and approval_requirements
Expected Output Format
Illustrative structure:
{
"memo": {
"executive_summary": "",
"business_overview": "",
"thesis": [],
"valuation": {},
"catalysts": [],
"risks": [],
"counterarguments": [],
"falsification_tests": [],
"open_questions": []
},
"red_team_review": {
"unsupported_claims": [],
"stale_evidence": [],
"inconsistent_assumptions": [],
"omitted_downside_cases": [],
"calculations_to_verify": []
}
}
Usage Notes
- Run the red-team pass separately from the drafting pass to reduce confirmation bias.
- Block publication when a material factual statement lacks a traceable source.
Integrating ChatGPT-5.5 into Financial Workflows: API Examples & Automation
The OpenAI Responses API reference documents the endpoint for creating a model response from an input. Select an available model identifier from the official models catalog rather than embedding an older identifier in a long-lived workflow.
Illustrative HTTP request:
POST /v1/responses
Content-Type: application/json
Authorization: Bearer YOUR_SERVER_SIDE_API_KEY
{
"model": "YOUR_CURRENT_MODEL_ID",
"input": "Return the requested financial analysis using the approved schema and supplied source data."
}
Keep credentials in a server-side secret store. Do not place them in a workbook, prompt template, browser script, source-control repository, or generated report.
For machine-consumed results, use Structured Outputs to enforce schema adherence. Validation is still required because structured output can contain substantive mistakes, and applications must handle refusals or incomplete responses.
Recommended Processing Sequence
- Load source data and attach source IDs, reporting periods, currencies, and units.
- Run deterministic validation for missing fields, duplicate periods, stale dates, and inconsistent signs.
- Render a versioned prompt template with an explicit output schema.
- Submit the request and retain the prompt version, input hash, response identifier, and processing status.
- Parse the response, reject malformed or incomplete records, and recalculate material figures in trusted code.
- Route exceptions and material narrative conclusions to a qualified reviewer.
- Archive approved outputs with their supporting sources and model assumptions.
Batch Automation Pattern
for analysis_job in validated_jobs:
payload = build_payload(
model="YOUR_CURRENT_MODEL_ID",
prompt_template=approved_template,
source_data=analysis_job.source_data
)
response = submit_response(payload)
parsed = validate_schema(response)
if parsed.status != "complete":
route_to_exception_queue(analysis_job, response)
continue
recalculated = verify_material_calculations(parsed, analysis_job.source_data)
archive_for_review(analysis_job, parsed, recalculated)
This pseudocode is illustrative. Implement retries only for transient failures, use idempotency controls around downstream writes, and prevent a retry from creating duplicate reports or trades.
Advanced Validation, QA, and Governance Best Practices
Separate Language Tasks from Calculation Tasks
Use the model to classify, extract, compare, and draft. Use tested financial code or controlled spreadsheet formulas to calculate valuations, portfolio statistics, reconciliations, and risk measures. Compare the model-provided result with the independently calculated value before approval.
Apply Layered Validation
- Schema checks: Confirm required fields, types, permitted values, and null handling.
- Accounting checks: Reconcile statements, signs, units, currencies, and reporting periods.
- Financial checks: Test valuation identities, weight totals, scenario ordering, and sensitivity direction.
- Source checks: Require a valid source ID and date for each material factual statement.
- Narrative checks: Detect claims that exceed the evidence or contradict the quantitative output.
Maintain an Audit Trail
Store the approved prompt template, input snapshot, source manifest, raw response, parsed output, validation results, reviewer decision, and final published artifact. Record corrections as new versions rather than overwriting prior evidence.
Define Human Approval Gates
Require named review for rating changes, price targets, client-facing research, portfolio allocations, risk-limit exceptions, and any output that could initiate a transaction. The reviewer should be able to trace each material conclusion to data, assumptions, and calculations.
Test Before Production Use
- Use fixed regression cases with known outputs.
- Include missing-data, stale-data, malformed-input, and conflicting-source cases.
- Test extreme but valid assumptions and infeasible optimization constraints.
- Confirm that unsupported requests produce warnings rather than fabricated values.
- Repeat validation after changing a prompt, schema, model selection, or upstream data source.
Conclusion & Essential Takeaways for Financial Analysts
These 20 prompts are most effective as controlled components inside a documented analytical process. Give the model complete source context, require structured output, and distinguish verified facts from assumptions and judgments.
Do not treat fluent text as evidence of numerical correctness. Recalculate material figures, preserve source references, test edge cases, and require human approval for investment recommendations and portfolio actions.
A practical rollout starts with one repeatable workflow, a fixed schema, representative test cases, and a clear exception path. Expand only after the team can reproduce, review, and audit the output.
Author Attribution & Disclaimer
Author: Markos Symeonides.
This material is provided for educational and informational purposes only. It is not investment, legal, accounting, tax, or risk-management advice and does not constitute a recommendation to buy, sell, or hold any security.
All prompt outputs, calculations, source citations, assumptions, and conclusions require independent verification by qualified professionals. Historical observations and model-generated scenarios do not guarantee future results.
