Sie sind auf Seite 1von 21
Softwareanwendungen im Finanzcontrolling 3. Übungsblock: R WS2010/11 DekaBank-Stiftungslehrstuhl für Finanzcontrolling
Softwareanwendungen im Finanzcontrolling
Softwareanwendungen
im Finanzcontrolling
3. Übungsblock: R WS2010/11
3. Übungsblock: R
WS2010/11
Literatur  Faes, G. (2007): Einführung in R: Ein Kochbuch zur statistischen Datenanalyse mit R

Literatur

Faes, G. (2007): Einführung in R: Ein Kochbuch zur statistischen

Datenanalyse mit R (Broschiert), Books on Demand GmbH,

Norderstedt

Ligges, U. (2006): Programmieren mit R, 2. Auflage, Springer,

Berlin

Sachs, L., Hedderich, J. (2006): Angewandte Statistik:

Methodensammlung mit R, 12. Auflage, Springer, Berlin

Allgemeines
Allgemeines
Allgemeines  R eine statistikorientierte Programmiersprache, die es ermöglicht Funktionen zu erstellen, welche in

R eine statistikorientierte Programmiersprache, die es ermöglicht Funktionen zu erstellen, welche in Standardökonometrie-Software nicht vorhanden sind.

Zudem enthält R bereits vorhandene Pakete, die in ökonometrischen Analysen zum Einsatz kommen können.

Neben ökonometrischen Anwendungen stehen dem Nutzer der Sprache auch mächtige Pakete zur Lösung von (linearen und nichtlinearen) Optimierungsproblemen zur Verfügung.

R ist unter http://www.r-project.org verfügbar.

Anwender haben die Möglichkeit unter dem Menü Hilfe/search.r- project.org gezielt nach Funktionen bzw. Hilfe zu bestimmten

Problemstellungen zu suchen.

Allgemeines
Allgemeines
Allgemeines  In R sind manche Pakete bereits mitgeliefert. Um mit einem speziellem Paket arbeiten zu

In R sind manche Pakete bereits mitgeliefert. Um mit einem

speziellem Paket arbeiten zu können, muss dieses mit dem Befehl

library(Name des Pakets) aktiviert werden.

Wird die R-Sitzung geschlossen und das Workspace nicht gesichert, muss der Anwender beim nächsten Aufruf von R das

benötigte Paket erneut laden.

Ist ein Paket nicht installiert gibt R eine Fehlermeldung aus. In diesem Fall muss das Paket von einem CRAN-Server bezogen und im lokalen Verzeichnis library installiert werden.

Sowohl bei Funktionen als auch bei Variablen ist auf richtige Groß-/ Kleinschreibung zu achten! Ansonsten kann R die eingegebenen Befehle nicht verarbeiten.

Rechenoperationen in R
Rechenoperationen in R
Rechenoperationen in R  Das Dezimalkomma ist in R immer ein Punkt! Rechenoperation Symbol Addition /

Das Dezimalkomma ist in R immer ein Punkt!

Rechenoperation

Symbol

Addition / Subtraktion

+/-

Potenzieren

^

Multiplizieren / Dividieren

*,/

Beispiel 0.5³ + (5-6)13.5

R-Schreibweise:

0.5^3 + (5-6)*13.5

3.1.1 Vektoren  Die Zuweisung von Vektoren erfolgt über <- oder =  Beispiel: Die

3.1.1 Vektoren

Die Zuweisung von Vektoren erfolgt über <- oder =

Beispiel: Die Variable a soll den Wert 5 annehmen:

a <- 5

a = 5

Vektoren zusammen führen:

Der Vektor a soll die Elemente 1,2 und 3 enthalten, der Vektor b die Elemente 4,5 und 6.

a <- c(1,2,3)

b <- c(4,5,6)

Die Vektoren a und b sollen zu einem gemeinsamen Vektor d zusammengeführt werden:

d <- c(a,b)

3.1.1 Vektoren  Länge eines Vektors (=Anzahl seiner Elemente):  length(a)  Zugreifen auf bestimmte

3.1.1 Vektoren

Länge eines Vektors (=Anzahl seiner Elemente):

length(a)

Zugreifen auf bestimmte Elemente eines Vektors:

a[2]

a[2:4]

a[-c(2,3)] „Alle Elemente von a, außer Element zwei und drei“

„Zweites, drittes und viertes Element des Vektors a“

„Zweites Element des Vektors a“

Vektoren mit Elementen belegen:

