├── requirements.txt ├── Screenshot_1.png ├── README.md ├── bovespa.py ├── .github └── workflows │ └── codeql-analysis.yml └── Como_extrair_dados_de_ações_da_Bovespa_sem_gastar_nada_com_Python.ipynb /requirements.txt: -------------------------------------------------------------------------------- 1 | yahooquery -------------------------------------------------------------------------------- /Screenshot_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobercini/como-extrair-dados-bovespa/HEAD/Screenshot_1.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Instalar biblioteca 2 | 3 | ``` 4 | python -m pip install -r requirements.txt 5 | ``` 6 | 7 | Rodar o codigo localmente para teste 8 | 9 | ``` 10 | python bovespa.py 11 | ``` 12 | 13 | Notebook do artigo [Como extrair dados da Bovespa de graça com Python](https://medium.com/@rodrigobercinimartins/como-extrair-dados-da-bovespa-de-graca-com-python-14a03454a720) 14 | 15 | O código também está disponível em: 16 | https://gist.github.com/rodrigobercini/8bbee7fc735ad7d696f7a2ec31df9610 17 | 18 |  19 | -------------------------------------------------------------------------------- /bovespa.py: -------------------------------------------------------------------------------- 1 | # https://gist.github.com/rodrigobercini/8bbee7fc735ad7d696f7a2ec31df9610 2 | from yahooquery import Ticker 3 | 4 | # Período máximo 5 | petr = Ticker("PETR4.SA") 6 | petr.history(period='max') 7 | 8 | # Datas específicas 9 | petr.history(start='2005-05-01', end='2013-12-31') 10 | 11 | # Intraday - 30 minutos 12 | abev = Ticker('ABEV3.SA') 13 | abev.history(period='60d', interval = "30m") 14 | 15 | # Intraday - 1 minuto 16 | abev = abev.history(period='7d', interval = "1m") 17 | print(abev) 18 | 19 | # Informações financeiras 20 | petr = Ticker("PETR4.SA") # Coleta dados 21 | petr = petr.income_statement()# Chama função de Demonstração de resultados 22 | petr = petr.transpose() # Transpõe a matriz 23 | petr.columns = petr.iloc[0,:] # Renomeia colunas 24 | petr = petr.iloc[2:,:-1] # Seleciona dados 25 | petr = petr.iloc[:, ::-1] # Inverte colunas 26 | print(petr) 27 | -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | # For most projects, this workflow file will not need changing; you simply need 2 | # to commit it to your repository. 3 | # 4 | # You may wish to alter this file to override the set of languages analyzed, 5 | # or to provide custom queries or build logic. 6 | # 7 | # ******** NOTE ******** 8 | # We have attempted to detect the languages in your repository. Please check 9 | # the `language` matrix defined below to confirm you have the correct set of 10 | # supported CodeQL languages. 11 | # 12 | name: "CodeQL" 13 | 14 | on: 15 | push: 16 | branches: [ master ] 17 | pull_request: 18 | # The branches below must be a subset of the branches above 19 | branches: [ master ] 20 | schedule: 21 | - cron: '19 2 * * 0' 22 | 23 | jobs: 24 | analyze: 25 | name: Analyze 26 | runs-on: ubuntu-latest 27 | 28 | strategy: 29 | fail-fast: false 30 | matrix: 31 | language: [ 'python' ] 32 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] 33 | # Learn more: 34 | # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed 35 | 36 | steps: 37 | - name: Checkout repository 38 | uses: actions/checkout@v2 39 | 40 | # Initializes the CodeQL tools for scanning. 41 | - name: Initialize CodeQL 42 | uses: github/codeql-action/init@v1 43 | with: 44 | languages: ${{ matrix.language }} 45 | # If you wish to specify custom queries, you can do so here or in a config file. 46 | # By default, queries listed here will override any specified in a config file. 47 | # Prefix the list here with "+" to use these queries and those in the config file. 48 | # queries: ./path/to/local/query, your-org/your-repo/queries@main 49 | 50 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 51 | # If this step fails, then you should remove it and run the build manually (see below) 52 | - name: Autobuild 53 | uses: github/codeql-action/autobuild@v1 54 | 55 | # ℹ️ Command-line programs to run using the OS shell. 56 | # 📚 https://git.io/JvXDl 57 | 58 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines 59 | # and modify them (or add more) to build your code if your project 60 | # uses a compiled language 61 | 62 | #- run: | 63 | # make bootstrap 64 | # make release 65 | 66 | - name: Perform CodeQL Analysis 67 | uses: github/codeql-action/analyze@v1 68 | -------------------------------------------------------------------------------- /Como_extrair_dados_de_ações_da_Bovespa_sem_gastar_nada_com_Python.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "metadata": { 6 | "id": "VB9KRG7UGGMZ", 7 | "colab_type": "code", 8 | "colab": {}, 9 | "tags": [] 10 | }, 11 | "source": [ 12 | "!pip install yahooquery" 13 | ], 14 | "execution_count": 1, 15 | "outputs": [ 16 | { 17 | "output_type": "stream", 18 | "name": "stdout", 19 | "text": "Collecting git+https://github.com/dpguthrie/yahooquery.git\n Cloning https://github.com/dpguthrie/yahooquery.git to /tmp/pip-req-build-swi5xcz7\n Running command git clone -q https://github.com/dpguthrie/yahooquery.git /tmp/pip-req-build-swi5xcz7\nRequirement already satisfied: lxml==4.5.0 in /home/rodrigo/anaconda3/lib/python3.7/site-packages (from yahooquery==2.2.4) (4.5.0)\nRequirement already satisfied: pandas>=0.24 in /home/rodrigo/anaconda3/lib/python3.7/site-packages (from yahooquery==2.2.4) (1.0.1)\nRequirement already satisfied: requests-futures==1.0.0 in /home/rodrigo/anaconda3/lib/python3.7/site-packages (from yahooquery==2.2.4) (1.0.0)\nRequirement already satisfied: selenium==3.141.0 in /home/rodrigo/anaconda3/lib/python3.7/site-packages (from yahooquery==2.2.4) (3.141.0)\nRequirement already satisfied: pytz>=2017.2 in /home/rodrigo/anaconda3/lib/python3.7/site-packages (from pandas>=0.24->yahooquery==2.2.4) (2019.3)\nRequirement already satisfied: python-dateutil>=2.6.1 in /home/rodrigo/anaconda3/lib/python3.7/site-packages (from pandas>=0.24->yahooquery==2.2.4) (2.8.1)\nRequirement already satisfied: numpy>=1.13.3 in /home/rodrigo/anaconda3/lib/python3.7/site-packages (from pandas>=0.24->yahooquery==2.2.4) (1.18.1)\nRequirement already satisfied: requests>=1.2.0 in /home/rodrigo/anaconda3/lib/python3.7/site-packages (from requests-futures==1.0.0->yahooquery==2.2.4) (2.22.0)\nRequirement already satisfied: urllib3 in /home/rodrigo/anaconda3/lib/python3.7/site-packages (from selenium==3.141.0->yahooquery==2.2.4) (1.25.8)\nRequirement already satisfied: six>=1.5 in /home/rodrigo/anaconda3/lib/python3.7/site-packages (from python-dateutil>=2.6.1->pandas>=0.24->yahooquery==2.2.4) (1.14.0)\nRequirement already satisfied: certifi>=2017.4.17 in /home/rodrigo/anaconda3/lib/python3.7/site-packages (from requests>=1.2.0->requests-futures==1.0.0->yahooquery==2.2.4) (2019.11.28)\nRequirement already satisfied: chardet<3.1.0,>=3.0.2 in /home/rodrigo/anaconda3/lib/python3.7/site-packages (from requests>=1.2.0->requests-futures==1.0.0->yahooquery==2.2.4) (3.0.4)\nRequirement already satisfied: idna<2.9,>=2.5 in /home/rodrigo/anaconda3/lib/python3.7/site-packages (from requests>=1.2.0->requests-futures==1.0.0->yahooquery==2.2.4) (2.8)\nBuilding wheels for collected packages: yahooquery\n Building wheel for yahooquery (setup.py) ... \u001b[?25ldone\n\u001b[?25h Created wheel for yahooquery: filename=yahooquery-2.2.4-py3-none-any.whl size=45988 sha256=56fad9db1c339369005699b56b3b438cb04688ace02c6cc6c4a5cd9703e500d9\n Stored in directory: /tmp/pip-ephem-wheel-cache-dy2ko8b8/wheels/16/cb/78/28d61d2a39f8935584b4dccd456b3f70aafbfee09c917fc05c\nSuccessfully built yahooquery\nInstalling collected packages: yahooquery\nSuccessfully installed yahooquery-2.2.4\n" 20 | } 21 | ] 22 | }, 23 | { 24 | "cell_type": "code", 25 | "metadata": { 26 | "id": "oY8C9teTE1ha", 27 | "colab_type": "code", 28 | "colab": {} 29 | }, 30 | "source": [ 31 | "from yahooquery import Ticker\n", 32 | "petr = Ticker(\"PETR4.SA\")" 33 | ], 34 | "execution_count": 2, 35 | "outputs": [] 36 | }, 37 | { 38 | "cell_type": "code", 39 | "metadata": { 40 | "id": "1-fxIWjjMZFy", 41 | "colab_type": "code", 42 | "outputId": "e348e1a1-6c92-47af-bdb6-3346dad4ae99", 43 | "colab": { 44 | "base_uri": "https://localhost:8080/", 45 | "height": 428 46 | } 47 | }, 48 | "source": [ 49 | "petr.history(period='max')" 50 | ], 51 | "execution_count": 3, 52 | "outputs": [ 53 | { 54 | "output_type": "execute_result", 55 | "data": { 56 | "text/plain": " low close open high volume \\\n2000-01-03 12:00:00 5.875000 5.875000 5.875000 5.875000 3.538944e+10 \n2000-01-04 12:00:00 5.550000 5.550000 5.550000 5.550000 2.886144e+10 \n2000-01-05 12:00:00 5.494000 5.494000 5.494000 5.494000 4.303360e+10 \n2000-01-06 12:00:00 5.475000 5.475000 5.475000 5.475000 3.405568e+10 \n2000-01-07 12:00:00 5.500000 5.500000 5.500000 5.500000 2.091264e+10 \n... ... ... ... ... ... \n2020-06-25 13:00:00 20.730000 21.469999 20.910000 21.469999 4.726350e+07 \n2020-06-26 13:00:00 20.780001 20.840000 21.209999 21.469999 5.549930e+07 \n2020-06-29 13:00:00 20.930000 21.660000 21.100000 21.660000 5.980960e+07 \n2020-06-30 13:00:00 21.090000 21.549999 21.340000 21.799999 6.501060e+07 \n2020-07-01 13:57:58 21.740000 22.080000 21.750000 22.180000 1.353410e+07 \n\n adjclose dividends splits \n2000-01-03 12:00:00 4.050183 0.0 0.0 \n2000-01-04 12:00:00 3.826131 0.0 0.0 \n2000-01-05 12:00:00 3.787526 0.0 0.0 \n2000-01-06 12:00:00 3.774427 0.0 0.0 \n2000-01-07 12:00:00 3.791661 0.0 0.0 \n... ... ... ... \n2020-06-25 13:00:00 21.469999 0.0 0.0 \n2020-06-26 13:00:00 20.840000 0.0 0.0 \n2020-06-29 13:00:00 21.660000 0.0 0.0 \n2020-06-30 13:00:00 21.549999 0.0 0.0 \n2020-07-01 13:57:58 22.080000 0.0 0.0 \n\n[5158 rows x 8 columns]", 57 | "text/html": "
| \n | low | \nclose | \nopen | \nhigh | \nvolume | \nadjclose | \ndividends | \nsplits | \n
|---|---|---|---|---|---|---|---|---|
| 2000-01-03 12:00:00 | \n5.875000 | \n5.875000 | \n5.875000 | \n5.875000 | \n3.538944e+10 | \n4.050183 | \n0.0 | \n0.0 | \n
| 2000-01-04 12:00:00 | \n5.550000 | \n5.550000 | \n5.550000 | \n5.550000 | \n2.886144e+10 | \n3.826131 | \n0.0 | \n0.0 | \n
| 2000-01-05 12:00:00 | \n5.494000 | \n5.494000 | \n5.494000 | \n5.494000 | \n4.303360e+10 | \n3.787526 | \n0.0 | \n0.0 | \n
| 2000-01-06 12:00:00 | \n5.475000 | \n5.475000 | \n5.475000 | \n5.475000 | \n3.405568e+10 | \n3.774427 | \n0.0 | \n0.0 | \n
| 2000-01-07 12:00:00 | \n5.500000 | \n5.500000 | \n5.500000 | \n5.500000 | \n2.091264e+10 | \n3.791661 | \n0.0 | \n0.0 | \n
| ... | \n... | \n... | \n... | \n... | \n... | \n... | \n... | \n... | \n
| 2020-06-25 13:00:00 | \n20.730000 | \n21.469999 | \n20.910000 | \n21.469999 | \n4.726350e+07 | \n21.469999 | \n0.0 | \n0.0 | \n
| 2020-06-26 13:00:00 | \n20.780001 | \n20.840000 | \n21.209999 | \n21.469999 | \n5.549930e+07 | \n20.840000 | \n0.0 | \n0.0 | \n
| 2020-06-29 13:00:00 | \n20.930000 | \n21.660000 | \n21.100000 | \n21.660000 | \n5.980960e+07 | \n21.660000 | \n0.0 | \n0.0 | \n
| 2020-06-30 13:00:00 | \n21.090000 | \n21.549999 | \n21.340000 | \n21.799999 | \n6.501060e+07 | \n21.549999 | \n0.0 | \n0.0 | \n
| 2020-07-01 13:57:58 | \n21.740000 | \n22.080000 | \n21.750000 | \n22.180000 | \n1.353410e+07 | \n22.080000 | \n0.0 | \n0.0 | \n
5158 rows × 8 columns
\n| \n | volume | \nopen | \nlow | \nhigh | \nclose | \nadjclose | \ndividends | \nsplits | \n
|---|---|---|---|---|---|---|---|---|
| 2005-05-02 13:00:00 | \n19004800.0 | \n11.811200 | \n11.475000 | \n11.811200 | \n11.775000 | \n8.541433 | \n0.0 | \n0.0 | \n
| 2005-05-03 13:00:00 | \n22736000.0 | \n11.775000 | \n11.568800 | \n11.825000 | \n11.727500 | \n8.506978 | \n0.0 | \n0.0 | \n
| 2005-05-04 13:00:00 | \n27260800.0 | \n11.750000 | \n11.750000 | \n11.971200 | \n11.903800 | \n8.634863 | \n0.0 | \n0.0 | \n
| 2005-05-05 13:00:00 | \n31670400.0 | \n12.000000 | \n11.925000 | \n12.125000 | \n12.125000 | \n8.795320 | \n0.0 | \n0.0 | \n
| 2005-05-06 13:00:00 | \n29177600.0 | \n12.188800 | \n12.187500 | \n12.475000 | \n12.341300 | \n8.952221 | \n0.0 | \n0.0 | \n
| ... | \n... | \n... | \n... | \n... | \n... | \n... | \n... | \n... | \n
| 2013-12-20 12:00:00 | \n26875500.0 | \n17.250000 | \n16.799999 | \n17.290001 | \n16.910000 | \n14.712623 | \n0.0 | \n0.0 | \n
| 2013-12-23 12:00:00 | \n11520400.0 | \n17.020000 | \n16.870001 | \n17.170000 | \n17.059999 | \n14.843129 | \n0.0 | \n0.0 | \n
| 2013-12-26 12:00:00 | \n15294800.0 | \n17.150000 | \n16.889999 | \n17.190001 | \n16.920000 | \n14.721321 | \n0.0 | \n0.0 | \n
| 2013-12-27 12:00:00 | \n15114200.0 | \n17.000000 | \n16.820000 | \n17.020000 | \n16.930000 | \n14.730024 | \n0.0 | \n0.0 | \n
| 2013-12-30 12:00:00 | \n10598500.0 | \n16.950001 | \n16.950001 | \n17.250000 | \n17.080000 | \n14.860531 | \n0.0 | \n0.0 | \n
2158 rows × 8 columns
\n| \n | open | \nclose | \nvolume | \nlow | \nhigh | \n
|---|---|---|---|---|---|
| 2020-04-03 13:00:00 | \n11.94 | \n11.75 | \n697300 | \n11.72 | \n11.94 | \n
| 2020-04-03 13:30:00 | \n11.69 | \n11.52 | \n1381000 | \n11.50 | \n11.80 | \n
| 2020-04-03 14:00:00 | \n11.51 | \n11.42 | \n3739800 | \n11.40 | \n11.61 | \n
| 2020-04-03 14:30:00 | \n11.42 | \n11.39 | \n1658000 | \n11.31 | \n11.43 | \n
| 2020-04-03 15:00:00 | \n11.38 | \n11.28 | \n1299500 | \n11.27 | \n11.42 | \n
| ... | \n... | \n... | \n... | \n... | \n... | \n
| 2020-06-30 19:00:00 | \n14.24 | \n14.18 | \n1374200 | \n14.11 | \n14.24 | \n
| 2020-06-30 19:30:00 | \n14.18 | \n14.28 | \n2202600 | \n14.15 | \n14.30 | \n
| 2020-07-01 13:00:00 | \n14.26 | \n14.35 | \n722000 | \n14.26 | \n14.44 | \n
| 2020-07-01 13:30:00 | \n14.35 | \n14.47 | \n3082500 | \n14.24 | \n14.50 | \n
| 2020-07-01 13:59:30 | \n14.48 | \n14.48 | \n0 | \n14.48 | \n14.48 | \n
829 rows × 5 columns
\n| \n | open | \nclose | \nhigh | \nvolume | \nlow | \n
|---|---|---|---|---|---|
| 2020-06-23 13:10:00 | \n14.26 | \n14.23 | \n14.32 | \n0.0 | \n14.23 | \n
| 2020-06-23 13:11:00 | \n14.23 | \n14.23 | \n14.25 | \n64200.0 | \n14.21 | \n
| 2020-06-23 13:12:00 | \n14.22 | \n14.19 | \n14.23 | \n93700.0 | \n14.18 | \n
| 2020-06-23 13:13:00 | \n14.19 | \n14.18 | \n14.19 | \n24300.0 | \n14.16 | \n
| 2020-06-23 13:14:00 | \n14.18 | \n14.18 | \n14.18 | \n4400.0 | \n14.16 | \n
| ... | \n... | \n... | \n... | \n... | \n... | \n
| 2020-07-01 13:56:00 | \n14.42 | \n14.43 | \n14.43 | \n71900.0 | \n14.40 | \n
| 2020-07-01 13:57:00 | \n14.41 | \n14.44 | \n14.44 | \n107600.0 | \n14.41 | \n
| 2020-07-01 13:58:00 | \n14.43 | \n14.47 | \n14.50 | \n179700.0 | \n14.42 | \n
| 2020-07-01 13:59:00 | \n14.43 | \n14.47 | \n14.50 | \n179700.0 | \n14.42 | \n
| 2020-07-01 13:59:21 | \n14.47 | \n14.47 | \n14.47 | \n0.0 | \n14.47 | \n
2571 rows × 5 columns
\n| asOfDate | \n2019-12-31 | \n2018-12-31 | \n2017-12-31 | \n2016-12-31 | \n
|---|---|---|---|---|
| BasicAverageShares | \n1.30445e+10 | \n1.30445e+10 | \n1.30445e+10 | \n1.30445e+10 | \n
| BasicEPS | \n0.78 | \n0.55 | \n-0.01 | \n-0.370884 | \n
| CostOfRevenue | \n4.5732e+10 | \n6.1517e+10 | \n6.0147e+10 | \n5.5417e+10 | \n
| DepreciationAmortizationDepletionIncomeStatement | \n1.58e+08 | \nNaN | \nNaN | \nNaN | \n
| DilutedAverageShares | \n1.30445e+10 | \n1.30445e+10 | \n1.30445e+10 | \n1.30445e+10 | \n
| DilutedEPS | \n0.78 | \n0.55 | \n-0.01 | \n-0.370884 | \n
| DilutedNIAvailtoComStockholders | \n1.0151e+10 | \n7.173e+09 | \n-9.1e+07 | \n-4.838e+09 | \n
| EBIT | \n1.8687e+10 | \n1.6304e+10 | \n7.409e+09 | \n2.37e+09 | \n
| EBITDA | \nNaN | \nNaN | \nNaN | \nNaN | \n
| EarningsFromEquityInterest | \n1.53e+08 | \n5.23e+08 | \n6.73e+08 | \n-2.18e+08 | \n
| ExciseTaxes | \nNaN | \nNaN | \nNaN | \n2.149e+10 | \n
| GainOnSaleOfPPE | \n6.046e+09 | \n4.19e+08 | \n1.498e+09 | \n2.93e+08 | \n
| GainOnSaleOfSecurity | \n-2.82e+09 | \n-3.63e+09 | \n-3.523e+09 | \n-3.358e+09 | \n
| GeneralAndAdministrativeExpense | \n5.682e+09 | \n5.288e+09 | \n5.074e+09 | \n6.308e+09 | \n
| GrossProfit | \n3.0857e+10 | \n3.4067e+10 | \n2.868e+10 | \n2.5988e+10 | \n
| ImpairmentOfCapitalAssets | \n2.848e+09 | \n2.005e+09 | \n1.191e+09 | \n6.193e+09 | \n
| InterestExpense | \n6.684e+09 | \n4.206e+09 | \n5.412e+09 | \n6.035e+09 | \n
| InterestExpenseNonOperating | \n6.684e+09 | \n4.206e+09 | \n5.412e+09 | \n6.035e+09 | \n
| InterestIncome | \n5e+06 | \n5.63e+08 | \n6.04e+08 | \n5.52e+08 | \n
| InterestIncomeNonOperating | \n5e+06 | \n5.63e+08 | \n6.04e+08 | \n5.52e+08 | \n
| MinorityInterests | \n-2.12e+08 | \n-2.41e+08 | \n-2.6e+08 | \n-4.89e+08 | \n
| NetIncome | \n1.0151e+10 | \n7.173e+09 | \n-9.1e+07 | \n-4.838e+09 | \n
| NetIncomeCommonStockholders | \n1.0151e+10 | \n7.173e+09 | \n-9.1e+07 | \n-4.838e+09 | \n
| NetIncomeContinuousOperations | \n7.803e+09 | \n7.414e+09 | \n1.69e+08 | \n-4.349e+09 | \n
| NetIncomeDiscontinuousOperations | \n2.56e+09 | \n8.43e+08 | \nNaN | \nNaN | \n
| NetIncomeFromContinuingAndDiscontinuedOperation | \n1.0151e+10 | \n7.173e+09 | \n-9.1e+07 | \n-4.838e+09 | \n
| NetIncomeFromContinuingOperationNetMinorityInterest | \n7.591e+09 | \n7.173e+09 | \n-9.1e+07 | \n-4.838e+09 | \n
| NetIncomeIncludingNoncontrollingInterests | \n1.0363e+10 | \n7.414e+09 | \n1.69e+08 | \n-4.349e+09 | \n
| NetInterestIncome | \n-6.314e+09 | \n-2.636e+09 | \n-6.192e+09 | \n-5.854e+09 | \n
| NetNonOperatingInterestIncomeExpense | \n-6.314e+09 | \n-2.636e+09 | \n-6.192e+09 | \n-5.854e+09 | \n
| NormalizedEBITDA | \n3.3145e+10 | \n3.5647e+10 | \n2.5262e+10 | \n2.7657e+10 | \n
| NormalizedIncome | \n7.3453e+09 | \n1.16571e+10 | \n2.90936e+09 | \n4.36679e+09 | \n
| OperatingExpense | \n1.2355e+10 | \n1.2541e+10 | \n1.6618e+10 | \n1.2259e+10 | \n
| OperatingIncome | \n1.8502e+10 | \n2.1526e+10 | \n1.2062e+10 | \n1.3729e+10 | \n
| OperatingRevenue | \n7.6589e+10 | \n9.5584e+10 | \n8.8827e+10 | \n1.02895e+11 | \n
| OtherGandA | \n2.239e+09 | \n2.678e+09 | \n3.176e+09 | \n3.572e+09 | \n
| OtherIncomeExpense | \n-1.85e+08 | \n-6.792e+09 | \n-3.873e+09 | \n-1.154e+10 | \n
| OtherNonOperatingIncomeExpenses | \n-7.16e+08 | \n-2.043e+09 | \nNaN | \nNaN | \n
| OtherOperatingExpenses | \n8.44e+08 | \n1.228e+09 | \n4.591e+09 | \n7.51e+08 | \n
| OtherSpecialCharges | \n1.52e+09 | \n2.04e+09 | \n8.98e+08 | \n1.393e+09 | \n
| OtherTaxes | \n6.19e+08 | \n7.52e+08 | \n1.843e+09 | \n7.14e+08 | \n
| PretaxIncome | \n1.2003e+10 | \n1.2098e+10 | \n1.997e+09 | \n-3.665e+09 | \n
| ProvisionForDoubtfulAccounts | \nNaN | \n0 | \nNaN | \nNaN | \n
| ReconciledCostOfRevenue | \n3.1054e+10 | \n6.1517e+10 | \n6.0147e+10 | \n5.5417e+10 | \n
| ReconciledDepreciation | \n1.4836e+10 | \n1.2028e+10 | \n1.3307e+10 | \n1.3965e+10 | \n
| ResearchAndDevelopment | \n5.76e+08 | \n6.42e+08 | \n5.72e+08 | \n5.23e+08 | \n
| SalariesAndWages | \n3.443e+09 | \n2.61e+09 | \n1.898e+09 | \n2.736e+09 | \n
| SellingAndMarketingExpense | \n4.476e+09 | \n4.631e+09 | \n4.538e+09 | \n3.963e+09 | \n
| SellingGeneralAndAdministration | \n1.0158e+10 | \n9.919e+09 | \n9.612e+09 | \n1.0271e+10 | \n
| SpecialIncomeCharges | \n3.198e+09 | \n-3.685e+09 | \n-1.023e+09 | \n-7.964e+09 | \n
| TaxEffectOfUnusualItems | \n1.323e+08 | \n-2.83090e+09 | \n-1.54564e+09 | \n-2.11721e+09 | \n
| TaxProvision | \n4.2e+09 | \n4.684e+09 | \n1.828e+09 | \n6.84e+08 | \n
| TaxRateForCalcs | \n0.35 | \n0.387 | \n0.34 | \n0.187 | \n
| TotalExpenses | \n5.8087e+10 | \n7.4058e+10 | \n7.6765e+10 | \n6.7676e+10 | \n
| TotalOperatingIncomeAsReported | \n2.0614e+10 | \nNaN | \nNaN | \nNaN | \n
| TotalOtherFinanceCost | \n-3.65e+08 | \n-1.007e+09 | \n1.384e+09 | \n3.71e+08 | \n
| TotalRevenue | \n7.6589e+10 | \n9.5584e+10 | \n8.8827e+10 | \n8.1405e+10 | \n
| TotalUnusualItems | \n3.78e+08 | \n-7.315e+09 | \n-4.546e+09 | \n-1.1322e+10 | \n
| TotalUnusualItemsExcludingGoodwill | \n3.78e+08 | \n-7.315e+09 | \n-4.546e+09 | \n-1.1322e+10 | \n
| WriteOff | \n6.046e+09 | \n5.9e+07 | \n4.32e+08 | \n6.71e+08 | \n