El dataset Dataset.

Mi objetivo principal es extraer información valiosa de este dataset financiero aplicando técnicas estadísticas sólidas. Busco entender las relaciones entre variables clave como ingresos, ganancias y deuda, no solo con gráficos descriptivos, sino mediante modelos matemáticos que capturen patrones ocultos. Quiero verificar qué factores influyen realmente en el desempeño de las empresas (como el tamaño o el sector) y cuantificar estas relaciones con intervalos de confianza.

fundamentals <- read.csv("C:/Users/samui/OneDrive/Escritorio/Estadistica/NewYork/fundamentals.csv", 
                 header = TRUE, 
                 sep = ",", 
                 dec = ".",
                 row.names = 1)  

head(fundamentals)
##   Ticker.Symbol Period.Ending Accounts.Payable Accounts.Receivable
## 0           AAL    2012-12-31       3068000000          -222000000
## 1           AAL    2013-12-31       4975000000           -93000000
## 2           AAL    2014-12-31       4668000000          -160000000
## 3           AAL    2015-12-31       5102000000           352000000
## 4           AAP    2012-12-29       2409453000           -89482000
## 5           AAP    2013-12-28       2609239000           -32428000
##   Add.l.income.expense.items After.Tax.ROE Capital.Expenditures Capital.Surplus
## 0                 -1.961e+09            23          -1888000000      4695000000
## 1                 -2.723e+09            67          -3114000000     10592000000
## 2                 -1.500e+08           143          -5311000000     15135000000
## 3                 -7.080e+08           135          -6151000000     11591000000
## 4                  6.000e+05            32           -271182000       520215000
## 5                  2.698e+06            26           -195757000       531293000
##   Cash.Ratio Cash.and.Cash.Equivalents Changes.in.Inventories Common.Stocks
## 0         53                1330000000                      0      1.27e+08
## 1         75                2175000000                      0      5.00e+06
## 2         60                1768000000                      0      7.00e+06
## 3         51                1085000000                      0      6.00e+06
## 4         23                 598111000             -260298000      7.00e+03
## 5         40                1112471000             -203513000      7.00e+03
##   Cost.of.Revenue Current.Ratio Deferred.Asset.Charges
## 0     10499000000            78              0.000e+00
## 1     11019000000           104              0.000e+00
## 2     15620000000            88              0.000e+00
## 3     11096000000            73              2.477e+09
## 4      3106967000           124              0.000e+00
## 5      3241668000           144              0.000e+00
##   Deferred.Liability.Charges Depreciation Earnings.Before.Interest.and.Tax
## 0                   2.23e+08   1001000000                      -1813000000
## 1                   9.35e+08   1020000000                      -1324000000
## 2                   8.29e+08   1342000000                       4099000000
## 3                   6.67e+08   1487000000                       5496000000
## 4                   0.00e+00    189544000                        657915000
## 5                   0.00e+00    207795000                        663016000
##   Earnings.Before.Tax Effect.of.Exchange.Rate
## 0         -2445000000                       0
## 1         -2180000000                       0
## 2          3212000000                       0
## 3          4616000000                       0
## 4           624074000                       0
## 5           626398000                       0
##   Equity.Earnings.Loss.Unconsolidated.Subsidiary Fixed.Assets   Goodwill
## 0                                              0  13402000000          0
## 1                                              0  19259000000 4086000000
## 2                                              0  23084000000 4091000000
## 3                                              0  27510000000 4091000000
## 4                                              0   1292547000   76389000
## 5                                              0   1286034000  199835000
##   Gross.Margin Gross.Profit  Income.Tax Intangible.Assets Interest.Expense
## 0           58  14356000000  -569000000         869000000        632000000
## 1           59  15724000000  -346000000        2311000000        856000000
## 2           63  27030000000   330000000        2240000000        887000000
## 3           73  29894000000 -2994000000        2249000000        880000000
## 4           50   3098036000   236404000          28845000         33841000
## 5           50   3252146000   234640000          49872000         36618000
##    Inventory Investments Liabilities Long.Term.Debt Long.Term.Investments
## 0  580000000   3.060e+08   473000000     7116000000                     0
## 1 1012000000  -1.181e+09  -235000000    15353000000                     0
## 2 1004000000   1.799e+09 -1026000000    16043000000                     0
## 3  863000000   4.430e+08  -633000000    18330000000                     0
## 4 2308609000   0.000e+00   426323000      604461000                     0
## 5 2556557000   0.000e+00   172715000     1052668000                     0
##   Minority.Interest Misc..Stocks Net.Borrowings Net.Cash.Flow
## 0                 0            0    -1020000000     197000000
## 1                 0            0     2208000000     660000000
## 2                 0            0      170000000    -146000000
## 3                 0            0     2856000000    -604000000
## 4                 0            0      177445000     540210000
## 5                 0            0      445679000     514360000
##   Net.Cash.Flow.Operating Net.Cash.Flows.Financing Net.Cash.Flows.Investing
## 0              1285000000                483000000              -1571000000
## 1               675000000               3799000000              -3814000000
## 2              3080000000               -315000000              -2911000000
## 3              6249000000              -1259000000              -5594000000
## 4               685281000                127907000               -272978000
## 5               545250000                331217000               -362107000
##    Net.Income Net.Income.Adjustments
## 0 -1876000000             2050000000
## 1 -1834000000             1873000000
## 2  2882000000              542000000
## 3  7610000000            -2662000000
## 4   387670000               23311000
## 5   391758000               -2088000
##   Net.Income.Applicable.to.Common.Shareholders Net.Income.Cont..Operations
## 0                                  -1876000000                 -4084000000
## 1                                  -1834000000                 -4489000000
## 2                                   2882000000                  2882000000
## 3                                   7610000000                  7610000000
## 4                                    387670000                   387670000
## 5                                    391758000                   391758000
##   Net.Receivables Non.Recurring.Items Operating.Income Operating.Margin
## 0      1124000000           3.860e+08        148000000                1
## 1      1560000000           5.590e+08       1399000000                5
## 2      1771000000           8.000e+08       4249000000               10
## 3      1425000000           1.051e+09       6204000000               15
## 4       229866000           0.000e+00        657315000               11
## 5       277595000           0.000e+00        660318000               10
##   Other.Assets Other.Current.Assets Other.Current.Liabilities Other.Equity
## 0   2167000000            626000000                4524000000   -2.980e+09
## 1   2299000000           1465000000                7385000000   -2.032e+09
## 2   2060000000            898000000                7059000000   -4.559e+09
## 3   2103000000            748000000                6272000000   -4.732e+09
## 4     31833000             47614000                 149558000    2.667e+06
## 5     39649000             42761000                 154630000    3.683e+06
##   Other.Financing.Activities Other.Investing.Activities Other.Liabilities
## 0                 1509000000                   11000000       15147000000
## 1                 1711000000                  481000000       14915000000
## 2                  817000000                  601000000       10928000000
## 3                   96000000                  114000000       10178000000
## 4                  -33499000                   -1796000         239021000
## 5                  -27209000                 -166350000         231116000
##   Other.Operating.Activities Other.Operating.Items Pre.Tax.Margin Pre.Tax.ROE
## 0                 -141000000             8.450e+08             10          31
## 1                  -56000000             8.530e+08              8          80
## 2                 -500000000             1.295e+09              8         159
## 3                   95000000             1.364e+09             11          82
## 4                    8213000             0.000e+00             10          52
## 5                   11011000             0.000e+00             10          41
##   Profit.Margin Quick.Ratio Research.and.Development Retained.Earnings
## 0             8          72                        0       -9462000000
## 1             7          96                        0      -11296000000
## 2             7          80                        0       -8562000000
## 3            19          67                        0       -1230000000
## 4             6          34                        0         714900000
## 5             6          52                        0        1089112000
##   Sale.and.Purchase.of.Stock Sales..General.and.Admin.
## 0                          0               12977000000
## 1                          0               12913000000
## 2                -1052000000               20686000000
## 3                -3846000000               21275000000
## 4                  -18600000                2440721000
## 5                  -77184000                2591828000
##   Short.Term.Debt...Current.Portion.of.Long.Term.Debt Short.Term.Investments
## 0                                           1.419e+09              3.412e+09
## 1                                           1.446e+09              8.111e+09
## 2                                           1.677e+09              6.309e+09
## 3                                           2.231e+09              5.864e+09
## 4                                           6.270e+05              0.000e+00
## 5                                           9.160e+05              0.000e+00
##   Total.Assets Total.Current.Assets Total.Current.Liabilities Total.Equity
## 0  23510000000           7072000000                9011000000  -7987000000
## 1  42278000000          14323000000               13806000000  -2731000000
## 2  43225000000          11750000000               13404000000   2021000000
## 3  48415000000           9985000000               13605000000   5635000000
## 4   4613814000           3184200000                2559638000   1210694000
## 5   5564774000           3989384000                2764785000   1516205000
##   Total.Liabilities Total.Liabilities...Equity Total.Revenue Treasury.Stock
## 0       24891000000                16904000000   24855000000     -367000000
## 1       45009000000                42278000000   26743000000              0
## 2       41204000000                43225000000   42650000000              0
## 3       42780000000                48415000000   40990000000              0
## 4        3403120000                 4613814000    6205003000      -27095000
## 5        4048569000                 5564774000    6493814000     -107890000
##   For.Year Earnings.Per.Share Estimated.Shares.Outstanding
## 0     2012              -5.60                    335000000
## 1     2013             -11.25                    163022222
## 2     2014               4.02                    716915423
## 3     2015              11.39                    668129939
## 4     2012               5.29                     73283554
## 5     2013               5.36                     73089179
str(fundamentals)
## 'data.frame':    1781 obs. of  78 variables:
##  $ Ticker.Symbol                                      : chr  "AAL" "AAL" "AAL" "AAL" ...
##  $ Period.Ending                                      : chr  "2012-12-31" "2013-12-31" "2014-12-31" "2015-12-31" ...
##  $ Accounts.Payable                                   : num  3.07e+09 4.97e+09 4.67e+09 5.10e+09 2.41e+09 ...
##  $ Accounts.Receivable                                : num  -2.22e+08 -9.30e+07 -1.60e+08 3.52e+08 -8.95e+07 ...
##  $ Add.l.income.expense.items                         : num  -1.96e+09 -2.72e+09 -1.50e+08 -7.08e+08 6.00e+05 ...
##  $ After.Tax.ROE                                      : num  23 67 143 135 32 26 25 19 30 35 ...
##  $ Capital.Expenditures                               : num  -1.89e+09 -3.11e+09 -5.31e+09 -6.15e+09 -2.71e+08 ...
##  $ Capital.Surplus                                    : num  4.69e+09 1.06e+10 1.51e+10 1.16e+10 5.20e+08 ...
##  $ Cash.Ratio                                         : num  53 75 60 51 23 40 3 2 93 40 ...
##  $ Cash.and.Cash.Equivalents                          : num  1.33e+09 2.17e+09 1.77e+09 1.08e+09 5.98e+08 ...
##  $ Changes.in.Inventories                             : num  0.0 0.0 0.0 0.0 -2.6e+08 ...
##  $ Common.Stocks                                      : num  1.27e+08 5.00e+06 7.00e+06 6.00e+06 7.00e+03 ...
##  $ Cost.of.Revenue                                    : num  1.05e+10 1.10e+10 1.56e+10 1.11e+10 3.11e+09 ...
##  $ Current.Ratio                                      : num  78 104 88 73 124 144 130 130 168 108 ...
##  $ Deferred.Asset.Charges                             : num  0.00 0.00 0.00 2.48e+09 0.00 ...
##  $ Deferred.Liability.Charges                         : num  2.23e+08 9.35e+08 8.29e+08 6.67e+08 0.00 ...
##  $ Depreciation                                       : num  1.00e+09 1.02e+09 1.34e+09 1.49e+09 1.90e+08 ...
##  $ Earnings.Before.Interest.and.Tax                   : num  -1.81e+09 -1.32e+09 4.10e+09 5.50e+09 6.58e+08 ...
##  $ Earnings.Before.Tax                                : num  -2.44e+09 -2.18e+09 3.21e+09 4.62e+09 6.24e+08 ...
##  $ Effect.of.Exchange.Rate                            : num  0 0 0 0 0 ...
##  $ Equity.Earnings.Loss.Unconsolidated.Subsidiary     : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ Fixed.Assets                                       : num  1.34e+10 1.93e+10 2.31e+10 2.75e+10 1.29e+09 ...
##  $ Goodwill                                           : num  0.00 4.09e+09 4.09e+09 4.09e+09 7.64e+07 ...
##  $ Gross.Margin                                       : num  58 59 63 73 50 50 45 45 38 39 ...
##  $ Gross.Profit                                       : num  1.44e+10 1.57e+10 2.70e+10 2.99e+10 3.10e+09 ...
##  $ Income.Tax                                         : num  -5.69e+08 -3.46e+08 3.30e+08 -2.99e+09 2.36e+08 ...
##  $ Intangible.Assets                                  : num  8.69e+08 2.31e+09 2.24e+09 2.25e+09 2.88e+07 ...
##  $ Interest.Expense                                   : num  6.32e+08 8.56e+08 8.87e+08 8.80e+08 3.38e+07 ...
##  $ Inventory                                          : num  5.80e+08 1.01e+09 1.00e+09 8.63e+08 2.31e+09 ...
##  $ Investments                                        : num  3.06e+08 -1.18e+09 1.80e+09 4.43e+08 0.00 ...
##  $ Liabilities                                        : num  4.73e+08 -2.35e+08 -1.03e+09 -6.33e+08 4.26e+08 ...
##  $ Long.Term.Debt                                     : num  7.12e+09 1.54e+10 1.60e+10 1.83e+10 6.04e+08 ...
##  $ Long.Term.Investments                              : num  0 0 0 0 0 ...
##  $ Minority.Interest                                  : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ Misc..Stocks                                       : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ Net.Borrowings                                     : num  -1.02e+09 2.21e+09 1.70e+08 2.86e+09 1.77e+08 ...
##  $ Net.Cash.Flow                                      : num  1.97e+08 6.60e+08 -1.46e+08 -6.04e+08 5.40e+08 ...
##  $ Net.Cash.Flow.Operating                            : num  1.28e+09 6.75e+08 3.08e+09 6.25e+09 6.85e+08 ...
##  $ Net.Cash.Flows.Financing                           : num  4.83e+08 3.80e+09 -3.15e+08 -1.26e+09 1.28e+08 ...
##  $ Net.Cash.Flows.Investing                           : num  -1.57e+09 -3.81e+09 -2.91e+09 -5.59e+09 -2.73e+08 ...
##  $ Net.Income                                         : num  -1.88e+09 -1.83e+09 2.88e+09 7.61e+09 3.88e+08 ...
##  $ Net.Income.Adjustments                             : num  2.05e+09 1.87e+09 5.42e+08 -2.66e+09 2.33e+07 ...
##  $ Net.Income.Applicable.to.Common.Shareholders       : num  -1.88e+09 -1.83e+09 2.88e+09 7.61e+09 3.88e+08 ...
##  $ Net.Income.Cont..Operations                        : num  -4.08e+09 -4.49e+09 2.88e+09 7.61e+09 3.88e+08 ...
##  $ Net.Receivables                                    : num  1.12e+09 1.56e+09 1.77e+09 1.42e+09 2.30e+08 ...
##  $ Non.Recurring.Items                                : num  3.86e+08 5.59e+08 8.00e+08 1.05e+09 0.00 ...
##  $ Operating.Income                                   : num  1.48e+08 1.40e+09 4.25e+09 6.20e+09 6.57e+08 ...
##  $ Operating.Margin                                   : num  1 5 10 15 11 10 9 8 29 29 ...
##  $ Other.Assets                                       : num  2.17e+09 2.30e+09 2.06e+09 2.10e+09 3.18e+07 ...
##  $ Other.Current.Assets                               : num  6.26e+08 1.46e+09 8.98e+08 7.48e+08 4.76e+07 ...
##  $ Other.Current.Liabilities                          : num  4.52e+09 7.38e+09 7.06e+09 6.27e+09 1.50e+08 ...
##  $ Other.Equity                                       : num  -2.98e+09 -2.03e+09 -4.56e+09 -4.73e+09 2.67e+06 ...
##  $ Other.Financing.Activities                         : num  1.51e+09 1.71e+09 8.17e+08 9.60e+07 -3.35e+07 ...
##  $ Other.Investing.Activities                         : num  11000000 481000000 601000000 114000000 -1796000 ...
##  $ Other.Liabilities                                  : num  1.51e+10 1.49e+10 1.09e+10 1.02e+10 2.39e+08 ...
##  $ Other.Operating.Activities                         : num  -1.41e+08 -5.60e+07 -5.00e+08 9.50e+07 8.21e+06 ...
##  $ Other.Operating.Items                              : num  8.45e+08 8.53e+08 1.29e+09 1.36e+09 0.00 ...
##  $ Pre.Tax.Margin                                     : num  10 8 8 11 10 10 8 8 29 29 ...
##  $ Pre.Tax.ROE                                        : num  31 80 159 82 52 41 39 31 41 48 ...
##  $ Profit.Margin                                      : num  8 7 7 19 6 6 5 5 22 22 ...
##  $ Quick.Ratio                                        : num  72 96 80 67 34 52 22 20 164 105 ...
##  $ Research.and.Development                           : num  0 0 0 0 0 ...
##  $ Retained.Earnings                                  : num  -9.46e+09 -1.13e+10 -8.56e+09 -1.23e+09 7.15e+08 ...
##  $ Sale.and.Purchase.of.Stock                         : num  0.00 0.00 -1.05e+09 -3.85e+09 -1.86e+07 ...
##  $ Sales..General.and.Admin.                          : num  1.30e+10 1.29e+10 2.07e+10 2.13e+10 2.44e+09 ...
##  $ Short.Term.Debt...Current.Portion.of.Long.Term.Debt: num  1.42e+09 1.45e+09 1.68e+09 2.23e+09 6.27e+05 ...
##  $ Short.Term.Investments                             : num  3.41e+09 8.11e+09 6.31e+09 5.86e+09 0.00 ...
##  $ Total.Assets                                       : num  2.35e+10 4.23e+10 4.32e+10 4.84e+10 4.61e+09 ...
##  $ Total.Current.Assets                               : num  7.07e+09 1.43e+10 1.18e+10 9.98e+09 3.18e+09 ...
##  $ Total.Current.Liabilities                          : num  9.01e+09 1.38e+10 1.34e+10 1.36e+10 2.56e+09 ...
##  $ Total.Equity                                       : num  -7.99e+09 -2.73e+09 2.02e+09 5.63e+09 1.21e+09 ...
##  $ Total.Liabilities                                  : num  2.49e+10 4.50e+10 4.12e+10 4.28e+10 3.40e+09 ...
##  $ Total.Liabilities...Equity                         : num  1.69e+10 4.23e+10 4.32e+10 4.84e+10 4.61e+09 ...
##  $ Total.Revenue                                      : num  2.49e+10 2.67e+10 4.26e+10 4.10e+10 6.21e+09 ...
##  $ Treasury.Stock                                     : num  -3.67e+08 0.00 0.00 0.00 -2.71e+07 ...
##  $ For.Year                                           : num  2012 2013 2014 2015 2012 ...
##  $ Earnings.Per.Share                                 : num  -5.6 -11.25 4.02 11.39 5.29 ...
##  $ Estimated.Shares.Outstanding                       : num  3.35e+08 1.63e+08 7.17e+08 6.68e+08 7.33e+07 ...

