https://rpubs.com/staszkiewicz/CW_4_Istotnosc

Dodawanie i odejmowanie zmiennych (kolumn) i przypadków (wierszy) w ramce danych

Ramka danych

Zbudujmy ramkę zanyc z dwóch wektorów x => c(4,5,6), y => c(d,e,f) i dodajamy kolumnę składającą sie z samych 7 jako zmienną z

# Stwórz ramkę danych
df <- data.frame(x = c(4, 5, 6), y = c('d', 'e', 'f'))

# Dodaj zmienną z wartością 7
df <- cbind(df, z = 7)

# Wyświetl ramkę danych
df
##   x y z
## 1 4 d 7
## 2 5 e 7
## 3 6 f 7

Do dodawania wierszy służy rbind() Dodajmy przypadek trzeci składających się z trzech jednynek

df<-rbind(df,k=1)
df
##   x y z
## 1 4 d 7
## 2 5 e 7
## 3 6 f 7
## 4 1 1 1

odejmijmy tenże przypadek

df<-df[-4,]
df
##   x y z
## 1 4 d 7
## 2 5 e 7
## 3 6 f 7

dodawanie kolumn/zmiennych:

Sposób A df$nazwa_nowej_koluny <- c(wekotr długości ramki danych) Sposób B cbind() - funkcja column bind (dodaje po kolumnach) Sposób C mutate()) z biblioteki dplyr sposób D Jako kombinacja innych kolumn w ramce spodób E Jako zmienna warunkowa na podsawie innych kolumn z ramki

# A
df$New <- c(5,4,5)
df
##   x y z New
## 1 4 d 7   5
## 2 5 e 7   4
## 3 6 f 7   5
# B
#stwórzmy wekotr w
w<-c(1,1,12)

df1<- cbind(df,w)

df1
##   x y z New  w
## 1 4 d 7   5  1
## 2 5 e 7   4  1
## 3 6 f 7   5 12
#C
# Install the `dplyr` package if it is not already installed
#install.packages("dplyr")

# Load the `dplyr` package
library(dplyr)
## 
## Dołączanie pakietu: 'dplyr'
## Następujące obiekty zostały zakryte z 'package:stats':
## 
##     filter, lag
## Następujące obiekty zostały zakryte z 'package:base':
## 
##     intersect, setdiff, setequal, union
# Create a data frame
df2 <- data.frame(x = c(1, 2, 3), y = c(4, 5, 6))

# Add a new column with the values 17
df2 <- mutate(df, muta = 17)

# Print the data frame
df2
##   x y z New muta
## 1 4 d 7   5   17
## 2 5 e 7   4   17
## 3 6 f 7   5   17
#D

df$zmien<- df$x+2

df
##   x y z New zmien
## 1 4 d 7   5     6
## 2 5 e 7   4     7
## 3 6 f 7   5     8
#E
# ifelse - jeśli zmienna x ma wartość 5 to wstwa 1 w przeciwnym razie # 0   (metoda generowanie zmiennych zero-jednynkowych)
df$zmien2<- ifelse(df$x==5,1,0)

df
##   x y z New zmien zmien2
## 1 4 d 7   5     6      0
## 2 5 e 7   4     7      1
## 3 6 f 7   5     8      0

odejmownie kolumn zmiennych

Usuńmy kolumnę trzecią, do tego możemy użyć funkcji rm(). Funkcja ta usuwa obiekty z globalnego śreoodwiksa

# usuwamy trzecią kolumnę
df[-3]
##   x y New zmien zmien2
## 1 4 d   5     6      0
## 2 5 e   4     7      1
## 3 6 f   5     8      0

alternatywne metody usuwania zmiennych z wykorzystaniem funkcji subset() i wykorzystanie nazwy zmiennych do usunięcia

