10-K - Solo fundamentos históricos
Si sólo está interesado en los aspectos fundamentales (cuenta de resultados, balance, estado de flujos de efectivo) de los 10-K, puede utilizar el proveedor eodhistoricaldata.com . Soy un cliente de pago y utilizo sus APIs a diario. El precio es de 10 dólares al mes para acceder a los fundamentos de 37.000 acciones (en todo el mundo), 6.000 ETFs y 20.000 fondos de inversión.
Puede utilizar el método getFundamentals(ticker)
proporcionado por la biblioteca eodhistoricaldata-api
( https://www.npmjs.com/package/eodhistoricaldata-api ), o acceder directamente a su API RESTful.
Puede acceder a la API mediante programación, sin necesidad de descargar todos los informes a la vez.
La API devuelve datos JSON, por ejemplo:
"Highlights": {
"MarketCapitalization": 54915055616,
"MarketCapitalizationMln": "54915.0556",
"EBITDA": 616286976,
"PERatio": null,
"PEGRatio": "-1.5700",
"WallStreetTargetPrice": "321.8900",
"BookValue": "26.2790",
"DividendShare": null,
"DividendYield": null,
"EarningsShare": "-4.8500",
"EPSEstimateCurrentYear": "-6.5600",
"EPSEstimateNextYear": "-2.0000",
"EPSEstimateNextQuarter": "-1.6700",
"MostRecentQuarter": "2018-09-30",
"ProfitMargin": "-0.1022",
"OperatingMarginTTM": "-0.0710",
"ReturnOnAssetsTTM": "-0.0271",
"ReturnOnEquityTTM": "-0.3397",
"RevenueTTM": "17523644416.00",
"RevenuePerShareTTM": "103.3240",
"QuarterlyRevenueGrowthYOY": "1.2860",
"GrossProfitTTM": "2222487000.00",
"DilutedEpsTTM": "-10.5600",
"QuarterlyEarningsGrowthYOY": null
},
// ...
"Income_Statement": {
"currency_symbol": "USD",
"quarterly": {
"2018-09-30": {
"date": "2018-09-30",
"filing_date": "2018-11-02",
"researchDevelopment": "350848000.00",
"effectOfAccountingCharges": null,
"incomeBeforeTax": "271320000.00",
"minorityInterest": "1344731000.00",
"netIncome": "311516000.00",
"sellingGeneralAdministrative": "729876000.00",
"grossProfit": "1523665000.00",
"ebit": "442941000.00",
"operatingIncome": "442941000.00",
"otherOperatingExpenses": null,
"interestExpense": "-169858000.00",
"extraordinaryItems": null,
"nonRecurring": null,
"otherItems": null,
"incomeTaxExpense": "16647000.00",
"totalRevenue": "6824413000.00",
"totalOperatingExpenses": "6381472000.00",
"costOfRevenue": "5300748000.00",
"totalOtherIncomeExpenseNet": "-171621000.00",
"discontinuedOperations": null,
"netIncomeFromContinuingOps": "254673000.00",
"netIncomeApplicableToCommonShares": "311516000.00"
},
// ...
"Balance_Sheet": {
"currency_symbol": "USD",
"quarterly": {
"2018-09-30": {
"date": "2018-09-30",
"filing_date": "2018-11-02",
"intangibleAssets": "291476000.00",
"totalLiab": "23409144000.00",
"totalStockholderEquity": "4508838000.00",
"deferredLongTermLiab": "0.00",
"otherCurrentLiab": "2266778000.00",
"totalAssets": "29262713000.00",
"commonStock": "171000.00",
"otherCurrentAssets": "158627000.00",
"retainedEarnings": "-5457315000.00",
"otherLiab": "2285172000.00",
"goodWill": "65226000.00",
"otherAssets": "1233979000.00",
"cash": "2967504000.00",
"totalCurrentLiabilities": "9775324000.00",
"shortLongTermDebt": "2106538000.00",
"otherStockholderEquity": "8271000.00",
"propertyPlantEquipment": "19733969000.00",
"totalCurrentAssets": "7920491000.00",
"longTermInvestments": "17572000.00",
"netTangibleAssets": "4152136000.00",
"shortTermInvestments": "0.00",
"netReceivables": "1155001000.00",
"longTermDebt": "9726589000.00",
"inventory": "3314127000.00",
"accountsPayable": "3596984000.00",
"totalPermanentEquity": "0.00",
"noncontrollingInterestInConsolidatedEntity": "0.00",
"temporaryEquityRedeemableNoncontrollingInterests": "0.00",
"accumulatedOtherComprehensiveIncome": "0.00",
"additionalPaidInCapital": "0.00",
"commonStockTotalEquity": "0.00",
"preferredStockTotalEquity": "0.00",
"retainedEarningsTotalEquity": "0.00",
"treasuryStock": "0.00"
},
// ...
"Cash_Flow": {
"currency_symbol": "USD",
"quarterly": {
"2018-09-30": {
"date": "2018-09-30",
"filing_date": "2018-11-02",
"investments": null,
"changeToLiabilities": "895197000.00",
"totalCashflowsFromInvestingActivities": "-560965000.00",
"netBorrowings": "-221931000.00",
"totalCashFromFinancingActivities": "-84218000.00",
"changeToOperatingActivities": "98770000.00",
"netIncome": "311516000.00",
"changeInCash": "739728000.00",
"totalCashFromOperatingActivities": "1391281000.00",
"depreciation": "502825000.00",
"otherCashflowsFromInvestingActivities": "128600000.00",
"dividendsPaid": "0.00",
"changeToInventory": "-55055000.00",
"changeToAccountReceivables": "-587594000.00",
"salePurchaseOfStock": "0.00",
"otherCashflowsFromFinancingActivities": "42839000.00",
"changeToNetincome": "179168000.00",
"capitalExpenditures": "-559765000.00"
},
10-K - En tiempo real
Sugiero sec-api
( https://www.npmjs.com/package/sec-api ) si necesita acceso en tiempo real a los archivos 10-K. Proporciona un canal websocket (en tiempo real). En cuanto se publica una nueva presentación en sec.gov EDGAR, la biblioteca lanza un evento y devuelve información sobre la nueva presentación de la siguiente manera (formato JSON):
{
companyName: 'WALT DISNEY CO/ (0001001039) (Issuer)',
cik: '0001001039',
type: '10-K',
description: 'FORM 10-K',
linkToFilingDetails: 'https://www.sec.gov/...',
linkToHtmlAnnouncement: 'https://www.sec.gov/...',
linkToXbrl: 'https://www.sec.gov/...',
announcedAt: '2018-12-21T20:02:07-05:00'
}
La biblioteca funciona con JavaScript del lado del servidor (por ejemplo, Node.js) y del lado del cliente (por ejemplo, React, React Native, Angular, Vue).
Implementación simple de Node.js:
const api = require('sec-api')();
api.on('filing', filing => console.log(filing));