Seleccioné únicamente las columnas más relevantes para el análisis, eliminé las filas con datos faltantes y convertí la columna de fecha a un formato adecuado. Así dejé los datos listos para trabajar.

# Seleccionar columnas relevantes
columnas_seleccionadas <- c("Ticker.Symbol", "Period.Ending", "Total.Revenue", 
                           "Net.Income", "Earnings.Per.Share", "Total.Assets", 
                           "Total.Liabilities" , "Net.Cash.Flow.Operating"  )

fundamentals <- fundamentals[, columnas_seleccionadas]

# Eliminar filas con valores NA
fundamentals <- na.omit(fundamentals)

# Convertir fechas a formato Date
fundamentals$Period.Ending <- as.Date(fundamentals$Period.Ending)

# Ver estructura final
str(fundamentals)
## 'data.frame':    1562 obs. of  8 variables:
##  $ Ticker.Symbol          : chr  "AAL" "AAL" "AAL" "AAL" ...
##  $ Period.Ending          : Date, format: "2012-12-31" "2013-12-31" ...
##  $ Total.Revenue          : num  2.49e+10 2.67e+10 4.26e+10 4.10e+10 6.21e+09 ...
##  $ Net.Income             : num  -1.88e+09 -1.83e+09 2.88e+09 7.61e+09 3.88e+08 ...
##  $ Earnings.Per.Share     : num  -5.6 -11.25 4.02 11.39 5.29 ...
##  $ Total.Assets           : num  2.35e+10 4.23e+10 4.32e+10 4.84e+10 4.61e+09 ...
##  $ Total.Liabilities      : num  2.49e+10 4.50e+10 4.12e+10 4.28e+10 3.40e+09 ...
##  $ Net.Cash.Flow.Operating: num  1.28e+09 6.75e+08 3.08e+09 6.25e+09 6.85e+08 ...
##  - attr(*, "na.action")= 'omit' Named int [1:219] 13 28 33 52 57 68 72 89 92 96 ...
##   ..- attr(*, "names")= chr [1:219] "12" "27" "32" "51" ...
summary(fundamentals)
##  Ticker.Symbol      Period.Ending        Total.Revenue      
##  Length:1562        Min.   :2012-03-03   Min.   :4.094e+08  
##  Class :character   1st Qu.:2013-12-31   1st Qu.:3.707e+09  
##  Mode  :character   Median :2014-12-31   Median :8.073e+09  
##                     Mean   :2014-09-14   Mean   :2.077e+10  
##                     3rd Qu.:2015-12-31   3rd Qu.:1.763e+10  
##                     Max.   :2016-10-31   Max.   :4.857e+11  
##    Net.Income         Earnings.Per.Share  Total.Assets      
##  Min.   :-2.353e+10   Min.   :-61.200    Min.   :1.104e+09  
##  1st Qu.: 3.556e+08   1st Qu.:  1.590    1st Qu.:6.688e+09  
##  Median : 6.892e+08   Median :  2.810    Median :1.503e+10  
##  Mean   : 1.748e+09   Mean   :  3.354    Mean   :5.751e+10  
##  3rd Qu.: 1.694e+09   3rd Qu.:  4.590    3rd Qu.:3.621e+10  
##  Max.   : 5.339e+10   Max.   : 50.090    Max.   :2.572e+12  
##  Total.Liabilities   Net.Cash.Flow.Operating
##  Min.   :2.320e+08   Min.   :-1.606e+10     
##  1st Qu.:3.904e+09   1st Qu.: 6.787e+08     
##  Median :9.105e+09   Median : 1.233e+09     
##  Mean   :4.538e+10   Mean   : 3.342e+09     
##  3rd Qu.:2.436e+10   3rd Qu.: 3.045e+09     
##  Max.   :2.341e+12   Max.   : 1.080e+11

