Ich fragte mich, ob es möglich sein würde, grundlegende Investitionsdaten mit Python zu sammeln, und als ich sie nachschlug, fand ich einige Artikel, die ich XBRL vom UFO-Catcher heruntergeladen und verschiedene Dinge getan hatte, aber ich dachte, dass alle kratzig und problematisch wären. Ich habe ein Modul erstellt, mit dem XBRL schnell abgerufen und analysiert werden kann. Ich habe es gerade geschafft, also würde ich mich freuen, wenn Sie mich kontaktieren könnten, wenn etwas nicht stimmt.
Installation aus dem Git-Repository.
python
pip install git+https://github.com/sawadyrr5/UfoDataReader
Verwenden Sie zum Abrufen der XBRL die DataReader-Klasse. Geben Sie das Symbol an, starten Sie, beenden Sie, um alle übereinstimmenden Dokumente anzuzeigen. Diejenigen mit "Securities Report" oder "Quarterly Report" im Titel sind is_yuho = True. Wenn fetch_xbrl = True ist, werden XBRL-Daten heruntergeladen (Beachten Sie, dass ungefähr mehrere MB vorhanden sind).
python
In [1]:
# 1. getting xbrl
from UfoDataReader.io.data import DataReader
from datetime import datetime
start = datetime(2017, 6, 23)
end = datetime(2017, 6, 23)
ufos = DataReader('7203', 'ufo', start, end, fetch_xbrl=False) # if fetch_xbrl=True, download xbrl files.
ufos
Out[1]:
[{'docid': 'S100AKEX',
'id': 'ED2017062301177',
'is_yuho': True,
'title': '[E02144] Wertpapierbericht von Toyota Motor Co., Ltd. - 113. Amtszeit(1. April 2016 - 31. März 2017)',
'updated': datetime.datetime(2017, 6, 23, 0, 0),
'url': 'http://resource.ufocatch.com/data/edinet/ED2017062301177'},
{'docid': 'S100AI3I',
'id': 'ED2017062301247',
'is_yuho': False,
'title': '[E02144] Bericht über die interne Kontrolle von Toyota Motor Co., Ltd. - 113. Amtszeit(1. April 2016 - 31. März 2017)',
'updated': datetime.datetime(2017, 6, 23, 0, 0),
'url': 'http://resource.ufocatch.com/data/edinet/ED2017062301247'}]
Beim XBRL-Parsing wird die UfoXBRLParser-Klasse verwendet. Wenn Sie eine XBRL-Datei an die parse () -Methode übergeben, wird ein analysiertes XBRL-Dokument zurückgegeben. Sie können die grundlegenden Informationen des Dokuments abrufen, indem Sie das XBRL-Dokument an parseDEI () übergeben.
python
In [2]:
# 2.1 parse xbrl (US GAAP)
from UfoDataReader.util.parser import UfoXBRLParser
ufoparser = UfoXBRLParser()
toyota = 'jpcrp030000-asr-001_E02144-000_2015-03-31_01_2015-06-24.xbrl' # US GAAP
xbrl = ufoparser.parse(toyota)
dei = ufoparser.parseDEI(xbrl)
dei.__dict__
python
Out[2]:
{'accounting_standards': 'US GAAP',
'company_name': 'Toyota Motor Corporation',
'current_fy_end': '2015-03-31',
'current_fy_start': '2014-04-01',
'edinet_code': 'E02144',
'trading_symbol': '72030'}
Sie können grundlegende Finanzindikatoren usw. erhalten, indem Sie das XBRL-Dokument an parseGAAP () übergeben. Es gibt drei Arten von Rechnungslegungsstandards für die Erstellung von Wertpapierberichten: US-GAAP, IFRS und Japan-GAAP, und die Elementnamen für die Analyse unterscheiden sich geringfügig, aber vorerst, wenn Sie in parseGAAP () gehen, Ich versuche, zwischen US-GAAP und Japan-GAAP zu unterscheiden und diese zu analysieren. IFRS werden nicht unterstützt. (Einzelheiten wie Elementnamen finden Sie in der folgenden von der Financial Services Agency veröffentlichten Datei.)
(e) Liste der Taxonomieelemente (EXCEL: 6.281 KB)
Im Fall von Toyota Motor basiert es auf US-GAAP-Standards.
python
In [3]:
gaap = ufoparser.parseGAAP(xbrl)
gaap.__dict__
python
Out[3]:
{'assets': '15128623000000',
'basic_eps': '688.02',
'cashflow_from_financing': '306045000000',
'cashflow_from_investing': '-3813490000000',
'cashflow_from_operation': '3685753000000',
'comprehensive_income': '3294275000000',
'current_assets': '6000524000000',
'current_liabilities': '3571917000000',
'diluted_eps': '687.66',
'liabilities': '4944351000000',
'net_assets': '10184271000000',
'net_income_loss': '2173338000000',
'non_current_assets': '9128099000000',
'non_current_liabilities': '1372433000000',
'operating_income_loss': 0,
'per': '12.2',
'profit_loss_before_tax': '2892828000000',
'revenues': '27234521000000',
'shares_outstanding': '3417997000'}
Dies gilt für Unternehmen, die nach dem inländischen Standard Japan GAAP gegründet wurden.
python
In [4]:
# 2.2 parse xbrl (Japan GAAP)
amiyaki = 'jpcrp030000-asr-001_E03398-000_2017-03-31_01_2017-06-23.xbrl' # Japan GAAP
xbrl = ufoparser.parse(amiyaki)
dei = ufoparser.parseDEI(xbrl)
dei.__dict__
python
Out[4]:
{'accounting_standards': 'Japan GAAP',
'company_name': 'Amiyakitei Co., Ltd.',
'current_fy_end': '2017-03-31',
'current_fy_start': '2016-04-01',
'edinet_code': 'E03398',
'trading_symbol': '27530'}
python
In [5]:
gaap = ufoparser.parseGAAP(xbrl)
gaap.__dict__
python
Out[5]:
{'assets': '23304000000',
'basic_eps': '315.96',
'bps': '2769.14',
'cashflow_from_financing': '-744000000',
'cashflow_from_investing': '-1339000000',
'cashflow_from_operation': '3100000000',
'comprehensive_income': '2163000000',
'current_assets': '11004000000',
'current_liabilities': '3538000000',
'diluted_eps': '',
'equity_to_asset_ratio': '0.814',
'liabilities': '4339000000',
'net_assets': '18965000000',
'netsales': '30564000000',
'non_current_assets': '12299000000',
'non_current_liabilities': '800000000',
'ordinary_income_loss': '3053000000',
'per': '13.1',
'profit_loss': '2163000000',
'roe': '0.119',
'shares_outstanding': '6848800',
'total_assets': '23304000000'}
Finanzanalyse für die Anlage Schritt 1 "Erfassung von Finanzinformationen XBRL" Finanzanalyse für Investitionsschritt 2 "XBRL-Datei in DB importieren" Gemeldetes XBRL-Elementmemo
Recommended Posts