Greyhounds traded ok but I would prefer a more consistent trend than that in the chart.

Aus horses were looking like a flat return until a late boost ended the week with a positive result.

First week of US horses has seen a loss but nothing too concerning for now. The main issue is the lack of activity but this is more down to the way the US markets drift away from the start time as reported by Betfair. I’m seeing most activity early on in the racing day when the post times are still close to reality. I’ve been given a good site for start times (https://classic.ebetusa.com/racing_menus/next-race.html) that drops into excel really easy but I’m trying to figure out the best way to use this info with my bot.

A quick look at last weeks greyhounds, 386 markets, gives an average P&L of 0.028, standard deviation = 0.442 and Sharpe = 0.063. Not quite the 2 I should be hoping for.

The risk of wipeout is always there and I’ve seen some losses take out a day’s or week’s profit. The volume of trades compared with large losses keeps the long term trend positive so far. Also I think my staking plan protects my bankroll to some extent. I am still working on the optimisation you advised and I’m sure my bot has a lot of potential for improvement.

I’ll keep an eye on the sharp ratio as I make modifications.

Interesting. In the same week on the GH I traded 423 markets with a Sharpe of 0.1475. Doesn’t on the face of it read very good either, but how useful is that measure for how well a system is doing? What is “good” in a betting sense? Losing trades are inevitable and as soon as they go in they tend to drop that ratio dramatically. It’s also about what is the right level of aggregation? If you trade multiple times in a market do you count each trade or just the final market position? Why not aggregate at a days trading level? Is daily return more meaningful from a return on investment perspective? (Sharpe increases to 1.67 for that week if I do, although obviously the sample is just 7)
I’m not sure of the answers or indeed if there is a right answer.

For my methods I tend to use this as a performance guide from the excellent: http://green-all-over.blogspot.co.uk/2013/09/ratios-and-risk.html
For the same GH data I had a Avg Win/Avg Loss ratio of 1.08 and a Win % of 60% over the 423 markets. Obviously the same issues of aggregation apply.

On reflection, the final market position may not be as accurate as taking each trade but it makes for easier analysis. My problem with trying to track each trade is messed up with part matches and multiple entries/single exits. I’m working on this at the moment by tracking and logging the MyBets page updates, whilst trying not to impact trading (work in progress).

If I understand your method then this is what I get –

Average win = 0.225, Average loss = 0.537, W/L ratio = 0.419

Not wishing to clog up your blog with comments, but one further to this is how the Sharpe ratio can jump around based on the sample. The following week (9th to 15th) on 431 markets the ratio for me was at 0.2691. More than double the previous week. While if I use the other measure, Avg Win/Avg Loss ratio was virtually identical at 1.081 but with a better win percentage of 68%.

Comments are always welcome, it’s encouraging to chat with other botters.

As the Sharpe ratio includes volatility, it is an indicator of risk but not actual outcome. The Avg Win/Avg Loss and win percentage are definite values, representing outcomes. I’m not sure how to make use of Sharpe, whether it should be calculated per week/month or the lifetime of the strategy. A calculation of risk would be useful, if accurate, for comparison of trading plans. I’ll have to look back over my results to see what values I get, although repeatedly testing p&ls from the same bot isn’t really useful if it gives different results, as the strategy hasn’t changed.

Although that’s made me think back to the point about testing individual trades or market results. If I have ten trades, 5 winning, 5 losing, all equal amounts, and all the winners happen in one market, the losers in another, then that will give a large volatility. If I have one winner and one loser in each of five markets, I’ll have no volatility. The outcome will be the same but the Sharpe will be very different. This suggests that the ratio would be more useful used with individual trades, I think.

I am using Sharpe on a per runner basis rather than per bet. Anyway, I only place one bet on the outward leg and one on the return with stop loss and profit take limits. I can see no reason why you shouldn’t calculate a daily Sharpe. I might do likewise in addition.

The model I optimised has an in and out of test Sharpe Ratio of over 3.0 so I am looking forward to seeing if it matches that in trading. Initially, the Sharpe is below 1.0 but is increasing. After 17 trades over 3 days it stands at 0.74. The Sharpe Ratio based on daily returns stands at 2.18 but after 3 days I won’t read anything into that for now.

The aim is for a test run of approximately 100 trades at the minimum bet size. I am using a percentage yield (return – outward bet) to calculate the average as absolute £ returns will skew the data.

I’ll write it up on my site when I get past the 100 trade mark, which will probably take between three and four weeks. After that I will decide about increasing trade sizes. Being morning trades I have to keep an eye on market capacity and not to trade against myself.

Having put so much work into testing and optimising your trades, would you expect to have lower volatility? And would this make Sharpe ratio more useful in indicating the future success of your model? If the daily Sharpe ratio is inconsistent for the same model, what does it tell you?

Knowing how to do the calculation and knowing how to make use of it are different things. I could probably get more out of it if I implemented and reacted to what it’s telling me correctly.

For the time being a positive Sharpe can only be good. A Stdev calculation is better with lots of data so after 17 trades it is not telling me much at the moment.

The volatility is negligible at present and the higher the Sharpe the more that is. Obviously, a longer time period for calculating Sharpe is like a moving average. The longer the period, the smoother it gets.

A financial Sharpe is calculated on an annual basis so maybe switching to a daily Sharpe is better. Although I would have to recalibrate my optimisation to include date of trade, which will not be easy. Still, a +3 Sharpe based on traded runners rather than days must be good.

For now I am not bothered that my trades are below 3.0 with there being so few of them. It suggests only a variance in yields rather than any real volatility. Of the 17 trades only 3 were small losers, the rest were moderate winners and 3 big wins that hit the profit take. That would account for the lower Sharpe.

In your case, obviously it is a case of fewer trades and more yield per trade. Your optimisation needs to focus on filtering out more of the losers. It will also get rid of many winners too but that is not a bad thing if yield increases and trades decreases. You can always put more money on each trade.

In my optimisation I was offered many different trading rules with positive yields. Most of them had yields far higher than the one I chose. The one I had chose had less yield per trade but a higher Sharpe. I want to grow my wealth steadily. Big Bangs are the way of the universe and so too are Big Crunches.

From looking at my current data, filtering out losing trades seems to have too adverse an effect on winners. My data collection at this point is quite messy and matching entry data with exit data is complex. This is why I’m on with a programming a different collection technique, hopefully the results will give me a clearer view of what’s happening.

Click on the graphics to enlarge them and you will see that I use all manner of metrics to give me an idea of what is going on.

In this case Fitness is just a % return. I also use strike rates, avg. win/loss, losing streak, max drawdown, absolute yield, yield over max drawdown and edge as calculated in

I can use any of the metrics as a fitness function but I am happy with return on investment. I have used yield, Sharpe and yield/md with different results. It’s another layer of optimisation; optimising the optimisation.

There is no magic in using AI. You will find the same solutions in a brute force approach. It just takes longer. You can throw everything at a machine learning technique and it might just learn something that you didn’t expect but there is great danger in that. The main problem is time, cul-de-sacs, rules with great variance. I prefer to use my knowledge of markets and tweak it with computational studies.

I can see your utilisation of various metrics gives a better view of where optimisation can take place. Good housekeeping in the coding and efficient data handling are obviously needed. On a positive note, I have a lot of potential for improvement.

Take a look at Sharpe Ratio.

http://www.betfairprotrader.co.uk/2012/06/sharpe-ratio-for-betting.html

I’d be interested to know the Sharpe Ratio of rach of your systems.

BPT – http://www.betfairprotrader.co.uk

LikeLike

Hi BPT,

A quick look at last weeks greyhounds, 386 markets, gives an average P&L of 0.028, standard deviation = 0.442 and Sharpe = 0.063. Not quite the 2 I should be hoping for.

The risk of wipeout is always there and I’ve seen some losses take out a day’s or week’s profit. The volume of trades compared with large losses keeps the long term trend positive so far. Also I think my staking plan protects my bankroll to some extent. I am still working on the optimisation you advised and I’m sure my bot has a lot of potential for improvement.

I’ll keep an eye on the sharp ratio as I make modifications.

Thanks

LikeLike

Interesting. In the same week on the GH I traded 423 markets with a Sharpe of 0.1475. Doesn’t on the face of it read very good either, but how useful is that measure for how well a system is doing? What is “good” in a betting sense? Losing trades are inevitable and as soon as they go in they tend to drop that ratio dramatically. It’s also about what is the right level of aggregation? If you trade multiple times in a market do you count each trade or just the final market position? Why not aggregate at a days trading level? Is daily return more meaningful from a return on investment perspective? (Sharpe increases to 1.67 for that week if I do, although obviously the sample is just 7)

I’m not sure of the answers or indeed if there is a right answer.

For my methods I tend to use this as a performance guide from the excellent:

http://green-all-over.blogspot.co.uk/2013/09/ratios-and-risk.html

For the same GH data I had a Avg Win/Avg Loss ratio of 1.08 and a Win % of 60% over the 423 markets. Obviously the same issues of aggregation apply.

LikeLike

On reflection, the final market position may not be as accurate as taking each trade but it makes for easier analysis. My problem with trying to track each trade is messed up with part matches and multiple entries/single exits. I’m working on this at the moment by tracking and logging the MyBets page updates, whilst trying not to impact trading (work in progress).

If I understand your method then this is what I get –

Average win = 0.225, Average loss = 0.537, W/L ratio = 0.419

Markets traded = 386, Wins = 281, Losses = 98, Zeros = 7

Win% = 72.8%, Lose% = 25.4%, Zero% = 1.8%

LikeLike

Not wishing to clog up your blog with comments, but one further to this is how the Sharpe ratio can jump around based on the sample. The following week (9th to 15th) on 431 markets the ratio for me was at 0.2691. More than double the previous week. While if I use the other measure, Avg Win/Avg Loss ratio was virtually identical at 1.081 but with a better win percentage of 68%.

LikeLike

Comments are always welcome, it’s encouraging to chat with other botters.

As the Sharpe ratio includes volatility, it is an indicator of risk but not actual outcome. The Avg Win/Avg Loss and win percentage are definite values, representing outcomes. I’m not sure how to make use of Sharpe, whether it should be calculated per week/month or the lifetime of the strategy. A calculation of risk would be useful, if accurate, for comparison of trading plans. I’ll have to look back over my results to see what values I get, although repeatedly testing p&ls from the same bot isn’t really useful if it gives different results, as the strategy hasn’t changed.

Although that’s made me think back to the point about testing individual trades or market results. If I have ten trades, 5 winning, 5 losing, all equal amounts, and all the winners happen in one market, the losers in another, then that will give a large volatility. If I have one winner and one loser in each of five markets, I’ll have no volatility. The outcome will be the same but the Sharpe will be very different. This suggests that the ratio would be more useful used with individual trades, I think.

LikeLike

I am using Sharpe on a per runner basis rather than per bet. Anyway, I only place one bet on the outward leg and one on the return with stop loss and profit take limits. I can see no reason why you shouldn’t calculate a daily Sharpe. I might do likewise in addition.

The model I optimised has an in and out of test Sharpe Ratio of over 3.0 so I am looking forward to seeing if it matches that in trading. Initially, the Sharpe is below 1.0 but is increasing. After 17 trades over 3 days it stands at 0.74. The Sharpe Ratio based on daily returns stands at 2.18 but after 3 days I won’t read anything into that for now.

The aim is for a test run of approximately 100 trades at the minimum bet size. I am using a percentage yield (return – outward bet) to calculate the average as absolute £ returns will skew the data.

I’ll write it up on my site when I get past the 100 trade mark, which will probably take between three and four weeks. After that I will decide about increasing trade sizes. Being morning trades I have to keep an eye on market capacity and not to trade against myself.

BPT – http://www.betfairprotrader.co.uk

LikeLike

Having put so much work into testing and optimising your trades, would you expect to have lower volatility? And would this make Sharpe ratio more useful in indicating the future success of your model? If the daily Sharpe ratio is inconsistent for the same model, what does it tell you?

Knowing how to do the calculation and knowing how to make use of it are different things. I could probably get more out of it if I implemented and reacted to what it’s telling me correctly.

LikeLike

Also, do you use this alongside other indicators/measures to evaluate performance?

LikeLike

For the time being a positive Sharpe can only be good. A Stdev calculation is better with lots of data so after 17 trades it is not telling me much at the moment.

The volatility is negligible at present and the higher the Sharpe the more that is. Obviously, a longer time period for calculating Sharpe is like a moving average. The longer the period, the smoother it gets.

A financial Sharpe is calculated on an annual basis so maybe switching to a daily Sharpe is better. Although I would have to recalibrate my optimisation to include date of trade, which will not be easy. Still, a +3 Sharpe based on traded runners rather than days must be good.

For now I am not bothered that my trades are below 3.0 with there being so few of them. It suggests only a variance in yields rather than any real volatility. Of the 17 trades only 3 were small losers, the rest were moderate winners and 3 big wins that hit the profit take. That would account for the lower Sharpe.

In your case, obviously it is a case of fewer trades and more yield per trade. Your optimisation needs to focus on filtering out more of the losers. It will also get rid of many winners too but that is not a bad thing if yield increases and trades decreases. You can always put more money on each trade.

In my optimisation I was offered many different trading rules with positive yields. Most of them had yields far higher than the one I chose. The one I had chose had less yield per trade but a higher Sharpe. I want to grow my wealth steadily. Big Bangs are the way of the universe and so too are Big Crunches.

BPT – http://www.betfairprotrader.co.uk

LikeLike

From looking at my current data, filtering out losing trades seems to have too adverse an effect on winners. My data collection at this point is quite messy and matching entry data with exit data is complex. This is why I’m on with a programming a different collection technique, hopefully the results will give me a clearer view of what’s happening.

LikeLike

And in answer to your other question. As you can see in this post

http://www.betfairprotrader.co.uk/2016/04/ga-optimisation-of-entries-and-exits.html

Click on the graphics to enlarge them and you will see that I use all manner of metrics to give me an idea of what is going on.

In this case Fitness is just a % return. I also use strike rates, avg. win/loss, losing streak, max drawdown, absolute yield, yield over max drawdown and edge as calculated in

http://www.betfairprotrader.co.uk/2015/07/edge-expectation-and-kelly-criterion.html

I can use any of the metrics as a fitness function but I am happy with return on investment. I have used yield, Sharpe and yield/md with different results. It’s another layer of optimisation; optimising the optimisation.

There is no magic in using AI. You will find the same solutions in a brute force approach. It just takes longer. You can throw everything at a machine learning technique and it might just learn something that you didn’t expect but there is great danger in that. The main problem is time, cul-de-sacs, rules with great variance. I prefer to use my knowledge of markets and tweak it with computational studies.

BPT – http://www.betfairprotrader.co.uk

LikeLike

I can see your utilisation of various metrics gives a better view of where optimisation can take place. Good housekeeping in the coding and efficient data handling are obviously needed. On a positive note, I have a lot of potential for improvement.

LikeLike