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_7M1213$AH, names(COM_7M1213$AH) %in% eng1213$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_7M1213$FT$FTAH$MatchID,]
iniOdds$Spreads <- iniOdds$HM + iniOdds$AW
rm(ini.odds, ini.odds2)
Manipulate and reshape the dataset
library('reshape2')
# EM_7M1213$FT$FTAH[,1:5]
# filter the soccer matches which the teams has selected to calculated
eng1213b <- subset(eng1213, MatchID_7M %in% EM_7M1213$FT$FTAH$MatchID)
nrow(EM_7M1213$FT$FTAH)
## [1] 272
# filter the initial odds data from 7M by MatchID
dat <- EM_7M1213$FT$FTAH[EM_7M1213$FT$FTAH$MatchID %in% iniOdds$MatchID,]
# nrow(EM_7M1213$FT$FTAH[EM_7M1213$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_7M1213$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] 269
# merge iniOdds and EMOdds
mbase <- merge(iniOdds, EMOdds, by=c("MatchID","AHCode"))
## Warning in `[<-.factor`(`*tmp*`, ri, value = c(783382, 783383, 783384,
## 783385, : invalid factor level, NA generated
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 782061 AP100 Mansion88 1.00 1.19 Arsenal
## 2 782061 AP125 Canbet 1.25 0.84 Arsenal
## 3 782061 AP125 SBOBET 1.25 0.86 Arsenal
## 4 782061 AP125 Ladbrokes 1.25 0.84 Arsenal
## 5 782061 AP125 Titanbet 1.25 0.87 Arsenal
## 6 782061 AP125 Betinternet 1.25 0.98 Arsenal
## 7 782061 AP125 X12BET 1.25 0.86 Arsenal
## 8 782061 AP125 Bet365 1.25 0.85 Arsenal
## 9 782061 AP125 Macauslot 1.25 0.86 Arsenal
## 10 782061 AP125 X10Bet 1.25 0.86 Arsenal
## 11 782061 AP125 X188Bet 1.25 0.69 Arsenal
## 12 782061 HN100 Mansion88 -1.00 0.78 Arsenal
## 13 782061 HN125 Ladbrokes -1.25 1.04 Arsenal
## 14 782061 HN125 Macauslot -1.25 1.00 Arsenal
## 15 782061 HN125 X10Bet -1.25 1.02 Arsenal
## 16 782061 HN125 X188Bet -1.25 1.29 Arsenal
## 17 782061 HN125 Canbet -1.25 1.07 Arsenal
## 18 782061 HN125 SBOBET -1.25 1.09 Arsenal
## 19 782061 HN125 Bet365 -1.25 1.08 Arsenal
## 20 782061 HN125 Titanbet -1.25 0.95 Arsenal
## 21 782061 HN125 Betinternet -1.25 0.92 Arsenal
## 22 782061 HN125 X12BET -1.25 1.09 Arsenal
## 23 782062 A000 Titanbet 0.00 0.42 Everton
## 24 782062 AN050 Canbet -0.50 1.05 Everton
## 25 782062 AN050 Bet365 -0.50 0.27 Everton
## 26 782062 AN050 Betinternet -0.50 0.92 Everton
## 27 782062 AN050 YSB88 -0.50 1.00 Everton
## 28 782062 AN050 X188Bet -0.50 1.06 Everton
## 29 782062 AN050 Macauslot -0.50 0.98 Everton
## 30 782062 AN075 X10Bet -0.75 1.22 Everton
## 31 782062 AN075 Mansion88 -0.75 1.39 Everton
## 32 782062 AN075 SBOBET -0.75 1.44 Everton
## 33 782062 AN075 X12BET -0.75 1.39 Everton
## 34 782062 H000 Titanbet 0.00 2.05 Everton
## 35 782062 HP050 Canbet 0.50 0.86 Everton
## 36 782062 HP050 Betinternet 0.50 0.98 Everton
## 37 782062 HP050 YSB88 0.50 0.85 Everton
## 38 782062 HP050 Bet365 0.50 -1.00 Everton
## 39 782062 HP050 Macauslot 0.50 0.88 Everton
## 40 782062 HP050 X188Bet 0.50 0.86 Everton
## 41 782062 HP075 X10Bet 0.75 0.65 Everton
## 42 782062 HP075 Mansion88 0.75 0.66 Everton
## 43 782062 HP075 SBOBET 0.75 0.64 Everton
## 44 782062 HP075 X12BET 0.75 0.66 Everton
## 45 782063 AN050 X12BET -0.50 1.09 Fulham
## 46 782063 AN050 Ladbrokes -0.50 0.90 Fulham
## 47 782063 AN050 Betinternet -0.50 1.01 Fulham
## 48 782063 AN050 X10Bet -0.50 1.01 Fulham
## 49 782063 AN050 Macauslot -0.50 1.06 Fulham
## 50 782063 AN075 Canbet -0.75 0.81 Fulham
## 51 782063 AN075 SBOBET -0.75 0.83 Fulham
## 52 782063 AN075 Bet365 -0.75 0.80 Fulham
## 53 782063 AN075 Mansion88 -0.75 0.81 Fulham
## 54 782063 AN075 X188Bet -0.75 0.71 Fulham
## 55 782063 AN075 Titanbet -0.75 0.80 Fulham
## 56 782063 HP050 X10Bet 0.50 0.84 Fulham
## 57 782063 HP050 Betinternet 0.50 0.89 Fulham
## 58 782063 HP050 X12BET 0.50 0.86 Fulham
## 59 782063 HP050 Ladbrokes 0.50 0.93 Fulham
## 60 782063 HP050 Macauslot 0.50 0.80 Fulham
## 61 782063 HP075 X188Bet 0.75 1.26 Fulham
## 62 782063 HP075 SBOBET 0.75 1.13 Fulham
## 63 782063 HP075 Mansion88 0.75 1.15 Fulham
## 64 782063 HP075 Canbet 0.75 1.11 Fulham
## 65 782063 HP075 Titanbet 0.75 1.00 Fulham
## 66 782063 HP075 Bet365 0.75 1.10 Fulham
## 67 782065 A000 Betinternet 0.00 1.06 Newcastle
## 68 782065 A000 Macauslot 0.00 0.92 Newcastle
## 69 782065 A000 X10Bet 0.00 0.94 Newcastle
## 70 782065 A000 X188Bet 0.00 0.95 Newcastle
## 71 782065 A000 Canbet 0.00 0.91 Newcastle
## 72 782065 A000 SBOBET 0.00 0.93 Newcastle
## 73 782065 A000 Ladbrokes 0.00 0.85 Newcastle
## 74 782065 A000 Mansion88 0.00 0.89 Newcastle
## 75 782065 A000 Bet365 0.00 0.90 Newcastle
## 76 782065 A000 Titanbet 0.00 0.87 Newcastle
## 77 782065 AN025 X12BET -0.25 0.65 Newcastle
## 78 782065 H000 Canbet 0.00 1.00 Newcastle
## 79 782065 H000 SBOBET 0.00 1.02 Newcastle
## 80 782065 H000 Ladbrokes 0.00 0.98 Newcastle
## 81 782065 H000 Mansion88 0.00 1.05 Newcastle
## 82 782065 H000 Betinternet 0.00 0.84 Newcastle
## 83 782065 H000 Bet365 0.00 1.02 Newcastle
## 84 782065 H000 Titanbet 0.00 0.95 Newcastle
## 85 782065 H000 Macauslot 0.00 0.94 Newcastle
## 86 782065 H000 X10Bet 0.00 0.94 Newcastle
## 87 782065 H000 X188Bet 0.00 0.97 Newcastle
## 88 782065 HP025 X12BET 0.25 1.41 Newcastle
## 89 782066 AN025 Bet365 -0.25 1.67 Queens Park Rangers
## 90 782066 AN025 Ladbrokes -0.25 1.16 Queens Park Rangers
## 91 782066 AN025 X10Bet -0.25 1.18 Queens Park Rangers
## 92 782066 AN025 X12BET -0.25 1.23 Queens Park Rangers
## 93 782066 AN025 Betinternet -0.25 1.10 Queens Park Rangers
## 94 782066 AN050 Canbet -0.50 0.94 Queens Park Rangers
## 95 782066 AN050 SBOBET -0.50 0.96 Queens Park Rangers
## 96 782066 AN050 Mansion88 -0.50 0.95 Queens Park Rangers
## 97 782066 AN050 Macauslot -0.50 0.90 Queens Park Rangers
## 98 782066 AN050 Titanbet -0.50 0.87 Queens Park Rangers
## 99 782066 AN050 X188Bet -0.50 0.99 Queens Park Rangers
## 100 782066 HP025 X10Bet 0.25 0.75 Queens Park Rangers
## Away HTHG HTAG EMprob Adv Staking
## 1 Sunderland 0 0 0.59580355 0.30480978 0.25614267
## 2 Sunderland 0 0 0.66203969 0.21815303 0.25970599
## 3 Sunderland 0 0 0.66203969 0.23139383 0.26906259
## 4 Sunderland 0 0 0.66203969 0.21815303 0.25970599
## 5 Sunderland 0 0 0.66203969 0.23801422 0.27357957
## 6 Sunderland 0 0 0.66203969 0.31083859 0.31718223
## 7 Sunderland 0 0 0.66203969 0.23139383 0.26906259
## 8 Sunderland 0 0 0.66203969 0.22477343 0.26443933
## 9 Sunderland 0 0 0.66203969 0.23139383 0.26906259
## 10 Sunderland 0 0 0.66203969 0.23139383 0.26906259
## 11 Sunderland 0 0 0.66203969 0.11884708 0.17224214
## 12 Sunderland 0 0 0.40419645 -0.28053032 0.00000000
## 13 Sunderland 0 0 0.33796031 -0.31056097 0.00000000
## 14 Sunderland 0 0 0.33796031 -0.32407938 0.00000000
## 15 Sunderland 0 0 0.33796031 -0.31732017 0.00000000
## 16 Sunderland 0 0 0.33796031 -0.22607089 0.00000000
## 17 Sunderland 0 0 0.33796031 -0.30042216 0.00000000
## 18 Sunderland 0 0 0.33796031 -0.29366295 0.00000000
## 19 Sunderland 0 0 0.33796031 -0.29704256 0.00000000
## 20 Sunderland 0 0 0.33796031 -0.34097740 0.00000000
## 21 Sunderland 0 0 0.33796031 -0.35111620 0.00000000
## 22 Sunderland 0 0 0.33796031 -0.29366295 0.00000000
## 23 Manchester United 0 0 0.44252667 -0.37161213 0.00000000
## 24 Manchester United 0 0 0.29990148 -0.38520196 0.00000000
## 25 Manchester United 0 0 0.29990148 -0.61912512 0.00000000
## 26 Manchester United 0 0 0.29990148 -0.42418916 0.00000000
## 27 Manchester United 0 0 0.29990148 -0.40019704 0.00000000
## 28 Manchester United 0 0 0.29990148 -0.38220295 0.00000000
## 29 Manchester United 0 0 0.29990148 -0.40619507 0.00000000
## 30 Manchester United 0 0 0.25315700 -0.43799147 0.00000000
## 31 Manchester United 0 0 0.25315700 -0.39495478 0.00000000
## 32 Manchester United 0 0 0.25315700 -0.38229693 0.00000000
## 33 Manchester United 0 0 0.25315700 -0.39495478 0.00000000
## 34 Manchester United 0 0 0.55747333 0.70029366 0.34160666
## 35 Manchester United 0 0 0.70009852 0.30218325 0.35137587
## 36 Manchester United 0 0 0.70009852 0.38619507 0.39407660
## 37 Manchester United 0 0 0.70009852 0.29518226 0.34727325
## 38 Manchester United 0 0 0.70009852 -1.00000000 1.00000000
## 39 Manchester United 0 0 0.70009852 0.31618522 0.35930138
## 40 Manchester United 0 0 0.70009852 0.30218325 0.35137587
## 41 Manchester United 0 0 0.74684300 0.23229095 0.35737069
## 42 Manchester United 0 0 0.74684300 0.23975938 0.36327179
## 43 Manchester United 0 0 0.74684300 0.22482252 0.35128519
## 44 Manchester United 0 0 0.74684300 0.23975938 0.36327179
## 45 Norwich City 2 0 0.10882123 -0.77256363 0.00000000
## 46 Norwich City 2 0 0.10882123 -0.79323967 0.00000000
## 47 Norwich City 2 0 0.10882123 -0.78126933 0.00000000
## 48 Norwich City 2 0 0.10882123 -0.78126933 0.00000000
## 49 Norwich City 2 0 0.10882123 -0.77582827 0.00000000
## 50 Norwich City 2 0 0.09042829 -0.83632480 0.00000000
## 51 Norwich City 2 0 0.09042829 -0.83451623 0.00000000
## 52 Norwich City 2 0 0.09042829 -0.83722908 0.00000000
## 53 Norwich City 2 0 0.09042829 -0.83632480 0.00000000
## 54 Norwich City 2 0 0.09042829 -0.84536762 0.00000000
## 55 Norwich City 2 0 0.09042829 -0.83722908 0.00000000
## 56 Norwich City 2 0 0.89117880 0.63976899 0.76162975
## 57 Norwich City 2 0 0.89117880 0.68432793 0.76890779
## 58 Norwich City 2 0 0.89117880 0.65759257 0.76464252
## 59 Norwich City 2 0 0.89117880 0.71997508 0.77416676
## 60 Norwich City 2 0 0.89117880 0.60412184 0.75515230
## 61 Norwich City 2 0 0.90957170 1.05563204 0.83780321
## 62 Norwich City 2 0 0.90957170 0.93738772 0.82954666
## 63 Norwich City 2 0 0.90957170 0.95557915 0.83093840
## 64 Norwich City 2 0 0.90957170 0.91919629 0.82810476
## 65 Norwich City 2 0 0.90957170 0.81914340 0.81914340
## 66 Norwich City 2 0 0.90957170 0.91010057 0.82736415
## 67 Tottenham Hotspur 0 0 0.42855008 -0.11718684 0.00000000
## 68 Tottenham Hotspur 0 0 0.42855008 -0.17718385 0.00000000
## 69 Tottenham Hotspur 0 0 0.42855008 -0.16861284 0.00000000
## 70 Tottenham Hotspur 0 0 0.42855008 -0.16432734 0.00000000
## 71 Tottenham Hotspur 0 0 0.42855008 -0.18146935 0.00000000
## 72 Tottenham Hotspur 0 0 0.42855008 -0.17289835 0.00000000
## 73 Tottenham Hotspur 0 0 0.42855008 -0.20718235 0.00000000
## 74 Tottenham Hotspur 0 0 0.42855008 -0.19004035 0.00000000
## 75 Tottenham Hotspur 0 0 0.42855008 -0.18575485 0.00000000
## 76 Tottenham Hotspur 0 0 0.42855008 -0.19861135 0.00000000
## 77 Tottenham Hotspur 0 0 0.36418552 -0.39909389 0.00000000
## 78 Tottenham Hotspur 0 0 0.57144992 0.14289984 0.14289984
## 79 Tottenham Hotspur 0 0 0.57144992 0.15432884 0.15130278
## 80 Tottenham Hotspur 0 0 0.57144992 0.13147084 0.13415392
## 81 Tottenham Hotspur 0 0 0.57144992 0.17147234 0.16330699
## 82 Tottenham Hotspur 0 0 0.57144992 0.05146785 0.06127125
## 83 Tottenham Hotspur 0 0 0.57144992 0.15432884 0.15130278
## 84 Tottenham Hotspur 0 0 0.57144992 0.11432734 0.12034457
## 85 Tottenham Hotspur 0 0 0.57144992 0.10861284 0.11554558
## 86 Tottenham Hotspur 0 0 0.57144992 0.10861284 0.11554558
## 87 Tottenham Hotspur 0 0 0.57144992 0.12575634 0.12964571
## 88 Tottenham Hotspur 0 0 0.63581448 0.53231290 0.37752688
## 89 Swansea City 0 1 0.63335810 0.69106613 0.41381205
## 90 Swansea City 0 1 0.63335810 0.36805350 0.31728750
## 91 Swansea City 0 1 0.63335810 0.38072066 0.32264463
## 92 Swansea City 0 1 0.63335810 0.41238856 0.33527525
## 93 Swansea City 0 1 0.63335810 0.33005201 0.30004728
## 94 Swansea City 0 1 0.57523154 0.11594919 0.12335020
## 95 Swansea City 0 1 0.57523154 0.12745382 0.13276439
## 96 Swansea City 0 1 0.57523154 0.12170150 0.12810685
## 97 Swansea City 0 1 0.57523154 0.09293993 0.10326658
## 98 Swansea City 0 1 0.57523154 0.07568298 0.08699193
## 99 Swansea City 0 1 0.57523154 0.14471076 0.14617249
## 100 Swansea City 0 1 0.36664190 -0.35837667 0.00000000
## Adv2 Staking2 Output PL PL2
## 1 0.31560683 0.26521582 W 0.30480978 0.31560683
## 2 0.24435732 0.29090158 W 0.21815303 0.24435732
## 3 0.24599265 0.28603796 W 0.23139383 0.24599265
## 4 0.25364963 0.30196384 W 0.21815303 0.25364963
## 5 0.29497874 0.33905602 W 0.23801422 0.29497874
## 6 0.34498590 0.35202643 W 0.31083859 0.34498590
## 7 0.24599265 0.28603796 W 0.23139383 0.24599265
## 8 0.24518346 0.28845113 W 0.22477343 0.24518346
## 9 0.27424844 0.31889353 W 0.23139383 0.27424844
## 10 0.26773558 0.31132044 W 0.23139383 0.26773558
## 11 0.12346129 0.17892941 W 0.11884708 0.12346129
## 12 -0.27572920 0.00000000 L 0.00000000 0.00000000
## 13 -0.28812616 0.00000000 L 0.00000000 0.00000000
## 14 -0.29864151 0.00000000 L 0.00000000 0.00000000
## 15 -0.29531680 0.00000000 L 0.00000000 0.00000000
## 16 -0.22166716 0.00000000 L 0.00000000 0.00000000
## 17 -0.28338259 0.00000000 L 0.00000000 0.00000000
## 18 -0.28421739 0.00000000 L 0.00000000 0.00000000
## 19 -0.28380432 0.00000000 L 0.00000000 0.00000000
## 20 -0.30922398 0.00000000 L 0.00000000 0.00000000
## 21 -0.33475181 0.00000000 L 0.00000000 0.00000000
## 22 -0.28421739 0.00000000 L 0.00000000 0.00000000
## 23 -0.40697843 0.00000000 L 0.00000000 0.00000000
## 24 -0.37036391 0.00000000 L 0.00000000 0.00000000
## 25 -0.92194345 0.00000000 L 0.00000000 0.00000000
## 26 -0.40966761 0.00000000 L 0.00000000 0.00000000
## 27 -0.37588070 0.00000000 L 0.00000000 0.00000000
## 28 -0.36895730 0.00000000 L 0.00000000 0.00000000
## 29 -0.38407330 0.00000000 L 0.00000000 0.00000000
## 30 -0.41652051 0.00000000 L 0.00000000 0.00000000
## 31 -0.40353742 0.00000000 L 0.00000000 0.00000000
## 32 -0.39631793 0.00000000 L 0.00000000 0.00000000
## 33 -0.40353742 0.00000000 L 0.00000000 0.00000000
## 34 0.48283392 0.23552874 W 0.70029366 0.48283392
## 35 0.33055373 0.38436480 W 0.30218325 0.33055373
## 36 0.42230541 0.43092389 W 0.38619507 0.42230541
## 37 0.34343230 0.40403799 W 0.29518226 0.34343230
## 38 1.61817666 0.00000000 W -1.00000000 0.00000000
## 39 0.36255733 0.41199697 W 0.31618522 0.36255733
## 40 0.32727011 0.38054664 W 0.30218325 0.32727011
## 41 0.26603867 0.40929026 W 0.23229095 0.26603867
## 42 0.22773703 0.34505610 W 0.23975938 0.22773703
## 43 0.20643869 0.32256046 W 0.22482252 0.20643869
## 44 0.22773703 0.34505610 W 0.23975938 0.22773703
## 45 -0.76952222 0.00000000 L 0.00000000 0.00000000
## 46 -0.78414150 0.00000000 L 0.00000000 0.00000000
## 47 -0.77548462 0.00000000 L 0.00000000 0.00000000
## 48 -0.77235776 0.00000000 L 0.00000000 0.00000000
## 49 -0.76714597 0.00000000 L 0.00000000 0.00000000
## 50 -0.83327284 0.00000000 L 0.00000000 0.00000000
## 51 -0.83298448 0.00000000 L 0.00000000 0.00000000
## 52 -0.83342157 0.00000000 L 0.00000000 0.00000000
## 53 -0.83482996 0.00000000 L 0.00000000 0.00000000
## 54 -0.84438990 0.00000000 L 0.00000000 0.00000000
## 55 -0.82919101 0.00000000 L 0.00000000 0.00000000
## 56 0.70046549 0.83388749 W 0.63976899 0.70046549
## 57 0.72607262 0.81581194 W 0.68432793 0.72607262
## 58 0.67724420 0.78749326 W 0.65759257 0.67724420
## 59 0.79696709 0.85695386 W 0.71997508 0.79696709
## 60 0.65778422 0.82223027 W 0.60412184 0.65778422
## 61 1.07308474 0.85165455 W 1.05563204 1.07308474
## 62 0.95836356 0.84810934 W 0.93738772 0.95836356
## 63 0.97692625 0.84950108 W 0.95557915 0.97692625
## 64 0.96126398 0.86600358 W 0.91919629 0.96126398
## 65 0.92020692 0.92020692 W 0.81914340 0.92020692
## 66 0.96275998 0.87523635 W 0.91010057 0.96275998
## 67 -0.09327825 0.00000000 L 0.00000000 0.00000000
## 68 -0.14750791 0.00000000 L 0.00000000 0.00000000
## 69 -0.14289984 0.00000000 L 0.00000000 0.00000000
## 70 -0.14736390 0.00000000 L 0.00000000 0.00000000
## 71 -0.16309330 0.00000000 L 0.00000000 0.00000000
## 72 -0.16267907 0.00000000 L 0.00000000 0.00000000
## 73 -0.17334329 0.00000000 L 0.00000000 0.00000000
## 74 -0.17824418 0.00000000 L 0.00000000 0.00000000
## 75 -0.16968422 0.00000000 L 0.00000000 0.00000000
## 76 -0.16173721 0.00000000 L 0.00000000 0.00000000
## 77 -0.40598867 0.00000000 L 0.00000000 0.00000000
## 78 0.16982680 0.16982680 W 0.14289984 0.16982680
## 79 0.16927445 0.16595534 W 0.15432884 0.16927445
## 80 0.18349464 0.18723943 W 0.13147084 0.18349464
## 81 0.19002973 0.18098070 W 0.17147234 0.19002973
## 82 0.07673195 0.09134756 W 0.05146785 0.07673195
## 83 0.17861546 0.17511320 W 0.15432884 0.17861546
## 84 0.16801852 0.17686160 W 0.11432734 0.16801852
## 85 0.14904446 0.15855794 W 0.10861284 0.14904446
## 86 0.14289984 0.15202111 W 0.10861284 0.14289984
## 87 0.14885244 0.15345613 W 0.12575634 0.14885244
## 88 0.50620129 0.35900801 W 0.53231290 0.50620129
## 89 2.79069549 1.67107515 W 0.69106613 2.79069549
## 90 0.42335315 0.36495961 W 0.36805350 0.42335315
## 91 0.40782707 0.34561616 W 0.38072066 0.40782707
## 92 0.42025756 0.34167281 W 0.41238856 0.42025756
## 93 0.36672011 0.33338192 W 0.33005201 0.36672011
## 94 0.14142803 0.15045535 W 0.11594919 0.14142803
## 95 0.14161336 0.14751392 W 0.12745382 0.14161336
## 96 0.13860264 0.14589751 W 0.12170150 0.13860264
## 97 0.13190722 0.14656358 W 0.09293993 0.13190722
## 98 0.12517818 0.14388296 W 0.07568298 0.12517818
## 99 0.16843907 0.17014047 W 0.14471076 0.16843907
## 100 -0.34840325 0.00000000 L 0.00000000 0.00000000
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 5514.0000 5514.00000
## 2 Total PL 448.8993 488.91841
## 3 No of Bets 2570.0000 2697.00000
## 4 No of Won Bets 1765.0000 1824.00000
## 5 No of Voided Bets 192.0000 196.00000
## 6 No of Lose Bets 613.0000 677.00000
## 7 Staking 756.2979 834.32032
## 8 Won Bets Stakes 563.6685 614.24795
## 9 Voided Stakes 27.1151 32.12999
## 10 Lose Bets Stakes -114.7691 -125.32954
COMPL
## PL PL2
## Canbet 44.53507895 46.7763362
## Ladbrokes 33.53743752 40.6766948
## Betinternet 1.76408658 1.9329171
## Bet365 33.62892077 40.6921976
## Macauslot 41.05668234 46.1156378
## X10Bet 43.50915478 47.8308212
## X188Bet 42.44403404 43.9521665
## SBOBET 45.92688667 46.8393963
## Mansion88 36.03065656 36.2449956
## X12BET 45.13420638 46.2154620
## Titanbet 41.04019224 46.9617659
## YSB88 40.20594752 44.5435274
## StanJames 0.08604952 0.1364944