R Flashcards

1
Q

Histogramm plotten

A

Beispiel:

hist(Renditen,
breaks = 100,
main = “Zufällige Renditen”
xlab = “Rendite”,
ylab = “Anzahl”,
col = “grey”,
cex.main = 1.5
cex.lab = 1.2)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Leeren Vektor erstellen

A

Numerischer Vektor
Leerer_Vektor = numeric(length = “number”)

Allgemein
Leerer_Vektor = vector(mode, length)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vektor definieren

A

Beispiele:

Über c()-Funktion
Vektor = c(2,5,9,14)

Über seq()-Funktion
Vektor = seq(9,12,1)

Bei Charakter-Vektoren müssen Begriffe in Anführungszeichen gesetzt werden!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vektoren addieren

A

Add.Vektor = Vektor.1 + Vektor.2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Matrix definieren

A

Beispiele:

Über seq-Funktion
Matrix = matrix(seq(1,9,1),
nrow = 3,
ncol = 3,
byrow = TRUE)

Über c()Funktion
Matrix = matrix(c(1,2,8,6,9),
nrow = 2,
ncol = 3,
byrow = TRUE)

Über cbind-Funktion
Matrix = cbind(x, y,z)
cbind erstellt aus mehreren Vektoren eine Matrix. Jeder Vektor bildet dabei eine Spalte

Auch cbind kann in matrix() verpackt werden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Gauss Copula definieren

A

Beispiel:

Gauss.C = ellipCopula(family = “normal”,
param = c(rho1, rho2, rho3),
dim = 3,
dispstr = “un”))

Als Parameter werden die linearen Korrelationskoeffizienten übergeben.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Ziehen von Zufallszahlen aus einer Copula (in eine Matrix)

A

Beispiel:

U = rCorpula(10000, Gauss.C)

Es werden 10.000 Zufallszahlen aus der Copula namens Gauss.C gezogen. Gauss.C muss zuvor definiert werden. Daten werden in einer Matrix U gespeichert, deren Spaltenzahl der Dimension der Copul entspricht

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Variablen definieren

A

x = 14
y = 0.12
z = “Affe”
a = TRUE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Matrix Spaltenname und Reihennamen zuweisen

A

Beispiel:

Spaltenname = colnames(Matrix)

Reihenname = rownames(Matrix)

Reihen- und Spaltenname sind zwei Vektoren, die zuvor definiert werden müssen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Matrix indizieren (und in Vektor speichern)

A

Beispiele:

Zeile indizieren:
Vektor = Matrixname[2, ]

Spalte indizieren
Vektor = Matrixname[ ,3]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Liste erstellen

A

Liste = list(Objekt1, Objekt2, Objekt3)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Liste indizieren

A

Name_Liste[[ObjektNr]] [Element]

z.B.
Liste[[1]] [2]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Workspace ausgeben

A

getwd()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

CSV einlesen und Objekt zuweisen

A

Beispiel

Mietspiegel = read.csv(“Mietspiegel.csv”)

Funktioniert nur, wenn vorher der Workspace ausgegeben und csv im Workspace liegt. Eine csv wird als Matrix eingelesen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Vektor aus Matrixspalte erstellen

A

Vektor.Spalte = Matrixname[ ,2]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Merge Funktion

A

Beispiel

Mietspiegel.all = merge(Mietspiegel, Mietspiegel2, by = “Miete”)

*Merge setzt mehrere Data Frames “nebeneinander”. Doppelte Einträge werden gelöscht”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Datensatz (data frame) erstelle

A

Beispiel

Mietspiegel2 = data.frame(Bewohner, Anzahl, Mietspiegel)

Data Frames sind im Prinzip Matrizen, die unterschiedliche Datentypen enthalten können. In einem Data Frame müssen Vektoren gleich viele Elemente bzw. Matrizen gleich viele Zeilen haben, da alles “nebeneinander” angeordnet wird

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Subset aus Datensatz

A

Beispiel:

subset(Mietspiegel.all, Miete < 600)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Datensatz sortieren

A

Name_Datensatz[order(NameDatensatz$Kategorie),]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Csv in Verzeichnis speichern

A

write.csv(Name_Datensatz, file = “Adresse”)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Zufällige normalverteilte Stichprobe erstellen

A

Beispiel:

Renditen = rnorm(1000, mean = 0.06, sd = 0.12)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Minimum, Maximum, Mittelwert, Median und Standardabweichung einer Stichprobe

A

Beispiele:

min(Renditen)
max(Renditen)
mean(Renditen)
median(Renditen)
sd(Renditen)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Linien in Diagramme zeichnen

A

Beispiele:

Vertikal:
abline(v = median(Renditen),
col = “red”,
lwd = 2)

