LSEG
The LSEG connector provides real-time access to LSEG's comprehensive financial market data ecosystem, spanning across asset classes and domains. It enables seamless integration of institutional-grade market data, analytics and valuation tools directly into conversational AI workflows, allowing users to access deep market insights, perform complex calculations and analyse financial instruments through natural language interactions.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Institutional Financial Data & Equity Research Platforms
- Secondary Subcategories
- None listed
- Brand
- LSEG
- Access
- Account optional
- First tracked
- 2026-07-28
- Tool count
- 31
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is visible.
ChatGPT Plugin Discoverability Score
ChatGPT organic discovery is not live yet
LSEG is tracked in the ChatGPT Plugin registry. Public organic-discovery measurement is not live for ChatGPT yet, so there is no score to publish today.
Get notified when your score goes live
Enter your work email and we’ll notify you when ChatGPT Plugin organic discovery scoring launches.
No spam. Unsubscribe any time.
Competing in ChatGPT Institutional Financial Data & Equity Research Platforms
View CategoryHow the Discoverability Score works
Organic discovery scoring for LSEG on ChatGPT is not live yet. The score will use measured agent conversations when it launches.
Organic discovery scoring is pending. Your Plugin score will appear on this scale when measurement goes live.
FoundDiagnostic
Whether Claude found your Plugin in connector search. It must be Found before it can reach the picker, but the score counts picker appearances—not search results.
PickedMain score
How often your Plugin appeared in the picker, or Claude invoked it directly, across contested conversations. This percentage is the Discoverability Score; the headline number is rounded.
PositionedDiagnostic
What position your Plugin appeared in when it was shown in the picker. This shows prominence, but it does not affect the score.
31 tools agents can invoke
Execute Datastream DSWS GetData queries and return normalized tabular results. Request must include at least one entry in the requests array. Each entry can be either a standard instruments + fields request or an expression-only request. INSTRUMENT IDENTIFIER RULES: - RICs (Reuters Instrument Codes) must be enclosed in angle brackets, e.g. "<SHEL.L>", "<MSFT.O>", "<IBM.N>". IMPORTANT: Only equity-style RICs with exchange suffixes (.L, .N, .O, .A) are supported in brackets. Currency RICs like <EUR=>, <GBP=>, <JPY=> are NOT supported. Use the 6-letter pair instead (e.g. EURUSD, GBPUSD). - Datastream mnemonics (e.g. 'MSFT', 'VOD', '@AAPL') are passed directly without brackets. - FX/Currency pairs: if you know the exact Datastream mnemonic (e.g. TEUSDSP for EUR/USD), use it directly. Otherwise, pass a 6-letter currency pair (e.g. EURUSD, GBPUSD, USDJPY) and it will be auto-resolved to the correct Datastream mnemonic via navigator/search. You can also use datastream_search with category="Fx" first to find the exact mnemonic yourself. - Economics mnemonics: pass as-is including dot notation (e.g. USGDP...B, USGDP...D). - Instruments that look like a mnemonic or RIC will be passed to the Datastream data endpoint as-is. - If the instrument does not look like a known mnemonic or RIC, it will be resolved using the navigator/search API endpoint automatically. - If the response contains an error or returns data for an incorrect mnemonic, use the datastream_search tool first to find the correct mnemonic code, then call this data endpoint again with the resolved mnemonic. FIELD/DATATYPE RULES: - X is the universal default datatype for ANY instrument category in Timeseries mode. If unsure which field to use for timeseries, use X. Note: X does NOT work for Snapshot requests. - For Snapshots, you MUST specify the correct category-specific field: * Equities/Indices: P (price), MV (market value), PE (price-to-earnings) * FX/Exchange Rates: ER (exchange rate) * Economics: ES (economic series value) - INVALID fields that will always return NA or error: BID, ASK, DS, VALUE, CLOSE. These are NOT valid Datastream datatypes for any category. - When in doubt about which field to use, call datastream_search with requestType='Fields' and the appropriate category. EXPRESSION RULES: - Use the expression field when you already have the final Datastream expression string, e.g. "PCH#(VOD,-1M)" or "300E(MKS,12M)". - Do not combine expression with instruments or fields. The expression string contains the executable calculation. - Dynamic expressions call Datastream functions directly, e.g. "PCH#(VOD,-1M)". - Pre-built expressions use a discovered expression mnemonic/code with arguments, e.g. "300E(MKS,12M)" after finding 300E via datastream_search requestType="Expressions". - Expression parameter metadata is limited. Instrument arguments are usually Datastream mnemonics such as MKS, VOD, or @AAPL; period/window arguments commonly use Datastream-compatible values such as 12M, -1M, -20D, or -1Y; numeric arguments are plain numbers. - If parameter meaning is unclear, pass the final expression string as provided and let DSWS validate semantics. TWO KINDS AND HOW TO USE THEM: 1. Snapshot - Use for a single point-in-time value per instrument/field. - Best for current values or latest available observations. - Typical payload: instruments + fields + kind="Snapshot". - MUST use category-specific field (P, ER, ES). X does NOT work for Snapshots. 2. Timeseries - Use for values across a date range. - Best for trend analysis, charting, and period-over-period comparisons. - Typical payload: instruments + fields + kind="Timeseries" with optional start/end/frequency. - Can use X as universal default field for any category. EXAMPLE REQUEST PAYLOAD: { "requests": [ { "instruments": "MSFT, <SHEL.L>", "fields": "MV, PE", "start": "-1Y", "end": "0D", "frequency": "Monthly", "kind": "Timeseries" }, { "instruments": "@AAPL", "fields": "P", "kind": "Snapshot" }, { "instruments": "EURUSD", "fields": "X", "start": "-1M", "end": "0D", "frequency": "Daily", "kind": "Timeseries" }, { "instruments": "USGDP...B", "fields": "X", "start": "-3Y", "end": "0D", "frequency": "Quarterly", "kind": "Timeseries" }, { "expression": "PCH#(VOD,-1M)", "start": "-1Y", "end": "0D", "frequency": "Monthly", "kind": "Timeseries" }, { "expression": "300E(MKS,12M)", "start": "-1Y", "end": "0D", "frequency": "Daily", "kind": "Timeseries" } ] }
datastream_data
Search Datastream Navigator/Search API to discover instruments, field/datatype codes, or pre-built expressions before retrieving data. Each request entry must specify a requestType of "Instruments", "Fields", or "Expressions" to indicate the type of search being performed. TIPS: - Use category filter to narrow results (e.g. "Fx" for exchange rates, "Economics" for GDP/CPI series). - Use requestType="Fields" to discover valid datatypes for a category before requesting data. - Use requestType="Expressions" to discover pre-built expressions by name, mnemonic/code, formula terms, or parameter names. - Expression search can help build executable expressions for datastream_data, e.g. a discovered expression mnemonic can be called as "300E(MKS,12M)". - Expression parameters currently have limited metadata. Instrument arguments are usually Datastream mnemonics such as MKS or VOD; period/window arguments commonly use Datastream-compatible values such as 12M, -1M, -20D, or -1Y. DSWS validates final expression semantics. - Common categories: Equities, Fx, Economics, Bonds, Commodities, EquityIndices, Funds, InterestRates. EXAMPLE REQUEST PAYLOAD: { "requests": [ { "requestType": "Instruments", "query": "Vodafone", "category": "Equities", "maxResults": 15 }, { "requestType": "Instruments", "query": "EURUSD", "category": "Fx", "maxResults": 5 }, { "requestType": "Instruments", "query": "United States GDP", "category": "Economics", "maxResults": 10 }, { "requestType": "Fields", "query": "price", "category": "Equities", "limit": 20, "offset": 0, "timeseriesOnly": false, "currencyEnabled": false }, { "requestType": "Expressions", "query": "z-score normalization", "limit": 10, "offset": 0 } ] }
datastream_search
**BEFORE CALLING: Count identifiers first. MAX 5 IDENTIFIERS PER CALL.** If user has >5 bonds, split into multiple calls BEFORE executing (e.g., 12 bonds = 3 calls: 5 + 5 + 2). Retrieve actual vs projected prepayment data for mortgage-backed securities via YieldBook API. Compares historical actual prepayment speeds against model-projected speeds. This tool is only for backward looking historical analysis of actual vs projected prepayment. Do not use this tool for forward-looking analysis. If the user asks to run a PY, requests forward-looking/prepayment projections, use fixed_income_risk_analytics instead. REQUIRED PARAMETER: - identifiers: Array of up to 5 bond identifiers (CUSIP, ISIN, or YieldBook ID). FNMA or GNMA or similar IDENTIFIER FORMAT: If a user provides space-separated notation like FNMA11.100 F or FNMA20.100 BA, change it to FNMA11.100(F) or FNMA20.100(BA) by replacing the space with parenthesis automatically. If FNMA200.100 or similar id is provided without any letter, pass it as is (no parentheses needed). If ticket has # like N25.1(#1), pass as is. OPTIONAL PARAMETER: - idType: type of identifier provided (e.g., "CUSIP", "ISIN", "SecurityIDEntry", etc.). Defaults to "SecurityIDEntry" if not specified. - prepayType: MBS prepayment model to use. Defaults to "Model" if not specified. Accepted values: - "Model" — current production model (default) - "ExpModel" - Model 99 - "NewModel" - "OldExpModel" - "OldModel" - "PreExpModel" — Model 97 Only one prepayType is accepted per call. RETURNED INFORMATION: - Identity fields: CUSIP, ISIN, ticker, description, security type, maturity date, current coupon - Monthly actual vs projected CPR vector (dataActVsProjVectorList): date, actualCPR, actualCDR, projectedCPR, projectedCDR, projectedVPR, projectedRefi, projectedCurtail, projectedTurnover - Period summaries (dataActVsProjSummaryList): 1-month, 3-month, 6-month, 12-month, 24-month, and Life aggregates USE CASES: 1. **Historical prepayment analysis**: View actual CPR/CDR history for MBS pools 2. **Historical projected prepayment speed**: Get model-projected CPR, VPR, refinancing, curtailment, and turnover rates that are returned alongside historical actual observations 3. **Actual vs projected comparison**: Compare realized prepayment speeds against YieldBook model projections to assess model accuracy SUPPORTED SECURITY TYPES: - Mortgage-backed securities (MBS, RMBS) - Collateralized mortgage obligations (CMO) - Agency pass-throughs (FNMA, GNMA, FHLMC) KEY FEATURES: - Batch support: Query up to 5 identifiers per request - Multiple identifier types: CUSIP, ISIN, generic YieldBook IDs. If user provides multiple identifiers of different types (e.g., one CUSIP and one ISIN), split into separate calls to the tool. - Decomposed projections: See refi, curtailment, and turnover components separately DEFAULT: If idType not specified, defaults to 'SecurityIDEntry'. If prepayType not specified, defaults to 'Model'. IDTYPE NOTE: If user provides multiple identifiers of different types (e.g., one CUSIP and one ISIN), split into separate calls to the tool since only one idType is accepted at a time. PREPAYTYPE NOTE: Only one prepayType is accepted per call. To compare models or use different models for different groups of identifiers, split into separate calls to the tool. ASYNC STATUS CHECK: If a previous request was still processing (returned jobRef and requestId), call this same tool with only { "jobRef": "...", "requestId": "..." } to check if results are ready. EXAMPLE - "Give me the past six months of historical prepayments on security <identifier>" {"identifiers": ["<identifier>"], "idType": "SecurityIDEntry", "prepayType": "Model"} EXAMPLE - "Show historical speeds on <identifier 1>, <identifier 2>, and <identifier 3>" {"identifiers": ["<identifier 1>", "<identifier 2>", "<identifier 3>"], "idType": "SecurityIDEntry", "prepayType": "Model"} EXAMPLE - "Give me the past six months of Yield Book projected CPRs on CUSIP <identifier>" {"identifiers": ["<identifier>"], "idType": "CUSIP", "prepayType": "Model"} EXAMPLE - "Compare historical speeds versus Yield Book Projected speeds on <identifier>" {"identifiers": ["<identifier>"], "idType": "SecurityIDEntry", "prepayType": "Model"} EXAMPLE - "Run Yield Book Actual vs Projected on <identifier 1>, <identifier 2>, <identifier 3>, and <identifier 4>" {"identifiers": ["<identifier 1>", "<identifier 2>", "<identifier 3>", "<identifier 4>"], "idType": "SecurityIDEntry", "prepayType": "Model"} EXAMPLE - "How did Yield Book projected CPRs compare to historical CPRs on <identifier>" {"identifiers": ["<identifier>"], "idType": "SecurityIDEntry", "prepayType": "Model"} EXAMPLE - "Run actual vs projected using Model 99 on <identifier>" {"identifiers": ["<identifier>"], "idType": "SecurityIDEntry", "prepayType": "ExpModel"} EXAMPLE - "Compare Model 97 projected speeds against actuals on <identifier>" {"identifiers": ["<identifier>"], "idType": "SecurityIDEntry", "prepayType": "PreExpModel"} EXAMPLE - "Run Yieldbook Actual vs Projected for jobRef <jobRef> and requestId <requestId>" {"jobRef": "<jobRef>", "requestId": "<requestId>"}
fixed_income_actual_vs_projected
**BEFORE CALLING: Count identifiers first. MAX 50 IDENTIFIERS PER CALL.** If user has >50 bonds, split into multiple calls BEFORE executing (e.g., 75 bonds = 2 calls: 50 + 25). Do NOT attempt >50 identifiers - it will fail. Retrieve bond reference data via YieldBook Bond Indic API. Returns contractual and reference information about bonds without requiring calculations. RETURNED INFORMATION: - Security type and sector classification - Maturity date and coupon details - Credit ratings (S&P, Moody's, Fitch) - Issuer information and CUSIP/ISIN identifiers - Security-specific data (e.g., pool factor for MBS) - Payment frequency and day count conventions SUPPORTED SECURITY TYPES: - Government bonds (Treasury, Agency) - Corporate bonds - Mortgage-backed securities or similar ties(MBS, RMBS, CMBS) - Asset-backed securities (ABS) - Municipal bonds - Collateralized mortgage obligations (CMO) KEY FEATURES: - Batch support: Query up to 50 identifiers per request - Multiple identifier types: CUSIP, ISIN, generic YieldBook IDs - FNMA or GNMA or similar IDENTIFIER FORMAT: If a user provides space-separated notation like FNMA11.100 F or FNMA20.100 BA, change it to FNMA11.100(F) or FNMA20.100(BA) by replacing the space with parenthesis automatically. If FNMA200.100 or similar id is provided without any letter, pass it as is. If ticket has # like N25.1(#1), pass as is. - Optional keyword filtering to retrieve specific fields only - No calculations required - pure reference data lookup USE CASES: - Bond identification and basic information lookup - Security screening and filtering - Portfolio composition analysis - Credit rating verification DEFAULT: If idType not specified, defaults to 'CUSIP'. ASYNC STATUS CHECK: If a previous request was still processing (returned jobRef and requestId), call this same tool with only { "jobRef": "...", "requestId": "..." } to check if results are ready. Do not include identifiers or other parameters when checking status.
fixed_income_bond_reference
**BEFORE CALLING: Count bonds first. MAX 10 BONDS PER CALL.** If user has >10 bonds, split into multiple calls BEFORE executing (e.g., 25 bonds = 3 calls: 10 + 10 + 5). Do NOT attempt >10 bonds - it will fail. Calculate bond cashflow schedules via YieldBook Cashflow API. Returns payment dates, principal, interest, and prepayment projections for Fixed rate, MBS/RMBS/CMBS, CMO, FRN, Municipal, Agency securities. For MBS/ABS bonds, include the prepay type and rate used in the output (e.g., "Running with Model 100" or "Running with CPR 6"). This is not applicable to corporate or government bonds. MBS/TBA/CMO PREPAY DEFAULTS — ALWAYS INCLUDE for mortgage-backed securities: When requesting cashflows for MBS, TBA, CMO, or ABS bonds, you MUST include prepay settings with BOTH type AND rate: - Default: prepay: {"type": "Model", "rate": 100} — runs the YieldBook prepay model at 100% of projected speed. - Omitting rate causes a "PrepayRate not specified" error. Always include both type AND rate together. PREPAY MODEL VERSIONS (updated annually): Model/CurrentModel/NewModel=25.1, OldModel=24.1, PreExpModel=97, ExpModel=99. For rate types: CPR (e.g., 6=6% CPR), PSA (e.g., 150=150% PSA). REQUIRED PARAMETERS (per bond): - identifier: Bond ID (CUSIP, ISIN, or YieldBook ID). FNMA or GNMA or similarIDENTIFIER FORMAT: If a user provides space-separated notation like FNMA11.100 F or FNMA20.100 BA, change it to FNMA11.100(F) or FNMA20.100(BA) by replacing the space with parenthesis automatically. If FNMA200.100 or similar id is provided without any letter, pass it as is (no parentheses needed). If ticket has # like N25.1(#1), pass as is. OPTIONAL PARAMETERS (per bond): - idType, parAmount, settlementType, settlementDate, curve {curveType, currency, retrieveCurve}, prepay {type, rate}, floaterSettings {useForwardIndex}, userTag GLOBAL SETTINGS - ALWAYS INCLUDE in every request: - globalSettings is REQUIRED. Always send globalSettings with a date option. If user does not specify, default to { usePreviousClose: true }. - keywords: Array of output fields to include (optional) DATE OPTIONS (mutually exclusive - only ONE allowed): - usePreviousClose=true: Use previous market close (DEFAULT - use this when user does not specify) - useLiveData=true: Use live intraday market data - pricingDate: Use specific historical date (YYYY-MM-DD) SETTLEMENT NOTE: Setting a custom settlementDate should NOT change the pricing date or globalSettings. Only set settlementType to 'CUSTOM' and provide settlementDate on the bond. FLOATER/FORWARDS NOTE: When user asks to "use forwards" or "run with forwards", apply floaterSettings: { useForwardIndex: true } to ALL bonds in the request, not just FRNs. KEYWORDS NOTE: Prefer omitting keywords entirely for cashflow queries to get all data. If keywords are used, the cashflow section keyword is "dataPaymentList" (NOT sub-field names like paymentDate or principal). NOTE: dataPaymentList is returned in columnar format as { columns: string[], rows: any[][] } for token efficiency, not as an array of objects. ASYNC STATUS CHECK: If a previous calculation was still processing (returned jobRef and requestId), call this same tool with only { "jobRef": "...", "requestId": "..." } to check if results are ready. Do not include bonds or other parameters when checking status.
fixed_income_cashflow_analytics
Retrieve interest rate curves and related data via YieldBook Curves API. Returns par rates, spot rates, forward rates, and discount factors for specified curve types and currencies. USE THIS TOOL when the user wants to retrieve or view a yield curve. CURVE FORMAT: curves: Array of curve request objects, each with: - curveId: Curve identifier (REQUIRED). MUST be unique across all curves in the request. Use a descriptive label like "USD_GVT", "EUR_SWAP_RFR", etc. to distinguish each curve. Do NOT reuse the same curveId for different curves. - curveType: Type of curve (REQUIRED, e.g., "GVT", "SWAP", "SWAP_RFR", "GVT_MUNI") - currency: 3-letter ISO currency code (REQUIRED, e.g., "USD", "EUR", "GBP", "JPY") - expandCurve: Return full curve detail (optional, DEFAULT false) - pricingDate: Historical date for curve data in YYYY-MM-DD format (optional) - showSpotRate: Include spot rates (optional, DEFAULT false) - showForwardRate: Include forward rates (optional, DEFAULT false) - showDiscountFactor: Include discount factors (optional, DEFAULT false) - forwardPeriod: Forward period in months (optional, DEFAULT 0) - impliedForwardDelay: Implied forward delay in months (optional, DEFAULT 0) - index: Index name for the curve (optional) - useLiveCurve: Use live/real-time curve data (optional, DEFAULT false) EXAMPLE - Basic curve retrieval: { "curves": [ { "curveId": "USD_GVT", "curveType": "GVT", "currency": "USD" } ] } EXAMPLE - Full curve with all rate types: { "curves": [ { "curveId": "TEST", "curveType": "SWAP_RFR", "currency": "USD", "showSpotRate": false, "showForwardRate": false, "showDiscountFactor": false, "expandCurve": false } ] } EXAMPLE - Multiple curves (note unique curveIds): { "curves": [ { "curveId": "USD_GVT", "curveType": "GVT", "currency": "USD" }, { "curveId": "USD_SWAP_RFR", "curveType": "SWAP_RFR", "currency": "USD", "index": "SOFR" }, { "curveId": "EUR_GVT", "curveType": "GVT", "currency": "EUR" } ] } DEFAULTS: expandCurve=false, showSpotRate=false, showForwardRate=false, showDiscountFactor=false unless explicitly told to be true. OUTPUT FORMAT NOTE: The "points" array in curve responses is returned in columnar format as { columns: string[], rows: any[][] } for token efficiency, not as an array of objects.
fixed_income_curves
Retrieve historical data for a bond via YieldBook Historical Data API. Returns time-series data for a specified keyword (metric) and date range. REQUIRED PARAMETERS: - identifier: A single TBA bond identifier (CMOs are NOT supported). Accepts: agency coupon identifiers (e.g., FNMA5-GEN, FNMA5.5-GEN, GNMA6-GEN) or CUSIPs starting with 99999 or 01F0 (e.g., 999997LI, 999990CV). Do NOT pass CMO identifiers - those carry a tranche in parentheses (e.g., FNMA11.100(F), GNMA230.100(BA)), use the origination-year.series form (e.g., FNMA11.100), or have a non-TBA CUSIP prefix; they will be rejected. - keyword: The data metric to retrieve (e.g., "yieldToPut" for yield/ YIELD/ yield to put/ yield to price, "price" for price/ PRICE, "oas.LMM" for option-adjusted spread). - startDate: Start date for historical data in YYYY-MM-DD format. OPTIONAL PARAMETERS: - frequency: The sampling frequency for historical data points. Supported values: DAILY, WEEKLY, MONTHLY, QUARTERLY, YEARLY. DEFAULT: DAILY. - endDate: End date for historical data in YYYY-MM-DD format.It is needed for a time-series/range query when user provides a frequency or gives it explicitly. DATE & FREQUENCY HANDLING: - A single startDate with no frequency = point/snapshot query; - Providing a frequency makes this a time-series query. When the user names a period (e.g. "daily for May 2026"), set startDate to the first day of that period (2026-05-01) and endDate to that month's end-of-month / EOM date (2026-05-31). - If the named month is the current month, cap endDate at today. RETURNED INFORMATION: - Historical time-series data for the requested metric // - Data points with dates and values for the specified keyword USE CASES: 1. **Historical price analysis**: Track bond price changes over time KEY FEATURES: - Single identifier per request (identifier goes in the URL path) - Flexible date range selection - Multiple data metrics available via keyword parameter ASYNC STATUS CHECK: If a previous request was still processing (returned jobRef and requestId), call this same tool with only { "jobRef": "...", "requestId": "..." } to check if results are ready. Do not include other parameters when checking status. EXAMPLE - "Give me the yield history for bond 999997LI from May 14, 2026" {"identifier": "999997LI", "keyword": "yieldToPut", "startDate": "2026-05-14"} EXAMPLE - "Give me daily price history for bond 999990CV from May 14, 2026" {"identifier": "999990CV", "keyword": "price", "startDate": "2026-05-14", "frequency": "DAILY"} EXAMPLE - "Give me daily price history for bond 999990CV for May 2026" {"identifier": "999990CV", "keyword": "price", "startDate": "2026-05-01", "endDate": "2026-05-31", "frequency": "DAILY"}
fixed_income_hist_data
**If the user specifies yieldbook or YB or yb, use THIS tool (fixed_income_risk_analytics). Do NOT use a QPS tool.** **If the user says run a PY / do a PY / run py on a bond, use THIS tool.** **If the user asks for projected speeds, forward-looking speeds, or prepayment projections on a bond or MBS without explicitly asking for actual-vs-projected history, use THIS tool.** DO NOT USE THIS TOOL for yield curve retrieval (use fixed_income_curves) or rate shock/scenario analysis on bonds (use fixed_income_scenario_analytics). **BEFORE CALLING: Count bonds first. MAX 50 BONDS PER CALL.** If user has >50 bonds, split into multiple calls BEFORE executing. Do NOT attempt >50 bonds - it will fail. Calculate bond price/yield metrics via YieldBook PY API. Computes pricing, OAS, duration, convexity, DV01, spreads, and accrued interest. SUPPORTS: Government, Corporate, MBS/CMBS, ABS, Municipal, Callable/Putable, FRN, TIPS, Bond Future, Swap. REQUIRED PARAMETERS (per bond): - identifier: Bond ID (CUSIP, ISIN, or YieldBook ID). FNMA or GNMA or similar IDENTIFIER FORMAT: If a user provides space-separated notation like FNMA11.100 F or FNMA20.100 BA, change it to FNMA11.100(F) or FNMA20.100(BA) by replacing the space with parenthesis automatically. If FNMA200.100 or similar id is provided without any letter, pass it as is (no parentheses needed). If ticket has # like N25.1(#1), pass as is. - level: Price/yield input like "100" (price), "100d" (dollars), "4.5y" (yield), "75/i" (spread) - curve: Must include curveType - use "SWAP_RFR" (SOFR, recommended) or "GVT" (government) MBS/TBA/CMO DEFAULTS — ALWAYS INCLUDE THESE for mortgage-backed securities: When pricing MBS, TBA, CMO, or ABS bonds (identifiers like FNMA*, FHLMC*, GNMA*, or CUSIPs for MBS pools), you MUST include ALL of the following in the FIRST call: 1. volatility: {"type": "Default"} — required for OAS/option-adjusted calculations on MBS. Omitting this causes a "Volatility model is not defined" error. 2. extraSettings: {"optionModel": "OASEDUR"} — required for spread-based analytics on mortgage bonds. These two are MANDATORY for MBS. Do NOT omit either of them. Example MBS bond: {"identifier": "FNMA6.5-TBA", "level": "100", "curve": {"curveType": "SWAP_RFR"}, "volatility": {"type": "Default"}, "extraSettings": {"optionModel": "OASEDUR"}} NOTE: Do NOT include prepaySettings unless the user explicitly requests a specific prepay model or rate. OPTIONAL PARAMETERS: - idType, settlementType, settlementDate, userTag - prepaySettings (MBS/ABS): ONLY if user requests a specific prepay model/rate. {type, rate}. Types: Model (25.1), OldModel (24.1), CPR (e.g., 6=6% CPR), PSA (e.g., 150=150% PSA). Omit entirely otherwise — API defaults are sufficient. - volatility: {type, rate}. Use "Default" for standard vol. Other types: LMMSOFR, LMMSkew, Single, Market, etc. The "rate" field is ONLY allowed when type is "Single". Pass the user's number exactly as given — do NOT divide by 100. - globalSettings: pricingDate (YYYY-MM-DD), useLiveData, usePreviousClose (only one date option allowed), retrievePPMProjection (boolean, default false — set to true to retrieve monthly prepayment projections) - keywords: Array of output fields to include - extraSettings.includePartials: Set to true to include partial (stub) period cashflows in analytics when user mentions "Calculate Partials", "with Partials on", "with Partial Durations", "Key Rate Durations", or any mention of "Partial", "Partials". Example: {"extraSettings": {"includePartials": true}}. NOTE: ONLY use partialVega if user explicitly says "Partial Vegas" (different from Partial Durations). - extraSettings.partialVega: Set to true to calculate partial vega outputs if user explicitly requests "Partial Vegas" (NOT Partial Durations). Example: {"extraSettings": {"partialVega": true}} - extraSettings.volatilityDuration: Set to true to calculate volatility duration. Example: {"extraSettings": {"volatilityDuration": true}} DATE OPTIONS (mutually exclusive): - usePreviousClose=true: Use previous market close (default, most stable) - useLiveData=true: Use live intraday market data - pricingDate: Use specific historical date ASYNC STATUS CHECK: If a previous calculation was still processing (returned jobRef and requestId), call this same tool with only { "jobRef": "...", "requestId": "..." } to check if results are ready. Do not include bonds or other parameters when checking status.
fixed_income_risk_analytics
**BEFORE CALLING: Count bonds first. MAX 50 BONDS PER CALL.** If user has >50 bonds, split into multiple calls BEFORE executing (e.g., 75 bonds = 2 calls: 50 + 25). Do NOT attempt >50 bonds - it will fail. USE THIS TOOL when the user provides specific bonds (CUSIP, ISIN, or identifier) and asks for rate scenario analysis, rate shocks, parallel/non-parallel curve shifts, bear/bull steepeners, flatteners, or horizon analysis. Analyze bond performance under rate scenarios via YieldBook Scenario API. Supports parallel shifts, non-parallel curve twists (different shifts at 2s/5s/10s/30s), and credit spread scenarios. Calculates total return, OAS, duration/convexity across scenarios. Max 50 scenarios per call. **IMPORTANT - SCENARIO COUNT**: Only create the EXACT scenarios the user requests. Do NOT add extra scenarios (like base case, inverse, or intermediate) unless the user explicitly asks. If user similar to "100bp shock", create ONE scenario with parallelShift=100. If user similar to "compare -50, 0, +50", create THREE scenarios. Each additional scenario adds computation time and cost. BOND FORMAT: bonds: Array of bond objects, each MUST include: - identifier: CUSIP/ISIN (REQUIRED). FNMA OR GNMA or similar IDENTIFIER FORMAT: If a user provides space-separated notation like FNMA11.100 F or FNMA20.100 BA, change it to FNMA11.100(F) or FNMA20.100(BA) by replacing the space with parenthesis automatically. If FNMA200.100 or similar id is provided without any letter, pass it as is (no parentheses needed). If ticket has # like N25.1(#1), pass as is. - settlementLevel: REQUIRED. Format: '{value}{suffix}' — no suffix = price, 'd' = dollars, 'y' = yield, '/i' = spread, 'o' = OAS. Use 100 (par) when user does not specify a price. Only use a specific value if the user provides one. **Examples: "100" (price), "100d" (dollars), "4.5y" (4.5% yield), "75/i" (75bp spread), "75o" (OAS 75bp). When user says "at an OAS of 75", use "75o". When user says "at a yield of 4.5", use "4.5y". When user says "at a spread of 75", use "75/i".** - horizonPricingMethod: ALWAYS set to "Default" unless the user explicitly requests a specific pricing method (e.g., "OAS Change", "Price Change"). "Default" lets the backend choose the optimal method per security type. - settlementType: defaults to 'MARKET' - volatility: defaults to {type: 'Default'} - curve: defaults to SWAP_RFR/USD SCENARIO FORMAT: scenarios: Array of scenario definitions, each with: - scenarioID: Unique identifier (e.g., "scenario-1") - scenarioTitle: Human-readable name - curveShifts: [{year: 2, value: -150}, {year: 5, value: -120}, ...] for non-parallel - OR parallelShift: 100 (bp) for simple parallel shift - shiftType: 'Par'|'Spot'|'Forward' - timing: 'Immediate'|'Gradual'|'AtHorizon' BOND HORIZON SETTINGS: bonds[].horizonInfo: [{scenarioID: "scenario-1", level: "-77", pricingMethod: "Default"}] - level: horizon price/spread (e.g., "-77" for credit spread) - pricingMethod: horizon pricing method for that scenario EXAMPLE - Simple scenario: { "bonds": [{"identifier": "81743EAA9", "settlementLevel": "100"}, {"identifier": "81743EAC5", "settlementLevel": "100"}], "scenarios": [{"scenarioID": "bear-steepener", "scenarioTitle": "Bear Steepener", "curveShifts": [{"year": 2, "value": 10}, {"year": 10, "value": 50}, {"year": 30, "value": 75}]}], "horizon": {"days": 0}, "globalSettings": {"calcHorizonEffectiveMeasures": true} } EXAMPLE - With OAS-based settlement (user says similar to "at OAS of 75 in a 100bp shock"): { "bonds": [{"identifier": "3136A1US2", "settlementLevel": "75o"}], "scenarios": [{"scenarioID": "scenario-1", "scenarioTitle": "+100bp Shock", "parallelShift": 100}], "horizon": {"days": 0}, "globalSettings": {"calcHorizonEffectiveMeasures": true} } EXAMPLE - With credit spread and explicit price: { "bonds": [{"identifier": "001055AF9", "settlementLevel": "109.2143", "horizonInfo": [{"scenarioID": "scenario-1", "level": "-77", "pricingMethod": "Default"}]}], "scenarios": [{"scenarioID": "scenario-1", "curveShifts": [{"year": 2, "value": -150}, {"year": 5, "value": -120}, {"year": 10, "value": -100}, {"year": 30, "value": -80}]}], "horizon": {"days": 0}, "globalSettings": {"calcHorizonEffectiveMeasures": true} } EXTRA SETTINGS (per bond, optional): - extraSettings.includePartials: Set to true to include partial durations in scenario analytics when user mentions "Calculate Partials", "with Partials on", "with Partial Durations", "Key Rate Durations", or any mention of "Partial", "Partials". Example: {"extraSettings": {"includePartials": true}} GLOBAL SETTINGS: - calcHorizonEffectiveMeasures: boolean (default true) — ALWAYS include this explicitly in globalSettings on every call, even if the user did not mention it. Default to true unless the user explicitly asks for false. Example: {"globalSettings": {"calcHorizonEffectiveMeasures": true}}. Do NOT put this in extraSettings or per-bond settings. - retrievePPMProjection: boolean (default false) — Set to true inside globalSettings to retrieve monthly prepayment projections. DEFAULTS: settlementLevel=100 (par), shiftType='Par', timing='Immediate', interpolationType='Years', pricingMethod='Default', curve='SWAP_RFR/USD', usePreviousClose=true ASYNC STATUS CHECK: If a previous calculation was still processing (returned jobRef and requestId), call this same tool with only { "jobRef": "...", "requestId": "..." } to check if results are ready. Do not include bonds or other parameters when checking status.
fixed_income_scenario_analytics
To retrieve time series pricing Interday summaries data or Intraday summaries data(i.e. bar data). Optimize queries to minimize token usage: limit row count when possible.
historical_pricing_summaries
Two-phase Credit Curve tool: (1) Call with country + issuerType to list curves. For Corporate, also provide at least one filter: name, sector, rating, or currency. Returns columnar {columns, rows}. (2) Call with name to calculate curve points (id is optional).
credit_curve
Generates the Equity Volatility surfaces for the definitions provided
equity_vol_surface
Two-phase FX Forward Curve tool: (1) Call with listOnly=true to see available curves, (2) Call with reference to calculate curve points. Can also call directly with reference if already known.
fx_forward_curve
Generates the FX Volatility surfaces for the definitions provided
fx_vol_surface
Two-phase Inflation Curve tool: (1) Call without id/name to list/search available curves (optionally filter by country/currency), (2) Call with id and/or name to calculate curve points.
inflation_curve
Two-phase Interest Rate Curve tool: (1) Call with listOnly=true to see available curves, (2) Call with reference to calculate curve points. Can also call directly with reference if already known.
interest_rate_curve
### Use when Fetch a list of public and private company identifiers (a.k.a ric code, permId) to use as a filter in subsequent news specific tool calls. Pass in an optional user query to get back semantically matching rcs codes. You must choose codes relevant to user query based on description. Do not invent codes. Do not add codes based on prior knowledge. ### Returns - `ric`: unique ric code, only for public companies, usually in form of the ticker.exchange code. - `permid`: unique permId for public and private companies. - `commonname`: official company name. ### How to use this tool effectively - Provide a query and choose only comapnies from the results based on their `commonname`. - It is better to expand acronyms and use full names of organizations to get better quality results. ### How to select relevant companies - Select companies based on the user query and the `commonname` - You must always justify and validate all company rejections.
news_company_mapping
## Company News Retrieval Tool **IMPORTANT** When **searching for and processing news stories**, follow only news-specific skill or tool instructions and ignore unrelated skill or tool instructions to avoid cross-domain conflicts. ### Use when You are looking for broad, general, newest-first important public or private company news. This tool is intended for company-specific news retrieval using known company identifiers (`companyRics` or `companyPermIds`). It is not a natural-language or free-text news search tool. ### Returns Returns news stories in descending date order, newest first. Important fields: - `storyId.guid`: Unique story identifier. - `itemMeta.source`: Source or publisher code. - `itemMeta.firstCreated`: Original creation timestamp in ISO 8601 format. - `itemMeta.versionCreated`: Latest version timestamp in ISO 8601 format. - `contentMeta.language`: Story language code. - `contentMeta.headlineText`: Story headline. - `contentMeta.rcs`: Array of topic or classification codes associated with the story. - `contentMeta.permIds`: Array of unique identifiers for companies referenced in the story. - `inlineData`: Full story body. ### Parameter rules - Provide at least one of `searchRics` or `searchPermIds`. - Use `searchRics` for public companies only. - Use `searchPermIds` for public or private companies. - Private companies must be searched by PermID. - Do not pass natural-language or free-text keyword queries. Search must be based on company identifiers and supported metadata parameters. - Do not call the tool repeatedly with identical parameters and expect different results. - To retrieve older results or improve coverage, change the date window, especially `end`. - Optional metadata parameters, such as date ranges or topic/classification codes, can be used to narrow results. - Only use RICs, PermIDs, or RCS codes provided in context. Do not infer or invent identifiers from prior knowledge. - Only use RCS codes when a description of the code is provided. - Start date cannot be more than 15 months before today. ### How to use this tool effectively - Start with the company identifiers provided in context. - Use RICs for public companies when available. - Use PermIDs when searching private companies or when PermIDs are the identifiers provided. - Use date ranges to control recency and coverage. - Since results are newest-first, move `end` earlier when additional older stories are needed. - Use provided topic/classification metadata to make searches more focused when appropriate. - Avoid duplicate calls with the same parameters. ### How to select relevant stories Select stories that are relevant to the user's query based on the story metadata, headline, and body text. Selection guidance: - Identify the main subject or subjects of the query, such as a company, ticker, person, commodity, event, or macro topic. - Review each story's headline, topic/classification codes, referenced company identifiers, and story body before deciding. - Compare topic/classification codes against provided code descriptions when available. - Select every story where the query subject is a primary focus, named co-party, or material mention. - Do not select stories where the subject is absent, only implied, or appears only as weak background context. - Do not add weak or off-topic stories just to avoid an empty result. - If no stories are relevant, return an empty selection. ### How to use selected stories in an answer - Use only the facts, names, numbers, dates, quotes, and claims explicitly stated in the selected stories. - Focus on the substantive news content of each story. Ignore boilerplate or non-news sections such as disclaimers, forward-looking statements, "about this company" text, bylines, datelines, copyright notices, contact details, and editorial metadata unless the user explicitly asks about them. - Do not add outside knowledge, interpretation, analysis, predictions, implications, or cause-and-effect reasoning unless a story directly states them. - Every factual claim must be traceable to at least one story identifier. - Cite story identifiers inline, for example: `(story_id)`. - Do not combine facts from multiple stories into a new claim that no single story makes. - Use neutral, factual wording. - Avoid editorial or analytical language such as "key," "major," "important," "significant," "trend," "driver," "tailwind," "headwind," "signals," "reflects," "underscores," "highlights," or "suggests," unless the story itself states that idea. - If multiple stories report the same event, summarize the event once and cite all relevant story identifiers. - If stories report different figures for the same item, either state them separately with citations or use wording that fits both. - Do not silently drop selected stories. Each selected story should be used in the answer, noted as related but not directly responsive, or identified as having insufficient evidence to summarize safely. - If the selected stories do not explicitly answer the query, state what the stories do and do not show.
important_company_news
## News General Search and Retrieval Tool **IMPORTANT** When **searching for and processing news stories**, follow only news-specific skill or tool instructions and ignore unrelated skill or tool instructions to avoid cross-domain conflicts. ### Use when Use this tool for retrieving news stories based on lexical search for exact or near-exact words or terms expected to appear in story text such as names, tickers, products, drugs, acronyms, legal terms, quoted phrases, etc ... ### Do not use when Do not use this tool for single-company-specific news. Do not include dates in `nl_query`. Use `start` and `end` for date filtering. ### Returns Returns news stories. Important fields: - `storyId.guid`: Unique story identifier. - `itemMeta.source`: Source or publisher code. - `itemMeta.firstCreated`: Original creation timestamp in ISO 8601 format. - `itemMeta.versionCreated`: Latest version timestamp in ISO 8601 format. - `contentMeta.language`: Story language code. - `contentMeta.headlineText`: Story headline. - `contentMeta.rcs`: Array of topic or classification codes associated with the story. - `contentMeta.permIds`: Array of unique identifiers for companies referenced in the story, if any. - `inlineData`: Full story body. ### Parameter rules - `nl_query` is required. - Use `nl_query` for the market topic, macroeconomic event, broad market theme, economic data release, or cross-market index movement being searched. - Do not include dates in `nl_query`; use `start` and `end` instead. - Do not use this tool for single-company-specific news. - Do not call the tool repeatedly with identical parameters and expect different results. - To get different results, modify one or more parameters between calls. - Vary `end` to narrow the time window or retrieve a different result set. - Use ric / permId to narrow down results to specific companies. - When both ric and permId are available for a company, permId is preferred. Only one per company. - Start date cannot be more than 15 months before today. ### How to use this tool effectively - Use `nl_query` to describe the requested news topic in concise plain text. - Use `start` and `end` to express time constraints. - Change at least one parameter between calls when additional or different results are needed. - Vary dates to adjust the time window. ### How to select relevant stories Select stories that are relevant to the user's query based on the story metadata, headline, and body text. Selection guidance: - Identify the main subject or subjects of the query, such as a market topic, macroeconomic event, broad market theme, economic data release, or index movement. - Review each story's headline, topic/classification codes, referenced company identifiers, and story body before deciding. - Compare topic/classification codes against provided code descriptions when available. - Select every story where the query subject is a primary focus, named co-party, or material mention. - Do not select stories where the subject is absent, only implied, or appears only as weak background context. - Do not add weak or off-topic stories just to avoid an empty result. - If no stories are relevant, return an empty selection. ### How to use selected stories in an answer - Use only the facts, names, numbers, dates, quotes, and claims explicitly stated in the selected stories. - Focus on the substantive news content of each story. Ignore boilerplate or non-news sections such as disclaimers, forward-looking statements, "about this company" text, bylines, datelines, copyright notices, contact details, and editorial metadata unless the user explicitly asks about them. - Do not add outside knowledge, interpretation, analysis, predictions, implications, or cause-and-effect reasoning unless a story directly states them. - Every factual claim must be traceable to at least one story identifier. - Cite story identifiers inline, for example: `(story_id)`. - Do not combine facts from multiple stories into a new claim that no single story makes. - Use neutral, factual wording. - Avoid editorial or analytical language such as "key," "major," "important," "significant," "trend," "driver," "tailwind," "headwind," "signals," "reflects," "underscores," "highlights," or "suggests," unless the story itself states that idea. - If multiple stories report the same event, summarize the event once and cite all relevant story identifiers. - If stories report different figures for the same item, either state them separately with citations or use wording that fits both. - Do not silently drop selected stories. Each selected story should be used in the answer, noted as related but not directly responsive, or identified as having insufficient evidence to summarize safely. - If the selected stories do not explicitly answer the query, state what the stories do and do not show.
news_nl_search
### Use when Fetch a list of topic / classification codes (a.k.a rcs code) to use as a filter in subsequent news specific tool calls. Pass in an optional user query or keywords to get back semantically matching rcs codes. You must choose codes relevant to user query based on description. Do not invent codes. Do not add codes based on prior knowledge. ### Returns - `code`: unique rcs code. - `short_name`: high level description of the classification. ### How to use this tool effectively - Provide a query and choose only codes from the results based on their descriptions. - It is better to expand acronyms and use full names of organizations to get better quality results. ### How to select relevant codes - Select max 5 codes that best match all of the query's topics or none if there are no good matches. - Do not consider code overlaps or specificity as selection criteria. - Multi-topic queries need at least one code per distinct topic. - You must always justify and validate all code rejections.
news_rcs_mapping
Calculate bond pricing, valuation, and analytics from an existing bond defined from its code (ISIN, RIC, CUSIP or AssetId).
bond_price
**THIS IS A QPS TOOL — NOT YIELD BOOK. If the user mentions yieldbook anywhere in their request, you MUST NOT use this tool.** Calculate bond future pricing, valuation, and analytics from an existing bond future defined from its instrument code (RIC or other identifier). Use only when the user does NOT specify yieldbook.
bond_future_price
Calculate FX forward pricing, valuation, and analytics using LSEG FX Forward API v2. For cross-currency pairs 'via' another currency (e.g., NOK/SEK via EUR), use crossCurrency=NOKSEK and set referenceCurrency=EUR in pricingPreferences.
fx_forward_price
Calculate FX spot pricing, valuation, and analytics using LSEG FX Spot API v2
fx_spot_price
Calculate option valuation and analytics using LSEG Option API v1. Provides detailed risk metrics including Delta (price sensitivity), Gamma (delta sensitivity), Theta (time decay), Vega (volatility sensitivity), and Rho (interest rate sensitivity). Supports vanilla options (European, American, Bermudan), exotic barrier options (knock-in/knock-out with rebates), binary options for FX (OneTouch, NoTouch, Digital with fixed payouts), and Asian options (price/strike averaging with arithmetic/geometric calculation). Calculates market values, intrinsic values, time premiums, implied volatility, hedge ratios, leverage, moneyness ratios, premium over cash, and annualized yields.
option_value
**THIS IS A QPS TOOL — NOT YIELDBOOK. If the user mentions "yieldbook" anywhere in their request, you MUST NOT use this tool. Use fixed_income_risk_analytics instead.** Two-phase IR Swap tool: (1) Call with currency (+ optional swapType/indexName) to list available swap templates, (2) Call with swaps array to price swaps using templates. Returns template info or pricing results with risk metrics.
ir_swap
Retrieve reported QA company fundamentals (historical financial statements) and measure metadata via dedicated subtools. Do NOT use for forecast questions—forward-looking estimates belong to qa_ibes_consensus.
qa_company_fundamentals
Primary source for forward-looking QA IBES analyst data. Use qa_ibes_consensus for future fiscal guidance (e.g., Rev FY25-27), qa_ibes_actuals for reported historical results, and qa_ibes_measures for metadata. Always submit a requests array with entries specifying dataType (qa_ibes_consensus | qa_ibes_actuals | qa_ibes_measures) and matching options.
qa_ibes_consensus
Access LSEG QA macroeconomic database for historical economic indicators worldwide. Provides time series data, metadata search, and latest observations. HISTORICAL DATA ONLY - No forecasts available. THREE-PHASE WORKFLOW: 1. DISCOVERY (list) → Search for indicators 2. VERIFICATION → Check units, frequency, date range 3. RETRIEVAL (latest/series) → Get the data REQUEST STRUCTURE: Submit array of requests with dataType and options: { "requests": [ {"dataType": "list|latest|series", "options": {...}} ] } DATATYPE: "list" (Search Indicators) Find indicators by description and/or country. Parameters: - mnemonic: Search code with wildcards (e.g., "US*CPI*") - description: Search description (e.g., "*GDP*", "*unemployment*") - marketDescription: Search country (e.g., "*united states*", "*china*") - frequency: Filter by "ANNL", "MONT", "QUAR", "WTH", "WMO", "WWE", "WFR", "WTU", "DWY" - limit: Max results (default 25, max 200) - offset: Skip records for pagination Returns: mnemonic, description, market, frequency, unit, source, startDate Present as: Markdown table with columns: Mnemonic | Description | Frequency | Unit | Start Date Example: {"dataType": "list", "options": {"description": "*GDP*", "marketDescription": "*united states*"}} DATATYPE: "latest" (Current Value) Get most recent observation for an indicator. Parameters: - mnemonic: Exact code from list search (required) Returns: period, value, unit, frequency, asOf date, revised status Example: {"dataType": "latest", "options": {"mnemonic": "USI64..XF"}} DATATYPE: "series" (Time Series) Retrieve historical data for an indicator. Parameters: - mnemonic: Exact code (required) - from: Start date YYYY-MM-DD (inclusive, optional) - to: End date YYYY-MM-DD (inclusive, optional) - limit: Max observations (use 200 for 10+ years) - order: "asc" (oldest first) or "desc" (newest first, default) - frequency: Override default - "M", "Q", "A", "W", "D" - includeRevisions: Include all revisions (default false) Returns: Array of {period, value, unit, revised, asOf} Present as: Markdown table with columns: Year/Period | Value (with unit in header) - Format numbers with thousand separators - Include currency/percentage in header or values - Sort chronologically Tips: - Use limit: 200 for long series (10+ years) - Default may return only recent data without date filters - Check resultCount for total observations Example: {"dataType": "series", "options": {"mnemonic": "USI64..XF", "from": "2014-11-01", "limit": 200}} COMMON INDICATORS: United States: - GDP (quarterly, billions): USGDP...B - CPI %YOY (monthly): USI64..XF - Unemployment % (monthly): USUN%TOTQ - Fed Funds % (monthly): USI60... - Non-Farm Payrolls (monthly, thousands): USEMPALLO - 10Y Treasury % (daily): FRTCM10 Country Codes: US=USA, CN=Canada, UK=UK, BD=Germany, FR=France, CH=China, JP=Japan, BR=Brazil, ES=Spain Frequency Codes: - ANNL/A: Annual - QUAR/Q: Quarterly - MONT/M: Monthly - WFR/W: Weekly - DWY: Daily GDP %YOY Patterns: - China: CHGDP..*C - Euro Area: EKESNGD&Q - Germany: BDGDPDEY* - France: FRGDP..*D - Spain: ESGDP..*B GDP PER CAPITA CALCULATION: NOT directly available - must calculate manually. Critical Steps: 1. Find both GDP and population indicators via list search 2. VERIFY UNITS before calculating (critical!) 3. Calculate with correct unit conversion Common Patterns: US (IMF): - GDP: USY99B.CB = millions USD (annual) - Population: USI99Z..O = thousands (annual) - Formula: (GDP_millions / Pop_thousands) × 1,000 - ⚠️ USI99Z..O has corrupt data 1948-1949 - use 1950+ US (BEA): - GDP: USGDP...B = billions USD (quarterly, annualized) - Population: USPOPTOTP = thousands (monthly) - Formula: (GDP_billions × 1,000) / Pop_thousands Other Countries: - IMF pattern: [CC]Y99B.CB (GDP), [CC]I99Z..O (Pop) - Units vary - always verify actual values - Cross-reference World Bank/IMF published figures Always validate result against published sources! DATE FORMATS IN RESULTS: - Monthly: "YYYY-MM" (e.g., "2024-01") - Quarterly: "YYYY-QN" (e.g., "2024-Q3") - Annual: "YYYY" - Daily: "YYYY-MM-DD" MULTIPLE REQUESTS: Combine requests in one call: { "requests": [ {"dataType": "list", "options": {"description": "*inflation*", "marketDescription": "*spain*"}}, {"dataType": "series", "options": {"mnemonic": "USI64..XF", "from": "2024-01-01"}}, {"dataType": "latest", "options": {"mnemonic": "USUN%TOTQ"}} ] } LIMITATIONS: ❌ No forecasts or consensus estimates ❌ No real-time data (indicator lag varies) ❌ No market prices (stocks, commodities) ❌ Coverage varies by country/indicator TROUBLESHOOTING: "No data available": - Check startDate - data may not exist for period - Recent data may not be published yet - Try broader date range Unexpected values: - Verify units (millions vs billions vs thousands) - Check if values are rates, indices, or absolute numbers - Validate against known published figures Limited results: - Use limit parameter for long series - May need pagination for very long histories DATA SOURCES: National agencies (BLS, BEA, Eurostat), central banks (Fed, ECB), international orgs (IMF, OECD, World Bank), and private providers.
qa_macroeconomic
SocGen CofBox — visualize implied Cost of Funding (COF) levels on equity indices. COF measures the financing cost of holding equity index positions via derivatives (futures, TRS, synthetics). UNIVERSE: 113 equity indices across EMEA (54), Asia Pacific (20), Americas (27), and Global (12). Standard tier: SX5E, SPX, NKY only. HISTORY: Up to 15 years of historical data (Premium). Standard tier: 1 week. DIVIDEND TREATMENTS: CofDiv100pct, CofDivNtr (Standard + Premium), CofDivMarket (Premium only). SUBTOOLS: - cofbox_instruments: Discover available instruments, get maturity details, search by underlying/currency/rate. **Call this first.** - cofbox_analysis: Run COF analysis (Cof, FwdCof, RollDownCof) with different dividend assumptions. TYPICAL WORKFLOW: 1. Request cofbox_instruments (action 'list') to discover instrument codes 2. Request cofbox_instruments (action 'details') to get maturity codes (listed and running maturities) 3. Request cofbox_analysis (action 'run') with discovered codes USE CASES: - Assess if derivatives are trading expensive/cheap vs historical levels - Take long/short COF position on the term structure - Choose the optimal derivatives maturity to trade - Compare financing costs across equity indices and regions - Identify dislocations and run optimization for carry strategies using historical data - Analyse dividend assumption sensitivity (100% vs market-implied vs NTR) USED BY: Hedge Funds, Treasury desks, Insurers, Pension Funds, Risk departments. Submit a requests array with entries specifying dataType (cofbox_instruments | cofbox_analysis) and matching options. Multiple requests can be combined in a single call for efficiency. DEFAULTS FOR SMALLER RESPONSES: - cofbox_analysis defaults omitted analysisTypes to ["Cof"] as a first-pass response-size guardrail. - If the user asks for a full view/compare/sensitivity analysis, include FwdCof and RollDownCof. - cofbox_analysis defaults omitted cofTypes to ["CofDiv100pct"] as a first-pass default; include CofDivMarket/CofDivNtr when comparison is requested. TOKEN LIMIT — action:"list" is supported, but the full list can return 500+ instruments (~205KB) and may overflow the context window. Prefer action:"search" (or action:"list" with instrumentCodes) when the user asks for a region/index subset. If the user explicitly asks for the full universe, action:"list" is valid. REGION-TO-UNDERLYING MAPPING FOR action:"search": - EMEA / Europe: SX5E, DAX, CAC, AEX, FTSE, IBEX, FTSEMIB - Americas / US: SPX, INDU, NDX, RTY, IBOV - Asia Pacific: NKY, HSI, HSCEI, AS51, KOSPI2 - Global / World: MXEF, MXEA, NDDUWI When the user asks by region, ask: "There are 500+ instruments across EMEA, Americas, Asia Pacific and Global. Which region or index are you interested in?" Then call action:"search" with a representative underlyingCode instead of action:"list". CALL EXAMPLE — list all instruments: { "requests": [{ "dataType": "cofbox_instruments", "options": { "action": "list" } }] } CALL EXAMPLE — get maturity codes for SX5E (do this before running analysis): { "requests": [{ "dataType": "cofbox_instruments", "options": { "action": "details", "instrumentCodes": ["SX5E_EUR_EON"] } }] } CALL EXAMPLE — search instruments by underlying index: { "requests": [{ "dataType": "cofbox_instruments", "options": { "action": "search", "underlyingCode": "SPX" } }] } CALL EXAMPLE — list available analysis types and dividend treatments: { "requests": [{ "dataType": "cofbox_analysis", "options": { "action": "list_types" } }] } CALL EXAMPLE — run COF analysis for SX5E using a maturity code returned by action 'details': { "requests": [{ "dataType": "cofbox_analysis", "options": { "action": "run", "instruments": [{ "instrumentCode": "SX5E_EUR_EON", "maturitiesCodes": ["<maturityCodeFromDetails>"] }], "analysisTypes": ["Cof"], "cofTypes": ["CofDivNtr"] } }] } CALL EXAMPLE — discover maturities and run analysis in one call: { "requests": [{ "dataType": "cofbox_instruments", "options": { "action": "details", "instrumentCodes": ["SX5E_EUR_EON"] } }, { "dataType": "cofbox_analysis", "options": { "action": "run", "instruments": [{ "instrumentCode": "SX5E_EUR_EON", "maturitiesCodes": ["<maturityCodeFromDetails>"] }], "analysisTypes": ["Cof"], "cofTypes": ["CofDivNtr"] } }] }
cofbox
SocGen FX Event Tracker — analyse historical overnight (O/N) implied volatility around FX market events (central bank meetings, elections, NFP, holidays). SUBTOOLS: - fx_event_currency_pairs: List available currency pairs. **Call this first.** - fx_event_market_events: Discover market events (dates & titles) for a currency pair. - fx_event_premiums: Compute event premiums (O/N vol difference between event and reference dates), or retrieve historical O/N volatility for single dates or date ranges. TYPICAL WORKFLOW: 1. Request fx_event_currency_pairs to discover available pairs (e.g., EUR/USD, GBP/USD) 2. Request fx_event_market_events with a currency pair to find upcoming events 3. Request fx_event_premiums (action 'compute') with event date, ref date, and history range USE CASES: - Quantify the volatility premium the market prices around scheduled events - Compare event premium evolution over time for a given currency pair - Assess if FX options around events are priced cheap/expensive vs history - Back-test event-driven FX options strategies using historical O/N vol data - Identify structural patterns in event premiums across different event types USED BY: FX Options desks, Macro Hedge Funds, Volatility traders, Risk managers. Submit a requests array with entries specifying dataType (fx_event_currency_pairs | fx_event_market_events | fx_event_premiums) and matching options. Multiple requests can be combined in a single call for efficiency. DEFAULTS FOR SMALLER RESPONSES: - fx_event_market_events defaults omitted pageSize to 25. - fx_event_market_events defaults omitted startDate to today (future-forward), even when eventTitle is provided. - fx_event_premiums compute defaults omitted startDate/endDate to a 1-year lookback ending on eventDate. - Prefer a single compute request unless the user explicitly asks for multiple events or pairs. CALL EXAMPLE — list available currency pairs: { "requests": [{ "dataType": "fx_event_currency_pairs", "options": {} }] } CALL EXAMPLE — get ECB meeting events for EUR/USD: { "requests": [{ "dataType": "fx_event_market_events", "options": { "currencyPair": "EUR/USD", "eventTitle": "ECB", "pageSize": 10 } }] } CALL EXAMPLE — compute vol premium for a single event (startDate/endDate optional, default 1-year lookback): { "requests": [{ "dataType": "fx_event_premiums", "options": { "action": "compute", "requests": [{ "currencyPair": "EUR/USD", "eventDate": "2025-04-17", "refDate": "2025-04-16" }] } }] } CALL EXAMPLE — historical O/N vol for a date range (note: currencyPair is top-level, NOT inside requests[]): { "requests": [{ "dataType": "fx_event_premiums", "options": { "action": "volatility_overnight_range", "currencyPair": "EUR/USD", "volatilityOvernightStartDate": "2025-01-01", "volatilityOvernightEndDate": "2025-04-17" } }] } CALL EXAMPLE — discover events and compute premium in one call: { "requests": [{ "dataType": "fx_event_market_events", "options": { "currencyPair": "EUR/USD" } }, { "dataType": "fx_event_premiums", "options": { "action": "compute", "requests": [{ "currencyPair": "EUR/USD", "eventDate": "2025-04-17", "refDate": "2025-04-16" }] } }] }
fx_event_tracker
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 LSEG alternatives on ChatGPT?
As of 2026-08-14, LSEG competes with Aiera, AIR Credit Intelligence, Alpha Vantage, Bigdata.com, Clarity AI, CredCore - Tusk Liquid, Daloopa, FactorWeave, FactSet AI-Ready Data, Financial Datasets, Financial Summarizer Pro, FinancialFilings, FinRank Shiver, Fiscal.ai, FMP, Mansa African Markets, MetricDuck, Moody's Credit MCP, Moody’s, MSCI Connector, MT Newswires, Multiples.vc, Octus, Pinegap, Quartr, S&P Global, Theia Insights, Trata, WikiFx, Zacks Financial Data in ChatGPT Institutional Financial Data & Equity Research Platforms, 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.