[英]Reading XBRL facts - Java
我需要從SEC 10-K文件中獲得一些事實,例如總收入,毛利潤,毛利潤,運營費用等,以及相應的背景。
對於像https://www.sec.gov/Archives/edgar/data/1318605/000156459018002956/tsla-20171231.xml這樣的文件,僅使用XPath來找出所需的幾個元素和值似乎是可行的。 但是有一些文件( https://www.sec.gov/Archives/edgar/data/19617/000001961718000057/jpm-20171231.xml ),其中總費用在具有擴展分類標准的不同細分中分解。
我的問題是
在任何情況下,如果只使用XPath這樣做我可能更喜歡。 xbrl文檔的有效性並不重要。
使用XBRL文件最可靠的方法是使用XBRL處理庫。 Java中有一些,一些是專有的(收費)和一些開源的。
xbrl.org上有一個維護的工具和服務列表:
https://www.xbrl.org/the-standard/how/tools-and-services/
據我所知,美國證券交易委員會的文件是可靠的,被很多人廣泛使用並在許多處理器上進行了測試。 如果UBMatrix存在問題,例如空指針異常,我建議與他們聯系並讓他們知道,以便他們可以解決它。
從理論上講,使用XPath / XQuery / XSLT也是可能的,因為XBRL使用XML語法,但你需要注意通過解析上下文(這是關系術語中的連接),你實際上是從頭開始重新實施不完整的XBRL處理器,存在隨之而來的漏洞和沉沒成本的風險。 除了核心XBRL(例如,尺寸,......)之外,還有許多細微之處和規范生態系統需要考慮,以便不檢索錯誤的值。 通過使用現有的處理器,您正在建立在其他人已經投入的努力之上,以便使所有XBRL語義正確:這是XBRL作為標准的好處。
最后一點:用於總收入,毛利等的確切XBRL標簽可能因公司而異,因為有些標簽使用自己的標簽(擴展名),而不是US-GAAP標簽。 此外,一些公司省略了一些需要消費者根據其他事實計算的事實。 這可以使用XBRL處理器頂部的映射和公式來解決。 查爾斯霍夫曼通過大量有用的建議分享了有關此事的報告,並在線維護這些映射(搜索關鍵詞的是:基本會計概念,報告框架)。
根據您對數據的看法,我建議您查看XBRL US API 。 這提供了對所有SEC文件的API訪問,並使數據以JSON形式提供。 您可以獲得免費的API密鑰,用於“私人,非商業研究和開發” 。
我還要看一下Arelle開源項目,這是一個用Python編寫的XBRL處理器。 特別是,它有一個插件,它將提供xBRL-JSON格式的數據,您可能會發現它比原始XML文件更容易使用,並將處理Ghislain所指的處理這些的復雜性。 。
有一個專用的API返回JSON格式的公司基礎。 您可以使用包eodhistoricaldata-api
( https://www.npmjs.com/package/eodhistoricaldata-api )提供的方法getFundamentals(symbol)
)。
該方法返回季度和年度財務(資產負債表,現金流量,收入報表),包括總收入,毛利潤,毛利潤,運營支出等。
例如:
"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"
},
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.