# uwaga co do zasady znak minus usuwa, znak plus zosawia
# usunięcie zmiennej y
subset(df, select = -y)
##   x z New zmien zmien2
## 1 4 7   5     6      0
## 2 5 7   4     7      1
## 3 6 7   5     8      0
# porównaj
subset(df, select =y)
##   y
## 1 d
## 2 e
## 3 f
# usunięcie zmiennej z i y.
subset(df, select = -c(z,y))
##   x New zmien zmien2
## 1 4   5     6      0
## 2 5   4     7      1
## 3 6   5     8      0
# poprzez odwołanie się do nazwy usunięcie zmiennej x
df[, -which(names(df) == "x")]
##   y z New zmien zmien2
## 1 d 7   5     6      0
## 2 e 7   4     7      1
## 3 f 7   5     8      0

Obliczenie istotności dla portfela podmiotów

Zadanie polega na tym by obliczyć oczekiwaną istotność dla podmiotów bankowych na rynku w US. Zastosujemy dane pierwotne z artykułu Audit fee and banks’ communication sentiment. Economic Research-Ekonomska Istraživanja. https://doi.org/10.1080/1331677X.2021.1985567 Staszkiewicz and Karkowska (2021). Dane są jak zwykle dostępne z Niezbędnika (“Materiały publiczne”) plik o nazwie Bank.cvs. Proszę ściągnąć na własny komputer i wgrać je do R. Uwaga dane mogą być wykorzystywane po zajęciach jedynie dla celów niekomercyjnych po wskazaniu oryginalnego źródła.

# z bazowych funkcji systemu wczytamy klasyczny plik z csv ale w taki sposób
#   że wybierzemy z okienka umiejscowienie pliku na włanym komuterze 
# dlaego zagnieżdzamy polecenie "file.choose()"

bank <-  read.csv("Cw2/Bank.csv")

Istotność wstęp

W języku oryginalnym (angielskim) standardu występują dwa pojęcia materiality i significance, obydwa tłumaczone są na język polski jako istotność, co powoduje rozliczne perypetie interpretacyjne. Powróćmy do oryginalnego znaczenia istotności rozumianej jako significance – jest to prawdopodobieństwo zdarzenia, termin przede wszystkich używany w statystyce do określenia czy zdarzenie (np. wynik testu) jest prawdopodobne, czy też prawie niemożliwe. Wyrażane jest w procencie. Istotność w sensie materiality jest pojęciem stosowanym w rewizji finansowej oraz definiowanym jako błąd, pominięcie lub zniekształcenie, którego zaistnienie zmienia decyzję użytkowania sprawozdania finansowego. Wyrażane jest w wartości pieniężnej. Pomimo licznych podobieństw są to jednak pojęcia różne i nie należy ich utożsamiać. Standardy badania nie określają sposobu pomiaru istotności w sensie materiality i zostawiają te pojęcie, jako normę blankietową do dookreślenia przez biegłego rewidenta w procesie badania. W dalszej części pod pojęciem istotność będziemy rozumieć istotność w sensie rewizji finansowej.

Wymiary i obliczanie istotności

Ponieważ istotność jest pojęciem niedookreślonym praktyka wykształciła jego pomiar.

Wymiary istotności:

\(1\) Informacja jest istotna, jeśli jej pominięcie lub błędne przedstawienie może wpłynąć na decyzję ekonomiczną użytkownika sprawozdania finansowego.

2) Błąd istoty, pominięcie lub zniekształcenie ma zarówno wymiar ilościowy jak i ilościowy.

\(3\) Bez względu, w jaki sposób rewident ustali poziom istotności – zawsze ten poziom będzie traktowany jako profesjonalny osąd.

\(4\) Poziom istotności wpływa głównie na:

  1. Określenie obszarów ryzyka

  2. Typ oraz zakres testów rewizyjnych

  3. Formułowanie opinii.

W praktyce istotność wyznacza się jako ułamek stabilnej pozycji bilansowej lub rachunku zysków i strat:

  Zakres    
Zysk netto 5–10%    
Przychody ze sprzedaży 0,5–1%    
Kapitały własne netto 3–7%    
Suma aktywów 0,1–1%    

Powyższe współczynniki, są różne dla różnych firm audytowych, i wynikają z ich własnego wewnętrznego systemu kontroli, metodyki rewizji, oraz poziomu ubezpieczenia cywilnego ryzyka rezydualnego.

Parametry sterujące

