finance
| Kind | kit |
|---|---|
| Categories | finance data |
| Keywords | finance market-data providers normalization |
Provider-neutral finance types for Kit
This package is the first boundary for a future normalized finance facade above provider-specific packages such as kit-yahoo-finance, kit-finnhub, and kit-fmp.
Current Scope
This initial slice exports shared types, a provider enum, and the first normalized adapter:
FinanceProviderFinanceErrorFinanceProviderFailureFinanceProvidedValue aFinanceAdapterFinanceCapabilityFinanceCapabilityDetailsSecurityQuotePriceBarSymbolMatchCompanyOverviewKeyExecutiveSharesFloatEarningsResultHistoricalEarningsCalendarEventEarningsCallDateEarningsCallTranscriptAnalystEstimatePeriodAnalystEstimateRatingSnapshotHistoricalRatingAnalystGradeChangeRecommendationSummaryPriceTargetSummaryFinancialHealthScoreSECFilingRevenueSegmentationPeriodRevenueSegmentValueRevenueSegmentationRowDividendEventSplitEventMarketStatusFinanceDateRangeFinanceHistoryRangeFinanceIntervalFinanceTimestampRangeget-quoteget-quote-preferredget-quote-preferred-with-providersearch-symbolssearch-symbols-preferredsearch-symbols-preferred-with-providerget-price-historyget-price-history-preferredget-price-history-preferred-with-providerget-price-history-rangeget-price-history-range-preferredget-price-history-range-preferred-with-providerget-price-targetsget-price-targets-preferredget-price-targets-preferred-with-providerget-financial-health-scoreget-financial-health-score-preferredget-financial-health-score-preferred-with-providerget-sec-filingsget-sec-filings-preferredget-sec-filings-preferred-with-providerget-revenue-product-segmentationget-revenue-product-segmentation-preferredget-revenue-product-segmentation-preferred-with-providerget-revenue-geographic-segmentationget-revenue-geographic-segmentation-preferredget-revenue-geographic-segmentation-preferred-with-providerget-key-executivesget-key-executives-preferredget-key-executives-preferred-with-providerget-shares-floatget-shares-float-preferredget-shares-float-preferred-with-providerget-historical-earnings-calendarget-historical-earnings-calendar-preferredget-historical-earnings-calendar-preferred-with-providerget-earnings-call-datesget-earnings-call-dates-preferredget-earnings-call-dates-preferred-with-providerget-earnings-call-transcriptget-earnings-call-transcript-preferredget-earnings-call-transcript-preferred-with-providerget-analyst-estimatesget-analyst-estimates-preferredget-analyst-estimates-preferred-with-providerget-rating-snapshotget-rating-snapshot-preferredget-rating-snapshot-preferred-with-providerget-historical-ratingsget-historical-ratings-preferredget-historical-ratings-preferred-with-providerget-analyst-grade-changesget-analyst-grade-changes-preferredget-analyst-grade-changes-preferred-with-providerget-recommendationsget-recommendations-preferredget-recommendations-preferred-with-providerget-earnings-resultsget-earnings-results-preferredget-earnings-results-preferred-with-providerget-market-statusget-market-status-preferredget-market-status-preferred-with-providerget-company-overviewget-company-overview-preferredget-company-overview-preferred-with-providerget-dividendsget-dividends-preferredget-dividends-preferred-with-providerget-dividends-rangeget-dividends-range-preferredget-dividends-range-preferred-with-providerget-splitsget-splits-preferredget-splits-preferred-with-providerget-splits-rangeget-splits-range-preferredget-splits-range-preferred-with-provideradapter-namecapability-nameprovider-capabilityprovider-capability-detailsprovider-capability-matrixsupports-adapter?supported-adapterserror-kindprovided-providerprovided-valueerror-messagepreferred-provider-failures
It does not yet implement caching or the broader fetch surface.
It now includes ordered-provider helper wrappers across the current normalized read adapters.
FinanceTimestampRange is provider-facing Unix seconds; calendar formatting inside the facade converts through milliseconds when it uses Kit's Time builtins.
It also exposes provider capability metadata so callers can distinguish full, partial, and unsupported adapters before they invoke the facade, and inspect machine-readable field gaps for partial adapters.
Installation
kit add gitlab.com/kit-lang/packages/kit-finance.gitUsage
import Kit.Finance as Finance
provider = Finnhub {api-key: "demo"}
quote = SecurityQuote {
symbol: "AAPL",
price: 210.25,
change: 1.10,
change-percent: 0.53,
timestamp: 1713139200,
open: Some 209.20,
high: Some 211.00,
low: Some 208.90,
previous-close: Some 209.15,
volume: Some 51234000,
market-cap: Some 3200000000000.0,
name: Some "Apple Inc.",
exchange: Some "NASDAQ",
provider: Finance.provider-name provider
}Examples
examples/capabilities.kitprints the current provider capability matrix, including field-level gaps for partial adaptersexamples/fmp-analyst-research.kitshows the normalized FMP-backed analyst-research path throughkit-financeexamples/fmp-fundamentals.kitshows the normalized FMP-backed company-information path throughkit-financeexamples/fmp-earnings-research.kitshows the normalized FMP-backed earnings-research path throughkit-financeexamples/preferred-provider.kitshows how*-preferred-with-provider,provided-provider, andprovided-valuework together on success and how to inspect ordered fallback failuresexamples/preferred-search.kitshows the same success/error pattern forsearch-symbols-preferred-with-provider
Current Adapter Coverage
get-quotenormalizes Yahoo and Finnhub quote responses intoSecurityQuoteget-quote-preferredtries providers in order until one quote request succeedsget-quote-preferred-with-providerdoes the same but returns{provider, value}search-symbolsnormalizes Yahoo and Finnhub search results intoSymbolMatchsearch-symbols-preferredtries providers in order until one symbol search succeedssearch-symbols-preferred-with-providerdoes the same but returns{provider, value}get-price-historyandget-price-history-rangenormalize Yahoo bars and Finnhub candles intoPriceBarget-price-history-preferredandget-price-history-range-preferredtry providers in order for normalized history requestsget-price-history-preferred-with-providerandget-price-history-range-preferred-with-provideralso preserve the winning provider on successget-price-targetsnormalizes Yahoo analyst price target summaries and FMP price target consensus rows intoPriceTargetSummaryget-price-targets-preferredtries providers in order until one price-target request succeedsget-price-targets-preferred-with-providerdoes the same but returns{provider, value}get-financial-health-scorenormalizes FMP financial score rows intoFinancialHealthScoreget-financial-health-score-preferredtries providers in order until one financial-health request succeedsget-financial-health-score-preferred-with-providerdoes the same but returns{provider, value}get-sec-filingsnormalizes FMP filing rows intoSECFiling, with explicitfiling-typefiltering andlimitpassthroughget-sec-filings-preferredtries providers in order until one SEC filings request succeedsget-sec-filings-preferred-with-providerdoes the same but returns{provider, value}get-revenue-product-segmentationnormalizes FMP product revenue segmentation rows intoRevenueSegmentationRowget-revenue-product-segmentation-preferredtries providers in order until one product segmentation request succeedsget-revenue-product-segmentation-preferred-with-providerdoes the same but returns{provider, value}get-revenue-geographic-segmentationnormalizes FMP geographic revenue segmentation rows intoRevenueSegmentationRowget-revenue-geographic-segmentation-preferredtries providers in order until one geographic segmentation request succeedsget-revenue-geographic-segmentation-preferred-with-providerdoes the same but returns{provider, value}get-key-executivesnormalizes FMP executive rows intoKeyExecutiveget-key-executives-preferredtries providers in order until one key-executives request succeedsget-key-executives-preferred-with-providerdoes the same but returns{provider, value}get-shares-floatnormalizes FMP float rows intoSharesFloatget-shares-float-preferredtries providers in order until one shares-float request succeedsget-shares-float-preferred-with-providerdoes the same but returns{provider, value}get-historical-earnings-calendarnormalizes FMP symbol-specific earnings calendar rows intoHistoricalEarningsCalendarEventget-historical-earnings-calendar-preferredtries providers in order until one historical earnings calendar request succeedsget-historical-earnings-calendar-preferred-with-providerdoes the same but returns{provider, value}get-earnings-call-datesnormalizes FMP transcript-date metadata rows intoEarningsCallDateget-earnings-call-dates-preferredtries providers in order until one earnings-call-date request succeedsget-earnings-call-dates-preferred-with-providerdoes the same but returns{provider, value}get-earnings-call-transcriptnormalizes FMP transcript rows intoEarningsCallTranscriptget-earnings-call-transcript-preferredtries providers in order until one earnings-call-transcript request succeedsget-earnings-call-transcript-preferred-with-providerdoes the same but returns{provider, value}get-analyst-estimatesnormalizes FMP financial estimate rows intoAnalystEstimateget-analyst-estimates-preferredtries providers in order until one analyst-estimates request succeedsget-analyst-estimates-preferred-with-providerdoes the same but returns{provider, value}get-rating-snapshotnormalizes FMP ratings scorecard rows intoRatingSnapshotget-rating-snapshot-preferredtries providers in order until one ratings-snapshot request succeedsget-rating-snapshot-preferred-with-providerdoes the same but returns{provider, value}get-historical-ratingsnormalizes FMP dated ratings rows intoHistoricalRatingget-historical-ratings-preferredtries providers in order until one historical-ratings request succeedsget-historical-ratings-preferred-with-providerdoes the same but returns{provider, value}get-analyst-grade-changesnormalizes FMP dated broker action rows intoAnalystGradeChangeget-analyst-grade-changes-preferredtries providers in order until one analyst-grade-changes request succeedsget-analyst-grade-changes-preferred-with-providerdoes the same but returns{provider, value}get-recommendationsnormalizes Yahoo and Finnhub analyst trend rows plus the FMP grades-consensus snapshot intoRecommendationSummary, preservingconsensus-labelwhen the provider exposes itget-recommendations-preferredtries providers in order until one recommendation request succeedsget-recommendations-preferred-with-providerdoes the same but returns{provider, value}get-earnings-resultsnormalizes Yahoo earnings history, Finnhub earnings rows, and FMP earnings reports intoEarningsResultget-earnings-results-preferredtries providers in order until one earnings request succeedsget-earnings-results-preferred-with-providerdoes the same but returns{provider, value}get-market-statusnormalizes Yahoo market status and Finnhub exchange status intoMarketStatusget-market-status-preferredtries providers in order until one market-status request succeedsget-market-status-preferred-with-providerdoes the same but returns{provider, value}get-company-overviewnormalizes Finnhub company profiles, a richer Yahoo quoteSummary-based overview, and FMP company profiles intoCompanyOverview, with quote fallback when Yahoo profile modules are sparse and shares-outstanding enrichment from FMP shares-float rowsget-company-overview-preferredtries providers in order until one overview request succeedsget-company-overview-preferred-with-providerdoes the same but returns{provider, value}get-dividendsandget-dividends-rangenormalize Yahoo and Finnhub corporate action dividend rows intoDividendEvent; Yahoo explicit date ranges are applied locally after normalizationget-dividends-preferredandget-dividends-range-preferredtry providers in order for normalized dividend event requestsget-dividends-preferred-with-providerandget-dividends-range-preferred-with-provideralso preserve the winning provider on successget-splitsandget-splits-rangenormalize Yahoo and Finnhub split rows intoSplitEvent; Yahoo explicit date ranges are applied locally after normalizationget-splits-preferredandget-splits-range-preferredtry providers in order for normalized split event requestsget-splits-preferred-with-providerandget-splits-range-preferred-with-provideralso preserve the winning provider on success- relative
YTDnow starts at January 1 of the current year in UTC, and relativeMaxnow maps to the Unix epoch instead of a 20-year placeholder provider-capability,supports-adapter?, andsupported-adaptersreport whether a provider has full, partial, or unsupported coverage for each normalized adapterprovider-capability-detailsandprovider-capability-matrixexpose field-level gaps for partial adapters and provider notes for every adapter row- ordered-provider wrappers now return
PreferredProvidersFailedwith a fullFinanceProviderFailureattempt list when every provider fails, instead of collapsing to only the last error - parallel
*-preferred-with-providerwrappers returnFinanceProvidedValue {provider, value}when they succeed provided-providerandprovided-valueunwrap successfulFinanceProvidedValueresults without hard-coding field accesserror-kind,error-message, andpreferred-provider-failuresexpose fallback errors without requiring downstream code to repeat the enum match
Capability Notes
- Yahoo marks
recommendations,company-overview,dividends-range, andsplits-rangeas partial support because recommendation consensus labels are unavailable, the overview still omits some normalized fields, and explicit event ranges are filtered locally after fetch. - Yahoo marks the FMP-only research and fundamentals adapters as unsupported rather than pretending they are available through the shared facade.
- Finnhub marks
search-symbols,market-status, andrecommendationsas partial support because the normalized surface is thinner than Yahoo for those adapters and recommendation consensus labels are unavailable. - FMP now provides full support for
financial-health-score,sec-filings,revenue-product-segmentation,revenue-geographic-segmentation,key-executives,shares-float,historical-earnings-calendar,earnings-call-dates,earnings-call-transcript,analyst-estimates,rating-snapshot,historical-ratings,analyst-grade-changes, andearnings-results, partial support forprice-targets,recommendations, andcompany-overview, and unsupported support for the rest of the current adapter matrix. - Field-level detail currently reports Yahoo
company-overviewgaps forlogo-urlandipo-date, Finnhubsearch-symbolsgap forexchange, and Finnhubmarket-statusgaps forstatus,timezone,open-time,close-time, andcurrent-time. - Ordered-provider fallback now preserves every failed provider attempt as
{provider, kind, message}, which is the main diagnostic surface to inspect when a*-preferredcall returnsPreferredProvidersFailed. preferred-provider-failuresreturns that ordered attempt list directly, whileerror-kindanderror-messageprovide stable string summaries for allFinanceErrorvariants.
Next Step
- add tests once the cross-package type-check/import panic is fixed upstream
- decide whether preferred-provider wrappers should expose the capability metadata directly alongside normalized results
- add tests for the fallback-attempt accumulator once the cross-package import panic is fixed upstream
Exported Functions & Types
FinanceError
Finance facade error wrapper around provider-specific failures.
Variants
NoProvidersConfiguredUnsupportedProvider {provider}YahooProviderError {YahooFinanceError}FinnhubProviderError {FinnhubError}FMPProviderError {FMPError}PreferredProvidersFailed {attempts}no-providers-configured
Construct the empty-provider-list error variant.
FinanceError
unsupported-provider
Construct the unsupported-provider error variant.
String -> FinanceError
yahoo-provider-error
Wrap a Yahoo provider error as a facade error.
YahooFinanceError -> FinanceError
finnhub-provider-error
Wrap a Finnhub provider error as a facade error.
FinnhubError -> FinanceError
fmp-provider-error
Wrap an FMP provider error as a facade error.
FMPError -> FinanceError
error-kind
Return the stable error kind name for a FinanceError value.
FinanceError -> String
error-message
Return the user-facing message for a FinanceError value.
FinanceError -> String
preferred-provider-failures
Return the ordered provider failure list for a preferred-provider error. Non-fallback errors return an empty list.
FinanceError -> [FinanceProviderFailure]
wrap-preferred-provider-failures
Wrap an ordered provider failure list as a FinanceError.
[FinanceProviderFailure] -> FinanceError
FinanceDateRange
Provider-neutral date range helper for event queries.
Type
Variants
FinanceDateRangeFinanceHistoryRange
Provider-neutral history range helper.
Type
Variants
FinanceHistoryRangeFinanceInterval
Provider-neutral history interval helper.
Variants
FinanceIntervalFinanceTimestampRange
Explicit timestamp range for history queries.
Type
Variants
FinanceTimestampRangeFinanceError
Finance facade error wrapper around provider-specific failures.
Variants
FinanceFacadeErrorFinanceProviderFailure
Provider failure detail for ordered-provider fallback diagnostics.
Type
Variants
FinanceProviderFailureFinanceProvidedValue
Successful ordered-provider result paired with the winning provider name.
Type
Variants
FinanceProvidedValue {a}FinanceProvider
Provider selection for normalized finance APIs.
Type
Variants
FinanceProviderYahoo
Public provider constructor for Yahoo-backed adapters.
Finnhub
Public provider constructor for Finnhub-backed adapters.
FMP
Public provider constructor for FMP-backed adapters.
FinanceAdapter
Provider-neutral adapter identifiers for capability queries.
Type
Variants
FinanceAdapterFinanceCapability
Capability level for a provider/adapter pairing.
Type
Variants
FinanceCapabilityFinanceCapabilityDetails
Detailed capability report for a provider/adapter pairing.
Type
Variants
FinanceCapabilityDetailsSecurityQuote
Normalized security quote / snapshot.
Type
Variants
SecurityQuotePriceBar
Normalized OHLCV bar.
Type
Variants
PriceBarSymbolMatch
Normalized symbol search result.
Type
Variants
SymbolMatchCompanyOverview
Normalized company overview.
Type
Variants
CompanyOverviewKeyExecutive
Normalized key executive row.
Type
Variants
KeyExecutiveSharesFloat
Normalized shares float row.
Type
Variants
SharesFloatEarningsResult
Normalized earnings result.
Type
Variants
EarningsResultHistoricalEarningsCalendarEvent
Normalized historical earnings calendar row.
Type
Variants
HistoricalEarningsCalendarEventEarningsCallDate
Normalized earnings call date metadata row.
Type
Variants
EarningsCallDateEarningsCallTranscript
Normalized earnings call transcript row.
Type
Variants
EarningsCallTranscriptAnalystEstimatePeriod
Period selection for normalized analyst estimate adapters.
Type
Variants
AnalystEstimatePeriodAnalystEstimate
Normalized analyst estimate row.
Type
Variants
AnalystEstimateRatingSnapshot
Normalized ratings snapshot row.
Type
Variants
RatingSnapshotHistoricalRating
Normalized historical ratings row.
Type
Variants
HistoricalRatingAnalystGradeChange
Normalized analyst grade change row.
Type
Variants
AnalystGradeChangeRecommendationSummary
Normalized recommendation summary.
Type
Variants
RecommendationSummaryPriceTargetSummary
Normalized analyst price target summary.
Type
Variants
PriceTargetSummaryFinancialHealthScore
Normalized financial health score summary.
Type
Variants
FinancialHealthScoreSECFiling
Normalized SEC filing row.
Type
Variants
SECFilingRevenueSegmentationPeriod
Period selection for revenue segmentation adapters.
Type
Variants
RevenueSegmentationPeriodRevenueSegmentValue
Single named revenue segment and its value.
Type
Variants
RevenueSegmentValueRevenueSegmentationRow
Normalized revenue segmentation row.
Type
Variants
RevenueSegmentationRowDividendEvent
Normalized dividend event.
Type
Variants
DividendEventSplitEvent
Normalized split event.
Type
Variants
SplitEventMarketStatus
Normalized market status.
Type
Variants
MarketStatuserror-kind
Return the stable error kind name for a FinanceError value.
FinanceError -> String
provided-provider
Return the provider name from a FinanceProvidedValue.
FinanceProvidedValue a -> String
provided-value
Return the wrapped value from a FinanceProvidedValue.
FinanceProvidedValue a -> a
error-message
Return the user-facing message for a FinanceError value.
FinanceError -> String
preferred-provider-failures
Return the ordered provider failure list for a preferred-provider error. Non-fallback errors return an empty list.
FinanceError -> [FinanceProviderFailure]
get-quote
Get a normalized quote from the selected provider.
FinanceProvider -> String -> Result SecurityQuote FinanceError
get-quote-preferred
Get a normalized quote by trying providers in order until one succeeds.
[FinanceProvider] -> String -> Result SecurityQuote FinanceError
get-quote-preferred-with-provider
Get a normalized quote by trying providers in order until one succeeds, returning the winning provider.
[FinanceProvider] -> String -> Result (FinanceProvidedValue SecurityQuote) FinanceError
search-symbols
Search symbols and normalize provider-specific result rows.
FinanceProvider -> String -> Result [SymbolMatch] FinanceError
search-symbols-preferred
Search symbols by trying providers in order until one succeeds.
[FinanceProvider] -> String -> Result [SymbolMatch] FinanceError
search-symbols-preferred-with-provider
Search symbols by trying providers in order until one succeeds, returning the winning provider.
[FinanceProvider] -> String -> Result (FinanceProvidedValue [SymbolMatch]) FinanceError
get-price-history-range
Get normalized price history using an explicit timestamp range.
FinanceProvider -> String -> FinanceTimestampRange -> FinanceInterval -> Result [PriceBar] FinanceError
get-price-history-range-preferred
Get normalized price history using an explicit timestamp range and ordered provider fallback.
[FinanceProvider] -> String -> FinanceTimestampRange -> FinanceInterval -> Result [PriceBar] FinanceError
get-price-history-range-preferred-with-provider
Get normalized price history using an explicit timestamp range and ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> FinanceTimestampRange -> FinanceInterval -> Result (FinanceProvidedValue [PriceBar]) FinanceError
get-price-history
Get normalized price history using a provider-neutral relative range.
FinanceProvider -> String -> FinanceHistoryRange -> FinanceInterval -> Result [PriceBar] FinanceError
get-price-history-preferred
Get normalized price history using a provider-neutral relative range and ordered provider fallback.
[FinanceProvider] -> String -> FinanceHistoryRange -> FinanceInterval -> Result [PriceBar] FinanceError
get-price-history-preferred-with-provider
Get normalized price history using a provider-neutral relative range and ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> FinanceHistoryRange -> FinanceInterval -> Result (FinanceProvidedValue [PriceBar]) FinanceError
get-recommendations
Get normalized analyst recommendation summaries.
FinanceProvider -> String -> Result [RecommendationSummary] FinanceError
get-price-targets
Get normalized analyst price target summaries.
FinanceProvider -> String -> Result [PriceTargetSummary] FinanceError
get-price-targets-preferred
Get normalized analyst price target summaries with ordered provider fallback.
[FinanceProvider] -> String -> Result [PriceTargetSummary] FinanceError
get-price-targets-preferred-with-provider
Get normalized analyst price target summaries with ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> Result (FinanceProvidedValue [PriceTargetSummary]) FinanceError
get-financial-health-score
Get a normalized financial health score.
FinanceProvider -> String -> Result FinancialHealthScore FinanceError
get-financial-health-score-preferred
Get a normalized financial health score with ordered provider fallback.
[FinanceProvider] -> String -> Result FinancialHealthScore FinanceError
get-financial-health-score-preferred-with-provider
Get a normalized financial health score with ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> Result (FinanceProvidedValue FinancialHealthScore) FinanceError
get-sec-filings
Get normalized SEC filing rows.
FinanceProvider -> String -> Option String -> Int -> Result [SECFiling] FinanceError
get-sec-filings-preferred
Get normalized SEC filing rows with ordered provider fallback.
[FinanceProvider] -> String -> Option String -> Int -> Result [SECFiling] FinanceError
get-sec-filings-preferred-with-provider
Get normalized SEC filing rows with ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> Option String -> Int -> Result (FinanceProvidedValue [SECFiling]) FinanceError
get-revenue-product-segmentation
Get normalized product revenue segmentation rows.
FinanceProvider -> String -> RevenueSegmentationPeriod -> Result [RevenueSegmentationRow] FinanceError
get-revenue-product-segmentation-preferred
Get normalized product revenue segmentation rows with ordered provider fallback.
[FinanceProvider] -> String -> RevenueSegmentationPeriod -> Result [RevenueSegmentationRow] FinanceError
get-revenue-product-segmentation-preferred-with-provider
Get normalized product revenue segmentation rows with ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> RevenueSegmentationPeriod -> Result (FinanceProvidedValue [RevenueSegmentationRow]) FinanceError
get-revenue-geographic-segmentation
Get normalized geographic revenue segmentation rows.
FinanceProvider -> String -> RevenueSegmentationPeriod -> Result [RevenueSegmentationRow] FinanceError
get-revenue-geographic-segmentation-preferred
Get normalized geographic revenue segmentation rows with ordered provider fallback.
[FinanceProvider] -> String -> RevenueSegmentationPeriod -> Result [RevenueSegmentationRow] FinanceError
get-revenue-geographic-segmentation-preferred-with-provider
Get normalized geographic revenue segmentation rows with ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> RevenueSegmentationPeriod -> Result (FinanceProvidedValue [RevenueSegmentationRow]) FinanceError
get-key-executives
Get normalized key executive rows.
FinanceProvider -> String -> Result [KeyExecutive] FinanceError
get-key-executives-preferred
Get normalized key executive rows with ordered provider fallback.
[FinanceProvider] -> String -> Result [KeyExecutive] FinanceError
get-key-executives-preferred-with-provider
Get normalized key executive rows with ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> Result (FinanceProvidedValue [KeyExecutive]) FinanceError
get-shares-float
Get normalized shares float rows.
FinanceProvider -> String -> Result [SharesFloat] FinanceError
get-shares-float-preferred
Get normalized shares float rows with ordered provider fallback.
[FinanceProvider] -> String -> Result [SharesFloat] FinanceError
get-shares-float-preferred-with-provider
Get normalized shares float rows with ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> Result (FinanceProvidedValue [SharesFloat]) FinanceError
get-historical-earnings-calendar
Get normalized historical earnings calendar rows.
FinanceProvider -> String -> Int -> Result [HistoricalEarningsCalendarEvent] FinanceError
get-historical-earnings-calendar-preferred
Get normalized historical earnings calendar rows with ordered provider fallback.
[FinanceProvider] -> String -> Int -> Result [HistoricalEarningsCalendarEvent] FinanceError
get-historical-earnings-calendar-preferred-with-provider
Get normalized historical earnings calendar rows with ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> Int -> Result (FinanceProvidedValue [HistoricalEarningsCalendarEvent]) FinanceError
get-earnings-call-dates
Get normalized earnings call date metadata rows.
FinanceProvider -> String -> Result [EarningsCallDate] FinanceError
get-earnings-call-dates-preferred
Get normalized earnings call date metadata rows with ordered provider fallback.
[FinanceProvider] -> String -> Result [EarningsCallDate] FinanceError
get-earnings-call-dates-preferred-with-provider
Get normalized earnings call date metadata rows with ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> Result (FinanceProvidedValue [EarningsCallDate]) FinanceError
get-earnings-call-transcript
Get normalized earnings call transcript rows.
FinanceProvider -> String -> Int -> Int -> Result [EarningsCallTranscript] FinanceError
get-earnings-call-transcript-preferred
Get normalized earnings call transcript rows with ordered provider fallback.
[FinanceProvider] -> String -> Int -> Int -> Result [EarningsCallTranscript] FinanceError
get-earnings-call-transcript-preferred-with-provider
Get normalized earnings call transcript rows with ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> Int -> Int -> Result (FinanceProvidedValue [EarningsCallTranscript]) FinanceError
get-analyst-estimates
Get normalized analyst estimate rows.
FinanceProvider -> String -> AnalystEstimatePeriod -> Int -> Result [AnalystEstimate] FinanceError
get-analyst-estimates-preferred
Get normalized analyst estimate rows with ordered provider fallback.
[FinanceProvider] -> String -> AnalystEstimatePeriod -> Int -> Result [AnalystEstimate] FinanceError
get-analyst-estimates-preferred-with-provider
Get normalized analyst estimate rows with ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> AnalystEstimatePeriod -> Int -> Result (FinanceProvidedValue [AnalystEstimate]) FinanceError
get-rating-snapshot
Get normalized ratings snapshot rows.
FinanceProvider -> String -> Result [RatingSnapshot] FinanceError
get-rating-snapshot-preferred
Get normalized ratings snapshot rows with ordered provider fallback.
[FinanceProvider] -> String -> Result [RatingSnapshot] FinanceError
get-rating-snapshot-preferred-with-provider
Get normalized ratings snapshot rows with ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> Result (FinanceProvidedValue [RatingSnapshot]) FinanceError
get-historical-ratings
Get normalized historical ratings rows.
FinanceProvider -> String -> Result [HistoricalRating] FinanceError
get-historical-ratings-preferred
Get normalized historical ratings rows with ordered provider fallback.
[FinanceProvider] -> String -> Result [HistoricalRating] FinanceError
get-historical-ratings-preferred-with-provider
Get normalized historical ratings rows with ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> Result (FinanceProvidedValue [HistoricalRating]) FinanceError
get-analyst-grade-changes
Get normalized analyst grade change rows.
FinanceProvider -> String -> Int -> Result [AnalystGradeChange] FinanceError
get-analyst-grade-changes-preferred
Get normalized analyst grade change rows with ordered provider fallback.
[FinanceProvider] -> String -> Int -> Result [AnalystGradeChange] FinanceError
get-analyst-grade-changes-preferred-with-provider
Get normalized analyst grade change rows with ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> Int -> Result (FinanceProvidedValue [AnalystGradeChange]) FinanceError
get-recommendations-preferred
Get normalized analyst recommendation summaries with ordered provider fallback.
[FinanceProvider] -> String -> Result [RecommendationSummary] FinanceError
get-recommendations-preferred-with-provider
Get normalized analyst recommendation summaries with ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> Result (FinanceProvidedValue [RecommendationSummary]) FinanceError
get-earnings-results
Get normalized earnings result history.
FinanceProvider -> String -> Result [EarningsResult] FinanceError
get-earnings-results-preferred
Get normalized earnings result history with ordered provider fallback.
[FinanceProvider] -> String -> Result [EarningsResult] FinanceError
get-earnings-results-preferred-with-provider
Get normalized earnings result history with ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> Result (FinanceProvidedValue [EarningsResult]) FinanceError
get-market-status
Get normalized market status for a market or exchange code.
FinanceProvider -> String -> Result MarketStatus FinanceError
get-market-status-preferred
Get normalized market status using ordered provider fallback.
[FinanceProvider] -> String -> Result MarketStatus FinanceError
get-market-status-preferred-with-provider
Get normalized market status using ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> Result (FinanceProvidedValue MarketStatus) FinanceError
get-company-overview
Get a normalized company overview. Yahoo currently returns a partial overview based on quote data.
FinanceProvider -> String -> Result CompanyOverview FinanceError
get-company-overview-preferred
Get a normalized company overview by trying providers in order until one succeeds.
[FinanceProvider] -> String -> Result CompanyOverview FinanceError
get-company-overview-preferred-with-provider
Get a normalized company overview by trying providers in order until one succeeds, returning the winning provider.
[FinanceProvider] -> String -> Result (FinanceProvidedValue CompanyOverview) FinanceError
get-dividends-range
Get normalized dividend events using an explicit date range.
FinanceProvider -> String -> FinanceDateRange -> Result [DividendEvent] FinanceError
get-dividends-range-preferred
Get normalized dividend events using an explicit date range and ordered provider fallback.
[FinanceProvider] -> String -> FinanceDateRange -> Result [DividendEvent] FinanceError
get-dividends-range-preferred-with-provider
Get normalized dividend events using an explicit date range and ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> FinanceDateRange -> Result (FinanceProvidedValue [DividendEvent]) FinanceError
get-dividends
Get normalized dividend events using a provider-neutral relative range.
FinanceProvider -> String -> FinanceHistoryRange -> Result [DividendEvent] FinanceError
get-dividends-preferred
Get normalized dividend events using a provider-neutral relative range and ordered provider fallback.
[FinanceProvider] -> String -> FinanceHistoryRange -> Result [DividendEvent] FinanceError
get-dividends-preferred-with-provider
Get normalized dividend events using a provider-neutral relative range and ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> FinanceHistoryRange -> Result (FinanceProvidedValue [DividendEvent]) FinanceError
get-splits-range
Get normalized split events using an explicit date range.
FinanceProvider -> String -> FinanceDateRange -> Result [SplitEvent] FinanceError
get-splits-range-preferred
Get normalized split events using an explicit date range and ordered provider fallback.
[FinanceProvider] -> String -> FinanceDateRange -> Result [SplitEvent] FinanceError
get-splits-range-preferred-with-provider
Get normalized split events using an explicit date range and ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> FinanceDateRange -> Result (FinanceProvidedValue [SplitEvent]) FinanceError
get-splits
Get normalized split events using a provider-neutral relative range.
FinanceProvider -> String -> FinanceHistoryRange -> Result [SplitEvent] FinanceError
get-splits-preferred
Get normalized split events using a provider-neutral relative range and ordered provider fallback.
[FinanceProvider] -> String -> FinanceHistoryRange -> Result [SplitEvent] FinanceError
get-splits-preferred-with-provider
Get normalized split events using a provider-neutral relative range and ordered provider fallback, returning the winning provider.
[FinanceProvider] -> String -> FinanceHistoryRange -> Result (FinanceProvidedValue [SplitEvent]) FinanceError
FinanceDateRange
Provider-neutral date range helper for event queries.
Variants
FinanceDateRange {date-from, date-to}FinanceHistoryRange
Provider-neutral history range helper.
Variants
Day1Day5Month1Month3Month6Year1Year2Year5Year10YTDMaxFinanceTimestampRange
Explicit timestamp range for history queries.
Variants
FinanceTimestampRange {start-timestamp, end-timestamp}seconds-from-milliseconds
Convert a millisecond timestamp to Unix seconds.
Int -> Int
milliseconds-from-seconds
Convert a Unix-second timestamp to milliseconds.
Int -> Int
normalize-history-range
Convert a relative history range into explicit Unix-second timestamps.
FinanceHistoryRange -> FinanceTimestampRange
date-range-from-history-range
Convert a relative history range into a UTC date range.
FinanceHistoryRange -> FinanceDateRange
is-date-in-range?
Returns true when an ISO date is inside the inclusive date range.
String -> FinanceDateRange -> Bool
filter-dividend-events
Filter dividend events to an inclusive UTC date range.
[DividendEvent] -> FinanceDateRange -> [DividendEvent]
filter-split-events
Filter split events to an inclusive UTC date range.
[SplitEvent] -> FinanceDateRange -> [SplitEvent]
try-providers
Try providers in order until one succeeds, collecting normalized failures.
(FinanceProvider -> String) -> (e -> String) -> (e -> String) -> [FinanceProvider] -> (FinanceProvider -> Result a e) -> Result a [FinanceProviderFailure]
try-providers-with-provider
Try providers in order until one succeeds, returning the winning provider and collecting normalized failures on total failure.
(FinanceProvider -> String) -> (e -> String) -> (e -> String) -> [FinanceProvider] -> (FinanceProvider -> Result a e) -> Result (FinanceProvidedValue a) [FinanceProviderFailure]
try-providers-result
Try providers in order until one succeeds, mapping an empty provider list and total failure list into caller-chosen error values.
(FinanceProvider -> String) -> (e -> String) -> (e -> String) -> f -> ([FinanceProviderFailure] -> f) -> [FinanceProvider] -> (FinanceProvider -> Result a e) -> Result a f
try-providers-with-provider-result
Try providers in order until one succeeds, returning the winning provider, and mapping an empty provider list and total failure list into caller-chosen error values.
(FinanceProvider -> String) -> (e -> String) -> (e -> String) -> f -> ([FinanceProviderFailure] -> f) -> [FinanceProvider] -> (FinanceProvider -> Result a e) -> Result (FinanceProvidedValue a) f
finnhub-quote
Build a normalized Finnhub quote row.
String -> quote -> SecurityQuote
finnhub-symbol-match
Build a normalized Finnhub symbol match row.
result -> SymbolMatch
FinanceProvider
Provider selection for normalized finance APIs.
Variants
YahooFinnhub {api-key}FMP {api-key}FinanceAdapter
Provider-neutral adapter identifiers for capability queries.
Variants
QuoteAdapterSearchSymbolsAdapterPriceHistoryAdapterPriceHistoryRangeAdapterPriceTargetsAdapterFinancialHealthScoreAdapterSECFilingsAdapterRevenueProductSegmentationAdapterRevenueGeographicSegmentationAdapterKeyExecutivesAdapterSharesFloatAdapterHistoricalEarningsCalendarAdapterEarningsCallDatesAdapterEarningsCallTranscriptAdapterAnalystEstimatesAdapterRatingSnapshotAdapterHistoricalRatingsAdapterAnalystGradeChangesAdapterRecommendationsAdapterEarningsResultsAdapterMarketStatusAdapterCompanyOverviewAdapterDividendsAdapterDividendsRangeAdapterSplitsAdapterSplitsRangeAdapterFinanceCapability
Capability level for a provider/adapter pairing.
Variants
FullSupportPartialSupportUnsupportedSupportFinanceCapabilityDetails
Detailed capability report for a provider/adapter pairing.
Variants
FinanceCapabilityDetails {adapter, capability, missing-fields, notes}provider-name
Return the stable provider name for a FinanceProvider value.
FinanceProvider -> String
requires-api-key?
Returns true when the provider requires an API key.
FinanceProvider -> Bool
adapter-name
Return the stable adapter name for a FinanceAdapter value.
FinanceAdapter -> String
capability-name
Return the stable capability name for a FinanceCapability value.
FinanceCapability -> String
provider-capability
Report capability level for a provider/adapter pairing.
FinanceProvider -> FinanceAdapter -> FinanceCapability
supports-adapter?
Returns true when the provider supports the adapter at any non-unsupported level.
FinanceProvider -> FinanceAdapter -> Bool
supported-adapters
List every adapter supported by the provider at either full or partial level.
FinanceProvider -> [FinanceAdapter]
provider-capability-details
Return detailed field-level capability metadata for a provider/adapter pairing.
FinanceProvider -> FinanceAdapter -> FinanceCapabilityDetails
provider-capability-matrix
Return detailed capability metadata for every adapter for a provider.
FinanceProvider -> [FinanceCapabilityDetails]
parse-iso-date-part
Parse a zero-indexed ISO date component from a YYYY-MM-DD string.
String -> Int -> Option Int
quarter-from-month
Convert a calendar month into a fiscal quarter number.
Int -> Option Int
year-from-iso-date
Parse the year component from a YYYY-MM-DD string.
String -> Option Int
quarter-from-iso-date
Parse the fiscal quarter from a YYYY-MM-DD string.
String -> Option Int
preferred-earnings-date
Prefer fiscal-date-ending over report date when both are available.
Option String -> Option String -> Option String
earnings-result-period
Select the normalized earnings period string from fiscal-date-ending or report date.
Option String -> Option String -> String
earnings-result-year
Derive the normalized earnings result year from fiscal-date-ending or report date.
Option String -> Option String -> Option Int
earnings-result-quarter
Derive the normalized earnings result quarter from fiscal-date-ending or report date.
Option String -> Option String -> Option Int
option-difference
Compute the difference between actual and estimate values when both are present.
Option Float -> Option Float -> Option Float
option-surprise-percent
Compute earnings surprise percent when both actual and estimate are present.
Option Float -> Option Float -> Option Float
yahoo-earnings-result
Build a normalized Yahoo earnings result row.
String -> {quarter: Option Int, eps-actual: Option Float, eps-estimate: Option Float, eps-difference: Option Float, surprise-percent: Option Float} -> EarningsResult
finnhub-earnings-result
Build a normalized Finnhub earnings result row.
{symbol: String, period: String, quarter: Int, year: Int, actual: Option Float, estimate: Option Float, surprise: Option Float, surprise-percent: Option Float} -> EarningsResult
fmp-earnings-result
Build a normalized FMP earnings result row.
String -> {fiscal-date-ending: Option String, date: Option String, eps-actual: Option Float, eps-estimate: Option Float} -> EarningsResult
first-outstanding-shares
Return the first available outstanding-shares value from a normalized shares-float list.
[{outstanding-shares: Option Float}] -> Option Float
fmp-company-overview
Build a normalized FMP company overview row.
{symbol: String, company-name: String, exchange-short-name: Option String, industry: Option String, sector: Option String, country: Option String, currency: Option String, market-cap: Option Float, website: Option String, ipo-date: Option String} -> Option Float -> CompanyOverview
yahoo-company-overview
Build a normalized Yahoo company overview row.
{symbol: String, name: String, exchange: Option String, industry: Option String, sector: Option String, country: Option String, currency: Option String, market-cap: Option Float, shares-outstanding: Option Float, website: Option String, phone: Option String} -> CompanyOverview
yahoo-quote-company-overview
Build a normalized Yahoo quote-based fallback company overview row.
String -> {name: Option String, market-cap: Option Float} -> CompanyOverview
finnhub-company-overview
Build a normalized Finnhub company overview row.
{ticker: String, name: Option String, exchange: String, finnhub-industry: String, country: String, currency: String, market-cap: Float, share-outstanding: Float, weburl: String, phone: String, logo: String, ipo: String} -> CompanyOverview
empty-string-to-option
Convert empty strings to None while preserving non-empty strings.
String -> Option String
yahoo-recommendation-summary
Build a normalized Yahoo recommendation summary row.
String -> Int -> Int -> Int -> Int -> Int -> RecommendationSummary
finnhub-recommendation-summary
Build a normalized Finnhub recommendation summary row.
String -> String -> Int -> Int -> Int -> Int -> Int -> RecommendationSummary
fmp-recommendation-summary
Build a normalized FMP recommendation summary row.
String -> Option String -> Int -> Int -> Int -> Int -> Int -> Option String -> RecommendationSummary
yahoo-price-target-summary
Build a normalized Yahoo analyst price target summary row.
String -> Option Float -> Option Float -> Option Float -> Option Float -> Option Float -> PriceTargetSummary
fmp-price-target-summary
Build a normalized FMP analyst price target summary row.
String -> Option String -> Option Float -> Option Float -> Option Float -> Option Float -> Option String -> PriceTargetSummary
yahoo-quote
Build a normalized Yahoo quote row.
{symbol: String, price: Float, change: Option Float, change-percent: Option Float, timestamp: Int, volume: Int, market-cap: Option Float, name: String} -> SecurityQuote
finnhub-quote
Build a normalized Finnhub quote row.
String -> {current: Float, change: Option Float, change-percent: Option Float, timestamp: Int, open: Float, high: Float, low: Float, previous-close: Float} -> SecurityQuote
yahoo-symbol-match
Build a normalized Yahoo symbol match row.
{symbol: String, name: String, exchange: String, asset-type: String} -> SymbolMatch
finnhub-symbol-match
Build a normalized Finnhub symbol match row.
{symbol: String, display-symbol: String, description: String, result-type: String} -> SymbolMatch
yahoo-bar
Build a normalized Yahoo history bar.
String -> {timestamp: Int, open: Float, high: Float, low: Float, close: Float, volume: Int, adj-close: Option Float} -> PriceBar
finnhub-candle
Build a normalized Finnhub history candle.
String -> {timestamp: Int, open: Float, high: Float, low: Float, close: Float, volume: Float} -> PriceBar
yahoo-market-status
Build a normalized Yahoo market status row.
{market: String, is-open?: Bool, status: String, timezone: String, open-time: Int, close-time: Int, current-time: Int} -> MarketStatus
finnhub-market-status
Build a normalized Finnhub market status row.
String -> {exchange: String, is-open: Bool} -> MarketStatus
yahoo-dividend
Build a normalized Yahoo dividend event row.
String -> {date: Int, amount: Float} -> DividendEvent
finnhub-dividend
Build a normalized Finnhub dividend event row.
{symbol: String, date: String, amount: Float, adjusted-amount: Float, pay-date: String, record-date: String, declaration-date: String, currency: String} -> DividendEvent
yahoo-split
Build a normalized Yahoo split event row.
String -> {date: Int, numerator: Int, denominator: Int} -> SplitEvent
finnhub-split
Build a normalized Finnhub split event row.
{symbol: String, date: String, from-factor: Float, to-factor: Float} -> SplitEvent
fmp-segmentation-period
Map kit-finance segmentation periods to the FMP provider enum.
RevenueSegmentationPeriod -> FMPRevenueSegmentationPeriod
fmp-analyst-estimate-period
Map kit-finance analyst estimate periods to the FMP provider enum.
AnalystEstimatePeriod -> FMPEstimatePeriod
finnhub-resolution
Map kit-finance history intervals to Finnhub candle resolutions.
FinanceInterval -> String
FinanceProviderFailure
Provider failure detail for ordered-provider fallback diagnostics.
Variants
FinanceProviderFailure {provider, kind, message}Successful ordered-provider result paired with the winning provider name.
provided-provider
Return the provider name from a FinanceProvidedValue.
FinanceProvidedValue a -> String
provided-value
Return the wrapped value from a FinanceProvidedValue.
FinanceProvidedValue a -> a
FinanceInterval
Provider-neutral history interval helper.
Variants
Minute1Minute5Minute15Minute30Hour1Day1IntervalWeek1Month1IntervalSecurityQuote
Normalized security quote / snapshot.
Variants
SecurityQuote {symbol, price, change, change-percent, timestamp, open, high, low, previous-close, volume, market-cap, name, exchange, provider}security-quote-symbol
Return the symbol from a SecurityQuote.
SecurityQuote -> String
security-quote-name
Return the optional display name from a SecurityQuote.
SecurityQuote -> Option String
security-quote-open
Return the optional open price from a SecurityQuote.
SecurityQuote -> Option Float
security-quote-provider
Return the provider label from a SecurityQuote.
SecurityQuote -> String
PriceBar
Normalized OHLCV bar.
Variants
PriceBar {symbol, timestamp, open, high, low, close, volume, adjusted-close, provider}SymbolMatch
Normalized symbol search result.
Variants
SymbolMatch {symbol, display-symbol, name, exchange, asset-type, provider}symbol-match-exchange
Return the optional exchange from a SymbolMatch.
SymbolMatch -> Option String
symbol-match-asset-type
Return the optional asset type from a SymbolMatch.
SymbolMatch -> Option String
symbol-match-display-symbol
Return the optional display symbol from a SymbolMatch.
SymbolMatch -> Option String
CompanyOverview
Normalized company overview.
Variants
CompanyOverview {symbol, name, exchange, industry, sector, country, currency, market-cap, shares-outstanding, website, phone, logo-url, ipo-date, provider}KeyExecutive
Normalized key executive row.
Variants
KeyExecutive {symbol, name, title, pay, currency, provider}SharesFloat
Normalized shares float row.
Variants
SharesFloat {symbol, date, float-shares, outstanding-shares, free-float, provider}EarningsResult
Normalized earnings result.
Variants
EarningsResult {symbol, period, quarter, year, actual, estimate, surprise, surprise-percent, provider}HistoricalEarningsCalendarEvent
Normalized historical earnings calendar row.
Variants
HistoricalEarningsCalendarEvent {symbol, date, fiscal-date-ending, time, eps-actual, eps-estimate, revenue-actual, revenue-estimate, provider}EarningsCallDate
Normalized earnings call date metadata row.
Variants
EarningsCallDate {symbol, quarter, fiscal-year, call-datetime, provider}EarningsCallTranscript
Normalized earnings call transcript row.
Variants
EarningsCallTranscript {symbol, period, fiscal-year, call-date, content, provider}AnalystEstimatePeriod
Period selection for normalized analyst estimate adapters.
Variants
EstimateAnnualEstimateQuarterAnalystEstimate
Normalized analyst estimate row.
Variants
AnalystEstimate {symbol, date, period, estimated-revenue, estimated-ebitda, estimated-net-income, estimated-eps, provider}RatingSnapshot
Normalized ratings snapshot row.
Variants
RatingSnapshot {symbol, rating, overall-score, discounted-cash-flow-score, return-on-equity-score, return-on-assets-score, debt-to-equity-score, price-to-earnings-score, price-to-book-score, provider}HistoricalRating
Normalized historical ratings row.
Variants
HistoricalRating {symbol, date, rating, overall-score, discounted-cash-flow-score, return-on-equity-score, return-on-assets-score, debt-to-equity-score, price-to-earnings-score, price-to-book-score, provider}AnalystGradeChange
Normalized analyst grade change row.
Variants
AnalystGradeChange {symbol, date, company, previous-grade, new-grade, action, provider}RecommendationSummary
Normalized recommendation summary.
Variants
RecommendationSummary {symbol, period, strong-buy, buy, hold, sell, strong-sell, consensus-label, provider}PriceTargetSummary
Normalized analyst price target summary.
Variants
PriceTargetSummary {symbol, current, low, high, mean, median, consensus-label, provider}FinancialHealthScore
Normalized financial health score summary.
Variants
FinancialHealthScore {symbol, altman-z-score, piotroski-score, provider}SECFiling
Normalized SEC filing row.
Variants
SECFiling {symbol, filing-date, accepted-date, filing-type, link, final-link, provider}RevenueSegmentationPeriod
Period selection for revenue segmentation adapters.
Variants
SegmentationAnnualSegmentationQuarterRevenueSegmentValue
Single named revenue segment and its value.
Variants
RevenueSegmentValue {segment, revenue}RevenueSegmentationRow
Normalized revenue segmentation row.
Variants
RevenueSegmentationRow {symbol, date, calendar-year, period, segments, provider}DividendEvent
Normalized dividend event.
Variants
DividendEvent {symbol, ex-date, amount, adjusted-amount, pay-date, record-date, declaration-date, currency, provider}SplitEvent
Normalized split event.
Variants
SplitEvent {symbol, date, numerator, denominator, from-factor, to-factor, provider}MarketStatus
Normalized market status.
Variants
MarketStatus {market, exchange, is-open?, status, timezone, open-time, close-time, current-time, provider}market-status-status
Return the optional status text from a MarketStatus.
MarketStatus -> Option String
market-status-exchange
Return the optional exchange from a MarketStatus.
MarketStatus -> Option String
market-status-is-open?
Return whether the market is open from a MarketStatus.
MarketStatus -> Bool
yahoo-quote
Build a normalized Yahoo quote row.
quote -> SecurityQuote
yahoo-symbol-match
Build a normalized Yahoo symbol match row.
result -> SymbolMatch
fmp-financial-health-score
Build a normalized FMP financial health score row.
String -> {symbol: Option String, altman-z-score: Option Float, piotroski-score: Option Float} -> FinancialHealthScore
fmp-sec-filing
Build a normalized FMP SEC filing row.
String -> {symbol: Option String, filing-date: String, accepted-date: Option String, filing-type: String, link: String, final-link: String} -> SECFiling
fmp-segment-value
Build a normalized revenue segment value row.
{segment: String, revenue: Float} -> RevenueSegmentValue
fmp-revenue-segmentation-row
Build a normalized FMP revenue segmentation row.
String -> {symbol: Option String, date: String, calendar-year: Option String, period: String, segments: [{segment: String, revenue: Float}]} -> RevenueSegmentationRow
fmp-key-executive
Build a normalized FMP key executive row.
String -> {name: String, title: String, pay: Option Float, currency: Option String} -> KeyExecutive
fmp-shares-float
Build a normalized FMP shares float row.
String -> {symbol: Option String, date: String, float-shares: Option Float, outstanding-shares: Option Float, free-float: Option Float} -> SharesFloat
fmp-historical-earnings-calendar
Build a normalized FMP historical earnings calendar row.
String -> {date: String, fiscal-date-ending: Option String, time: Option String, eps-actual: Option Float, eps-estimate: Option Float, revenue-actual: Option Float, revenue-estimate: Option Float} -> HistoricalEarningsCalendarEvent
fmp-earnings-call-date
Build a normalized FMP earnings call date row.
String -> {quarter: Int, fiscal-year: Int, call-datetime: String} -> EarningsCallDate
fmp-earnings-call-transcript
Build a normalized FMP earnings call transcript row.
String -> {symbol: Option String, period: String, fiscal-year: Int, call-date: String, content: String} -> EarningsCallTranscript
fmp-analyst-estimate
Build a normalized FMP analyst estimate row.
String -> String -> {date: String, estimated-revenue: Option Float, estimated-ebitda: Option Float, estimated-net-income: Option Float, estimated-eps: Option Float} -> AnalystEstimate
fmp-rating-snapshot
Build a normalized FMP ratings snapshot row.
String -> {symbol: Option String, rating: Option String, overall-score: Option Float, discounted-cash-flow-score: Option Float, return-on-equity-score: Option Float, return-on-assets-score: Option Float, debt-to-equity-score: Option Float, price-to-earnings-score: Option Float, price-to-book-score: Option Float} -> RatingSnapshot
fmp-historical-rating
Build a normalized FMP historical rating row.
String -> {symbol: Option String, date: String, rating: Option String, overall-score: Option Float, discounted-cash-flow-score: Option Float, return-on-equity-score: Option Float, return-on-assets-score: Option Float, debt-to-equity-score: Option Float, price-to-earnings-score: Option Float, price-to-book-score: Option Float} -> HistoricalRating
fmp-analyst-grade-change
Build a normalized FMP analyst grade change row.
String -> {date: String, company: Option String, previous-grade: Option String, new-grade: Option String, action: Option String} -> AnalystGradeChange