Calculo dos indicadores clave: el margen de beneficio y el ratio de endeudamiento. Además, clasifiqué a las empresas en categorías de tamaño (pequeña, mediana y grande) según sus activos totales.

# Calcular margen de beneficio neto
fundamentals$Profit.Margin <- fundamentals$Net.Income / fundamentals$Total.Revenue * 100

# Calcular ratio de endeudamiento
fundamentals$Debt.Ratio <- fundamentals$Total.Liabilities / fundamentals$Total.Assets * 100

# Crear categoría de tamaño por activos
fundamentals$Size.Category <- cut(fundamentals$Total.Assets,
                                 breaks = quantile(fundamentals$Total.Assets, probs = c(0, 0.33, 0.66, 1)),
                                 labels = c("Pequena", "Mediana", "Grande"),
                                 include.lowest = TRUE)

Visualicé las nuevas variables que generé y clasifiqué los valores de Earnings Per Share (EPS) en cuatro categorías cualitativas, negativo, bajo, medio y alto. Esto me permitió explorar la distribución de desempeño financiero.

# Ver nuevas columnas
head(fundamentals[, c("Ticker.Symbol", "Profit.Margin", "Debt.Ratio", "Size.Category")])
##   Ticker.Symbol Profit.Margin Debt.Ratio Size.Category
## 0           AAL     -7.547777  105.87410       Mediana
## 1           AAL     -6.857869  106.45962        Grande
## 2           AAL      6.757327   95.32447        Grande
## 3           AAL     18.565504   88.36105        Grande
## 4           AAP      6.247700   73.75937       Pequena
## 5           AAP      6.032788   72.75352       Pequena
# Recodificar EPS en categorías
fundamentals$EPS.Category <- cut(fundamentals$Earnings.Per.Share,
                                breaks = c(-Inf, 0, 2, 5, Inf),
                                labels = c("Negativo", "Bajo", "Medio", "Alto"))