W trakcie badania może się okazać, iż rewident stwierdził małe błędy (błąd błahy), o tym czy błąd będzie brany pod uwagę przy całościowej ocenie badania, decyduje parametr sterujący nazywany minimalnym błędem wykazanym w zestawieniu nieskorygowanych różnic rewizyjnych, obliczany jako 10% istotności (ang. SAD - summary of audit differences).

Drugim parametrem sterującym jest błąd dopuszczalny (ang. tolerable error), to wartość agregowanego błędu, które wielkość nie powoduje  modyfikacji opinii, typowo jest to 70-80% istotności.

Stały test istotności

Należy wszakże zaznaczyć, iż istotność jest określana jako w języku angielski przymiotnikiem planowana (ang. Planing materiality), wynika to z faktu, iż jest ustalana na podstawie wstępnych sprawozdań finansowych (lub ich prognozy) przed przystąpieniem do wykonania testów rewizyjnych. Po ukończeniu procedur rewizyjnych, a przed wydaniem opinii, biegły rewident musi uaktualnić swoją ocenę istotności na podstawie skorygowanych sprawozdań finansowych. Co prawda formalnie jest to obowiązek, ciągły aczkolwiek, w praktyce wykonuje się go przed planowaniem i przed wydaniem opinii.

Przykład ilustrujący

Będziemy liczyć ościstość dla banków US. Wpierw wygenerujmy potrzebną ramkę danych. Do tego zastosujemy bibliotekę tidyverse. Jeśli, ktoś nie ma na swojej maszynie należy ją zainstalować poprzez funkcje install.library(). Wybierzmy następujące zmienne (kolumny naszej bazy danych) a mianowicie: CIK_Code, Companyx,Auditorx,Audit_Fees_USDx,Year_Ended_Datex,Revenue_USDx_N,Earnings_USDx_N,Assets_USDx_N, Total_Equity

Po załadowaniu danych, użyjmy polecenia colnames to zoborazowania jakie dane may do dyspozyjcji