Jahr <- seq(1999:2003) 1999, 2001, 2002, 2003

Zahl <- seq(1,5,by=0.5) 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5

3.1.1 Vektoren  Benennen der Vektorelemente: a <- c(Länge=1,Breite=2,Gewicht=3) Länge Breite Gewicht 1 2 3

3.1.1 Vektoren

Benennen der Vektorelemente:

a <- c(Länge=1,Breite=2,Gewicht=3)

Länge Breite Gewicht

1

2

3

In Vektoren sind auch logische Elemente zulässig:

Vektor <- c(T,F,F,T) TRUE FALSE FALSE TRUE

3.1.2 Arrays
3.1.2 Arrays
3.1.2 Arrays  ar <- array(dim=c(3,4)) NA NA NA NA NA NA NA NA NA NA

ar <- array(dim=c(3,4))

NA NA NA NA

NA NA NA NA NA NA NA NA

Vektoren zu arrays zusammenführen:

a <- c(1,2,3)

b <- c(4,5,6)

ab <- cbind(a,b)

b

1 2

3 4

5 6

a

3.1.2 Arrays
3.1.2 Arrays
3.1.2 Arrays  Zugreifen auf bestimmte Werte eines Arrays:  1. Spalte: ab[,1]  1. Zeile:

Zugreifen auf bestimmte Werte eines Arrays:

1. Spalte:

ab[,1]

1. Zeile:

ab[1,]

Element der 2. Zeile sowie 3. Spalte: ab[2,3]

Wichtige Matrizenfunktionen:

Funktion

Beschreibung

t()

Transponieren einer Matrix

det()

Determinante einer Matrix

solve()

Matrizeninvertierung

Matrix A%*%Matrix B

Matrizenmultiplikation

3.1.3 Listen  Listen bieten die Möglichkeit Vektoren bzw. Matrizen mit unterschiedlicher Datenstruktur zu

3.1.3 Listen

Listen bieten die Möglichkeit Vektoren bzw. Matrizen mit

unterschiedlicher Datenstruktur zu kombinieren.

Bespiel:

a<-c(1,2,3)

b<-c(„Name“,“Anschrift“,“Telefonnummer“)

list(a,b)

Zugreifen auf Elemente einer Lister

Vektor a: list[[1]] 1, 2, 3

Vektor b, zweites Element: list[[2]][2]

„Anschrift“

3.1.4 Kommentare  Kommentare sind hilfreich, um bei längeren Programmen den Überblick nicht zu verlieren.

3.1.4 Kommentare

Kommentare sind hilfreich, um bei längeren Programmen den

Überblick nicht zu verlieren.

In R werden Kommentare durch # gekennzeichnet. Sie müssen am Beginn einer Befehlszeile stehen und markieren den Beginn eines

neuen Kommentars.

Beispiel:

#Kommentar

3.1.5 Daten einlesen  Bibliothek: xlsReadWrite  Voraussetzung: Daten müssen im *.xls (Excel 1997-2003) Format

3.1.5 Daten einlesen

Bibliothek: xlsReadWrite

Voraussetzung: Daten müssen im *.xls (Excel 1997-2003) Format vorliegen.

Befehl: read.xls(Pfad, type=„double“, sheet=1)

In der Regel kann die Option sheet vernachlässigt werden, da standardmäßig, dass erste Tabellenblatt ausgewählt wird.

Der Pfad ist nach dem üblichen Format Laufwerk:/Ordner/Datei.xls anzugeben.

Kontinuierlichen Renditen werden mit folgendem Befehl

kalkuliert:

Rendite <- diff(log(Schlusskurs))

Befehl kalkuliert: Rendite <- diff(log( Schlusskurs )) DekaBank-Stiftungslehrstuhl für Finanzcontrolling

DekaBank-Stiftungslehrstuhl für Finanzcontrolling Dipl.-Kfm. Harald Kinateder

13

3.1.6 Histogramm
3.1.6 Histogramm
3.1.6 Histogramm  Funktion: hist(dax)  Beispiel: Histogramm der DAX-Renditen von 2001-2006

Funktion: hist(dax)

Beispiel: Histogramm der DAX-Renditen von 2001-2006

 Beispiel: Histogramm der DAX-Renditen von 2001-2006 DekaBank-Stiftungslehrstuhl für Finanzcontrolling
3.1.7 Quantile-Plot
3.1.7 Quantile-Plot
3.1.7 Quantile-Plot  Welche Verteilung eine Stichprobe besitzt kann grafisch mit Hilfe eines Quantile-Plots (Q-Q-Plot)