# Ver distribución
table(fundamentals$EPS.Category)
## 
## Negativo     Bajo    Medio     Alto 
##       86      442      710      324

Filtré las empresas que muestran un alto margen de beneficio y baja deuda, lo que considero señales de buena salud financiera. Luego mostré algunas de estas empresas en una tabla.

# Filtrar empresas con alto margen de beneficio y baja deuda
library(dplyr)  
empresas_saludables <- fundamentals %>% 
  filter(Profit.Margin > 15, Debt.Ratio < 50)

# Ver empresas resultantes
library(knitr)
kable(head(empresas_saludables))
Ticker.Symbol Period.Ending Total.Revenue Net.Income Earnings.Per.Share Total.Assets Total.Liabilities Net.Cash.Flow.Operating Profit.Margin Debt.Ratio Size.Category EPS.Category
AAPL 2013-09-28 170910000000 37037000000 40.03 207000000000 83451000000 53666000000 21.67047 40.31449 Grande Alto
ABT 2015-12-31 20405000000 4423000000 2.94 41247000000 20036000000 2966000000 21.67606 48.57565 Grande Medio
ADI 2013-11-02 2633689000 673487000 2.19 6381750000 1642174000 912345000 25.57200 25.73235 Pequena Medio
ADI 2014-11-01 2864773000 629320000 0.35 6859690000 2101793000 871602000 21.96753 30.63977 Pequena Bajo
ADI 2015-10-31 3435092000 696878000 0.31 7058777000 1985818000 907798000 20.28703 28.13261 Pequena Bajo
ADI 2016-10-29 3421409000 861664000 0.96 7970278000 2804660000 1280895000 25.18448 35.18899 Pequena Bajo

