Hi All,
I want to walk through my approach to trying to find an edge and then applying it to BetAngel as somewhere along the path things have broken down and without sharing I dont believe im going to find out what went wrong.
So i've spent some time over the past couple of weeks dissecting Aus Greyhound data looking for a strategy to automate. Im fairly knowledgeable on Aus Greyhounds and immediately wanted to know how Trap Biases impact results and if there was anything to be had. Below are my steps and images to give you all an idea:
1. Download 1 year of Greyhound data from Betfair SP
2. Cut out all of the English meetings (not required)
3. Trim to 6 months of data (excel file too large to run queries on with 1 years worth) - this still left me 220,000 rows of selections.
4. Cut out columns not required
5. Add in some basic formulas to calculate what a £1 lay PnL would generate accross every selection in every race (minus comm) and strip the 'Trap' out of the selection name for more in depth analysis.
6. Do some basic SumIF formulas to look at Traps PnL (wasn't expecting anything within an efficient market) and then Traps with prices between certain 'price bands'. As you can see from image below, Laying T1 and T2 (particularly when prices between 3.01 and 12) look to generate overall healthy profits.
7. Go back to main sheet and filter all the T1 and T2 selections
8. Add T1/T2 traps to separate sheet and add cumulative PnL to a chart - looks great. Note this is only applying price filter of 'below 12'. I didn't want to be too restrictive of odds saying between 3 & 12 because from the analysis the impact of very short priced runners was minimal.
So now im in a position where I want to Lay T1 or T2 if price is below 12 at BSP - we know BSP is not possible so I opt to lay 20 seconds before scheduled start. Although not actual BSP I dont believe it can be that far from truth.
9. Build automation file, Lay T1 and T2 for £1 fixed stake at best reverse market price. Fix bugs (must have 8 runners as laying Row 2 with 7 runners was laying T3).
10. Go back to data to confirm 8 runner results still show positive trend - which they do, very minimal impact.
11. Run in accross 4 days and accross 170 eligible races it is showing a -110pt loss. Almost to the point I thought I should be backing the selections!
Any advice or guidance on what I could/should be doing differently here is most welcome. Thanks in advance, I hope you found it interesting.
Theory of Analysis vs application
- ilovepizza82
- Posts: 495
- Joined: Thu Nov 02, 2017 3:41 pm
- Location: Sewers
- Contact:
Nice. THanks Shaun !
Im sure a lot of people will find it very useful.
Im sure a lot of people will find it very useful.
Last edited by ilovepizza82 on Wed Aug 25, 2021 11:01 am, edited 1 time in total.
I may have got this wrong, but doesn't your 1year backtest for example show a drawdown from 10375 which doesn't recover until >17500, so that's 7000 markets, so being down from 136markets is nothing to worry about...?Shaung89 wrote: ↑Wed Aug 25, 2021 10:35 amHi All,
I want to walk through my approach to trying to find an edge and then applying it to BetAngel as somewhere along the path things have broken down and without sharing I dont believe im going to find out what went wrong.
So i've spent some time over the past couple of weeks dissecting Aus Greyhound data looking for a strategy to automate. Im fairly knowledgeable on Aus Greyhounds and immediately wanted to know how Trap Biases impact results and if there was anything to be had. Below are my steps and images to give you all an idea:
1. Download 1 year of Greyhound data from Betfair SP
2. Cut out all of the English meetings (not required)
3. Trim to 6 months of data (excel file too large to run queries on with 1 years worth) - this still left me 220,000 rows of selections.
4. Cut out columns not required
5. Add in some basic formulas to calculate what a £1 lay PnL would generate accross every selection in every race (minus comm) and strip the 'Trap' out of the selection name for more in depth analysis.
AusAnalysis1.png
6. Do some basic SumIF formulas to look at Traps PnL (wasn't expecting anything within an efficient market) and then Traps with prices between certain 'price bands'. As you can see from image below, Laying T1 and T2 (particularly when prices between 3.01 and 12) look to generate overall healthy profits.
AusAnalysis3.png
7. Go back to main sheet and filter all the T1 and T2 selections
8. Add T1/T2 traps to separate sheet and add cumulative PnL to a chart - looks great. Note this is only applying price filter of 'below 12'. I didn't want to be too restrictive of odds saying between 3 & 12 because from the analysis the impact of very short priced runners was minimal.
AusAnalysis2.png
So now im in a position where I want to Lay T1 or T2 if price is below 12 at BSP - we know BSP is not possible so I opt to lay 20 seconds before scheduled start. Although not actual BSP I dont believe it can be that far from truth.
9. Build automation file, Lay T1 and T2 for £1 fixed stake at best reverse market price. Fix bugs (must have 8 runners as laying Row 2 with 7 runners was laying T3).
10. Go back to data to confirm 8 runner results still show positive trend - which they do, very minimal impact.
11. Run in accross 4 days and accross 170 eligible races it is showing a -110pt loss. Almost to the point I thought I should be backing the selections!
Any advice or guidance on what I could/should be doing differently here is most welcome. Thanks in advance, I hope you found it interesting.
- Realrocknrolla
- Posts: 1903
- Joined: Fri Jun 05, 2020 7:15 pm
136 markets could be one day.goat68 wrote: ↑Wed Aug 25, 2021 10:56 amI may have got this wrong, but doesn't your 1year backtest for example show a drawdown from 10375 which doesn't recover until >17500, so that's 7000 markets, so being down from 136markets is nothing to worry about...?Shaung89 wrote: ↑Wed Aug 25, 2021 10:35 amHi All,
I want to walk through my approach to trying to find an edge and then applying it to BetAngel as somewhere along the path things have broken down and without sharing I dont believe im going to find out what went wrong.
So i've spent some time over the past couple of weeks dissecting Aus Greyhound data looking for a strategy to automate. Im fairly knowledgeable on Aus Greyhounds and immediately wanted to know how Trap Biases impact results and if there was anything to be had. Below are my steps and images to give you all an idea:
1. Download 1 year of Greyhound data from Betfair SP
2. Cut out all of the English meetings (not required)
3. Trim to 6 months of data (excel file too large to run queries on with 1 years worth) - this still left me 220,000 rows of selections.
4. Cut out columns not required
5. Add in some basic formulas to calculate what a £1 lay PnL would generate accross every selection in every race (minus comm) and strip the 'Trap' out of the selection name for more in depth analysis.
AusAnalysis1.png
6. Do some basic SumIF formulas to look at Traps PnL (wasn't expecting anything within an efficient market) and then Traps with prices between certain 'price bands'. As you can see from image below, Laying T1 and T2 (particularly when prices between 3.01 and 12) look to generate overall healthy profits.
AusAnalysis3.png
7. Go back to main sheet and filter all the T1 and T2 selections
8. Add T1/T2 traps to separate sheet and add cumulative PnL to a chart - looks great. Note this is only applying price filter of 'below 12'. I didn't want to be too restrictive of odds saying between 3 & 12 because from the analysis the impact of very short priced runners was minimal.
AusAnalysis2.png
So now im in a position where I want to Lay T1 or T2 if price is below 12 at BSP - we know BSP is not possible so I opt to lay 20 seconds before scheduled start. Although not actual BSP I dont believe it can be that far from truth.
9. Build automation file, Lay T1 and T2 for £1 fixed stake at best reverse market price. Fix bugs (must have 8 runners as laying Row 2 with 7 runners was laying T3).
10. Go back to data to confirm 8 runner results still show positive trend - which they do, very minimal impact.
11. Run in accross 4 days and accross 170 eligible races it is showing a -110pt loss. Almost to the point I thought I should be backing the selections!
Any advice or guidance on what I could/should be doing differently here is most welcome. Thanks in advance, I hope you found it interesting.
Goat - I take your point on board and yes you could be absolutely right that it's just variance and a drawdown of the strategy. I guess what's worrying is that the drawdown has happened accross the first 4 days of me trying out the process.
RocknRolla - the 136 markets was accross 4 days as I trimmed to only 7 & 8 runner races. There was no BA functionality to automate this strategy in '7 or fewer runner' races for the example highlighted above.
Appreciate you both responding with valid thoughts and inputs here, I was just expecting a load of s**t from people to be honest!
RocknRolla - the 136 markets was accross 4 days as I trimmed to only 7 & 8 runner races. There was no BA functionality to automate this strategy in '7 or fewer runner' races for the example highlighted above.
Appreciate you both responding with valid thoughts and inputs here, I was just expecting a load of s**t from people to be honest!
- Realrocknrolla
- Posts: 1903
- Joined: Fri Jun 05, 2020 7:15 pm
To be fair it only looks around 10% drawdown, keep it up!Shaung89 wrote: ↑Wed Aug 25, 2021 12:56 pmGoat - I take your point on board and yes you could be absolutely right that it's just variance and a drawdown of the strategy. I guess what's worrying is that the drawdown has happened accross the first 4 days of me trying out the process.
RocknRolla - the 136 markets was accross 4 days as I trimmed to only 7 & 8 runner races. There was no BA functionality to automate this strategy in '7 or fewer runner' races for the example highlighted above.
Appreciate you both responding with valid thoughts and inputs here, I was just expecting a load of s**t from people to be honest!
Obviously the guys have mentioned the possibility of variance but I would be curious to analyse any differences in price between 20s out and BSP. I've seen some quite surprising differences in the past, though not sure if enough to make a huge difference to results.
Hard to do with the dogs as the markets will suspend as soon as in play but if they stayed in play you could get your automation to save 20s price and BSP as SV's and export. Quick parse of the CSV's comparing both would highlight if that was the case. Though, if you are analysing previous BSP you have those available anyway. Logging all prices to an SV 20s out and exporting would give you data to compare with
Hard to do with the dogs as the markets will suspend as soon as in play but if they stayed in play you could get your automation to save 20s price and BSP as SV's and export. Quick parse of the CSV's comparing both would highlight if that was the case. Though, if you are analysing previous BSP you have those available anyway. Logging all prices to an SV 20s out and exporting would give you data to compare with
A few thoughts. Too few live bets to write it off, but I'd be a little sceptical about your base analysis although inside boxes being over bet is a fair enough hypothesis to start from.
Firstly six months of data is not enough to create a system from. Have you run the same system over a different six months of historical data and come up with the same positive results?
Have you applied the right commission rates.? AUS markets are not the standard 2 or 5%, they vary by State (be careful here to also apply commission only to the market when you have more than one selection in a market)
Is the data you've used accurate? There are a lot of errors dotted through the historic Belfair SP data. Worth checking the over rounds per market to weed out any obvious anomalies.
Firstly six months of data is not enough to create a system from. Have you run the same system over a different six months of historical data and come up with the same positive results?
Have you applied the right commission rates.? AUS markets are not the standard 2 or 5%, they vary by State (be careful here to also apply commission only to the market when you have more than one selection in a market)
Is the data you've used accurate? There are a lot of errors dotted through the historic Belfair SP data. Worth checking the over rounds per market to weed out any obvious anomalies.
One further thing you could do on your data is run a P-Test. it will give you a sense of how much your result is likely to be simply done to random chance given the average odds used and yield.
As an example see https://www.football-data.co.uk/blog/lu ... etting.php
As an example see https://www.football-data.co.uk/blog/lu ... etting.php
- ShaunWhite
- Posts: 9731
- Joined: Sat Sep 03, 2016 3:42 am
Generally agree. Those one year test PLs look great until you realise there's whole months of ups and downs you have to live through in slo-mo. Try if you can to measure your results with something other than cash, it's almost meaningless. If you're getting value then the cash will take care of itself over the months.
Generally your analysis doesn't take execution into account, it assumes a perfect world where you get the prices you want and there's no PIQ. Live is never going to be as good.... Especially as you're asking for prices rather than taking them. A good estimate of getting matched might be within 5%, that's a country mile when you are looking for a 1 or 2% edge. Tbh you can show a profit assuming offers get taken pretty easily, the problem is execution.
On a positive note every day you're gathering intel. Start to analyse the bet history. You mentioned not filtering prices which is just the right idea, but live might be telling you a slightly different story, esp if the slight losers (in your analysis) are being filled more often than the ones that should be winners.
You could easily write 10,000 words on this topic. Rule#1 for me is a basic scientific approach, ie look for faults in what you're doing instead of looking for confirmation. Be your own worst critic, destroy everything and question every preconception. When every possible point of failure has been adressed only then can you start to trust the output. Putting your process up for peer review is/was a great idea. If nothing else it makes you think about what you're doing.
Good luck* something good shouldn't lose for long.
(* there's no such thing as luck, only probability)
Generally your analysis doesn't take execution into account, it assumes a perfect world where you get the prices you want and there's no PIQ. Live is never going to be as good.... Especially as you're asking for prices rather than taking them. A good estimate of getting matched might be within 5%, that's a country mile when you are looking for a 1 or 2% edge. Tbh you can show a profit assuming offers get taken pretty easily, the problem is execution.
On a positive note every day you're gathering intel. Start to analyse the bet history. You mentioned not filtering prices which is just the right idea, but live might be telling you a slightly different story, esp if the slight losers (in your analysis) are being filled more often than the ones that should be winners.
You could easily write 10,000 words on this topic. Rule#1 for me is a basic scientific approach, ie look for faults in what you're doing instead of looking for confirmation. Be your own worst critic, destroy everything and question every preconception. When every possible point of failure has been adressed only then can you start to trust the output. Putting your process up for peer review is/was a great idea. If nothing else it makes you think about what you're doing.
Good luck* something good shouldn't lose for long.
(* there's no such thing as luck, only probability)
- Realrocknrolla
- Posts: 1903
- Joined: Fri Jun 05, 2020 7:15 pm
Love that.You could easily write 10,000 words on this topic. Rule#1 for me is a basic scientific approach, ie look for faults in what you're doing instead of looking for confirmation. Be your own worst critic, destroy everything and question every preconception. When every possible point of failure has been adressed only then can you start to trust the output. Putting your process up for peer review is/was a great idea. If nothing else it makes you think about what you're doing.
- ShaunWhite
- Posts: 9731
- Joined: Sat Sep 03, 2016 3:42 am
Aus dog markets are pretty thin and do some wierd stuff. I'd been doing about avg...then had 2 weeks flatlining, now it's gone nuts. No changes at my end. They can test your patience, next week I might be losing. Starting is tough because you never know where you are on the chart but once you're playing with someone elses money you relax a bit.
...here's my last 14,000 selections just fyi.
You do not have the required permissions to view the files attached to this post.
- ShaunWhite
- Posts: 9731
- Joined: Sat Sep 03, 2016 3:42 am
I hate handing in my homework, red pen everywhere.
That's far too professional and good Shaun, no where near enough "variance" to demonstrate the issue!ShaunWhite wrote: ↑Wed Aug 25, 2021 9:16 pmAus dog markets are pretty thin and do some wierd stuff. I'd been doing about avg...then had 2 weeks flatlining, now it's gone nuts. No changes at my end. They can test your patience, next week I might be losing. Starting is tough because you never know where you are on the chart but once you're playing with someone elses money you relax a bit.
...here's my last 14,000 selections just fyi.
Screenshot_11.jpg
Try this for my current August DogBot + HorseBot @shaung89 : A Wild ride but i'm in profit !
You do not have the required permissions to view the files attached to this post.