colnames(bank)
##   [1] "CIK_Code"                        "Year_Ended"                     
##   [3] "Companyx"                        "Tickerx"                        
##   [5] "Marketx"                         "IRS_Number"                     
##   [7] "Bus_Street_1x"                   "Bus_Street_2x"                  
##   [9] "Cityx"                           "Countyx"                        
##  [11] "State_Codex"                     "State_Namex"                    
##  [13] "Region"                          "Zipx"                           
##  [15] "Bus_Phonex"                      "Incorporation_State_Code"       
##  [17] "Parent_CIKx"                     "Parent_Namex"                   
##  [19] "SIC_Codex"                       "SIC_Descriptionx"               
##  [21] "NAICS_Codex"                     "NAICS_Descriptionx"             
##  [23] "Filer_Actx"                      "Auditorx"                       
##  [25] "Auditor_Keyx"                    "Audit_Fees_USDx"                
##  [27] "Audit_Related_FeesUSD"           "Benefit_Plan_Related_Fees_USD"  
##  [29] "FISDI_Fees_USD"                  "Tax_Related_Fees_USD"           
##  [31] "Tax_Related_Fees__ComplianceUSD" "Tax_Related_Fees__NonComplianc" 
##  [33] "OtherMisc_Fees_USD"              "Total_Non_Audit_Fees_USD"       
##  [35] "Total_Fees_USDx"                 "Currency"                       
##  [37] "Fees_Include_Subsidiaries"       "Fees_Included_In_Parent_Filings"
##  [39] "Restatement"                     "Year_Ended_Datex"               
##  [41] "Year_Ended_Month_Ideal"          "Fiscal_Year_Ends_Currently_Repo"
##  [43] "Sourcex"                         "Source_Datex"                   
##  [45] "Stock_Price_USDx"                "Stock_Price_Datex"              
##  [47] "Market_Cap_USDx"                 "Market_Cap_USDx_N"              
##  [49] "Finacls_Datex"                   "Revenue_USDx"                   
##  [51] "Revenue_USDx_N"                  "Earnings_USDx"                  
##  [53] "Earnings_USDx_N"                 "Book_Value_USDx"                
##  [55] "Book_Value_USDx_N"               "Assets_USDx"                    
##  [57] "Assets_USDx_N"                   "State_Region"                   
##  [59] "Audit_Opinion_Key"               "Auditor_City"                   
##  [61] "Auditor_State_Code"              "Auditor_State_Name"             
##  [63] "Auditor_State_Region"            "Year_Ended_Ideal"               
##  [65] "Month_Ended_Ideal"               "Signature_Date"                 
##  [67] "Sourcey"                         "Source_Datey"                   
##  [69] "Going_Concern"                   "Going_Concern_Issue_Key_List"   
##  [71] "Going_Concern_Issue_Phrase_List" "Accounting_Basis"               
##  [73] "Is_Integrated_Audit"             "Is_Additiol_Opinion"            
##  [75] "Additiol_Sigture_Date_1"         "Additiol_Sigture_Date_2"        
##  [77] "Additiol_Sigture_Date_3"         "Additiol_Sigture_Date_4"        
##  [79] "Additiol_Sigture_Date_5"         "Filer_Status"                   
##  [81] "Fees_Fiscal_Year_Ended"          "Audit_Fees_USDy"                
##  [83] "NonAudit_Fees_USD"               "Total_Fees_USDy"                
##  [85] "Stock_Price_USDy"                "Stock_Price_Datey"              
##  [87] "Market_Cap_USDy"                 "Fincials_Datey"                 
##  [89] "Revenue_USDy"                    "Earnings_USDy"                  
##  [91] "Book_Value_USDy"                 "Assets_USDy"                    
##  [93] "Country_of_Headquarters"         "Company_Common_Name"            
##  [95] "Total_Assets"                    "Total_Equity"                   
##  [97] "ROA"                             "Net_Interest_Margin_Total_"     
##  [99] "Fee_Revenue_"                    "Efficiency_Ratio_"              
## [101] "Operating_Leverage"              "Labor_And_Related_Expense"      
## [103] "Noninterest_IncomeOp_Inc"        "Net_Loans__PeriodPeriod"        
## [105] "Deposits__PeriodPeriod"          "Loan_Loss_Provision__of_Loans"  
## [107] "Nonperforming_Loans__of_Loans"   "Tier_1_RiskAdjusted_Capital_Rat"
## [109] "EOP_LoansEOP_Deposits"           "Securities__Avg_Earning_Assets" 
## [111] "Going_Convern_Value"             "isdup"                          
## [113] "dup"                             "suma_Poz"                       
## [115] "SumaNegat"                       "Rel_Poz"                        
## [117] "Rel_Neg"                         "Total_Words"                    
## [119] "Rel_total"                       "Poz_to_Neg"                     
## [121] "Poz_to_ALL"                      "Poz_toAllMinus_NegToAll"        
## [123] "X_merge_sentiment"               "id"                             
## [125] "bank_name"                       "Moodyslong_d"                   
## [127] "Moodysshort_d"                   "SPshort_d"                      
## [129] "SPlong_d"                        "SPlong_f"                       
## [131] "SPshort_f"                       "Moodyslong_f"                   
## [133] "Fitchlong_f"                     "CIK_Code_2"                     
## [135] "X_merge"                         "sd_ROA"                         
## [137] "ZSCORE"                          "Audit_B4"                       
## [139] "Audit_Opininon_GC"               "sentiment"                      
## [141] "audit_fee"                       "noaudit_fee"                    
## [143] "size"                            "loans_growth"                   
## [145] "npl"                             "crisis"                         
## [147] "integ_sen_B4"                    "integ_sen_aud_fee"              
## [149] "integ_sen_cris"                  "NAICS"                          
## [151] "audit_fee_u"                     "noaudit_fee_u"                  
## [153] "inter_sent_size"                 "inter_sent_loans"               
## [155] "inter_sent_npl"                  "mean_ROA"                       
## [157] "ZSCORE_5"                        "adj_ROA"                        
## [159] "LEV"                             "audit_ta"                       
## [161] "nonaudit_ta"                     "audit_earn"                     
## [163] "nonaudit_earn"                   "totfee_ln"                      
## [165] "lev_p25y"                        "lev_p50y"                       
## [167] "lev_p75y"                        "lev_p25yy"                      
## [169] "lev_p50yy"                       "lev_p75yy"                      
## [171] "GegraphicalMatch"                "State_Namex1"                   
## [173] "Audit4_sent"                     "Audit4_size"                    
## [175] "post_crisis"                     "Audit4_pcrisis"                 
## [177] "Audit4_zscore"                   "Audit4_loan_depo"               
## [179] "Audit4_llp"                      "Audit4_opinion"                 
## [181] "Auditor_1"                       "Auditor_10"                     
## [183] "Auditor_10a"                     "sent_Audit4"                    
## [185] "sent_opinion"                    "sent_size"                      
## [187] "sent_zscore"                     "sent_loan_depo"                 
## [189] "sent_llp"                        "sent_pcrisis"                   
## [191] "sentiment_growth"                "totfee_ln_growth"               
## [193] "average_sentiment"               "nyear"                          
## [195] "X_est_IVall"                     "X_est_IVall_cencored"           
## [197] "censor"