Generé estadísticas básicas (como media, mínimo y máximo) de variables clave como ingresos, ganancias y EPS, para tener una visión general de los datos.

# Estadísticos generales
kable(summary(fundamentals[, c("Total.Revenue", "Net.Income", "Earnings.Per.Share")]))
Total.Revenue Net.Income Earnings.Per.Share
Min. :4.094e+08 Min. :-2.353e+10 Min. :-61.200
1st Qu.:3.707e+09 1st Qu.: 3.556e+08 1st Qu.: 1.590
Median :8.073e+09 Median : 6.892e+08 Median : 2.810
Mean :2.077e+10 Mean : 1.748e+09 Mean : 3.354
3rd Qu.:1.763e+10 3rd Qu.: 1.694e+09 3rd Qu.: 4.590
Max. :4.857e+11 Max. : 5.339e+10 Max. : 50.090

Agrupé las empresas según su tamaño y calculé promedios de ingresos, beneficios, EPS y margen de ganancia. Esto me ayudó a comparar el desempeño entre empresas grandes, medianas y pequeñas.

# Estadísticos por categoría de tamaño
fundamentals %>%
  group_by(Size.Category) %>%
  summarise(
    n = n(),
    Avg.Revenue = mean(Total.Revenue/1e6, na.rm = TRUE),
    Avg.Income = mean(Net.Income/1e6, na.rm = TRUE),
    Avg.EPS = mean(Earnings.Per.Share, na.rm = TRUE),
    Avg.Profit.Margin = mean(Profit.Margin, na.rm = TRUE)
  ) %>%
  kable(digits = 2)
