メインコンテンツへスキップ
見出し画像

個人投資家向けデータAPI配信サービス:J-Quants APIをPythonで処理

    1.概要 

     JPX総研(日本取引所グループ)より公開された「J-Quants API」は下記の通り個人投資家向けの情報をAPIで提供してくれます。

    画像
    https://jpx-mid-career-recruitment.com/aboutus/j-quants-competition

    免責事項はこちらを参照下さい。https://t.co/IU7iNsBgh8

    — JPX J-Quants【公式】 (@jpx_JQuants) November 7, 2022

     現状、日本においては個人の方が生の金融データを取得・利用することは容易ではありません。そのためJPXグループでは昨年、本プロジェクトにおいて個人の方向けにヒストリカルの株価や企業の財務データといったプロも利用する金融データを、その分析の手法を合わせて個人投資家の皆様に提供し、データを活用して投資分析をしていただくための教育施策を実施しました。本施策において株価・財務データ等の金融データをAPIにより提供したところ、本取り組みを継続して欲しいとの要望を多くいただいたため、今般、ベータ版として本サービスをリリースすることといたしました。
     本サービスで以下データをAPIにより配信する予定です。利用者は自由な切り口で、株価の時系列分析や、上場会社間の比較が可能となります。

    https://www.jpx.co.jp/corporate/news/news-releases/6020/20220704-01.html
    • 東証上場会社にかかるヒストリカル株価(2017年以降の四本値・出来高等、株式分割等を調整した調整株価)

    • 決算短信情報を整形した財務データ(2017年以降の決算短信サマリー情報)

    • 銘柄情報

    • 業種情報

    • 翌日決算発表予定

    画像
    https://www.jpx.co.jp/corporate/about-jpx/profile/06.html

     今回はフリープランを使用しますが課金次第で取得できる情報が異なりますので、AIや分析に応じて選択します。

    画像
    画像

    2.環境構築

     データ抽出前の事前準備をしていきます。なお公式Docsは日本語、かつ非常に分かりやすいため直接見ても問題なく進めることが出来ると思います。

    2-1.アカウント作成

     サインインからアカウントを作成します(説明省略)。

    画像

    2-2.リフレッシュトークン取得(/token/auth_user)

     サインイン後のトップページの上に「リフレッシュトークンを取得する」ボタンがありますのでクリックするとテキストデータがコピーされます。
     なお注意点として「リフレッシュトークンの有効期間は1週間」です。

    画像

     後ほど使用したいためメモ帳でJSONファイルを作成して保存しました。

     リフレッシュトークン、IDトークンの有効期限が短いため基本的には毎回の処理で新規作成する方が楽となります。初学者向けでWebアプリから取得しましたが、後述するコードからの取得を推奨します。

    画像

    【Pythonで取得】
     PythonのHTTPメソッドを使用して直接リフレッシュトークンを取得可能です。E-mailとパスワードはアカウント作成時のものを使用します。

    [IN]
    import requests
    import json
    
    data={"mailaddress":"<YOUR EMAIL_ADDRESS>", "password":"<YOUR PASSWORD>"}
    r_post = requests.post("https://api.jquants.com/v1/token/auth_user", data=json.dumps(data))
    r_post.json()
    [OUT]
    {'refreshToken': '<取得したリフレッシュトークントークン>'}

    2-3.IDトークン取得(/token/auth_refresh)

     先ほど取得したリフレッシュトークンを使用してIDトークン(所謂APIキー)を取得します。IDトークンの有効期限は24hのため、基本的には前節のリフレッシュトークンとまとめて処理すると手間が省けます。

    画像
    [IN]
    import requests
    import json
    
    data={"mailaddress":"<YOUR EMAIL_ADDRESS>", "password":"<YOUR PASSWORD>"}   
    res = requests.post("https://api.jquants.com/v1/token/auth_user", data=json.dumps(data))
    REFRESH_TOKEN = res.json()["refreshToken"] #リフレッシュトークンを取得 
     #IDトークンを取得 
    res = requests.post(f"https://api.jquants.com/v1/token/auth_refresh?refreshtoken={REFRESH_TOKEN}")
    print(res.json())
    idToken = res.json()['idToken']
    [OUT]
    {'idToken':'<取得したIDトークン>'}

    3.データ抽出

     今回はフリープランのため「上場銘柄一覧」、「株価四本値」、「財務状況」、「決算発表予定日」の4つを抽出します。

    画像

     まずは必要なライブラリ、クラス、idトークンを事前に読み込みます。

    [IN]
    import os
    import sys
    import glob
    import json
    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    import seaborn
    import japanize_matplotlib
    import requests
    
    class HorizontalDisplay:
        def __init__(self, *args):
            self.args = args
        def _repr_html_(self):
            template = '<div style="float: left; padding: 10px;">{0}</div>'
            return '\n'.join(template.format(a._repr_html_()) for a in self.args)
    
    
    data={"mailaddress":"<YOUR EMAIL_ADDRESS>", "password":"<YOUR PASSWORD>"}   
    res = requests.post("https://api.jquants.com/v1/token/auth_user", data=json.dumps(data))
    REFRESH_TOKEN = res.json()["refreshToken"] #リフレッシュトークンを取得 
     #IDトークンを取得 
    res = requests.post(f"https://api.jquants.com/v1/token/auth_refresh?refreshtoken={REFRESH_TOKEN}")
    idToken = res.json()['idToken']

    3-1.上場銘柄一覧

     過去時点での銘柄情報、当日の銘柄情報および翌営業日時点の銘柄情報が取得可能です。

    画像

     3-1-1.データ取得:(/listed/info)

     APIでデータ抽出します。

    [IN]
    headers = {'Authorization': 'Bearer {}'.format(idToken)}
    res = requests.get("https://api.jquants.com/v1/listed/info", headers=headers)
    res.json()
    [OUT]
    {'info': [{'Date': '2023-02-06',
       'Code': '13010',
       'CompanyName': '極洋',
       'CompanyNameEnglish': 'KYOKUYO CO.,LTD.',
       'Sector17Code': '1',
       'Sector17CodeName': '食品',
       'Sector33Code': '0050',
       'Sector33CodeName': '水産・農林業',
       'ScaleCategory': 'TOPIX Small 2',
       'MarketCode': '0111',
       'MarketCodeName': 'プライム'},
    
    ・
    ・
    
      {'Date': '2023-02-06',
       'Code': '32750',
       'CompanyName': 'ハウスコム',
       'CompanyNameEnglish': 'HOUSECOM CORPORATION',
       'Sector17Code': '17',
       'Sector17CodeName': '不動産',
       'Sector33Code': '8050',
       'Sector33CodeName': '不動産業',
       'ScaleCategory': 'TOPIX Small 2',
       'MarketCode': '0111',
       'MarketCodeName': 'プライム'},
      ...]}

     中身を解析すると、APIの出力は辞書型であり'info'キーに全データがリストで格納されています。リスト内データはそれぞれ辞書であり計11個のキーを持ちます。

    画像
    [IN]
    print(f'response 型式:{type(res.json())} 長さ:{len(res.json())}, key: {res.json().keys()}')
    print(f'データの中身 型式:{type(res.json()["info"])} 長さ:{len(res.json()["info"])}')
    
    data = res.json()["info"][0]
    print(f'データの中身 型式:{type(data)} 長さ:{len(data)}, key: {data.keys()}')
    [OUT]
    response 型式:<class 'dict'> 長さ:1, key: dict_keys(['info'])
    データの中身 型式:<class 'list'> 長さ:4249
    データの中身 型式:<class 'dict'> 長さ:11, key: dict_keys(['Date', 'Code', 'CompanyName', 'CompanyNameEnglish', 'Sector17Code', 'Sector17CodeName', 'Sector33Code', 'Sector33CodeName', 'ScaleCategory', 'MarketCode', 'MarketCodeName'])

     よって比較的簡単にDataFrame型に変換可能です。

    [IN]
    var2description = {
    'Date':'情報適用年月日',
    'Code':'銘柄コード',
    'CompanyName':'会社名',
    'CompanyNameEnglish':'会社名(英語)',
    'Sector17Code':'17業種コード',
    'Sector17CodeName':'17業種コード名  ',
    'Sector33Code':'33業種コード',
    'Sector33CodeName':'33業種コード名',
    'ScaleCategory':'規模コード',
    'MarketCode':'市場区分コード',
    'MarketCodeName':'市場区分名'}
    
    
    df = pd.DataFrame(res.json()["info"])
    df.columns = [var2description[var] for var in df.columns]
    df
    [OUT]
    -
    画像

     DataFrameの機能で欲しい銘柄情報を抽出できます。

    [IN]
    df = pd.DataFrame(res.json()["info"])
    df.columns = [var2description[var] for var in df.columns]
    display(df[df['会社名']=='トヨタ自動車'])
    code_toyota = df[df['会社名']=='トヨタ自動車']['銘柄コード'].values[0]
    print(f'トヨタ自動車の銘柄コード:{code_toyota}')
    [OUT]
    トヨタ自動車の銘柄コード:72030
    画像

     各コードの意味は公式Docsに記載されています。

     3-1-2.参考:データ情報の中身を解析

     取得されたデータ情報を解析しました。

    【統計情報】
     統計情報を確認します。後述の通り全て文字列で格納されているため、統計情報は「データ数、ユニークデータの個数、最頻値、最頻値の頻度(度数)」が取得されます。

    [IN]
    display(df.describe())
    [OUT]
    画像

    【データの情報】
     データ情報を確認します。結論としては全て文字列として格納されているため数値やDatetimeで欲しい場合は変換が必要です。

    [IN]
    df.info()
    [OUT]
    <class 'pandas.core.frame.DataFrame'>
    RangeIndex: 4247 entries, 0 to 4246
    Data columns (total 11 columns):
     #   Column      Non-Null Count  Dtype 
    ---  ------      --------------  ----- 
     0   情報適用年月日     4247 non-null   object
     1   銘柄コード       4247 non-null   object
     2   会社名         4247 non-null   object
     3   会社名(英語)     4247 non-null   object
     4   17業種コード     4247 non-null   object
     5   17業種コード名    4247 non-null   object
     6   33業種コード     4247 non-null   object
     7   33業種コード名    4247 non-null   object
     8   規模コード       4247 non-null   object
     9   市場区分コード     4247 non-null   object
     10  市場区分名       4247 non-null   object
    dtypes: object(11)
    memory usage: 365.1+ KB

     データ1行目における各列のデータ型を確認しました。

    [IN]
    for key in df:
        print(f'データ型 {key}:{type(df.loc[0][key])}')
    [OUT]
    データ型 情報適用年月日:<class 'str'>
    データ型 銘柄コード:<class 'str'>
    データ型 会社名:<class 'str'>
    データ型 会社名(英語):<class 'str'>
    データ型 17業種コード:<class 'str'>
    データ型 17業種コード名  :<class 'str'>
    データ型 33業種コード:<class 'str'>
    データ型 33業種コード名:<class 'str'>
    データ型 規模コード:<class 'str'>
    データ型 市場区分コード:<class 'str'>
    データ型 市場区分名:<class 'str'>

    【欠損値確認】
     今回の結果では欠損値はありませんでした(※print(df.isnull().sum())で簡単に確認できますが可視化が好きなので一工夫)。

    [IN]
    import matplotlib.patches as mpatches
    
    def plot_missing_values_ratio(df_list, titlenames, threshold=1, verbose=False):
        if isinstance(df_list, pd.DataFrame):
            df_list = [df_list]
            
        fig, axes = plt.subplots(nrows=1, ncols=len(df_list), figsize=(8 * len(df_list), 8))
        plt.rcParams['font.size'] = 16
        
        if len(df_list) == 1:
            axes = [axes]
            
        for i, (df, titlename) in enumerate(zip(df_list, titlenames)):
            missing_ratios = df.isna().sum() / len(df)
            colors = ['red' if ratio == 1 else 
                      'pink' if ratio >= threshold else 
                      'orange' for ratio in missing_ratios.values]
            
            #欠損値を割合による色分けで棒グラフを描画 
            axes[i].bar(missing_ratios.index,
                        missing_ratios.values,
                        color=colors)
            
            #閾値の線を描画 
            axes[i].axhline(y=threshold, color='red', linestyle='--', lw=0.5)
            
            axes[i].set_xlabel('Feature', fontsize=12)
            axes[i].set_ylabel('Missing values ratio', fontsize=12)
            axes[i].set_yticks(np.arange(0, 1.1, 0.1))
            axes[i].set_title(f'Missing values ({titlename})', fontsize=12)
            axes[i].tick_params(axis='x', labelrotation=90)
            axes[i].legend(handles=[mpatches.Patch(color='orange'),
                                    mpatches.Patch(color='pink'),
                                    mpatches.Patch(color='red')], 
                           labels=[f'部分欠損 < {threshold}' ,
                                   f'部分欠損 >= {threshold}',
                                   '完全欠損'],
                           fontsize=12)
            
            #グリッド線を描画 
            if verbose:
                    axes[i].grid(axis='y')
    
        plt.tight_layout()
        plt.show()
        
    plot_missing_values_ratio([df], ['データ'], threshold=0.1, verbose=True)
    [OUT]
    画像

    3-2.株価四本値

     株価データを取得することができます。株価は分割・併合を考慮した調整済み株価(小数点第2位四捨五入)と調整前の株価を取得できます。

    画像

     本APIはパラメータとして”銘柄コード:code”と”日付:date”が必須です。

    3-2-1.取得例:トヨタ自動車

     前述の通りトヨタ自動車の銘柄コード:72030を確認しました。銘柄コードを使用して2023年2月6日の情報を抽出しました。

    [IN]
    headers = {'Authorization': 'Bearer {}'.format(idToken)}
    res = requests.get(f"https://api.jquants.com/v1/prices/daily_quotes?code={code_toyota}&date=20230206", headers=headers)
    res.json()
    [OUT]
    {'daily_quotes': [{'Date': '2023-02-06',
       'Code': '72030',
       'Open': 1909.0,
       'High': 1934.5,
       'Low': 1908.0,
       'Close': 1913.5,
       'Volume': 30031400.0,
       'TurnoverValue': 57641247250.0,
       'AdjustmentFactor': 1.0,
       'AdjustmentOpen': 1909.0,
       'AdjustmentHigh': 1934.5,
       'AdjustmentLow': 1908.0,
       'AdjustmentClose': 1913.5,
       'AdjustmentVolume': 30031400.0}]}

     結果の確認ですが確かに2023年2月6日におけるトヨタ自動車の株価データが得られました。

    画像

     参考までにフリープランは約3か月前の情報しか取れないため、直近の情報を取得しようとするとメッセージが返ってきます。

    画像
    [IN]
    headers = {'Authorization': 'Bearer {}'.format(idToken)}
    res = requests.get("https://api.jquants.com/v1/prices/daily_quotes?code=86970&date=20230324", headers=headers)
    res.json()
    [OUT]
    {'message': 'Your subscription covers the following dates: 2021-02-06 ~ 2023-02-06.
     If you want more data, please check other plans:https://jpx-jquants.com/'}

    3-2-2.取得可能情報

     フリーでは株価情報(調整前後)、出来高、取引代金のみですが、課金するとより詳細な情報が入手可能です。

    画像

    3-3.財務状況

     上場企業の四半期毎の決算短信サマリーや業績・配当情報の修正に関する開示情報(主に数値データ)を取得することができます。

    画像
    [IN]
    headers = {'Authorization': 'Bearer {}'.format(idToken)}
    res_finance = requests.get(f"https://api.jquants.com/v1/fins/statements?code={code_toyota}", headers=headers)
    res_finance.json()
    [OUT]
    長いので省略

     中身を解析すると、APIの出力は辞書型であり'statement'キーに全データがリストで格納されています。リスト内データはそれぞれ辞書であり計106個のキーを持ちます。
     リストにあるデータはそれぞれ開示日が異なります。

    [IN]
    print(f'response 型式:{type(res_finance.json())} 長さ:{len(res_finance.json())}, key: {res_finance.json().keys()}')
    print(f'データの中身 型式:{type(res_finance.json()["statements"])} 長さ:{len(res_finance.json()["statements"])}')
    
    for data in res_finance.json()["statements"]:
        print(f'データの中身 型式:{type(data)} 長さ:{len(data)}, key: {data.keys()}')
    
    
    for data in res_finance.json()["statements"]:
        print(f'Disclosed Date: {data["DisclosedDate"]}')
    [OUT]
    
    response 型式:<class 'dict'> 長さ:1, key: dict_keys(['statements'])
    データの中身 型式:<class 'list'> 長さ:9
    
    データの中身 型式:<class 'dict'> 長さ:106, key: dict_keys(['DisclosedDate', 'DisclosedTime', 'LocalCode', 'DisclosureNumber', 'TypeOfDocument', 'TypeOfCurrentPeriod', 'CurrentPeriodStartDate', 'CurrentPeriodEndDate', 'CurrentFiscalYearStartDate', 'CurrentFiscalYearEndDate', 'NextFiscalYearStartDate', 'NextFiscalYearEndDate', 'NetSales', 'OperatingProfit', 'OrdinaryProfit', 'Profit', 'EarningsPerShare', 'DilutedEarningsPerShare', 'TotalAssets', 'Equity', 'EquityToAssetRatio', 'BookValuePerShare', 'CashFlowsFromOperatingActivities', 'CashFlowsFromInvestingActivities', 'CashFlowsFromFinancingActivities', 'CashAndEquivalents', 'ResultDividendPerShare1stQuarter', 'ResultDividendPerShare2ndQuarter', 'ResultDividendPerShare3rdQuarter', 'ResultDividendPerShareFiscalYearEnd', 'ResultDividendPerShareAnnual', 'DistributionsPerUnit(REIT)', 'ResultTotalDividendPaidAnnual', 'ResultPayoutRatioAnnual', 'ForecastDividendPerShare1stQuarter', 'ForecastDividendPerShare2ndQuarter', 'ForecastDividendPerShare3rdQuarter', 'ForecastDividendPerShareFiscalYearEnd', 'ForecastDividendPerShareAnnual', 'ForecastDistributionsPerUnit(REIT)', 'ForecastTotalDividendPaidAnnual', 'ForecastPayoutRatioAnnual', 'NextYearForecastDividendPerShare1stQuarter', 'NextYearForecastDividendPerShare2ndQuarter', 'NextYearForecastDividendPerShare3rdQuarter', 'NextYearForecastDividendPerShareFiscalYearEnd', 'NextYearForecastDividendPerShareAnnual', 'NextYearForecastDistributionsPerUnit(REIT)', 'NextYearForecastPayoutRatioAnnual', 'ForecastNetSales2ndQuarter', 'ForecastOperatingProfit2ndQuarter', 'ForecastOrdinaryProfit2ndQuarter', 'ForecastProfit2ndQuarter', 'ForecastEarningsPerShare2ndQuarter', 'NextYearForecastNetSales2ndQuarter', 'NextYearForecastOperatingProfit2ndQuarter', 'NextYearForecastOrdinaryProfit2ndQuarter', 'NextYearForecastProfit2ndQuarter', 'NextYearForecastEarningsPerShare2ndQuarter', 'ForecastNetSales', 'ForecastOperatingProfit', 'ForecastOrdinaryProfit', 'ForecastProfit', 'ForecastEarningsPerShare', 'NextYearForecastNetSales', 'NextYearForecastOperatingProfit', 'NextYearForecastOrdinaryProfit', 'NextYearForecastProfit', 'NextYearForecastEarningsPerShare', 'MaterialChangesInSubsidiaries', 'ChangesBasedOnRevisionsOfAccountingStandard', 'ChangesOtherThanOnesBasedOnRevisionsOfAccountingStandard', 'ChangesInAccountingEstimates', 'RetrospectiveRestatement', 'NumberOfIssuedAndOutstandingSharesAtTheEndOfFiscalYearIncludingTreasuryStock', 'NumberOfTreasuryStockAtTheEndOfFiscalYear', 'AverageNumberOfShares', 'NonConsolidatedNetSales', 'NonConsolidatedOperatingProfit', 'NonConsolidatedOrdinaryProfit', 'NonConsolidatedProfit', 'NonConsolidatedEarningsPerShare', 'NonConsolidatedTotalAssets', 'NonConsolidatedEquity', 'NonConsolidatedEquityToAssetRatio', 'NonConsolidatedBookValuePerShare', 'ForecastNonConsolidatedNetSales2ndQuarter', 'ForecastNonConsolidatedOperatingProfit2ndQuarter', 'ForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'ForecastNonConsolidatedProfit2ndQuarter', 'ForecastNonConsolidatedEarningsPerShare2ndQuarter', 'NextYearForecastNonConsolidatedNetSales2ndQuarter', 'NextYearForecastNonConsolidatedOperatingProfit2ndQuarter', 'NextYearForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'NextYearForecastNonConsolidatedProfit2ndQuarter', 'NextYearForecastNonConsolidatedEarningsPerShare2ndQuarter', 'ForecastNonConsolidatedNetSales', 'ForecastNonConsolidatedOperatingProfit', 'ForecastNonConsolidatedOrdinaryProfit', 'ForecastNonConsolidatedProfit', 'ForecastNonConsolidatedEarningsPerShare', 'NextYearForecastNonConsolidatedNetSales', 'NextYearForecastNonConsolidatedOperatingProfit', 'NextYearForecastNonConsolidatedOrdinaryProfit', 'NextYearForecastNonConsolidatedProfit', 'NextYearForecastNonConsolidatedEarningsPerShare'])
    データの中身 型式:<class 'dict'> 長さ:106, key: dict_keys(['DisclosedDate', 'DisclosedTime', 'LocalCode', 'DisclosureNumber', 'TypeOfDocument', 'TypeOfCurrentPeriod', 'CurrentPeriodStartDate', 'CurrentPeriodEndDate', 'CurrentFiscalYearStartDate', 'CurrentFiscalYearEndDate', 'NextFiscalYearStartDate', 'NextFiscalYearEndDate', 'NetSales', 'OperatingProfit', 'OrdinaryProfit', 'Profit', 'EarningsPerShare', 'DilutedEarningsPerShare', 'TotalAssets', 'Equity', 'EquityToAssetRatio', 'BookValuePerShare', 'CashFlowsFromOperatingActivities', 'CashFlowsFromInvestingActivities', 'CashFlowsFromFinancingActivities', 'CashAndEquivalents', 'ResultDividendPerShare1stQuarter', 'ResultDividendPerShare2ndQuarter', 'ResultDividendPerShare3rdQuarter', 'ResultDividendPerShareFiscalYearEnd', 'ResultDividendPerShareAnnual', 'DistributionsPerUnit(REIT)', 'ResultTotalDividendPaidAnnual', 'ResultPayoutRatioAnnual', 'ForecastDividendPerShare1stQuarter', 'ForecastDividendPerShare2ndQuarter', 'ForecastDividendPerShare3rdQuarter', 'ForecastDividendPerShareFiscalYearEnd', 'ForecastDividendPerShareAnnual', 'ForecastDistributionsPerUnit(REIT)', 'ForecastTotalDividendPaidAnnual', 'ForecastPayoutRatioAnnual', 'NextYearForecastDividendPerShare1stQuarter', 'NextYearForecastDividendPerShare2ndQuarter', 'NextYearForecastDividendPerShare3rdQuarter', 'NextYearForecastDividendPerShareFiscalYearEnd', 'NextYearForecastDividendPerShareAnnual', 'NextYearForecastDistributionsPerUnit(REIT)', 'NextYearForecastPayoutRatioAnnual', 'ForecastNetSales2ndQuarter', 'ForecastOperatingProfit2ndQuarter', 'ForecastOrdinaryProfit2ndQuarter', 'ForecastProfit2ndQuarter', 'ForecastEarningsPerShare2ndQuarter', 'NextYearForecastNetSales2ndQuarter', 'NextYearForecastOperatingProfit2ndQuarter', 'NextYearForecastOrdinaryProfit2ndQuarter', 'NextYearForecastProfit2ndQuarter', 'NextYearForecastEarningsPerShare2ndQuarter', 'ForecastNetSales', 'ForecastOperatingProfit', 'ForecastOrdinaryProfit', 'ForecastProfit', 'ForecastEarningsPerShare', 'NextYearForecastNetSales', 'NextYearForecastOperatingProfit', 'NextYearForecastOrdinaryProfit', 'NextYearForecastProfit', 'NextYearForecastEarningsPerShare', 'MaterialChangesInSubsidiaries', 'ChangesBasedOnRevisionsOfAccountingStandard', 'ChangesOtherThanOnesBasedOnRevisionsOfAccountingStandard', 'ChangesInAccountingEstimates', 'RetrospectiveRestatement', 'NumberOfIssuedAndOutstandingSharesAtTheEndOfFiscalYearIncludingTreasuryStock', 'NumberOfTreasuryStockAtTheEndOfFiscalYear', 'AverageNumberOfShares', 'NonConsolidatedNetSales', 'NonConsolidatedOperatingProfit', 'NonConsolidatedOrdinaryProfit', 'NonConsolidatedProfit', 'NonConsolidatedEarningsPerShare', 'NonConsolidatedTotalAssets', 'NonConsolidatedEquity', 'NonConsolidatedEquityToAssetRatio', 'NonConsolidatedBookValuePerShare', 'ForecastNonConsolidatedNetSales2ndQuarter', 'ForecastNonConsolidatedOperatingProfit2ndQuarter', 'ForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'ForecastNonConsolidatedProfit2ndQuarter', 'ForecastNonConsolidatedEarningsPerShare2ndQuarter', 'NextYearForecastNonConsolidatedNetSales2ndQuarter', 'NextYearForecastNonConsolidatedOperatingProfit2ndQuarter', 'NextYearForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'NextYearForecastNonConsolidatedProfit2ndQuarter', 'NextYearForecastNonConsolidatedEarningsPerShare2ndQuarter', 'ForecastNonConsolidatedNetSales', 'ForecastNonConsolidatedOperatingProfit', 'ForecastNonConsolidatedOrdinaryProfit', 'ForecastNonConsolidatedProfit', 'ForecastNonConsolidatedEarningsPerShare', 'NextYearForecastNonConsolidatedNetSales', 'NextYearForecastNonConsolidatedOperatingProfit', 'NextYearForecastNonConsolidatedOrdinaryProfit', 'NextYearForecastNonConsolidatedProfit', 'NextYearForecastNonConsolidatedEarningsPerShare'])
    データの中身 型式:<class 'dict'> 長さ:106, key: dict_keys(['DisclosedDate', 'DisclosedTime', 'LocalCode', 'DisclosureNumber', 'TypeOfDocument', 'TypeOfCurrentPeriod', 'CurrentPeriodStartDate', 'CurrentPeriodEndDate', 'CurrentFiscalYearStartDate', 'CurrentFiscalYearEndDate', 'NextFiscalYearStartDate', 'NextFiscalYearEndDate', 'NetSales', 'OperatingProfit', 'OrdinaryProfit', 'Profit', 'EarningsPerShare', 'DilutedEarningsPerShare', 'TotalAssets', 'Equity', 'EquityToAssetRatio', 'BookValuePerShare', 'CashFlowsFromOperatingActivities', 'CashFlowsFromInvestingActivities', 'CashFlowsFromFinancingActivities', 'CashAndEquivalents', 'ResultDividendPerShare1stQuarter', 'ResultDividendPerShare2ndQuarter', 'ResultDividendPerShare3rdQuarter', 'ResultDividendPerShareFiscalYearEnd', 'ResultDividendPerShareAnnual', 'DistributionsPerUnit(REIT)', 'ResultTotalDividendPaidAnnual', 'ResultPayoutRatioAnnual', 'ForecastDividendPerShare1stQuarter', 'ForecastDividendPerShare2ndQuarter', 'ForecastDividendPerShare3rdQuarter', 'ForecastDividendPerShareFiscalYearEnd', 'ForecastDividendPerShareAnnual', 'ForecastDistributionsPerUnit(REIT)', 'ForecastTotalDividendPaidAnnual', 'ForecastPayoutRatioAnnual', 'NextYearForecastDividendPerShare1stQuarter', 'NextYearForecastDividendPerShare2ndQuarter', 'NextYearForecastDividendPerShare3rdQuarter', 'NextYearForecastDividendPerShareFiscalYearEnd', 'NextYearForecastDividendPerShareAnnual', 'NextYearForecastDistributionsPerUnit(REIT)', 'NextYearForecastPayoutRatioAnnual', 'ForecastNetSales2ndQuarter', 'ForecastOperatingProfit2ndQuarter', 'ForecastOrdinaryProfit2ndQuarter', 'ForecastProfit2ndQuarter', 'ForecastEarningsPerShare2ndQuarter', 'NextYearForecastNetSales2ndQuarter', 'NextYearForecastOperatingProfit2ndQuarter', 'NextYearForecastOrdinaryProfit2ndQuarter', 'NextYearForecastProfit2ndQuarter', 'NextYearForecastEarningsPerShare2ndQuarter', 'ForecastNetSales', 'ForecastOperatingProfit', 'ForecastOrdinaryProfit', 'ForecastProfit', 'ForecastEarningsPerShare', 'NextYearForecastNetSales', 'NextYearForecastOperatingProfit', 'NextYearForecastOrdinaryProfit', 'NextYearForecastProfit', 'NextYearForecastEarningsPerShare', 'MaterialChangesInSubsidiaries', 'ChangesBasedOnRevisionsOfAccountingStandard', 'ChangesOtherThanOnesBasedOnRevisionsOfAccountingStandard', 'ChangesInAccountingEstimates', 'RetrospectiveRestatement', 'NumberOfIssuedAndOutstandingSharesAtTheEndOfFiscalYearIncludingTreasuryStock', 'NumberOfTreasuryStockAtTheEndOfFiscalYear', 'AverageNumberOfShares', 'NonConsolidatedNetSales', 'NonConsolidatedOperatingProfit', 'NonConsolidatedOrdinaryProfit', 'NonConsolidatedProfit', 'NonConsolidatedEarningsPerShare', 'NonConsolidatedTotalAssets', 'NonConsolidatedEquity', 'NonConsolidatedEquityToAssetRatio', 'NonConsolidatedBookValuePerShare', 'ForecastNonConsolidatedNetSales2ndQuarter', 'ForecastNonConsolidatedOperatingProfit2ndQuarter', 'ForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'ForecastNonConsolidatedProfit2ndQuarter', 'ForecastNonConsolidatedEarningsPerShare2ndQuarter', 'NextYearForecastNonConsolidatedNetSales2ndQuarter', 'NextYearForecastNonConsolidatedOperatingProfit2ndQuarter', 'NextYearForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'NextYearForecastNonConsolidatedProfit2ndQuarter', 'NextYearForecastNonConsolidatedEarningsPerShare2ndQuarter', 'ForecastNonConsolidatedNetSales', 'ForecastNonConsolidatedOperatingProfit', 'ForecastNonConsolidatedOrdinaryProfit', 'ForecastNonConsolidatedProfit', 'ForecastNonConsolidatedEarningsPerShare', 'NextYearForecastNonConsolidatedNetSales', 'NextYearForecastNonConsolidatedOperatingProfit', 'NextYearForecastNonConsolidatedOrdinaryProfit', 'NextYearForecastNonConsolidatedProfit', 'NextYearForecastNonConsolidatedEarningsPerShare'])
    データの中身 型式:<class 'dict'> 長さ:106, key: dict_keys(['DisclosedDate', 'DisclosedTime', 'LocalCode', 'DisclosureNumber', 'TypeOfDocument', 'TypeOfCurrentPeriod', 'CurrentPeriodStartDate', 'CurrentPeriodEndDate', 'CurrentFiscalYearStartDate', 'CurrentFiscalYearEndDate', 'NextFiscalYearStartDate', 'NextFiscalYearEndDate', 'NetSales', 'OperatingProfit', 'OrdinaryProfit', 'Profit', 'EarningsPerShare', 'DilutedEarningsPerShare', 'TotalAssets', 'Equity', 'EquityToAssetRatio', 'BookValuePerShare', 'CashFlowsFromOperatingActivities', 'CashFlowsFromInvestingActivities', 'CashFlowsFromFinancingActivities', 'CashAndEquivalents', 'ResultDividendPerShare1stQuarter', 'ResultDividendPerShare2ndQuarter', 'ResultDividendPerShare3rdQuarter', 'ResultDividendPerShareFiscalYearEnd', 'ResultDividendPerShareAnnual', 'DistributionsPerUnit(REIT)', 'ResultTotalDividendPaidAnnual', 'ResultPayoutRatioAnnual', 'ForecastDividendPerShare1stQuarter', 'ForecastDividendPerShare2ndQuarter', 'ForecastDividendPerShare3rdQuarter', 'ForecastDividendPerShareFiscalYearEnd', 'ForecastDividendPerShareAnnual', 'ForecastDistributionsPerUnit(REIT)', 'ForecastTotalDividendPaidAnnual', 'ForecastPayoutRatioAnnual', 'NextYearForecastDividendPerShare1stQuarter', 'NextYearForecastDividendPerShare2ndQuarter', 'NextYearForecastDividendPerShare3rdQuarter', 'NextYearForecastDividendPerShareFiscalYearEnd', 'NextYearForecastDividendPerShareAnnual', 'NextYearForecastDistributionsPerUnit(REIT)', 'NextYearForecastPayoutRatioAnnual', 'ForecastNetSales2ndQuarter', 'ForecastOperatingProfit2ndQuarter', 'ForecastOrdinaryProfit2ndQuarter', 'ForecastProfit2ndQuarter', 'ForecastEarningsPerShare2ndQuarter', 'NextYearForecastNetSales2ndQuarter', 'NextYearForecastOperatingProfit2ndQuarter', 'NextYearForecastOrdinaryProfit2ndQuarter', 'NextYearForecastProfit2ndQuarter', 'NextYearForecastEarningsPerShare2ndQuarter', 'ForecastNetSales', 'ForecastOperatingProfit', 'ForecastOrdinaryProfit', 'ForecastProfit', 'ForecastEarningsPerShare', 'NextYearForecastNetSales', 'NextYearForecastOperatingProfit', 'NextYearForecastOrdinaryProfit', 'NextYearForecastProfit', 'NextYearForecastEarningsPerShare', 'MaterialChangesInSubsidiaries', 'ChangesBasedOnRevisionsOfAccountingStandard', 'ChangesOtherThanOnesBasedOnRevisionsOfAccountingStandard', 'ChangesInAccountingEstimates', 'RetrospectiveRestatement', 'NumberOfIssuedAndOutstandingSharesAtTheEndOfFiscalYearIncludingTreasuryStock', 'NumberOfTreasuryStockAtTheEndOfFiscalYear', 'AverageNumberOfShares', 'NonConsolidatedNetSales', 'NonConsolidatedOperatingProfit', 'NonConsolidatedOrdinaryProfit', 'NonConsolidatedProfit', 'NonConsolidatedEarningsPerShare', 'NonConsolidatedTotalAssets', 'NonConsolidatedEquity', 'NonConsolidatedEquityToAssetRatio', 'NonConsolidatedBookValuePerShare', 'ForecastNonConsolidatedNetSales2ndQuarter', 'ForecastNonConsolidatedOperatingProfit2ndQuarter', 'ForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'ForecastNonConsolidatedProfit2ndQuarter', 'ForecastNonConsolidatedEarningsPerShare2ndQuarter', 'NextYearForecastNonConsolidatedNetSales2ndQuarter', 'NextYearForecastNonConsolidatedOperatingProfit2ndQuarter', 'NextYearForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'NextYearForecastNonConsolidatedProfit2ndQuarter', 'NextYearForecastNonConsolidatedEarningsPerShare2ndQuarter', 'ForecastNonConsolidatedNetSales', 'ForecastNonConsolidatedOperatingProfit', 'ForecastNonConsolidatedOrdinaryProfit', 'ForecastNonConsolidatedProfit', 'ForecastNonConsolidatedEarningsPerShare', 'NextYearForecastNonConsolidatedNetSales', 'NextYearForecastNonConsolidatedOperatingProfit', 'NextYearForecastNonConsolidatedOrdinaryProfit', 'NextYearForecastNonConsolidatedProfit', 'NextYearForecastNonConsolidatedEarningsPerShare'])
    データの中身 型式:<class 'dict'> 長さ:106, key: dict_keys(['DisclosedDate', 'DisclosedTime', 'LocalCode', 'DisclosureNumber', 'TypeOfDocument', 'TypeOfCurrentPeriod', 'CurrentPeriodStartDate', 'CurrentPeriodEndDate', 'CurrentFiscalYearStartDate', 'CurrentFiscalYearEndDate', 'NextFiscalYearStartDate', 'NextFiscalYearEndDate', 'NetSales', 'OperatingProfit', 'OrdinaryProfit', 'Profit', 'EarningsPerShare', 'DilutedEarningsPerShare', 'TotalAssets', 'Equity', 'EquityToAssetRatio', 'BookValuePerShare', 'CashFlowsFromOperatingActivities', 'CashFlowsFromInvestingActivities', 'CashFlowsFromFinancingActivities', 'CashAndEquivalents', 'ResultDividendPerShare1stQuarter', 'ResultDividendPerShare2ndQuarter', 'ResultDividendPerShare3rdQuarter', 'ResultDividendPerShareFiscalYearEnd', 'ResultDividendPerShareAnnual', 'DistributionsPerUnit(REIT)', 'ResultTotalDividendPaidAnnual', 'ResultPayoutRatioAnnual', 'ForecastDividendPerShare1stQuarter', 'ForecastDividendPerShare2ndQuarter', 'ForecastDividendPerShare3rdQuarter', 'ForecastDividendPerShareFiscalYearEnd', 'ForecastDividendPerShareAnnual', 'ForecastDistributionsPerUnit(REIT)', 'ForecastTotalDividendPaidAnnual', 'ForecastPayoutRatioAnnual', 'NextYearForecastDividendPerShare1stQuarter', 'NextYearForecastDividendPerShare2ndQuarter', 'NextYearForecastDividendPerShare3rdQuarter', 'NextYearForecastDividendPerShareFiscalYearEnd', 'NextYearForecastDividendPerShareAnnual', 'NextYearForecastDistributionsPerUnit(REIT)', 'NextYearForecastPayoutRatioAnnual', 'ForecastNetSales2ndQuarter', 'ForecastOperatingProfit2ndQuarter', 'ForecastOrdinaryProfit2ndQuarter', 'ForecastProfit2ndQuarter', 'ForecastEarningsPerShare2ndQuarter', 'NextYearForecastNetSales2ndQuarter', 'NextYearForecastOperatingProfit2ndQuarter', 'NextYearForecastOrdinaryProfit2ndQuarter', 'NextYearForecastProfit2ndQuarter', 'NextYearForecastEarningsPerShare2ndQuarter', 'ForecastNetSales', 'ForecastOperatingProfit', 'ForecastOrdinaryProfit', 'ForecastProfit', 'ForecastEarningsPerShare', 'NextYearForecastNetSales', 'NextYearForecastOperatingProfit', 'NextYearForecastOrdinaryProfit', 'NextYearForecastProfit', 'NextYearForecastEarningsPerShare', 'MaterialChangesInSubsidiaries', 'ChangesBasedOnRevisionsOfAccountingStandard', 'ChangesOtherThanOnesBasedOnRevisionsOfAccountingStandard', 'ChangesInAccountingEstimates', 'RetrospectiveRestatement', 'NumberOfIssuedAndOutstandingSharesAtTheEndOfFiscalYearIncludingTreasuryStock', 'NumberOfTreasuryStockAtTheEndOfFiscalYear', 'AverageNumberOfShares', 'NonConsolidatedNetSales', 'NonConsolidatedOperatingProfit', 'NonConsolidatedOrdinaryProfit', 'NonConsolidatedProfit', 'NonConsolidatedEarningsPerShare', 'NonConsolidatedTotalAssets', 'NonConsolidatedEquity', 'NonConsolidatedEquityToAssetRatio', 'NonConsolidatedBookValuePerShare', 'ForecastNonConsolidatedNetSales2ndQuarter', 'ForecastNonConsolidatedOperatingProfit2ndQuarter', 'ForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'ForecastNonConsolidatedProfit2ndQuarter', 'ForecastNonConsolidatedEarningsPerShare2ndQuarter', 'NextYearForecastNonConsolidatedNetSales2ndQuarter', 'NextYearForecastNonConsolidatedOperatingProfit2ndQuarter', 'NextYearForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'NextYearForecastNonConsolidatedProfit2ndQuarter', 'NextYearForecastNonConsolidatedEarningsPerShare2ndQuarter', 'ForecastNonConsolidatedNetSales', 'ForecastNonConsolidatedOperatingProfit', 'ForecastNonConsolidatedOrdinaryProfit', 'ForecastNonConsolidatedProfit', 'ForecastNonConsolidatedEarningsPerShare', 'NextYearForecastNonConsolidatedNetSales', 'NextYearForecastNonConsolidatedOperatingProfit', 'NextYearForecastNonConsolidatedOrdinaryProfit', 'NextYearForecastNonConsolidatedProfit', 'NextYearForecastNonConsolidatedEarningsPerShare'])
    データの中身 型式:<class 'dict'> 長さ:106, key: dict_keys(['DisclosedDate', 'DisclosedTime', 'LocalCode', 'DisclosureNumber', 'TypeOfDocument', 'TypeOfCurrentPeriod', 'CurrentPeriodStartDate', 'CurrentPeriodEndDate', 'CurrentFiscalYearStartDate', 'CurrentFiscalYearEndDate', 'NextFiscalYearStartDate', 'NextFiscalYearEndDate', 'NetSales', 'OperatingProfit', 'OrdinaryProfit', 'Profit', 'EarningsPerShare', 'DilutedEarningsPerShare', 'TotalAssets', 'Equity', 'EquityToAssetRatio', 'BookValuePerShare', 'CashFlowsFromOperatingActivities', 'CashFlowsFromInvestingActivities', 'CashFlowsFromFinancingActivities', 'CashAndEquivalents', 'ResultDividendPerShare1stQuarter', 'ResultDividendPerShare2ndQuarter', 'ResultDividendPerShare3rdQuarter', 'ResultDividendPerShareFiscalYearEnd', 'ResultDividendPerShareAnnual', 'DistributionsPerUnit(REIT)', 'ResultTotalDividendPaidAnnual', 'ResultPayoutRatioAnnual', 'ForecastDividendPerShare1stQuarter', 'ForecastDividendPerShare2ndQuarter', 'ForecastDividendPerShare3rdQuarter', 'ForecastDividendPerShareFiscalYearEnd', 'ForecastDividendPerShareAnnual', 'ForecastDistributionsPerUnit(REIT)', 'ForecastTotalDividendPaidAnnual', 'ForecastPayoutRatioAnnual', 'NextYearForecastDividendPerShare1stQuarter', 'NextYearForecastDividendPerShare2ndQuarter', 'NextYearForecastDividendPerShare3rdQuarter', 'NextYearForecastDividendPerShareFiscalYearEnd', 'NextYearForecastDividendPerShareAnnual', 'NextYearForecastDistributionsPerUnit(REIT)', 'NextYearForecastPayoutRatioAnnual', 'ForecastNetSales2ndQuarter', 'ForecastOperatingProfit2ndQuarter', 'ForecastOrdinaryProfit2ndQuarter', 'ForecastProfit2ndQuarter', 'ForecastEarningsPerShare2ndQuarter', 'NextYearForecastNetSales2ndQuarter', 'NextYearForecastOperatingProfit2ndQuarter', 'NextYearForecastOrdinaryProfit2ndQuarter', 'NextYearForecastProfit2ndQuarter', 'NextYearForecastEarningsPerShare2ndQuarter', 'ForecastNetSales', 'ForecastOperatingProfit', 'ForecastOrdinaryProfit', 'ForecastProfit', 'ForecastEarningsPerShare', 'NextYearForecastNetSales', 'NextYearForecastOperatingProfit', 'NextYearForecastOrdinaryProfit', 'NextYearForecastProfit', 'NextYearForecastEarningsPerShare', 'MaterialChangesInSubsidiaries', 'ChangesBasedOnRevisionsOfAccountingStandard', 'ChangesOtherThanOnesBasedOnRevisionsOfAccountingStandard', 'ChangesInAccountingEstimates', 'RetrospectiveRestatement', 'NumberOfIssuedAndOutstandingSharesAtTheEndOfFiscalYearIncludingTreasuryStock', 'NumberOfTreasuryStockAtTheEndOfFiscalYear', 'AverageNumberOfShares', 'NonConsolidatedNetSales', 'NonConsolidatedOperatingProfit', 'NonConsolidatedOrdinaryProfit', 'NonConsolidatedProfit', 'NonConsolidatedEarningsPerShare', 'NonConsolidatedTotalAssets', 'NonConsolidatedEquity', 'NonConsolidatedEquityToAssetRatio', 'NonConsolidatedBookValuePerShare', 'ForecastNonConsolidatedNetSales2ndQuarter', 'ForecastNonConsolidatedOperatingProfit2ndQuarter', 'ForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'ForecastNonConsolidatedProfit2ndQuarter', 'ForecastNonConsolidatedEarningsPerShare2ndQuarter', 'NextYearForecastNonConsolidatedNetSales2ndQuarter', 'NextYearForecastNonConsolidatedOperatingProfit2ndQuarter', 'NextYearForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'NextYearForecastNonConsolidatedProfit2ndQuarter', 'NextYearForecastNonConsolidatedEarningsPerShare2ndQuarter', 'ForecastNonConsolidatedNetSales', 'ForecastNonConsolidatedOperatingProfit', 'ForecastNonConsolidatedOrdinaryProfit', 'ForecastNonConsolidatedProfit', 'ForecastNonConsolidatedEarningsPerShare', 'NextYearForecastNonConsolidatedNetSales', 'NextYearForecastNonConsolidatedOperatingProfit', 'NextYearForecastNonConsolidatedOrdinaryProfit', 'NextYearForecastNonConsolidatedProfit', 'NextYearForecastNonConsolidatedEarningsPerShare'])
    データの中身 型式:<class 'dict'> 長さ:106, key: dict_keys(['DisclosedDate', 'DisclosedTime', 'LocalCode', 'DisclosureNumber', 'TypeOfDocument', 'TypeOfCurrentPeriod', 'CurrentPeriodStartDate', 'CurrentPeriodEndDate', 'CurrentFiscalYearStartDate', 'CurrentFiscalYearEndDate', 'NextFiscalYearStartDate', 'NextFiscalYearEndDate', 'NetSales', 'OperatingProfit', 'OrdinaryProfit', 'Profit', 'EarningsPerShare', 'DilutedEarningsPerShare', 'TotalAssets', 'Equity', 'EquityToAssetRatio', 'BookValuePerShare', 'CashFlowsFromOperatingActivities', 'CashFlowsFromInvestingActivities', 'CashFlowsFromFinancingActivities', 'CashAndEquivalents', 'ResultDividendPerShare1stQuarter', 'ResultDividendPerShare2ndQuarter', 'ResultDividendPerShare3rdQuarter', 'ResultDividendPerShareFiscalYearEnd', 'ResultDividendPerShareAnnual', 'DistributionsPerUnit(REIT)', 'ResultTotalDividendPaidAnnual', 'ResultPayoutRatioAnnual', 'ForecastDividendPerShare1stQuarter', 'ForecastDividendPerShare2ndQuarter', 'ForecastDividendPerShare3rdQuarter', 'ForecastDividendPerShareFiscalYearEnd', 'ForecastDividendPerShareAnnual', 'ForecastDistributionsPerUnit(REIT)', 'ForecastTotalDividendPaidAnnual', 'ForecastPayoutRatioAnnual', 'NextYearForecastDividendPerShare1stQuarter', 'NextYearForecastDividendPerShare2ndQuarter', 'NextYearForecastDividendPerShare3rdQuarter', 'NextYearForecastDividendPerShareFiscalYearEnd', 'NextYearForecastDividendPerShareAnnual', 'NextYearForecastDistributionsPerUnit(REIT)', 'NextYearForecastPayoutRatioAnnual', 'ForecastNetSales2ndQuarter', 'ForecastOperatingProfit2ndQuarter', 'ForecastOrdinaryProfit2ndQuarter', 'ForecastProfit2ndQuarter', 'ForecastEarningsPerShare2ndQuarter', 'NextYearForecastNetSales2ndQuarter', 'NextYearForecastOperatingProfit2ndQuarter', 'NextYearForecastOrdinaryProfit2ndQuarter', 'NextYearForecastProfit2ndQuarter', 'NextYearForecastEarningsPerShare2ndQuarter', 'ForecastNetSales', 'ForecastOperatingProfit', 'ForecastOrdinaryProfit', 'ForecastProfit', 'ForecastEarningsPerShare', 'NextYearForecastNetSales', 'NextYearForecastOperatingProfit', 'NextYearForecastOrdinaryProfit', 'NextYearForecastProfit', 'NextYearForecastEarningsPerShare', 'MaterialChangesInSubsidiaries', 'ChangesBasedOnRevisionsOfAccountingStandard', 'ChangesOtherThanOnesBasedOnRevisionsOfAccountingStandard', 'ChangesInAccountingEstimates', 'RetrospectiveRestatement', 'NumberOfIssuedAndOutstandingSharesAtTheEndOfFiscalYearIncludingTreasuryStock', 'NumberOfTreasuryStockAtTheEndOfFiscalYear', 'AverageNumberOfShares', 'NonConsolidatedNetSales', 'NonConsolidatedOperatingProfit', 'NonConsolidatedOrdinaryProfit', 'NonConsolidatedProfit', 'NonConsolidatedEarningsPerShare', 'NonConsolidatedTotalAssets', 'NonConsolidatedEquity', 'NonConsolidatedEquityToAssetRatio', 'NonConsolidatedBookValuePerShare', 'ForecastNonConsolidatedNetSales2ndQuarter', 'ForecastNonConsolidatedOperatingProfit2ndQuarter', 'ForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'ForecastNonConsolidatedProfit2ndQuarter', 'ForecastNonConsolidatedEarningsPerShare2ndQuarter', 'NextYearForecastNonConsolidatedNetSales2ndQuarter', 'NextYearForecastNonConsolidatedOperatingProfit2ndQuarter', 'NextYearForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'NextYearForecastNonConsolidatedProfit2ndQuarter', 'NextYearForecastNonConsolidatedEarningsPerShare2ndQuarter', 'ForecastNonConsolidatedNetSales', 'ForecastNonConsolidatedOperatingProfit', 'ForecastNonConsolidatedOrdinaryProfit', 'ForecastNonConsolidatedProfit', 'ForecastNonConsolidatedEarningsPerShare', 'NextYearForecastNonConsolidatedNetSales', 'NextYearForecastNonConsolidatedOperatingProfit', 'NextYearForecastNonConsolidatedOrdinaryProfit', 'NextYearForecastNonConsolidatedProfit', 'NextYearForecastNonConsolidatedEarningsPerShare'])
    データの中身 型式:<class 'dict'> 長さ:106, key: dict_keys(['DisclosedDate', 'DisclosedTime', 'LocalCode', 'DisclosureNumber', 'TypeOfDocument', 'TypeOfCurrentPeriod', 'CurrentPeriodStartDate', 'CurrentPeriodEndDate', 'CurrentFiscalYearStartDate', 'CurrentFiscalYearEndDate', 'NextFiscalYearStartDate', 'NextFiscalYearEndDate', 'NetSales', 'OperatingProfit', 'OrdinaryProfit', 'Profit', 'EarningsPerShare', 'DilutedEarningsPerShare', 'TotalAssets', 'Equity', 'EquityToAssetRatio', 'BookValuePerShare', 'CashFlowsFromOperatingActivities', 'CashFlowsFromInvestingActivities', 'CashFlowsFromFinancingActivities', 'CashAndEquivalents', 'ResultDividendPerShare1stQuarter', 'ResultDividendPerShare2ndQuarter', 'ResultDividendPerShare3rdQuarter', 'ResultDividendPerShareFiscalYearEnd', 'ResultDividendPerShareAnnual', 'DistributionsPerUnit(REIT)', 'ResultTotalDividendPaidAnnual', 'ResultPayoutRatioAnnual', 'ForecastDividendPerShare1stQuarter', 'ForecastDividendPerShare2ndQuarter', 'ForecastDividendPerShare3rdQuarter', 'ForecastDividendPerShareFiscalYearEnd', 'ForecastDividendPerShareAnnual', 'ForecastDistributionsPerUnit(REIT)', 'ForecastTotalDividendPaidAnnual', 'ForecastPayoutRatioAnnual', 'NextYearForecastDividendPerShare1stQuarter', 'NextYearForecastDividendPerShare2ndQuarter', 'NextYearForecastDividendPerShare3rdQuarter', 'NextYearForecastDividendPerShareFiscalYearEnd', 'NextYearForecastDividendPerShareAnnual', 'NextYearForecastDistributionsPerUnit(REIT)', 'NextYearForecastPayoutRatioAnnual', 'ForecastNetSales2ndQuarter', 'ForecastOperatingProfit2ndQuarter', 'ForecastOrdinaryProfit2ndQuarter', 'ForecastProfit2ndQuarter', 'ForecastEarningsPerShare2ndQuarter', 'NextYearForecastNetSales2ndQuarter', 'NextYearForecastOperatingProfit2ndQuarter', 'NextYearForecastOrdinaryProfit2ndQuarter', 'NextYearForecastProfit2ndQuarter', 'NextYearForecastEarningsPerShare2ndQuarter', 'ForecastNetSales', 'ForecastOperatingProfit', 'ForecastOrdinaryProfit', 'ForecastProfit', 'ForecastEarningsPerShare', 'NextYearForecastNetSales', 'NextYearForecastOperatingProfit', 'NextYearForecastOrdinaryProfit', 'NextYearForecastProfit', 'NextYearForecastEarningsPerShare', 'MaterialChangesInSubsidiaries', 'ChangesBasedOnRevisionsOfAccountingStandard', 'ChangesOtherThanOnesBasedOnRevisionsOfAccountingStandard', 'ChangesInAccountingEstimates', 'RetrospectiveRestatement', 'NumberOfIssuedAndOutstandingSharesAtTheEndOfFiscalYearIncludingTreasuryStock', 'NumberOfTreasuryStockAtTheEndOfFiscalYear', 'AverageNumberOfShares', 'NonConsolidatedNetSales', 'NonConsolidatedOperatingProfit', 'NonConsolidatedOrdinaryProfit', 'NonConsolidatedProfit', 'NonConsolidatedEarningsPerShare', 'NonConsolidatedTotalAssets', 'NonConsolidatedEquity', 'NonConsolidatedEquityToAssetRatio', 'NonConsolidatedBookValuePerShare', 'ForecastNonConsolidatedNetSales2ndQuarter', 'ForecastNonConsolidatedOperatingProfit2ndQuarter', 'ForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'ForecastNonConsolidatedProfit2ndQuarter', 'ForecastNonConsolidatedEarningsPerShare2ndQuarter', 'NextYearForecastNonConsolidatedNetSales2ndQuarter', 'NextYearForecastNonConsolidatedOperatingProfit2ndQuarter', 'NextYearForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'NextYearForecastNonConsolidatedProfit2ndQuarter', 'NextYearForecastNonConsolidatedEarningsPerShare2ndQuarter', 'ForecastNonConsolidatedNetSales', 'ForecastNonConsolidatedOperatingProfit', 'ForecastNonConsolidatedOrdinaryProfit', 'ForecastNonConsolidatedProfit', 'ForecastNonConsolidatedEarningsPerShare', 'NextYearForecastNonConsolidatedNetSales', 'NextYearForecastNonConsolidatedOperatingProfit', 'NextYearForecastNonConsolidatedOrdinaryProfit', 'NextYearForecastNonConsolidatedProfit', 'NextYearForecastNonConsolidatedEarningsPerShare'])
    データの中身 型式:<class 'dict'> 長さ:106, key: dict_keys(['DisclosedDate', 'DisclosedTime', 'LocalCode', 'DisclosureNumber', 'TypeOfDocument', 'TypeOfCurrentPeriod', 'CurrentPeriodStartDate', 'CurrentPeriodEndDate', 'CurrentFiscalYearStartDate', 'CurrentFiscalYearEndDate', 'NextFiscalYearStartDate', 'NextFiscalYearEndDate', 'NetSales', 'OperatingProfit', 'OrdinaryProfit', 'Profit', 'EarningsPerShare', 'DilutedEarningsPerShare', 'TotalAssets', 'Equity', 'EquityToAssetRatio', 'BookValuePerShare', 'CashFlowsFromOperatingActivities', 'CashFlowsFromInvestingActivities', 'CashFlowsFromFinancingActivities', 'CashAndEquivalents', 'ResultDividendPerShare1stQuarter', 'ResultDividendPerShare2ndQuarter', 'ResultDividendPerShare3rdQuarter', 'ResultDividendPerShareFiscalYearEnd', 'ResultDividendPerShareAnnual', 'DistributionsPerUnit(REIT)', 'ResultTotalDividendPaidAnnual', 'ResultPayoutRatioAnnual', 'ForecastDividendPerShare1stQuarter', 'ForecastDividendPerShare2ndQuarter', 'ForecastDividendPerShare3rdQuarter', 'ForecastDividendPerShareFiscalYearEnd', 'ForecastDividendPerShareAnnual', 'ForecastDistributionsPerUnit(REIT)', 'ForecastTotalDividendPaidAnnual', 'ForecastPayoutRatioAnnual', 'NextYearForecastDividendPerShare1stQuarter', 'NextYearForecastDividendPerShare2ndQuarter', 'NextYearForecastDividendPerShare3rdQuarter', 'NextYearForecastDividendPerShareFiscalYearEnd', 'NextYearForecastDividendPerShareAnnual', 'NextYearForecastDistributionsPerUnit(REIT)', 'NextYearForecastPayoutRatioAnnual', 'ForecastNetSales2ndQuarter', 'ForecastOperatingProfit2ndQuarter', 'ForecastOrdinaryProfit2ndQuarter', 'ForecastProfit2ndQuarter', 'ForecastEarningsPerShare2ndQuarter', 'NextYearForecastNetSales2ndQuarter', 'NextYearForecastOperatingProfit2ndQuarter', 'NextYearForecastOrdinaryProfit2ndQuarter', 'NextYearForecastProfit2ndQuarter', 'NextYearForecastEarningsPerShare2ndQuarter', 'ForecastNetSales', 'ForecastOperatingProfit', 'ForecastOrdinaryProfit', 'ForecastProfit', 'ForecastEarningsPerShare', 'NextYearForecastNetSales', 'NextYearForecastOperatingProfit', 'NextYearForecastOrdinaryProfit', 'NextYearForecastProfit', 'NextYearForecastEarningsPerShare', 'MaterialChangesInSubsidiaries', 'ChangesBasedOnRevisionsOfAccountingStandard', 'ChangesOtherThanOnesBasedOnRevisionsOfAccountingStandard', 'ChangesInAccountingEstimates', 'RetrospectiveRestatement', 'NumberOfIssuedAndOutstandingSharesAtTheEndOfFiscalYearIncludingTreasuryStock', 'NumberOfTreasuryStockAtTheEndOfFiscalYear', 'AverageNumberOfShares', 'NonConsolidatedNetSales', 'NonConsolidatedOperatingProfit', 'NonConsolidatedOrdinaryProfit', 'NonConsolidatedProfit', 'NonConsolidatedEarningsPerShare', 'NonConsolidatedTotalAssets', 'NonConsolidatedEquity', 'NonConsolidatedEquityToAssetRatio', 'NonConsolidatedBookValuePerShare', 'ForecastNonConsolidatedNetSales2ndQuarter', 'ForecastNonConsolidatedOperatingProfit2ndQuarter', 'ForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'ForecastNonConsolidatedProfit2ndQuarter', 'ForecastNonConsolidatedEarningsPerShare2ndQuarter', 'NextYearForecastNonConsolidatedNetSales2ndQuarter', 'NextYearForecastNonConsolidatedOperatingProfit2ndQuarter', 'NextYearForecastNonConsolidatedOrdinaryProfit2ndQuarter', 'NextYearForecastNonConsolidatedProfit2ndQuarter', 'NextYearForecastNonConsolidatedEarningsPerShare2ndQuarter', 'ForecastNonConsolidatedNetSales', 'ForecastNonConsolidatedOperatingProfit', 'ForecastNonConsolidatedOrdinaryProfit', 'ForecastNonConsolidatedProfit', 'ForecastNonConsolidatedEarningsPerShare', 'NextYearForecastNonConsolidatedNetSales', 'NextYearForecastNonConsolidatedOperatingProfit', 'NextYearForecastNonConsolidatedOrdinaryProfit', 'NextYearForecastNonConsolidatedProfit', 'NextYearForecastNonConsolidatedEarningsPerShare'])
    
    
    Disclosed Date: 2021-02-10
    Disclosed Date: 2021-05-12
    Disclosed Date: 2021-05-31
    Disclosed Date: 2021-08-04
    Disclosed Date: 2021-11-04
    Disclosed Date: 2022-02-09
    Disclosed Date: 2022-05-11
    Disclosed Date: 2022-08-04
    Disclosed Date: 2022-11-01

    3-4.決算発表予定日

     3月期・9月期決算の会社の決算発表予定日を取得できます。(その他の決算期の会社は今後対応予定です)

    画像

     結果は下記の通りです。正直どれが決算発表予定日なのか理解できませんでした。

    画像
    [IN]
    headers = {'Authorization': 'Bearer {}'.format(idToken)}
    res_announce = requests.get("https://api.jquants.com/v1/fins/announcement", headers=headers)
    res_announce.json()
    [OUT]
    {'announcement': [{'Date': '2023-05-02',
       'Code': '80310',
       'CompanyName': '三井物産',
       'FiscalYear': '3月31日',
       'SectorName': '卸売業',
       'FiscalQuarter': '本決算',
       'Section': 'プライム'},
      {'Date': '2023-05-02',
       'Code': '71990',
       'CompanyName': 'プレミアグループ',
       'FiscalYear': '3月31日',
       'SectorName': 'その他金融業',
       'FiscalQuarter': '本決算',
       'Section': 'プライム'},
      {'Date': '2023-05-02',
       'Code': '92590',
       'CompanyName': 'タカヨシ',
       'FiscalYear': '9月30日',
       'SectorName': 'サービス業',
       'FiscalQuarter': '第2四半期',
       'Section': 'グロース'},
      {'Date': '2023-05-02',
       'Code': '68090',
       'CompanyName': 'TOA',
       'FiscalYear': '3月31日',
       'SectorName': '電気機器',
       'FiscalQuarter': '本決算',
       'Section': 'プライム'},
      {'Date': '2023-05-02',
       'Code': '96190',
       'CompanyName': 'イチネンホールディングス',
       'FiscalYear': '3月31日',
       'SectorName': 'サービス業',
       'FiscalQuarter': '本決算',
       'Section': 'プライム'},
      {'Date': '2023-05-02',
       'Code': '24800',
       'CompanyName': 'システム・ロケーション',
       'FiscalYear': '3月31日',
       'SectorName': '情報・通信業',
       'FiscalQuarter': '本決算',
       'Section': 'スタンダード'},
      {'Date': '2023-05-02',
       'Code': '74660',
       'CompanyName': 'SPK',
       'FiscalYear': '3月31日',
       'SectorName': '卸売業',
       'FiscalQuarter': '本決算',
       'Section': 'プライム'},
      {'Date': '2023-05-02',
       'Code': '74460',
       'CompanyName': '東北化学薬品',
       'FiscalYear': '9月30日',
       'SectorName': '卸売業',
       'FiscalQuarter': '第2四半期',
       'Section': 'スタンダード'},
      {'Date': '2023-05-02',
       'Code': '82550',
       'CompanyName': 'アクシアル\u3000リテイリング',
       'FiscalYear': '3月31日',
       'SectorName': '小売業',
       'FiscalQuarter': '本決算',
       'Section': 'プライム'},
      {'Date': '2023-05-02',
       'Code': '27680',
       'CompanyName': '双日',
       'FiscalYear': '3月31日',
       'SectorName': '卸売業',
       'FiscalQuarter': '本決算',
       'Section': 'プライム'},
      {'Date': '2023-05-02',
       'Code': '59330',
       'CompanyName': 'アルインコ',
       'FiscalYear': '3月20日',
       'SectorName': '金属製品',
       'FiscalQuarter': '本決算',
       'Section': 'プライム'},
      {'Date': '2023-05-02',
       'Code': '92010',
       'CompanyName': '日本航空',
       'FiscalYear': '3月31日',
       'SectorName': '空運業',
       'FiscalQuarter': '本決算',
       'Section': 'プライム'},
      {'Date': '2023-05-02',
       'Code': '98780',
       'CompanyName': 'セキド',
       'FiscalYear': '3月20日',
       'SectorName': '小売業',
       'FiscalQuarter': '本決算',
       'Section': 'スタンダード'},
      {'Date': '2023-05-02',
       'Code': '88600',
       'CompanyName': 'フジ住宅',
       'FiscalYear': '3月31日',
       'SectorName': '不動産業',
       'FiscalQuarter': '本決算',
       'Section': 'プライム'}]}

    4.所感

     個人というよりかなりプロ向けであり、使い方次第でかなり良い結果が得られるかと思います。

     まず証券会社のトレーディングツールは無料でもかなり高機能+そもそも個人レベルで会社情報を高度に分析できるのは井村俊哉のような一部の例外を除いてほとんどいないと思います。さらにWebの知識を使ってAPIからデータ抽出・成形までするとできる人は限られているとは思います。
     株式分析の素晴らしいチュートリアルがありますが、たぶん理解できる人少なそう・・・・

     個人レベルで高度に解析ができる人でも情報へのアクセスが制限されているがためにプロと戦えない人にとっては非常に有意義なAPIです。おそらくPCスペックでの処理速度でプロと戦うと無理だと思うので、EDA(Exploratory data analysis)で要因分析したり、機械学習実装のためのデータ取得に活かして投資に活かすことが出来たらとは思います。

     ただ情報的にデイトレ(スキャルピング)向けではなく1日~中・長期レベルのためトレーディング目的によりけりとは思う。


    参考資料

    https://lp.cloudplatformonline.com/rs/808-GJW-314/images/JPX_Finance_Data_Science_Seminar.pdf


    あとがき

     データ価値としてはお得だとは思うのだが、まだ時系列系の機械学習実装を納得がいくものができないので、課金検討はそのあとで。

    画像
     
     

    KIYO

     
     
    普段は製造業で企画/開発/設計しております。記事はプログラミング・機械学習、IoT関係の記事をメインで作成し、なるべく1つの記事で知りたいことを網羅していきます。内容は学術的より実装・アウトプット(ほしくなるもの)を重視して作成しています。 面白そうな仕事があればやりたいです!

    あなたへのおすすめ