Bonus 1
S.final <- 1527.49 # Apr 20, Close
S.final
## [1] 1527.49
Nonick42
nonick42 <- function(S){
callPayoff <- function(SS,E) pmax(0,SS-E)
profit1 <- function(SS){
call1430<-callPayoff(SS,1430)
call1450<-callPayoff(SS,1450)
call1470<-callPayoff(SS,1470)
4*(call1430-108.2)-1*(call1450-92.85)-3*(call1470-80.4)
}
profit1(S)
}
nonick42(S.final)
## [1] 41.25
Beago

Beago <- function(S) {
payoff <- pmax(0,S-1430) + pmax(0,S-1450) - pmax(0,S-1520) - pmax(0,S-1530)
profit <- payoff - 108.2 - 96.45 + 56.6 + 52.3
profit
}
Beago(S.final)
## [1] 71.74
BetterSafeThanSushi
BetterSafeThanSushi <- function(S)
{
callPayoff = function(S,E) pmax(0,S-E)
vyplata<-10*(+callPayoff(S,1430)-callPayoff(S,1440))
profit<-vyplata + 10*(-108.2+99.75)
profit
}
BetterSafeThanSushi(S.final)
## [1] 15.5
R2018
R1028 = function (S) {
callPayoff = function(S,E) pmax(0,S-E)
return (callPayoff(S,1450) -96.45)
}
R1028(S.final)
## [1] -18.96
georgiev.slavi
georgiev.slavi <- function(S) {
callPayoff <- function(S, E) pmax(0, S-E)
profit <- rep(0, length(S))
strategy <- data.frame(
quantity = c(4, -4),
strike = c(1510, 1560),
price = c(63.5, 40.8)
)
for (i in 1:nrow(strategy)) {
profit = profit + strategy[i,]$quantity * (callPayoff(S, strategy[i,]$strike) - strategy[i,]$price)
}
profit
}
georgiev.slavi(S.final)
## [1] -20.84
DAR
dar <- function(S){
callPayoff <- function(S,E) pmax(0,S-E)
profit <- function(S) 19*(callPayoff(S,1540) - 48.95 - callPayoff(S,1550) + 43.75)
profit(S)
}
dar(S.final)
## [1] -98.8
Trinástka
trinastka = function(S) {
callPayoff <- function(S,E) pmax(0,S-E)
return (-1*callPayoff(S,1560)-2*callPayoff(S,1520)+3*callPayoff(S,1470)-3*(83.35) + 1*(40.8) + 2*56.60)
}
trinastka(S.final)
## [1] 61.44
Semančíková
semancikova<-function(S){
callPayoff <- function(S,E) pmax(0,S-E)
vyp =- 3*callPayoff(S,1510)+2*callPayoff(S,1460)+2*callPayoff(S,1490)-1*callPayoff(S,1530)
profit = vyp + 3*(61.60) - 2*(90.3) - 2*(74.2) + 1*(52.30)
profit
}
semancikova(S.final)
## [1] 65.59
Špekulant
spekulant <- function(S){
callPayoff <- function(S,E) pmax(0,S-E)
call1<-callPayoff(S,1450)
call2<-callPayoff(S,1560)
2*((call1-92)+(-call2+42.68))
}
spekulant(S.final)
## [1] 56.34