2
$\begingroup$

I want to read financial statements in XBRL Format from the SEC site automatically.

For instance the 10-Q File from Apple: http://www.sec.gov/Archives/edgar/data/320193/000119312515259935/aapl-20150627.xml

For conversion of the XBRL data I want to use the R package XBRL.

Questions:

  1. Are the names of document and its web-address at SEC standardized, so that I can download the files automatically in a job? Or do I still have to look up the webadress in the full index (see Automated 10-K XBRL data grab using the SEC file structure )?

  2. Is the XBRL tag in conjunction with 10-Q /10-K requirements in that way standardized, that I can expect standardized tags? Especially that NOT the first firm tags "Cost of Goods Sold", the next company "COGS" and the third company "Cost of Revenue".

  3. Is the time period of 10-Q files standardized 3 month?

  4. Which proportion of the 10-Q and 10-K are files available in XBRL format (approximate percentage)?

  5. Is there something like a XBRL definition available somewhere? When applying

inst <- "http://www.sec.gov/Archives/edgar/data/320193/000119312515259935/aapl-20150627.xml"

aapl_10q= xbrlDoAll(inst, verbose=TRUE)

str(aapl_10q)

there appears so much weired data!

Jujo

$\endgroup$
1
  • $\begingroup$ Did you ever find an answer to this question? $\endgroup$ Commented Jan 17, 2016 at 3:43

2 Answers 2

1
$\begingroup$
  1. No standard. Companies are allowed to name fields as they like. At least it seems to be tolerated.

  2. I dont know about XBRL, but it may help you to know that in the submitted html version of the financial statements, you can see which lines adhere to GAAP by looking at the field name in the tag of the table cell. All of these start with gaap like gaap_costOfGoodsSold. But this is only true for the reports after 2011 or so. And fortunately, the GAAP naming seems consistent across companies.

$\endgroup$
1
$\begingroup$

You don't need to read/parse financial statements in XBRL format in the first place.

There exists the method getFundamentals(ticker) provided by the package eodhistoricaldata-api (https://www.npmjs.com/package/eodhistoricaldata-api).

The library returns quarterly (and yearly) financial statements (income statements, balance sheets, and cash flow statements). The data is standardised, and provided in JSON format.

For example:

"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"
            },

The package supports client-side (React, React Native, Angular, Vue, etc.), and server-side (Node.js, etc.) JavaScript.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.