A następnie wygenerujmy ramkę danych potrzebnych do dalszej anlizy nazywając ją PM i zobaczmy pierwsze rekordy stosując funkcję head

library(tidyverse) #bibloteka
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ readr     2.1.4
## ✔ ggplot2   3.4.2     ✔ stringr   1.5.0
## ✔ lubridate 1.9.3     ✔ tibble    3.2.1
## ✔ purrr     1.0.1     ✔ tidyr     1.3.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
PM<- bank %>% select(CIK_Code, Companyx,Auditorx,Audit_Fees_USDx,Year_Ended_Datex,Revenue_USDx_N,Earnings_USDx_N,Assets_USDx_N, Total_Equity )

# obejrzymy co uzyskaliśmy 
head(PM)
##   CIK_Code             Companyx Auditorx Audit_Fees_USDx Year_Ended_Datex
## 1     7789 ASSOCIATED BANC-CORP KPMG LLP          288000       12/31/2000
## 2     7789 ASSOCIATED BANC-CORP KPMG LLP          405700       12/31/2001
## 3     7789 ASSOCIATED BANC-CORP KPMG LLP          403100       12/31/2002
## 4     7789 ASSOCIATED BANC-CORP KPMG LLP          380120       12/31/2003
## 5     7789 ASSOCIATED BANC-CORP KPMG LLP          842700       12/31/2004
## 6     7789 ASSOCIATED BANC-CORP KPMG LLP          725000       12/31/2005
##   Revenue_USDx_N Earnings_USDx_N Assets_USDx_N Total_Equity
## 1     1123002000       167983000   13128394000    968696000
## 2     1076225000       179522000   13604374000   1070416000
## 3     1012841000       210719000   15043275000   1272183000
## 4      973799000       228657000   15247894000   1348427000
## 5      977369000       258286000   20520136000   2017419000
## 6     1385111000       320161000   22100082000   2324978000

Teraz możemy wzbogacić nasza ramkę o dodatkowe kolumny obrazujące zakresy istotności, które weźmiemy pod uwagę. Do budowania zakresów możemy użyć nowe kolumny generując je wg zasady PM-znak dolara nazwa_columy<- \[co ma zwaierać\]. Dla przykładu w Tabeli 1 mamy wartość Zysk n etto od 5-10%. Wobec powyższego wygmeramy dwie kolumny i je zobaczmy:

PM$ER_0.05<- (PM$Earnings_USDx_N)*0.05
PM$ER_0.1<- (PM$Earnings_USDx_N)*0.10
head(PM %>% select(ER_0.05,ER_0.1))
##    ER_0.05   ER_0.1
## 1  8399150 16798300
## 2  8976100 17952200
## 3 10535950 21071900
## 4 11432850 22865700
## 5 12914300 25828600
## 6 16008050 32016100

Ponieważ umiemy już budować nowe dane wygenerujmy wszystkie kolumny, tak jak robiliśmy to dla wyniki, do aktywów, kapitałów, i przychodów.

# dla aktywów
PM$TAS_0.001<- (PM$Assets_USDx_N)*0.001
PM$TAS_0.01<- (PM$Assets_USDx_N)*0.010
# dla przychodów 0.5-1%
PM$REV_0.005<- PM$Revenue_USDx_N*0.005
PM$REV_0.01<- PM$Revenue_USDx_N*0.01