Welche Verteilung eine Stichprobe besitzt kann grafisch mit Hilfe

eines Quantile-Plots (Q-Q-Plot) analysiert werden.

Funktion:

qqnorm(dax)

qqline(dax, col=„red“,

lwd=2)

 Funktion: qqnorm(dax) qqline(dax, col=„red“, lwd=2) DekaBank-Stiftungslehrstuhl für Finanzcontrolling
3.1.8 Summary Statistics
3.1.8 Summary Statistics
3.1.8 Summary Statistics  Wichtige Summary Statistics können mit dem Befehl summary() abgerufen werden.  Bei

Wichtige Summary Statistics können mit dem Befehl summary()

abgerufen werden.

Bei mehreren Zeitenreihen, empfiehlt es sich,

zunächst die gewünschten Zeitreihen in einer Liste zusammen

zu fassen und

mit sapply(Name der Liste,summary) zu berechnen. Somit muss der Befehl summary() nicht für jede Zeitreihe einzeln aufgerufen werden.

3.1.9 Verteilungen und Zufallszahlen
3.1.9 Verteilungen und Zufallszahlen

Die entsprechenden Funktionen sind nach einem einheitlichem

Prinzip aufgebaut, welches am Beispiel der Normalverteilung

verdeutlicht wird:

Funktion

Beschreibung

dnorm(x, Mittelwert, Std.-Abw.)

Dichte

pnorm(q, Mittelwert, Std.-Abw.)

Wahrscheinlichkeiten

qnorm(p, Mittelwert, Std.-Abw.)

Quantile

rnorm(n, Mittelwert, Std.-Abw.)

Zufallszahlen

x, q = Quantile (Vektor)

p = Wahrscheinlichkeiten (Vektor)

n = Anzahl der Beobachtungswerte

3.2 Regression
3.2 Regression
3.2 Regression  Die einfache lineare Regressionsanalyse kann mit der Funktion lm() durchgeführt werden.  Die

Die einfache lineare Regressionsanalyse kann mit der Funktion lm()

durchgeführt werden.

Die gewünschte Regressionsfunktion muss dabei in einer bestimmten Form definiert werden:

Lineare Einfachregression mit Absolutglied lm(y ~ x)

y x

y x

Lineare Einfachregression ohne Absolutglied lm(y ~ x + 0)

3.2 Regression
3.2 Regression
3.2 Regression  Grafische Darstellung einer Punktewolke + Regressionsgerade  Schritt 1: Zunächst sind die

Grafische Darstellung einer Punktewolke + Regressionsgerade

Schritt 1: Zunächst sind die vorhandenen Datenpunkte in ein

Diagramm abzutragen:

plot(x,y)

Schritt 2: Im Anschluss

ist die geschätzte Regressionsgerade in die

zuvor erzeugte Grafik

einzuzeichnen:

abline(lm(y ~ x))

0.06

0.04

0.02

0.00

DOW

-0.02

-0.04

-0.06

-0.05 0.00 0.05 CAC 40
-0.05
0.00
0.05
CAC 40
3.2 Regression
3.2 Regression
3.2 Regression  Die Funktion summary(lm()) liefert die Ergebnisse der Regression:  geschätzte

Die Funktion summary(lm()) liefert die Ergebnisse der Regression:

geschätzte Regressionskoeffizienten

t-Statistik einschließlich p-Werte

Bestimmtheitsmaß

F-Statistik

R bietet die Möglichkeit auf einzelne Ergebnisse direkt zuzugreifen und diese in einem Vektor abzuspeichern. Hierzu muss die Regression in einem Hilfsvektor f gesichert abgelegt werden:

f=lm()

Absolutglied: f$coefficients[1]

Steigungskoeffizient: f$coefficients[2]

Residuen: f$residuals

Die geschätzte Regressionsgerade: fitted.values$residuals

3.2 Regression
3.2 Regression
3.2 Regression  Übung X 22 24 26 26 27 27 28 28 29 Y 15

Übung

X

22

24

26

26

27

27

28

28

29

Y

15

20

20

24

22

27

27

24

25

1. Berechnen Sie die geschätzte Regressionsgerade

y x

2. Sind die geschätzten Regressionskoeffizienten signifikant? Falls

ja, für welches Signifikanzniveau?

3. Übertragen Sie obige Werte in ein Diagramm und fügen Sie die geschätzte Regressionsgerade (Farbe blau) hinzu.