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