# dla kapitałóW 3--7%
PM$EQU_0.03<- PM$Total_Equity*0.03
PM$EQU_0.07<- PM$Total_Equity*0.07

# zobaczmy uzupełnioną bazę
head(PM)
##   CIK_Code             Companyx Auditorx Audit_Fees_USDx Year_Ended_Datex
## 1     7789 ASSOCIATED BANC-CORP KPMG LLP          288000       12/31/2000
## 2     7789 ASSOCIATED BANC-CORP KPMG LLP          405700       12/31/2001
## 3     7789 ASSOCIATED BANC-CORP KPMG LLP          403100       12/31/2002
## 4     7789 ASSOCIATED BANC-CORP KPMG LLP          380120       12/31/2003
## 5     7789 ASSOCIATED BANC-CORP KPMG LLP          842700       12/31/2004
## 6     7789 ASSOCIATED BANC-CORP KPMG LLP          725000       12/31/2005
##   Revenue_USDx_N Earnings_USDx_N Assets_USDx_N Total_Equity  ER_0.05   ER_0.1
## 1     1123002000       167983000   13128394000    968696000  8399150 16798300
## 2     1076225000       179522000   13604374000   1070416000  8976100 17952200
## 3     1012841000       210719000   15043275000   1272183000 10535950 21071900
## 4      973799000       228657000   15247894000   1348427000 11432850 22865700
## 5      977369000       258286000   20520136000   2017419000 12914300 25828600
## 6     1385111000       320161000   22100082000   2324978000 16008050 32016100
##   TAS_0.001  TAS_0.01 REV_0.005 REV_0.01 EQU_0.03  EQU_0.07
## 1  13128394 131283940   5615010 11230020 29060880  67808720
## 2  13604374 136043740   5381125 10762250 32112480  74929120
## 3  15043275 150432750   5064205 10128410 38165490  89052810
## 4  15247894 152478940   4868995  9737990 40452810  94389890
## 5  20520136 205201360   4886845  9773690 60522570 141219330
## 6  22100082 221000820   6925555 13851110 69749340 162748460

Nie ma metody jednoznacznej wyboru wartości spośród możliwych przedziałów. Z reguły wartości ujemne nie są brane pod uwagę, a ostateczny wybór jest uznaniem zawodowym (profesjonalny osąd) biegłego rewidenta. Osąd ten musi być udokumentowany w dokumentacji roboczej. Stąd instytucja osądu nie jest dowolnością, a wyborem w zadawanym zakresie. Sformułowanie osądu wymaga wzięcia pod uwagę informacji ilościowej i jakościowej (np. charakterystyka podmiotu) w naszym przypadku banki, są nadzorowane, poprzez wymóg regulacyjny, który odnosi się do kapitałów, stąd typowym punktem startu będą kapitały własne.

Warto też zauważyć, iż wybór bazy do analizy niekoniecznie jest przypadkowy, i dotoczy relacji do akcjonariusza ostatecznego. Szerzej o tym, kto to jest jak się to bada itd. tutaj Staszkiewicz and Szelągowska (2019), aczkolwiek znów to pozycja raczej dla hobbistów. Powracając do myśli w przedsiębiorstwach przemysłowych typowa ścieżka decyzyjna jest następująca:

zysk - odnosi się do akcjonariusza rozproszonego żyjącego z dywidendy, bo wówczas najważniejszym roczny dochodem prócz niezrealizowanego zysku kapitałowego, jest właśnie zadeklarowana dywidenda.

kapitały własne - raczej do akcjonariatu większościowego skoncentrowanego, bo obrazuje wartość liniową (księgową) aktywów pod ich kontrolą.

przychód - w przypadku oczekiwanych przejęć fuzji, zmiany istotnej części akcjonariatu, bo pokazuje udział w rynku.

aktywa razem - rzadko raczej dla “too big to fail” obrazuje wpływ społeczny i systemowy podmioty,

Zadanie 1

Spróbujmy dla przykładu policzyć istoność jako średnią ważoną przedziałów wskazanych w Tabeli 1 dla wszystkich podmiotów w poszczególnych latach. Wygenrujmy nową zmienną pod nazwą PM

