I tried to scrap the odds price from 7M and NowGoal website, and apply Kelly-Criterion Model, from the simulatioin we can know that the EM model is profitable. However real-time trading platform is the future project which need to start soon… https://github.com/englianhu/Kelly-Criterion.
Load and manipulate the dataset.
require('turner', quietly=TRUE)
load('C:/Users/Scibrokes Trading/Documents/GitHub/englianhu/Kelly-Criterion/dataset/dataset.RData')
COModds <- subset(COM_7M1112$AH, names(COM_7M1112$AH) %in% eng1112$MatchID_7M)
# initial odds price
ini.odds <- lapply(COModds, function(x) na.omit(x)[1,-1])
ini.odds <- lapply(ini.odds, function(x){ df_to_blocks(x,blocks=c(rep(3,ncol(x)/3)),byrow=FALSE)})
ini.odds2 <- lapply(seq(ini.odds), function(i) {
lapply(seq(ini.odds[[i]]),function(j) {
COM=substr(names(ini.odds[[i]][[j]]),1,nchar(names(ini.odds[[i]][[j]]))-3)[1]
names(ini.odds[[i]][[j]])=c('AH','HM','AW')
data.frame(MatchID=names(ini.odds)[[i]], COM, ini.odds[[i]][[j]])}) })
iniOdds <- Reduce(function(x, y) merge(x, y, all = T), unlist(ini.odds2, recursive=F), accumulate = F)
iniOdds <- iniOdds[iniOdds$MatchID %in% EM_7M1112$FT$FTAH$MatchID,]
iniOdds$Spreads <- iniOdds$HM + iniOdds$AW
rm(ini.odds, ini.odds2)
Manipulate and reshape the dataset
library('reshape2')
# EM_7M1112$FT$FTAH[,1:5]
# filter the soccer matches which the teams has selected to calculated
eng1112b <- subset(eng1112, MatchID_7M %in% EM_7M1112$FT$FTAH$MatchID)
nrow(EM_7M1112$FT$FTAH)
## [1] 272
# filter the initial odds data from 7M by MatchID
dat <- EM_7M1112$FT$FTAH[EM_7M1112$FT$FTAH$MatchID %in% iniOdds$MatchID,]
# nrow(EM_7M1112$FT$FTAH[EM_7M1112$FT$FTAH$MatchID %in% iniOdds$MatchID,])
ah <- ifelse(nchar(abs(iniOdds$AH*100))<3, paste0('0',abs(iniOdds$AH*100)),iniOdds$AH*100)
ah <- ifelse(substr(ah,1,1)=='-', paste0('HN',ah), paste0('HP',ah))
ah <- gsub('-', '', ah); iniOdds$AHCode <- gsub('HP00', 'H000', ah); rm(ah)
iniOdds$AHCode <- as.factor(iniOdds$AHCode)
iniHM <- iniOdds[c("MatchID","COM","AH","HM","AHCode","Spreads")]; iniHM$AH <- -iniHM$AH
iniAW <- iniOdds[c("MatchID","COM","AH","AW","AHCode","Spreads")]
iniAW$AHCode <- gsub('HN','AP',iniAW$AHCode); iniAW$AHCode <- gsub('HP','AN',iniAW$AHCode)
iniAW$AHCode <- gsub('H000','A000',iniAW$AHCode)
iniOdds <- merge(iniHM, iniAW, all=T)
iniOdds$AH <- ifelse(substr(iniOdds$AHCode,2,2)=='N', -abs(iniOdds$AH), abs(iniOdds$AH))
iniOdds$COMOdds <- ifelse(is.na(iniOdds$HM) & !is.na(iniOdds$AW), iniOdds$AW,
ifelse(!is.na(iniOdds$HM) & is.na(iniOdds$AW), iniOdds$HM, NA))
iniOdds <- iniOdds[c('MatchID','COM','AH','AHCode','COMOdds','Spreads')]
iniOdds$RProb <- iniOdds$COMOdds * 2/iniOdds$Spreads
rm(iniHM, iniAW)
Merge the dataset
# Filter the MatchID of EM_7M and iniOdds
EMOdds <- melt(EM_7M1112$FT$FTAH,id=c('MatchID','Round','KODate','Home',
'Away','FTHG','FTAG','HTHG','HTAG'),
variable.name='AHCode', value.name='EMprob')
length(unique(EMOdds$MatchID))
## [1] 272
length(unique(iniOdds$MatchID))
## [1] 272
# merge iniOdds and EMOdds
mbase <- merge(iniOdds, EMOdds, by=c("MatchID","AHCode"))
mbase$AH <- ifelse(substr(mbase$AHCode,2,2)=='N', -abs(mbase$AH), abs(mbase$AH))
AH Calculator and Kelly-Betting
# -----------------------------------------------------------------------------
# Kelly criterion
# Advantages = (prob of win * decimal odds) + (prob of lose * -1)
# Optimal Kelly wager % = Advantages / decimal odds
mbase$Adv <- (mbase$EMprob * mbase$COMOdds) + ((1-mbase$EMprob) * -1)
mbase$Staking <- mbase$Adv / mbase$COMOdds
mbase$Staking <- ifelse(mbase$Staking < 0, 0, mbase$Staking)
# Measure the advantage (pure odds without overround/margin)
mbase$Adv2 <- (mbase$EMprob * mbase$RProb) + ((1-mbase$EMprob) * -1)
mbase$Staking2 <- mbase$Adv2 / mbase$COMOdds
mbase$Staking2 <- ifelse(mbase$Staking2 < 0, 0, mbase$Staking2)
# AH & OU Calculator
mbase$Output <- 0
for(i in seq(mbase$AH)){
if(substr(mbase$AHCode[i], 1, 1)=='H'){
if((mbase$FTHG[i] + mbase$AH[i] - mbase$FTAG[i]) > 0.25){
mbase$Output[i] = "W"
} else if((mbase$FTHG[i] + mbase$AH[i] - mbase$FTAG[i]) == -0.25){
mbase$Output[i] = "LH"
} else if((mbase$FTHG[i] + mbase$AH[i] - mbase$FTAG[i]) == 0){
mbase$Output[i] = "VOID"
} else if((mbase$FTHG[i] + mbase$AH[i] - mbase$FTAG[i]) == 0.25){
mbase$Output[i] = "WH"
} else if((mbase$FTHG[i] + mbase$AH[i] - mbase$FTAG[i]) < -0.25){
mbase$Output[i] = "L"
}
} else if(substr(mbase$AHCode[i],1,1)=='A'){
if((mbase$FTAG[i] + mbase$AH[i] - mbase$FTHG[i]) > 0.25){
mbase$Output[i] = "W"
} else if((mbase$FTAG[i] + mbase$AH[i] - mbase$FTHG[i]) == -0.25){
mbase$Output[i] = "LH"
} else if((mbase$FTAG[i] + mbase$AH[i] - mbase$FTHG[i]) == 0){
mbase$Output[i] = "VOID"
} else if((mbase$FTAG[i] + mbase$AH[i] - mbase$FTHG[i]) == 0.25){
mbase$Output[i] = "WH"
} else if((mbase$FTAG[i] + mbase$AH[i] - mbase$FTHG[i]) < -0.25){
mbase$Output[i] = "L"
}
}
}; rm(i)
# Calculate the Net Profit and Lose (AH and OU odds without capital)
mbase$PL <- 0
for(i in seq(mbase$Output)){
if(mbase$Output[i]=='W'){
mbase$PL[i] <- mbase$COMOdds[i] * mbase$Staking[i]
} else if(mbase$Output[i]=='WH'){
mbase$PL[i] <- mbase$COMOdds[i] * mbase$Staking[i] * 0.5
} else if(mbase$Output[i]=='VOID'){
mbase$PL[i] <- 0
} else if(mbase$Output[i]=='LH'){
mbase$PL[i] <- mbase$COMOdds[i] * mbase$Staking[i] * -0.5
} else if(mbase$Output[i]=='L'){
mbase$PL[i] <- mbase$COMOdds[i] * -mbase$Staking[i]
} else {
mbase$PL[i] <- NA
}
}; rm(i)
# Calculate the Net Profit and Lose (AH and OU odds without capital and without overround/margin)
mbase$PL2 <- 0
for(i in seq(mbase$Output)){
if(mbase$Output[i]=='W'){
mbase$PL2[i] <- mbase$COMOdds[i] * mbase$Staking2[i]
} else if(mbase$Output[i]=='WH'){
mbase$PL2[i] <- mbase$COMOdds[i] * mbase$Staking2[i] * 0.5
} else if(mbase$Output[i]=='VOID'){
mbase$PL2[i] <- 0
} else if(mbase$Output[i]=='LH'){
mbase$PL2[i] <- mbase$COMOdds[i] * mbase$Staking2[i] * -0.5
} else if(mbase$Output[i]=='L'){
mbase$PL2[i] <- mbase$COMOdds[i] * -mbase$Staking2[i]
} else {
mbase$PL2[i] <- NA
}
}; rm(i)
mbase[1:100,-c(6:9,12:13)]
## MatchID AHCode COM AH COMOdds Home
## 1 473549 AN025 X12BET -0.25 0.79 Blackburn Rovers
## 2 473549 AN025 X188Bet -0.25 0.80 Blackburn Rovers
## 3 473549 AN025 Bet365 -0.25 0.80 Blackburn Rovers
## 4 473549 AN025 Mansion88 -0.25 0.79 Blackburn Rovers
## 5 473549 AN025 SBOBET -0.25 0.80 Blackburn Rovers
## 6 473549 AN050 Ladbrokes -0.50 0.72 Blackburn Rovers
## 7 473549 AN050 YSB88 -0.50 0.75 Blackburn Rovers
## 8 473549 AN050 X10Bet -0.50 0.59 Blackburn Rovers
## 9 473549 AN050 Macauslot -0.50 0.72 Blackburn Rovers
## 10 473549 HP025 X188Bet 0.25 1.13 Blackburn Rovers
## 11 473549 HP025 Mansion88 0.25 1.19 Blackburn Rovers
## 12 473549 HP025 SBOBET 0.25 1.17 Blackburn Rovers
## 13 473549 HP025 Bet365 0.25 1.15 Blackburn Rovers
## 14 473549 HP025 X12BET 0.25 1.19 Blackburn Rovers
## 15 473549 HP050 X10Bet 0.50 1.40 Blackburn Rovers
## 16 473549 HP050 Macauslot 0.50 1.14 Blackburn Rovers
## 17 473549 HP050 YSB88 0.50 1.10 Blackburn Rovers
## 18 473549 HP050 Ladbrokes 0.50 1.14 Blackburn Rovers
## 19 473550 AN025 Ladbrokes -0.25 1.16 Fulham
## 20 473550 AN025 X10Bet -0.25 1.41 Fulham
## 21 473550 AN025 Macauslot -0.25 1.06 Fulham
## 22 473550 AN050 Bet365 -0.50 1.02 Fulham
## 23 473550 AN050 X12BET -0.50 1.02 Fulham
## 24 473550 AN050 X188Bet -0.50 1.04 Fulham
## 25 473550 AN050 SBOBET -0.50 1.05 Fulham
## 26 473550 AN050 Mansion88 -0.50 1.02 Fulham
## 27 473550 AN050 YSB88 -0.50 0.80 Fulham
## 28 473550 HP025 Ladbrokes 0.25 0.70 Fulham
## 29 473550 HP025 X10Bet 0.25 0.54 Fulham
## 30 473550 HP025 Macauslot 0.25 0.80 Fulham
## 31 473550 HP050 X188Bet 0.50 0.91 Fulham
## 32 473550 HP050 SBOBET 0.50 0.90 Fulham
## 33 473550 HP050 Mansion88 0.50 0.93 Fulham
## 34 473550 HP050 YSB88 0.50 1.05 Fulham
## 35 473550 HP050 Bet365 0.50 0.90 Fulham
## 36 473550 HP050 X12BET 0.50 0.93 Fulham
## 37 473551 AP100 Ladbrokes 1.00 1.16 Liverpool
## 38 473551 AP100 X10Bet 1.00 1.30 Liverpool
## 39 473551 AP100 Macauslot 1.00 1.10 Liverpool
## 40 473551 AP125 Bet365 1.25 1.00 Liverpool
## 41 473551 AP125 X12BET 1.25 0.99 Liverpool
## 42 473551 AP125 X188Bet 1.25 1.05 Liverpool
## 43 473551 AP125 SBOBET 1.25 1.00 Liverpool
## 44 473551 AP125 Mansion88 1.25 0.99 Liverpool
## 45 473551 AP125 YSB88 1.25 0.75 Liverpool
## 46 473551 HN100 Ladbrokes -1.00 0.72 Liverpool
## 47 473551 HN100 X10Bet -1.00 0.62 Liverpool
## 48 473551 HN100 Macauslot -1.00 0.76 Liverpool
## 49 473551 HN125 X188Bet -1.25 0.90 Liverpool
## 50 473551 HN125 SBOBET -1.25 0.95 Liverpool
## 51 473551 HN125 Mansion88 -1.25 0.96 Liverpool
## 52 473551 HN125 YSB88 -1.25 1.10 Liverpool
## 53 473551 HN125 Bet365 -1.25 0.93 Liverpool
## 54 473551 HN125 X12BET -1.25 0.96 Liverpool
## 55 473553 AN025 X188Bet -0.25 0.92 Newcastle
## 56 473553 AN025 Mansion88 -0.25 0.92 Newcastle
## 57 473553 AN025 SBOBET -0.25 0.92 Newcastle
## 58 473553 AN025 Bet365 -0.25 0.93 Newcastle
## 59 473553 AN025 X12BET -0.25 0.92 Newcastle
## 60 473553 AN050 X10Bet -0.50 1.18 Newcastle
## 61 473553 AN050 Macauslot -0.50 1.12 Newcastle
## 62 473553 AN050 YSB88 -0.50 1.02 Newcastle
## 63 473553 AN050 Ladbrokes -0.50 1.12 Newcastle
## 64 473553 HP025 X12BET 0.25 1.03 Newcastle
## 65 473553 HP025 X188Bet 0.25 1.03 Newcastle
## 66 473553 HP025 Bet365 0.25 1.00 Newcastle
## 67 473553 HP025 Mansion88 0.25 1.03 Newcastle
## 68 473553 HP025 SBOBET 0.25 1.03 Newcastle
## 69 473553 HP050 Ladbrokes 0.50 0.72 Newcastle
## 70 473553 HP050 YSB88 0.50 0.83 Newcastle
## 71 473553 HP050 X10Bet 0.50 0.68 Newcastle
## 72 473553 HP050 Macauslot 0.50 0.74 Newcastle
## 73 473555 AN075 Macauslot -0.75 1.09 Stoke City
## 74 473555 AN075 X10Bet -0.75 0.93 Stoke City
## 75 473555 AN075 X188Bet -0.75 1.36 Stoke City
## 76 473555 AN075 SBOBET -0.75 1.36 Stoke City
## 77 473555 AN075 Mansion88 -0.75 1.35 Stoke City
## 78 473555 AN075 Ladbrokes -0.75 1.16 Stoke City
## 79 473555 AN075 YSB88 -0.75 0.88 Stoke City
## 80 473555 AN075 Bet365 -0.75 1.20 Stoke City
## 81 473555 AN075 X12BET -0.75 1.35 Stoke City
## 82 473555 HP075 Ladbrokes 0.75 0.72 Stoke City
## 83 473555 HP075 YSB88 0.75 0.97 Stoke City
## 84 473555 HP075 Bet365 0.75 0.65 Stoke City
## 85 473555 HP075 X12BET 0.75 0.69 Stoke City
## 86 473555 HP075 Macauslot 0.75 0.77 Stoke City
## 87 473555 HP075 X10Bet 0.75 0.95 Stoke City
## 88 473555 HP075 X188Bet 0.75 0.68 Stoke City
## 89 473555 HP075 SBOBET 0.75 0.68 Stoke City
## 90 473555 HP075 Mansion88 0.75 0.69 Stoke City
## 91 473556 AN075 Ladbrokes -0.75 1.07 Tottenham Hotspur
## 92 473556 AN075 X10Bet -0.75 1.21 Tottenham Hotspur
## 93 473556 AN075 Macauslot -0.75 1.16 Tottenham Hotspur
## 94 473556 AP100 Bet365 1.00 0.85 Tottenham Hotspur
## 95 473556 AP100 X12BET 1.00 0.85 Tottenham Hotspur
## 96 473556 AP100 X188Bet 1.00 0.86 Tottenham Hotspur
## 97 473556 AP100 SBOBET 1.00 0.84 Tottenham Hotspur
## 98 473556 AP100 Mansion88 1.00 0.85 Tottenham Hotspur
## 99 473556 AP100 YSB88 1.00 0.87 Tottenham Hotspur
## 100 473556 AP100 VictorChandler 1.00 0.87 Tottenham Hotspur
## Away HTHG HTAG EMprob Adv Staking Adv2
## 1 Wolves 1 1 0.3782559 -0.32292192 0.00000000 -0.31990352
## 2 Wolves 1 1 0.3782559 -0.31913936 0.00000000 -0.30816406
## 3 Wolves 1 1 0.3782559 -0.31913936 0.00000000 -0.31138027
## 4 Wolves 1 1 0.3782559 -0.32292192 0.00000000 -0.31990352
## 5 Wolves 1 1 0.3782559 -0.31913936 0.00000000 -0.31453117
## 6 Wolves 1 1 0.3148178 -0.45851340 0.00000000 -0.44145231
## 7 Wolves 1 1 0.3148178 -0.44906887 0.00000000 -0.42992454
## 8 Wolves 1 1 0.3148178 -0.49943971 0.00000000 -0.49850633
## 9 Wolves 1 1 0.3148178 -0.45851340 0.00000000 -0.44145231
## 10 Wolves 1 1 0.6217441 0.32431491 0.28700435 0.34979675
## 11 Wolves 1 1 0.6217441 0.36161956 0.30388198 0.36909305
## 12 Wolves 1 1 0.6217441 0.34918468 0.29844844 0.36026245
## 13 Wolves 1 1 0.6217441 0.33674979 0.29282591 0.35508327
## 14 Wolves 1 1 0.6217441 0.36161956 0.30388198 0.36909305
## 15 Wolves 1 1 0.6851822 0.64443730 0.46031236 0.64925768
## 16 Wolves 1 1 0.6851822 0.46628993 0.40902625 0.52508298
## 17 Wolves 1 1 0.6851822 0.43888264 0.39898422 0.49999349
## 18 Wolves 1 1 0.6851822 0.46628993 0.40902625 0.52508298
## 19 Aston Villa 0 0 0.2722466 -0.41194728 0.00000000 -0.38817693
## 20 Aston Villa 0 0 0.2722466 -0.34388562 0.00000000 -0.33404286
## 21 Aston Villa 0 0 0.2722466 -0.43917194 0.00000000 -0.41745076
## 22 Aston Villa 0 0 0.1965036 -0.60306279 0.00000000 -0.59471139
## 23 Aston Villa 0 0 0.1965036 -0.60306279 0.00000000 -0.59792346
## 24 Aston Villa 0 0 0.1965036 -0.59913272 0.00000000 -0.59389262
## 25 Aston Villa 0 0 0.1965036 -0.59716768 0.00000000 -0.59187720
## 26 Aston Villa 0 0 0.1965036 -0.60306279 0.00000000 -0.59792346
## 27 Aston Villa 0 0 0.1965036 -0.64629357 0.00000000 -0.63354740
## 28 Aston Villa 0 0 0.7277534 0.23718073 0.33882961 0.27552472
## 29 Aston Villa 0 0 0.7277534 0.12074019 0.22359294 0.13081677
## 30 Aston Villa 0 0 0.7277534 0.30995607 0.38744508 0.35377777
## 31 Aston Villa 0 0 0.8034964 0.53467818 0.58755844 0.55342643
## 32 Aston Villa 0 0 0.8034964 0.52664322 0.58515913 0.54518544
## 33 Aston Villa 0 0 0.8034964 0.55074811 0.59220227 0.56990841
## 34 Aston Villa 0 0 0.8034964 0.64716768 0.61635017 0.71557346
## 35 Aston Villa 0 0 0.8034964 0.52664322 0.58515913 0.55677433
## 36 Aston Villa 0 0 0.8034964 0.55074811 0.59220227 0.56990841
## 37 Sunderland 1 0 0.3553565 -0.23242988 0.00000000 -0.20611837
## 38 Sunderland 1 0 0.3553565 -0.18267996 0.00000000 -0.16343149
## 39 Sunderland 1 0 0.3553565 -0.25375127 0.00000000 -0.22432928
## 40 Sunderland 1 0 0.4084115 -0.18317706 0.00000000 -0.16836421
## 41 Sunderland 1 0 0.4084115 -0.18726117 0.00000000 -0.17689381
## 42 Sunderland 1 0 0.4084115 -0.16275649 0.00000000 -0.15176079
## 43 Sunderland 1 0 0.4084115 -0.18317706 0.00000000 -0.17270497
## 44 Sunderland 1 0 0.4084115 -0.18726117 0.00000000 -0.17689381
## 45 Sunderland 1 0 0.4084115 -0.28527993 0.00000000 -0.26044409
## 46 Sunderland 1 0 0.6446435 0.10878682 0.15109281 0.13841299
## 47 Sunderland 1 0 0.6446435 0.04432247 0.07148785 0.06097576
## 48 Sunderland 1 0 0.6446435 0.13457256 0.17706916 0.17144894
## 49 Sunderland 1 0 0.5915885 0.12401815 0.13779794 0.13767019
## 50 Sunderland 1 0 0.5915885 0.15359757 0.16168166 0.16800806
## 51 Sunderland 1 0 0.5915885 0.15951346 0.16615985 0.17407564
## 52 Sunderland 1 0 0.5915885 0.24233585 0.22030532 0.29509915
## 53 Sunderland 1 0 0.5915885 0.14176580 0.15243635 0.16172042
## 54 Sunderland 1 0 0.5915885 0.15951346 0.16615985 0.17407564
## 55 Arsenal 0 0 0.4525688 -0.13106783 0.00000000 -0.12039184
## 56 Arsenal 0 0 0.4525688 -0.13106783 0.00000000 -0.12039184
## 57 Arsenal 0 0 0.4525688 -0.13106783 0.00000000 -0.12039184
## 58 Arsenal 0 0 0.4525688 -0.12654214 0.00000000 -0.11127673
## 59 Arsenal 0 0 0.4525688 -0.13106783 0.00000000 -0.12039184
## 60 Arsenal 0 0 0.3729103 -0.18705557 0.00000000 -0.15393472
## 61 Arsenal 0 0 0.3729103 -0.20943019 0.00000000 -0.17799345
## 62 Arsenal 0 0 0.3729103 -0.24672121 0.00000000 -0.21588053
## 63 Arsenal 0 0 0.3729103 -0.20943019 0.00000000 -0.17311197
## 64 Arsenal 0 0 0.5474312 0.11128525 0.10804393 0.12574305
## 65 Arsenal 0 0 0.5474312 0.11128525 0.10804393 0.12574305
## 66 Arsenal 0 0 0.5474312 0.09486231 0.09486231 0.11471733
## 67 Arsenal 0 0 0.5474312 0.11128525 0.10804393 0.12574305
## 68 Arsenal 0 0 0.5474312 0.11128525 0.10804393 0.12574305
## 69 Arsenal 0 0 0.6270897 0.07859430 0.10915875 0.11785557
## 70 Arsenal 0 0 0.6270897 0.14757417 0.17780020 0.18977561
## 71 Arsenal 0 0 0.6270897 0.05351071 0.07869222 0.08560692
## 72 Arsenal 0 0 0.6270897 0.09113610 0.12315689 0.12606432
## 73 Chelsea FC 0 0 0.3015361 -0.36978956 0.00000000 -0.34505063
## 74 Chelsea FC 0 0 0.3015361 -0.41803533 0.00000000 -0.40013563
## 75 Chelsea FC 0 0 0.3015361 -0.28837481 0.00000000 -0.29641577
## 76 Chelsea FC 0 0 0.3015361 -0.28837481 0.00000000 -0.29641577
## 77 Chelsea FC 0 0 0.3015361 -0.29139017 0.00000000 -0.29937201
## 78 Chelsea FC 0 0 0.3015361 -0.34868203 0.00000000 -0.32635553
## 79 Chelsea FC 0 0 0.3015361 -0.43311214 0.00000000 -0.41159713
## 80 Chelsea FC 0 0 0.3015361 -0.33662058 0.00000000 -0.30728194
## 81 Chelsea FC 0 0 0.3015361 -0.29139017 0.00000000 -0.29937201
## 82 Chelsea FC 0 0 0.6984639 0.20135791 0.27966377 0.23345753
## 83 Chelsea FC 0 0 0.6984639 0.37597389 0.38760195 0.43090713
## 84 Chelsea FC 0 0 0.6984639 0.15246544 0.23456221 0.18927637
## 85 Chelsea FC 0 0 0.6984639 0.18040399 0.26145506 0.17095419
## 86 Chelsea FC 0 0 0.6984639 0.23628111 0.30685858 0.27676197
## 87 Chelsea FC 0 0 0.6984639 0.36200461 0.38105748 0.40435827
## 88 Chelsea FC 0 0 0.6984639 0.17341936 0.25502846 0.16410650
## 89 Chelsea FC 0 0 0.6984639 0.17341936 0.25502846 0.16410650
## 90 Chelsea FC 0 0 0.6984639 0.18040399 0.26145506 0.17095419
## 91 Everton 1 0 0.1164201 -0.75901037 0.00000000 -0.74891014
## 92 Everton 1 0 0.1164201 -0.74271155 0.00000000 -0.73371996
## 93 Everton 1 0 0.1164201 -0.74853256 0.00000000 -0.73836771
## 94 Everton 1 0 0.6046338 0.11857251 0.13949707 0.13721277
## 95 Everton 1 0 0.6046338 0.11857251 0.13949707 0.13175042
## 96 Everton 1 0 0.6046338 0.12461885 0.14490564 0.13795180
## 97 Everton 1 0 0.6046338 0.11252617 0.13395973 0.12289132
## 98 Everton 1 0 0.6046338 0.11857251 0.13949707 0.13175042
## 99 Everton 1 0 0.6046338 0.13066518 0.15018987 0.17331638
## 100 Everton 1 0 0.6046338 0.13066518 0.15018987 0.15258316
## Staking2 Output PL PL2
## 1 0.0000000 W 0.00000000 0.00000000
## 2 0.0000000 W 0.00000000 0.00000000
## 3 0.0000000 W 0.00000000 0.00000000
## 4 0.0000000 W 0.00000000 0.00000000
## 5 0.0000000 W 0.00000000 0.00000000
## 6 0.0000000 W 0.00000000 0.00000000
## 7 0.0000000 W 0.00000000 0.00000000
## 8 0.0000000 W 0.00000000 0.00000000
## 9 0.0000000 W 0.00000000 0.00000000
## 10 0.3095547 L -0.32431491 -0.34979675
## 11 0.3101622 L -0.36161956 -0.36909305
## 12 0.3079166 L -0.34918468 -0.36026245
## 13 0.3087681 L -0.33674979 -0.35508327
## 14 0.3101622 L -0.36161956 -0.36909305
## 15 0.4637555 L -0.64443730 -0.64925768
## 16 0.4605991 L -0.46628993 -0.52508298
## 17 0.4545395 L -0.43888264 -0.49999349
## 18 0.4605991 L -0.46628993 -0.52508298
## 19 0.0000000 LH 0.00000000 0.00000000
## 20 0.0000000 LH 0.00000000 0.00000000
## 21 0.0000000 LH 0.00000000 0.00000000
## 22 0.0000000 L 0.00000000 0.00000000
## 23 0.0000000 L 0.00000000 0.00000000
## 24 0.0000000 L 0.00000000 0.00000000
## 25 0.0000000 L 0.00000000 0.00000000
## 26 0.0000000 L 0.00000000 0.00000000
## 27 0.0000000 L 0.00000000 0.00000000
## 28 0.3936067 WH 0.11859036 0.13776236
## 29 0.2422533 WH 0.06037009 0.06540839
## 30 0.4422222 WH 0.15497803 0.17688889
## 31 0.6081609 W 0.53467818 0.55342643
## 32 0.6057616 W 0.52664322 0.54518544
## 33 0.6128047 W 0.55074811 0.56990841
## 34 0.6814985 W 0.64716768 0.71557346
## 35 0.6186381 W 0.52664322 0.55677433
## 36 0.6128047 W 0.55074811 0.56990841
## 37 0.0000000 W 0.00000000 0.00000000
## 38 0.0000000 W 0.00000000 0.00000000
## 39 0.0000000 W 0.00000000 0.00000000
## 40 0.0000000 W 0.00000000 0.00000000
## 41 0.0000000 W 0.00000000 0.00000000
## 42 0.0000000 W 0.00000000 0.00000000
## 43 0.0000000 W 0.00000000 0.00000000
## 44 0.0000000 W 0.00000000 0.00000000
## 45 0.0000000 W 0.00000000 0.00000000
## 46 0.1922403 L -0.10878682 -0.13841299
## 47 0.0983480 L -0.04432247 -0.06097576
## 48 0.2255907 L -0.13457256 -0.17144894
## 49 0.1529669 L -0.12401815 -0.13767019
## 50 0.1768506 L -0.15359757 -0.16800806
## 51 0.1813288 L -0.15951346 -0.17407564
## 52 0.2682720 L -0.24233585 -0.29509915
## 53 0.1738929 L -0.14176580 -0.16172042
## 54 0.1813288 L -0.15951346 -0.17407564
## 55 0.0000000 LH 0.00000000 0.00000000
## 56 0.0000000 LH 0.00000000 0.00000000
## 57 0.0000000 LH 0.00000000 0.00000000
## 58 0.0000000 LH 0.00000000 0.00000000
## 59 0.0000000 LH 0.00000000 0.00000000
## 60 0.0000000 L 0.00000000 0.00000000
## 61 0.0000000 L 0.00000000 0.00000000
## 62 0.0000000 L 0.00000000 0.00000000
## 63 0.0000000 L 0.00000000 0.00000000
## 64 0.1220806 WH 0.05564262 0.06287152
## 65 0.1220806 WH 0.05564262 0.06287152
## 66 0.1147173 WH 0.04743116 0.05735867
## 67 0.1220806 WH 0.05564262 0.06287152
## 68 0.1220806 WH 0.05564262 0.06287152
## 69 0.1636883 W 0.07859430 0.11785557
## 70 0.2286453 W 0.14757417 0.18977561
## 71 0.1258925 W 0.05351071 0.08560692
## 72 0.1703572 W 0.09113610 0.12606432
## 73 0.0000000 L 0.00000000 0.00000000
## 74 0.0000000 L 0.00000000 0.00000000
## 75 0.0000000 L 0.00000000 0.00000000
## 76 0.0000000 L 0.00000000 0.00000000
## 77 0.0000000 L 0.00000000 0.00000000
## 78 0.0000000 L 0.00000000 0.00000000
## 79 0.0000000 L 0.00000000 0.00000000
## 80 0.0000000 L 0.00000000 0.00000000
## 81 0.0000000 L 0.00000000 0.00000000
## 82 0.3242466 W 0.20135791 0.23345753
## 83 0.4442342 W 0.37597389 0.43090713
## 84 0.2911944 W 0.15246544 0.18927637
## 85 0.2477597 W 0.18040399 0.17095419
## 86 0.3594311 W 0.23628111 0.27676197
## 87 0.4256403 W 0.36200461 0.40435827
## 88 0.2413331 W 0.17341936 0.16410650
## 89 0.2413331 W 0.17341936 0.16410650
## 90 0.2477597 W 0.18040399 0.17095419
## 91 0.0000000 L 0.00000000 0.00000000
## 92 0.0000000 L 0.00000000 0.00000000
## 93 0.0000000 L 0.00000000 0.00000000
## 94 0.1614268 L -0.11857251 -0.13721277
## 95 0.1550005 L -0.11857251 -0.13175042
## 96 0.1604091 L -0.12461885 -0.13795180
## 97 0.1462992 L -0.11252617 -0.12289132
## 98 0.1550005 L -0.11857251 -0.13175042
## 99 0.1992142 L -0.13066518 -0.17331638
## 100 0.1753829 L -0.13066518 -0.15258316
Summary of the betting
Summary <- data.frame(
Category = c('No of Matches','Total PL','No of Bets','No of Won Bets','No of Voided Bets','No of Lose Bets',
'Staking','Won Bets Stakes','Voided Stakes','Lose Bets Stakes'),
Bets_Wf_Overround = c(nrow(mbase), sum(mbase$PL), length(mbase[mbase$Staking>0,]$Staking), length(mbase[mbase$PL>0,]$PL),
length(mbase[mbase$PL==0 & mbase$Staking>0,]$PL), length(mbase[mbase$PL<0,]$PL),
sum(mbase[mbase$Staking>0,]$Staking), sum(mbase[mbase$PL>0,]$PL),
sum(mbase[mbase$PL==0 & mbase$Staking>0,]$Staking), sum(mbase[mbase$PL<0,]$PL)),
Bets_No_Overround = c(nrow(mbase), sum(mbase$PL2), length(mbase[mbase$Staking2>0,]$Staking2), length(mbase[mbase$PL2>0,]$PL2),
length(mbase[mbase$PL2==0 & mbase$Staking2>0,]$PL2), length(mbase[mbase$PL2<0,]$PL2),
sum(mbase[mbase$Staking2>0,]$Staking2), sum(mbase[mbase$PL2>0,]$PL2),
sum(mbase[mbase$PL2==0 & mbase$Staking2>0,]$Staking2), sum(mbase[mbase$PL2<0,]$PL2)))
COMPL <- data.frame(PL=unlist(lapply(split(mbase,mbase$COM), function(x) sum(x$PL))),
PL2=unlist(lapply(split(mbase,mbase$COM), function(x) sum(x$PL2))))
Summary
## Category Bets_Wf_Overround Bets_No_Overround
## 1 No of Matches 4896.00000 4896.00000
## 2 Total PL 353.96966 381.06299
## 3 No of Bets 2268.00000 2404.00000
## 4 No of Won Bets 1531.00000 1584.00000
## 5 No of Voided Bets 128.00000 143.00000
## 6 No of Lose Bets 609.00000 677.00000
## 7 Staking 636.98372 705.89203
## 8 Won Bets Stakes 453.43724 496.09555
## 9 Voided Stakes 19.13296 22.67241
## 10 Lose Bets Stakes -99.46758 -115.03256
COMPL
## PL PL2
## Ladbrokes 33.772411 38.25184
## Bet365 34.120624 37.19263
## Macauslot 35.740062 40.23454
## X10Bet 37.538487 41.64034
## X188Bet 36.579289 38.25589
## SBOBET 40.392461 41.90898
## Mansion88 31.219547 32.38999
## YSB88 13.167746 14.34128
## X12BET 36.802466 38.19015
## VictorChandler 24.391917 25.95763
## Canbet 10.347393 10.97516
## Betinternet 10.286812 11.18731
## Titanbet 9.610441 10.53726