Horizontal:
abline(h = mean(Renditen,
col = 2,
lwd = 1.5)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Grafik als metafile in Verzeichnis ausgeben

A

win.metafile(“Verzeichnis”)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Plot erstellen

A

Beispiel
plot(Renditen,
type = “l”,
main = “Verlauf Renditen”,
xlab = “Zeit”,
ylab = “…”,
cex.main = 1.5,
cex.lab = 1.5)
type = “l” steht für das plotten von Linien (lines)

Aus Matrix

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Vektor über for-Schleife füllen

A

for(i in 1:length) {
results[i] = input[i]
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Funktion definieren

A

Name_Funktion = function(Variable) {
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Erzeugen/Ziehen von Zufallszahlen mit normalverteilten Daten

A

Über rnorm()
Zufallszahlen = rnorm(10000, mean, sd)

29
Q

Anwenden der get.hist.quote() Funktion

A

Beispiel:

get.hist.quote(instrument = “DPW.DE”,
start = “2010-01-01”,
end = “2020-01-01”,
quote = “Adjusted”,
provider = “yahoo”,
compression = “w”)

Gibt das Ergebnis als Zeitreihenformat zurück!

30
Q

Anwendung der fit.distr() Funktion

A

Fit.Vektor = fitdistr(Vektor.Renditen, densfun = “normal”)

31
Q

Matrizen multiplizieren

A

Matrix.1 %% Matrix.2

32
Q

Mehrere Grafiken auf einmal ausgeben

A

par(mfrow = c(2,2))

33
Q

Vektor für Auszahlung der Rückversicherung

A

X.Re = numeric(length(S.1))
for(i in 1:length(X.Re) {
X.Re[i] = beta.Re * S.1[i]
}

Die Rückversicherung zahlt bei einem Schaden einen bestimmten Anteil (beta) des Schadens zurück

34
Q

Erzeugen/Ziehen von gleichverteilten Zufallszahlen

A

z = runif(x, min, max)
z = runif(1000, 0, 1)

35
Q

Funktion in R

A

Beispiele:

expinv = function(n, lamda) {
- log(1-runif(n)) / lamda)
}

36
Q

(Wahre) exponentielle Verteilungsfunktion plotten

A

Beispiel:

curve(pexp,
min = 0,
max = 4,
lwd = 2)

Dieser Aufruf würde auch mit plot funktionieren

37
Q

Empirische Verteilungsfunktion plotten

A

Beispiele:

plot(ecdf(expinv(100, 1))

Vektor übergeben:
plot(ecdf(z),
main = “Verteilungsfunktion”,
ylab = “F(x)”)

38
Q

Standardfehler berechnen

A

SF = SA / sqrt(n)

SA ist in diesem Fall die Standardabweichung diese muss zuvor bestimmt/definiert werden. n ist die Anzahl der Zufallszahlen

39
Q

Empirische Dichtefunktion der Normalverteilung plotten

A

plot(density(z),
main = “Dichtefunktion”,
xlab = “x”,
ylab = “f(x)”)

Funktioniert nur über plot NICHT mit curve

40
Q

(Wahre) Dichtefunktion der Normalverteilung plotten

A

curve(dnorm(x, 5, 5)
-15, 25,
main =
xlab =
ylab =
add = TRUE)

add fügt die Funktion zur vorherigen Grafik hinzu

Bei Ausgabe der fitdistr() Schätzung
curve(dnorm(x, fit$estimate[1], fit$estimate[2])
-15, 25,
main =
xlab =
ylab =
add = TRUE)

41
Q

(Wahre) Verteilungsfunktion der Normalverteilung plotten

A

Beispiel

curve(pnorm(x,5,5),
-15, 25,
add = T,
col = 2)

42
Q

Obere Dreiecksmatrix der Cholesky-Zerlegung

A

C = matrix(c(1, 0, rho, sqrt(1-(rho^2))), ncol = 2)

43
Q

Standardnormalverteile Zufallszahlen in normalverteilte Zufallszahlen konvertieren

A

N1 = Z1*sigma1 + mu1

44
Q

Matrix als Zeitreihe definieren (in fPortfolio)

A

NTS = as.timeSeries(N)

45
Q

Mindestrendite festsetzen (in fPortfolio)

A

setTargetReturn(spec) = E

46
Q

Effizientes Portfolio berechnen (in fPortfolio)

A

efficientPortfolio(NTS, spec, constraints=”LongOnly”)

47
Q

Zeitreihe in Vektor konvertieren

A

Telekom = as.vector(Telekom, mode = “numeric”)

48
Q

Normalverteilte Daten in standardnormalverteilte Daten konvertieren

A

Stand.norm = (Rendite - mean(Rendite)) / sigma(Rendite)

49
Q

Erzeugen/Ziehen von Zufallszahlen mit lognormalverteilten Daten

A

S.1 = rlnorm(10000, meanlog = m, sdlog = v)

50
Q

Funktion, die Wert einer Präferenzfunktion in Abhängigkeit von alpha ausgibt

A

fkt = function(vars){
alpha = vars[i]
A.1= A.0exp(alphar.low + (1-alphar.high))
Ü.1 = A.1 - S.1
präf = mean(Ü.1) - b*sd(Ü.1)
return(-präf)
}

51
Q

Lineare Korrelationskoeffizienten aus Kendalls Tau berechnen

A

rho = sin(pi * Kendall.Tau / 2)

52
Q

Assests in t=0 eines VU

A

A.0 = EK.0 + pi.S - pi.Re

Assests zum Zeitpunkt t=0 bestehen aus dem Eigenkapital zuzüglich der Prämieneinnamen (pi.S) und abzüglich den Prämienausgaben für die Rückversicherung (pi.Re)

53
Q

Assests in t=1 eines VU

A

A.1 = A.0 * exp(mu.1 * alpha.1 + mu.2*alpha.2)

54
Q

Überschuss eines VU

A

RBC.1 = A.1 - S.1 + X.Re

Gibt einen Vektor zurück

55
Q

Schadensprämie eines VU

A

pi.S = mean(S.1) * (1+load.S)

56
Q

Rückversicherungsprämie eines VU

A

Pi.Re = mean(X.Re) * (1 + load.Re)

Prämie setzt sich zusammen aus dem durchschnittlich zu erwartenden Schaden für die Rückversicherung und einem Loadfaktor.

57
Q

Schadensvektor S.1

A

S.1 = qlnorm(u[ 3], meanlog = m, sdlog = v )

Immer die quantil ln-Verteilung nehmen!

58
Q

Auszahlung an Rückversicherung als Vektor

A

X.Re = numeric(length(S.1))

for(i in 1:length(S.1)){
X.Re[i] = beta * S.1[i]
}

59
Q

Ausfallwarhscheinlichkeit als Vektor und Durchschnitt

A

SP.1 = numeric(length(RBC.1))

for(i in 1:length(RBC.1)) {
if(RBC.1[i] < 0){SP.1[i] = 1}
else{SP.1[i] = 0}
}

SP.1 = mean(SP.1)

*Ausfallwahrscheinlichkeitist abhängig vom Überschuss RBC.1. Ist der Überschuss negativ kommt es zu einem Ausfall (= 1)

60
Q

Quantil des VAR

A

VAR = quantile(RBC.1, 0.005)

61
Q

TVAR berechnen

A

T.VAR.help = numeric(length(RBC.1))

for(i in 1:length(RBC.1)){
if(RBC.1[i] <= vAR) {T.VAR.help[i] = RBC.1[i]}
else{T.VAR.help[i]= 0}
}

T.VAR = numeric(length(RBC.1))

for(i in 1:length(RBC.1)){
if(RBC.1[i] <= VAR) {T.VAR[i] = 1}
else{T.VAR.help[i]= 0}
}

T.VAR = sum(T.VAR.help) / sum(T.VAR)

62
Q

Mittelwert des Überschusses im Verhältnis/relativ zur Ausfallwahrscheinlichkeit

A

RBC.SP = mean(RBC.1) / SP.1

63
Q

Korrelation einer Matrix berechnen

A

cor(Matrix)

cor(Matrix, method = “kendal”)

64
Q

Theoretische/wahre Dichtefunktion aus fitdistr()-Funktion in Histogramm hinzufügen

A

curve(dnorm(x, fit$estimate[1], fit$estimate[2]),
add = T,
col = “red”)

65
Q

qqplot erstellen

A

qqnorm(Rendite)

66
Q

DEoptim Funktion verwenden

A

library(DEoptim)

Optim = DEoptim(fkt,
lower = c(0),
upper = c(1),
control = DEoptim.control(NP = 200, itermax = 200))

optimize(fkt, c(0,1))

67
Q

Wert einer Präferenzunktion in Abhängigkeit von alpha

A

fkt = function(vars){

alpha = vars[1]

A.1 = A.0exp(alphar.low + (1-alpha)r.high)

RBC.1 = A.1 - S.1

präf= mean(RBC.1)- b*sd(RBC.1)

return(-präf)
}

68
Q

Expression bei Achsenbeschriftung verwenden

A

plot(alpha, res,
type = “l”,
xlab = expression(alpha),
ylab = “”,
main = expression(paste(“E(Ü) - b*”, sigma, “(Ü)”)))