sr<- apply(PM[10:17], 1, mean, na.omit=T) #średnia po krotkach
PM$PM <-sr
head(PM)
##   CIK_Code             Companyx Auditorx Audit_Fees_USDx Year_Ended_Datex
## 1     7789 ASSOCIATED BANC-CORP KPMG LLP          288000       12/31/2000
## 2     7789 ASSOCIATED BANC-CORP KPMG LLP          405700       12/31/2001
## 3     7789 ASSOCIATED BANC-CORP KPMG LLP          403100       12/31/2002
## 4     7789 ASSOCIATED BANC-CORP KPMG LLP          380120       12/31/2003
## 5     7789 ASSOCIATED BANC-CORP KPMG LLP          842700       12/31/2004
## 6     7789 ASSOCIATED BANC-CORP KPMG LLP          725000       12/31/2005
##   Revenue_USDx_N Earnings_USDx_N Assets_USDx_N Total_Equity  ER_0.05   ER_0.1
## 1     1123002000       167983000   13128394000    968696000  8399150 16798300
## 2     1076225000       179522000   13604374000   1070416000  8976100 17952200
## 3     1012841000       210719000   15043275000   1272183000 10535950 21071900
## 4      973799000       228657000   15247894000   1348427000 11432850 22865700
## 5      977369000       258286000   20520136000   2017419000 12914300 25828600
## 6     1385111000       320161000   22100082000   2324978000 16008050 32016100
##   TAS_0.001  TAS_0.01 REV_0.005 REV_0.01 EQU_0.03  EQU_0.07       PM
## 1  13128394 131283940   5615010 11230020 29060880  67808720 35415552
## 2  13604374 136043740   5381125 10762250 32112480  74929120 37470174
## 3  15043275 150432750   5064205 10128410 38165490  89052810 42436849
## 4  15247894 152478940   4868995  9737990 40452810  94389890 43934384
## 5  20520136 205201360   4886845  9773690 60522570 141219330 60108354
## 6  22100082 221000820   6925555 13851110 69749340 162748460 68049940

