UNPKG

@yash101/schwab-api-client

Version:

A TypeScript client library for interacting with the Charles Schwab Brokerage APIs.

239 lines 13.1 kB
"use strict"; /** * Represents a comprehensive set of TypeScript interfaces, types, and enums for interacting with a market data API. * These definitions are designed to facilitate the retrieval and manipulation of financial market data, including quotes, * option chains, fundamental data, and reference information for various asset types. * * ### Key Features: * - **Quote Retrieval**: Interfaces for requesting and receiving quotes for multiple symbols or a single symbol. * - **Option Chains**: Support for retrieving detailed option chain data, including contract types, expiration dates, and theoretical values. * - **Market Hours**: Provides information about market hours, including session intervals and open/close status. * - **Reference Data**: Includes detailed reference information for equities, forex, mutual funds, futures, and options. * - **Error Handling**: Structured error responses with detailed descriptions and sources of errors. * - **Fundamental Data**: Access to fundamental metrics such as dividend yield, P/E ratio, and earnings per share. * - **Enums for Standardization**: Enums for asset types, option strategies, expiration types, and more to ensure consistency. * * ### Interfaces Overview: * - **GetQuotesRequest**: Represents a request to retrieve quotes for a list of symbols, with optional fields and indicative quotes. * - **GetQuotesResponse**: Represents the response for a quotes request, including quote data or error information. * - **GetOptionChainsRequest**: Represents a request to retrieve option chains for a specific symbol, with various optional parameters. * - **OptionChain**: Represents the detailed structure of an option chain, including call and put expiration date maps. * - **MarketHours**: Provides detailed market hours information for a specific date and market type. * - **ErrorResponse**: Represents a structured error response with detailed error information. * - **Fundamental**: Provides fundamental metrics for a financial instrument, such as dividend yield and P/E ratio. * - **InstrumentResponse**: Represents detailed information about a financial instrument, including bonds and fundamental data. * * ### Enums Overview: * - **AssetMainTypeEnum**: Enum for main asset types such as equity, bond, ETF, and option. * - **OptionStrategyEnum**: Enum for various option strategies, including single, vertical, and straddle. * - **OptionExpirationType**: Enum for expiration types such as monthly, quarterly, and weekly. * - **DividendFrequency**: Enum for dividend payment frequencies, such as annual, quarterly, and monthly. * - **HttpStatusCode**: Enum for HTTP status codes, including 400 (Bad Request) and 500 (Internal Server Error). * * ### Usage: * These TypeScript definitions are intended to be used in applications that interact with a financial market data API. * They provide a strongly-typed structure for making API requests and handling responses, ensuring type safety and clarity. * * ### Example: * ```typescript * const request: GetQuotesRequest = { * symbols: ['AAPL', 'MSFT'], * fields: [GetQuotesAcceptableFieldsEnum.QUOTE, GetQuotesAcceptableFieldsEnum.FUNDAMENTAL], * indicative: true, * }; * * const response: GetQuotesResponse = await fetchQuotes(request); * if ('errors' in response) { * console.error('Error fetching quotes:', response.errors); * } else { * console.log('Quotes:', response); * } * ``` */ Object.defineProperty(exports, "__esModule", { value: true }); exports.HttpStatusCode = exports.DirectionEnum = exports.AssetMainTypeEnum = exports.EquityAssetSubTypeEnum = exports.MutualFundAssetSubType = exports.DividendFrequency = exports.OptionExpiryMonthEnum = exports.OptionExerciseTypeEnum = exports.FundStrategyEnum = exports.OptionStrategyEnum = exports.QuoteTypeEnum = exports.OptionSettlementTypeEnum = exports.OptionExpirationType = exports.GetQuotesAcceptableFieldsEnum = exports.FrequencyTypeEnum = exports.PeriodTypeEnum = exports.EntitlementEnum = exports.SortMoversByEnum = exports.IndexSymbolEnum = exports.MarketsEnum = exports.SearchByEnum = void 0; var SearchByEnum; (function (SearchByEnum) { SearchByEnum["SYMBOL_SEARCH"] = "symbol-search"; SearchByEnum["SYMBOL_REGEX"] = "symbol-regex"; SearchByEnum["DESC_SEARCH"] = "desc-search"; SearchByEnum["DESC_REGEX"] = "desc-regex"; SearchByEnum["SEARCH"] = "search"; SearchByEnum["FUNDAMENTAL"] = "fundamental"; })(SearchByEnum || (exports.SearchByEnum = SearchByEnum = {})); var MarketsEnum; (function (MarketsEnum) { MarketsEnum["EQUITY"] = "equity"; MarketsEnum["OPTION"] = "option"; MarketsEnum["FUTURE"] = "future"; MarketsEnum["BOND"] = "bond"; })(MarketsEnum || (exports.MarketsEnum = MarketsEnum = {})); var IndexSymbolEnum; (function (IndexSymbolEnum) { IndexSymbolEnum["DJI"] = "$DJI"; IndexSymbolEnum["COMPX"] = "$COMPX"; IndexSymbolEnum["SPX"] = "$SPX"; IndexSymbolEnum["NYSE"] = "NYSE"; IndexSymbolEnum["NASDAQ"] = "NASDAQ"; IndexSymbolEnum["OTCBB"] = "OTCBB"; IndexSymbolEnum["INDEX_ALL"] = "INDEX_ALL"; IndexSymbolEnum["EQUITY_ALL"] = "EQUITY_ALL"; IndexSymbolEnum["OPTION_ALL"] = "OPTION_ALL"; IndexSymbolEnum["OPTION_PUT"] = "OPTION_PUT"; IndexSymbolEnum["OPTION_CALL"] = "OPTION_CALL"; })(IndexSymbolEnum || (exports.IndexSymbolEnum = IndexSymbolEnum = {})); var SortMoversByEnum; (function (SortMoversByEnum) { SortMoversByEnum["VOLUME"] = "VOLUME"; SortMoversByEnum["TRADES"] = "TRADES"; SortMoversByEnum["PERCENT_CHANGE_UP"] = "PERCENT_CHANGE_UP"; SortMoversByEnum["PERCENT_CHANGE_DOWN"] = "PERCENT_CHANGE_DOWN"; })(SortMoversByEnum || (exports.SortMoversByEnum = SortMoversByEnum = {})); var EntitlementEnum; (function (EntitlementEnum) { EntitlementEnum["PP"] = "PP"; EntitlementEnum["NP"] = "NP"; EntitlementEnum["PN"] = "PN"; })(EntitlementEnum || (exports.EntitlementEnum = EntitlementEnum = {})); var PeriodTypeEnum; (function (PeriodTypeEnum) { PeriodTypeEnum["DAY"] = "day"; PeriodTypeEnum["MONTH"] = "month"; PeriodTypeEnum["YEAR"] = "year"; PeriodTypeEnum["YTD"] = "ytd"; })(PeriodTypeEnum || (exports.PeriodTypeEnum = PeriodTypeEnum = {})); var FrequencyTypeEnum; (function (FrequencyTypeEnum) { FrequencyTypeEnum["MINUTE"] = "minute"; FrequencyTypeEnum["DAILY"] = "daily"; FrequencyTypeEnum["WEEKLY"] = "weekly"; FrequencyTypeEnum["MONTHLY"] = "monthly"; })(FrequencyTypeEnum || (exports.FrequencyTypeEnum = FrequencyTypeEnum = {})); var GetQuotesAcceptableFieldsEnum; (function (GetQuotesAcceptableFieldsEnum) { GetQuotesAcceptableFieldsEnum["QUOTE"] = "quote"; GetQuotesAcceptableFieldsEnum["FUNDAMENTAL"] = "fundamental"; // These were recommended by GitHub copilot. I'm unsure if they are correct. GetQuotesAcceptableFieldsEnum["EXTENDED"] = "extended"; GetQuotesAcceptableFieldsEnum["REFERENCE"] = "reference"; GetQuotesAcceptableFieldsEnum["REGULAR"] = "regular"; })(GetQuotesAcceptableFieldsEnum || (exports.GetQuotesAcceptableFieldsEnum = GetQuotesAcceptableFieldsEnum = {})); var OptionExpirationType; (function (OptionExpirationType) { OptionExpirationType["MONTHLY"] = "M"; OptionExpirationType["QUARTERLY"] = "Q"; OptionExpirationType["WEEKLY"] = "W"; OptionExpirationType["REGULAR_S"] = "S"; // Expires 3rd Friday of the month })(OptionExpirationType || (exports.OptionExpirationType = OptionExpirationType = {})); var OptionSettlementTypeEnum; (function (OptionSettlementTypeEnum) { OptionSettlementTypeEnum["AM"] = "A"; OptionSettlementTypeEnum["PM"] = "P"; // PM settlement })(OptionSettlementTypeEnum || (exports.OptionSettlementTypeEnum = OptionSettlementTypeEnum = {})); var QuoteTypeEnum; (function (QuoteTypeEnum) { QuoteTypeEnum["NBBO"] = "NBBO"; QuoteTypeEnum["NFL"] = "NFL"; })(QuoteTypeEnum || (exports.QuoteTypeEnum = QuoteTypeEnum = {})); var OptionStrategyEnum; (function (OptionStrategyEnum) { OptionStrategyEnum["SINGLE"] = "SINGLE"; OptionStrategyEnum["ANALYTICAL"] = "ANALYTICAL"; OptionStrategyEnum["COVERED"] = "COVERED"; OptionStrategyEnum["VERTICAL"] = "VERTICAL"; OptionStrategyEnum["CALENDAR"] = "CALENDAR"; OptionStrategyEnum["STRANGLE"] = "STRANGLE"; OptionStrategyEnum["STRADDLE"] = "STRADDLE"; OptionStrategyEnum["BUTTERFLY"] = "BUTTERFLY"; OptionStrategyEnum["CONDOR"] = "CONDOR"; OptionStrategyEnum["DIAGONAL"] = "DIAGONAL"; OptionStrategyEnum["COLLAR"] = "COLLAR"; OptionStrategyEnum["ROLL"] = "ROLL"; })(OptionStrategyEnum || (exports.OptionStrategyEnum = OptionStrategyEnum = {})); var FundStrategyEnum; (function (FundStrategyEnum) { FundStrategyEnum["ACTIVE"] = "A"; FundStrategyEnum["LEVERAGED"] = "L"; FundStrategyEnum["PASSIVE"] = "P"; FundStrategyEnum["QUANTITATIVE"] = "Q"; FundStrategyEnum["SHORT"] = "S"; })(FundStrategyEnum || (exports.FundStrategyEnum = FundStrategyEnum = {})); var OptionExerciseTypeEnum; (function (OptionExerciseTypeEnum) { OptionExerciseTypeEnum["AMERICAN"] = "A"; OptionExerciseTypeEnum["EUROPEAN"] = "E"; })(OptionExerciseTypeEnum || (exports.OptionExerciseTypeEnum = OptionExerciseTypeEnum = {})); var OptionExpiryMonthEnum; (function (OptionExpiryMonthEnum) { OptionExpiryMonthEnum["JANUARY"] = "JAN"; OptionExpiryMonthEnum["FEBRUARY"] = "FEB"; OptionExpiryMonthEnum["MARCH"] = "MAR"; OptionExpiryMonthEnum["APRIL"] = "APR"; OptionExpiryMonthEnum["MAY"] = "MAY"; OptionExpiryMonthEnum["JUNE"] = "JUN"; OptionExpiryMonthEnum["JULY"] = "JUL"; OptionExpiryMonthEnum["AUGUST"] = "AUG"; OptionExpiryMonthEnum["SEPTEMBER"] = "SEP"; OptionExpiryMonthEnum["OCTOBER"] = "OCT"; OptionExpiryMonthEnum["NOVEMBER"] = "NOV"; OptionExpiryMonthEnum["DECEMBER"] = "DEC"; OptionExpiryMonthEnum["ALL"] = "ALL"; })(OptionExpiryMonthEnum || (exports.OptionExpiryMonthEnum = OptionExpiryMonthEnum = {})); var DividendFrequency; (function (DividendFrequency) { DividendFrequency[DividendFrequency["ANNUAL"] = 1] = "ANNUAL"; DividendFrequency[DividendFrequency["SEMI_ANNUAL"] = 2] = "SEMI_ANNUAL"; DividendFrequency[DividendFrequency["THREE_TIMES_A_YEAR"] = 3] = "THREE_TIMES_A_YEAR"; DividendFrequency[DividendFrequency["QUARTERLY"] = 4] = "QUARTERLY"; DividendFrequency[DividendFrequency["EVERY_OTHER_MONTH"] = 6] = "EVERY_OTHER_MONTH"; DividendFrequency[DividendFrequency["ELEVEN_TIMES_A_YEAR"] = 11] = "ELEVEN_TIMES_A_YEAR"; DividendFrequency[DividendFrequency["MONTHLY"] = 12] = "MONTHLY"; })(DividendFrequency || (exports.DividendFrequency = DividendFrequency = {})); var MutualFundAssetSubType; (function (MutualFundAssetSubType) { MutualFundAssetSubType["OPEN_ENDED_FUND"] = "OEF"; MutualFundAssetSubType["CLOSED_ENDED_FUND"] = "CEF"; MutualFundAssetSubType["MONEY_MARKET_FUND"] = "MMF"; })(MutualFundAssetSubType || (exports.MutualFundAssetSubType = MutualFundAssetSubType = {})); var EquityAssetSubTypeEnum; (function (EquityAssetSubTypeEnum) { EquityAssetSubTypeEnum["COMMON_EQUITY"] = "COE"; EquityAssetSubTypeEnum["PREFERRED_EQUITY"] = "PRF"; EquityAssetSubTypeEnum["AMERICAN_DEPOSITARY_RECEIPT"] = "ADR"; EquityAssetSubTypeEnum["GLOBAL_DEPOSITARY_RECEIPT"] = "GDR"; EquityAssetSubTypeEnum["CLOSED_END_FUND"] = "CEF"; EquityAssetSubTypeEnum["EXCHANGE_TRADED_FUND"] = "ETF"; EquityAssetSubTypeEnum["EXCHANGE_TRADED_NOTE"] = "ETN"; EquityAssetSubTypeEnum["UNIT_INVESTMENT_TRUST"] = "UIT"; EquityAssetSubTypeEnum["WARRANT"] = "WAR"; EquityAssetSubTypeEnum["RIGHTS"] = "RGT"; })(EquityAssetSubTypeEnum || (exports.EquityAssetSubTypeEnum = EquityAssetSubTypeEnum = {})); var AssetMainTypeEnum; (function (AssetMainTypeEnum) { AssetMainTypeEnum["BOND"] = "BOND"; AssetMainTypeEnum["EQUITY"] = "EQUITY"; AssetMainTypeEnum["ETF"] = "ETF"; AssetMainTypeEnum["EXTENDED"] = "EXTENDED"; AssetMainTypeEnum["FOREX"] = "FOREX"; AssetMainTypeEnum["FUTURE"] = "FUTURE"; AssetMainTypeEnum["FUTURE_OPTION"] = "FUTURE_OPTION"; AssetMainTypeEnum["FUNDAMENTAL"] = "FUNDAMENTAL"; AssetMainTypeEnum["INDEX"] = "INDEX"; AssetMainTypeEnum["INDICATOR"] = "INDICATOR"; AssetMainTypeEnum["MUTUAL_FUND"] = "MUTUAL_FUND"; AssetMainTypeEnum["OPTION"] = "OPTION"; AssetMainTypeEnum["UNKNOWN"] = "UNKNOWN"; })(AssetMainTypeEnum || (exports.AssetMainTypeEnum = AssetMainTypeEnum = {})); var DirectionEnum; (function (DirectionEnum) { DirectionEnum["UP"] = "UP"; DirectionEnum["DOWN"] = "DOWN"; })(DirectionEnum || (exports.DirectionEnum = DirectionEnum = {})); var HttpStatusCode; (function (HttpStatusCode) { HttpStatusCode[HttpStatusCode["BAD_REQUEST"] = 400] = "BAD_REQUEST"; HttpStatusCode[HttpStatusCode["UNAUTHORIZED"] = 401] = "UNAUTHORIZED"; HttpStatusCode[HttpStatusCode["NOT_FOUND"] = 404] = "NOT_FOUND"; HttpStatusCode[HttpStatusCode["INTERNAL_SERVER_ERROR"] = 500] = "INTERNAL_SERVER_ERROR"; })(HttpStatusCode || (exports.HttpStatusCode = HttpStatusCode = {})); //# sourceMappingURL=dataapi.types.js.map