Size.Category n Avg.Revenue Avg.Income Avg.EPS Avg.Profit.Margin
Pequena 516 4714.76 410.16 3.17 10.42
Mediana 515 10740.45 779.40 3.25 10.46
Grande 531 46106.21 3986.73 3.63 10.76

Creo un diagrama de barras que muestra cómo se distribuyen las categorías de EPS según el tamaño de las empresas, lo que me permitió identificar patrones visuales entre los grupos.

# Distribución de categorías EPS
library(ggplot2)
ggplot(fundamentals, aes(x = EPS.Category, fill = Size.Category))+
  geom_bar(position = "dodge")+
  labs(title = "Distribucion de EPS por Categoria de Tamano",
       x = "Categoria de EPS",
       y = "Numero de Empresas",
       fill = "Tamano") +
  theme_minimal()

Hice un histograma del margen de beneficio para observar cómo varía esta métrica entre todas las empresas y detectar valores extremos o tendencias generales.

# Distribución de márgenes de beneficio
ggplot(fundamentals, aes(x = Profit.Margin)) +
  geom_histogram(bins = 30, fill = "steelblue", color = "white")+
  labs(title = "Distribucion del Margen de Beneficio",
       x = "Margen de Beneficio (%)",
       y = "Frecuencia")+
  theme_minimal() +
  xlim(-100, 100)