Ustalmy rozkład istotności w naszej populacji (# xlim=c(100,150700000),)

hist(PM$PM, 
     freq = T,
     main="Histogram ", 
     xlab="Audit fee", 
     border="blue", 
     col="green",
     las=1, 
     breaks=20000)

min(PM$PM,na.rm=T) # wartość minimalna istotnośći
## [1] -2187282
max(PM$PM, na.rm=T) # Wartość maskymalna istotności
## [1] 6845808375

A teraz jeszcze sobie zrobimy trzecią kolumnę, która ukaże nam udział , a w wynagrodzenia biegłego rewidenta do istotności. Co na podstawie takie rozkładu możemy wnioskować?

PM$AFR<- PM$Audit_Fees_USDx/PM$PM
hist(PM$AFR)

summary(PM$AFR, na.omit=T)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max.     NA's 
## -0.43106  0.03657  0.05612  0.06966  0.08350  1.46075      102

Zadanie 2

Policzmy w ilu przypadkach istotność jest większa od wynagrodzenia biegłego rewidenta. Sprawdzamy ile mamy podmiotów w naszej bazie. Zastosowawszy bibliotekę Hmisc() oraz funkcję desribe do zrozumienia naszych danych.

library(Hmisc)
## 
## Dołączanie pakietu: 'Hmisc'
## Następujące obiekty zostały zakryte z 'package:dplyr':
## 
##     src, summarize
## Następujące obiekty zostały zakryte z 'package:base':
## 
##     format.pval, units
# opiszemy istotnść
describe(PM$PM)
## PM$PM 
##         n   missing  distinct      Info      Mean       Gmd       .05       .10 
##      5254       102      5254         1  58400064 109091292    545349    817624 
##       .25       .50       .75       .90       .95 
##   1432811   2924430   8938676  32513831  77318372 
## 
## lowest : -2187280   45102      51890.4    77399      80998.1   
## highest: 6222180000 6266840000 6359390000 6624250000 6845810000
# opiszemy stosunek istotności do wynagrodzenie
describe(PM$AFR)
## PM$AFR 
##        n  missing distinct     Info     Mean      Gmd      .05      .10 
##     5254      102     5232        1  0.06966  0.05324  0.01361  0.02142 
##      .25      .50      .75      .90      .95 
##  0.03657  0.05612  0.08350  0.12183  0.15548 
## 
## lowest : -0.431064   0           0.000520695 0.000584316 0.000639326
## highest: 0.912027    0.937462    1.00802     1.2141      1.46075

Wszystkich naszych obserwacji w bazie jest 5356 jako wynik nrow(PM) stąd 5352 jako rezultat nrow(PM[PM$PM>PM$Audit_Fees_USDx, ])

Zadanie 3

Proszę obliczyć parametry modelu istotności w populacji

\[ PM = a_{0}+a_{1}x_{1}+a_{2}x_{2}+... a_{n}x_{n}+\xi \] Przy czym niech niech pierwsza,druga i trzecia zmienna nieżależna to będzie: suma aktywów, kapitały i wynik.

model<-lm(PM$PM~PM$Assets_USDx_N+PM$Total_Equity+PM$Earnings_USDx_N)

Podsumujmy tak uzyskany model

summary(model)
## 
## Call:
## lm(formula = PM$PM ~ PM$Assets_USDx_N + PM$Total_Equity + PM$Earnings_USDx_N)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -121975562    -133433    -110813     -83837   80521989 
## 
## Coefficients:
##                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        1.089e+05  5.721e+04   1.904    0.057 .  
## PM$Assets_USDx_N   1.565e-03  1.966e-06 795.860   <2e-16 ***
## PM$Total_Equity    1.151e-02  1.966e-05 585.535   <2e-16 ***
## PM$Earnings_USDx_N 2.047e-02  5.943e-05 344.441   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4109000 on 5250 degrees of freedom
##   (102 obserwacje zostały skasowane z uwagi na braki w nich zawarte)
## Multiple R-squared:  0.9999, Adjusted R-squared:  0.9999 
## F-statistic: 1.965e+07 on 3 and 5250 DF,  p-value: < 2.2e-16

Zobrazujmy go graficznie

plot(model)

Dodatkowa samodzielna analiza

Na podstawie amerykańskiego modelu wartości istotności, ustal oczekiwaną istotność dla spółek indeksu WIG, oraz średnią dla indeksu.

Zadania do samodzielnego wykonania

  • Wielka uciecha s. 130

  • Blue Caffee s. 146

  • Zastosowanie AI w rewizji finansowej s. 163

    Do czytania:

    Blokdijk et al. (2003), DeZoort, Harrison, and Taylor (2006), Martinov and Roebuck (1998)

Literatura

Blokdijk, Hans, Fred Drieenhuizen, Dan A. Simunic, and Michael T. Stein. 2003. “Factors Affecting Auditors’ Assessments of Planning Materiality.” AUDITING: A Journal of Practice & Theory 22 (2): 297–307. https://doi.org/10.2308/aud.2003.22.2.297.
DeZoort, Todd, Paul Harrison, and Mark Taylor. 2006. “Accountability and Auditors Materiality Judgments: The Effects of Differential Pressure Strength on Conservatism, Variability, and Effort.” Accounting, Organizations and Society 31 (4-5): 373–90. https://doi.org/10.1016/j.aos.2005.09.001.
Martinov, Nonna, and Peter Roebuck. 1998. “The Assessment and Integration of Materiality and Inherent Risk: An Analysis of Major Firms’ Audit Practices.” International Journal of Auditing 2 (2): 103–26. https://doi.org/10.1111/1099-1123.00034.
Staszkiewicz, Piotr, and Renata Karkowska. 2021. “Audit Fee and Banks Communication Sentiment.” Economic Research-Ekonomska Istraživanja, October, 1–21. https://doi.org/10.1080/1331677x.2021.1985567.
Staszkiewicz, Piotr, and Anna Szelągowska. 2019. “Ultimate Owner and Risk of Company Performance.” Economic Research-Ekonomska Istraživanja 32 (1): 3795–3812. https://doi.org/10.1080/1331677x.2019.1678499.