Usé un diagrama de caja (boxplot) para comparar las distribuciones de EPS entre empresas pequeñas, medianas y grandes, y así ver diferencias en su desempeño financiero.

# EPS por categoría de tamaño
ggplot(fundamentals, aes(x = Size.Category, y = Earnings.Per.Share)) +
  geom_boxplot(fill = "lightblue") +
  labs(title = "Distribucion de EPS por Categoria de Tamano",
       x = "Categoria de Tamano",
       y = "Earnings Per Share (USD)") +
  theme_minimal() +
  ylim(-5, 15)

Ajusté un modelo lineal para analizar la relación entre los ingresos totales y el beneficio neto. Observé los resultados del modelo y los representé gráficamente con una línea de ajuste.

# Relación entre ingresos y beneficios
modelo_lineal <- lm(Net.Income ~ Total.Revenue, data = fundamentals)
summary(modelo_lineal)
## 
## Call:
## lm(formula = Net.Income ~ Total.Revenue, data = fundamentals)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -2.433e+10 -4.724e+08 -1.920e+08  2.194e+08  3.760e+10 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   3.777e+08  8.715e+07   4.334 1.56e-05 ***
## Total.Revenue 6.595e-02  1.845e-03  35.749  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.094e+09 on 1560 degrees of freedom
## Multiple R-squared:  0.4503, Adjusted R-squared:   0.45 
## F-statistic:  1278 on 1 and 1560 DF,  p-value: < 2.2e-16
# Gráfico
ggplot(fundamentals, aes(x = Total.Revenue/1e6, y = Net.Income/1e6)) +
  geom_point(alpha = 0.5) +
  geom_smooth(method = "lm", color = "red") +
  labs(title = "Relacion entre Ingresos Totales y Beneficio Neto",
       x = "Ingresos Totales (millones USD)",
       y = "Beneficio Neto (millones USD)") +
  theme_minimal()

Ajusté un modelo lineal para analizar la relación entre los ingresos totales y el beneficio neto. Observé los resultados del modelo y los representé gráficamente con una línea de ajuste.

# Modelo por categorías de tamaño
modelo_grupos <- lm(Net.Income ~ Total.Revenue * Size.Category, data = fundamentals)
summary(modelo_grupos)
## 
## Call:
## lm(formula = Net.Income ~ Total.Revenue * Size.Category, data = fundamentals)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -2.422e+10 -4.349e+08 -6.427e+07  2.616e+08  3.775e+10 
## 
## Coefficients:
##                                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                         2.101e+08  2.221e+08   0.946 0.344419    
## Total.Revenue                       4.244e-02  3.751e-02   1.131 0.258079    
## Size.CategoryMediana                3.562e+08  2.907e+08   1.226 0.220523    
## Size.CategoryGrande                 9.120e+08  2.754e+08   3.312 0.000948 ***
## Total.Revenue:Size.CategoryMediana -2.260e-02  3.943e-02  -0.573 0.566656    
## Total.Revenue:Size.CategoryGrande   1.969e-02  3.757e-02   0.524 0.600202    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.053e+09 on 1556 degrees of freedom
## Multiple R-squared:  0.4661, Adjusted R-squared:  0.4644 
## F-statistic: 271.7 on 5 and 1556 DF,  p-value: < 2.2e-16

Exploré también un modelo polinomial de segundo grado para capturar relaciones más complejas entre ingresos y beneficios que el modelo lineal no logra reflejar.

# Modelo polinomial
modelo_polinomial <- lm(Net.Income ~ poly(Total.Revenue, 2), data = fundamentals)
summary(modelo_polinomial)
## 
## Call:
## lm(formula = Net.Income ~ poly(Total.Revenue, 2), data = fundamentals)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -2.417e+10 -3.613e+08  6.364e+06  3.269e+08  3.673e+10 
## 
## Coefficients:
##                           Estimate Std. Error t value Pr(>|t|)    
## (Intercept)              1.748e+09  7.704e+07  22.685  < 2e-16 ***
## poly(Total.Revenue, 2)1  1.106e+11  3.045e+09  36.319  < 2e-16 ***
## poly(Total.Revenue, 2)2 -2.178e+10  3.045e+09  -7.154 1.29e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.045e+09 on 1559 degrees of freedom
## Multiple R-squared:  0.4678, Adjusted R-squared:  0.4671 
## F-statistic: 685.1 on 2 and 1559 DF,  p-value: < 2.2e-16

Comparé visualmente los modelos lineal y polinomial en un mismo gráfico, lo que me permitió ver cuál se ajusta mejor a los datos reales.

# Comparación visual
ggplot(fundamentals, aes(x = Total.Revenue/1e6, y = Net.Income/1e6)) +
  geom_point(alpha = 0.3) +
  geom_smooth(method = "lm", formula = y ~ poly(x, 2), color = "blue") +
  geom_smooth(method = "lm", color = "red", linetype = "dashed") +
  labs(title = "Comparacion de Modelos Lineal y Polinomial",
       x = "Ingresos Totales (millones USD)",
       y = "Beneficio Neto (millones USD)") +
  theme_minimal()

Finalmente, usé el modelo polinomial para predecir beneficios en función de distintos niveles de ingresos. Representé las predicciones en un gráfico junto con los datos reales para visualizar la tendencia.

# Crear datos para predicción
nuevos_datos <- data.frame(Total.Revenue = seq(min(fundamentals$Total.Revenue), 
                                             max(fundamentals$Total.Revenue), 
                                             length.out = 100))

# Hacer predicciones
nuevos_datos$Prediccion <- predict(modelo_polinomial, newdata = nuevos_datos)

# Visualizar
ggplot() +
  geom_point(data = fundamentals, 
             aes(x = Total.Revenue/1e6, y = Net.Income/1e6), alpha = 0.3) +
  geom_line(data = nuevos_datos, 
            aes(x = Total.Revenue/1e6, y = Prediccion/1e6), color = "blue", size = 1) +
  labs(title = "Prediccion de Beneficio Neto segun Ingresos",
       x = "Ingresos Totales (millones USD)",
       y = "Beneficio Neto Predicho (millones USD)") +
  theme_minimal()