Weight of Money (WOM)

A place to discuss anything.
Post Reply
User avatar
jimibt
Posts: 3665
Joined: Mon Nov 30, 2015 6:42 pm
Location: Narnia

BetScalper wrote:
Tue Oct 30, 2018 9:38 pm
Interesting, your probably correct Jim, I will give it a blast tomorrow. Cheers. :)
ooops - typo, should be no divide by 3 at the end:

A = ((back_amount * 0.6) + (back_amount2 * 0.25) + (back_amount3 * 0.15))
B = ((lay_amount * 0.6) + (lay_amount2 * 0.25) + (lay_amount3 * 0.15))
C = A / (A + B)

g'nite
foxwood
Posts: 394
Joined: Mon Jul 23, 2012 2:54 pm

jimibt wrote:
Tue Oct 30, 2018 9:24 pm
might just be me, but i think your pro-rating should equal 1, therefore, your sums should be more along the lines of:

A = ((back_amount * 0.6) + (back_amount2 * 0.25) + (back_amount3 * 0.15)) / 3
B = ((lay_amount * 0.6) + (lay_amount2 * 0.25) + (lay_amount3 * 0.15)) / 3
C = A / (A + B)

otherwise, you're doing some weird abstractions that can't be reverse engineered ;)
Can't see a reason that it has to add up to 1 and you can't reverse engineer yours anyway - there are 6 unknowns in the formula and none of them can be correctly deduced from the answer.

To me his formula makes sense since it means he's saying he believes all the front money is genuine, only half of the second tranche is real and only a quarter of the third amount real as well. Probably a better analysis of the real money than forcing an arbitrary total of 1 which ends up disregarding 40% of the money on offer at the front.

Dividing by 3 or not is probably irrelevant since the same thing is done to both sides so the ratio between them remains the same.

Big thing though is that his formula (right or wrong ;) ) worked ok so no sense in changing anything until more indication of how good it is as an indicator for him.
User avatar
BetScalper
Posts: 1139
Joined: Sun Jul 02, 2017 10:47 pm

Good thoughts and feedback!

Going forward I am going to run 3 simulations and then try and make something out of the overall results after 7 days of racing. Small sample I know but that should give me some data to work with.

Simulation 1
A = (back_amount1 * 0.34) + (back_amount2 * 0.33) + (back_amount3 * 0.33)
B = (lay_amount1 * 0.34) + (lay_amount2 * 0.33) + (lay_amount3 * 0.33)
C = A / (A + B)

Simulation 2
A = (back_amount1 * 1.00) + (back_amount2 * 0.50) + (back_amount3 * 0.25)
B = (lay_amount1 * 1.00) + (lay_amount2 * 0.50) + (lay_amount3 * 0.25)
C = A / (A + B)

Simulation 3
A = (back_amount1 * 0.60) + (back_amount2 * 0.25) + (back_amount3 * 0.15)
B = (lay_amount1 * 0.60) + (lay_amount2 * 0.25) + (lay_amount3 * 0.15)
C = A / (A + B)

From the simulations and testing I have done already then I am very confident that Simulation 1 will give the worst results out of the 3 but I need to back that statement up with some refined data.

Its all fun.

Enjoy, :)
User avatar
jimibt
Posts: 3665
Joined: Mon Nov 30, 2015 6:42 pm
Location: Narnia

foxwood wrote:
Tue Oct 30, 2018 10:44 pm

To me his formula makes sense since it means he's saying he believes all the front money is genuine, only half of the second tranche is real and only a quarter of the third amount real as well. Probably a better analysis of the real money than forcing an arbitrary total of 1 which ends up disregarding 40% of the money on offer at the front.
hi foxy, will respectfully agree to differ on this one :D. What i'm using is a weighted mean formula which (as it says on the tin), gives uplift to certain values and downplays other values. if the sum were taken as a straight value as per:

A = (back_amount1) + (back_amount2) + (back_amount3)

.... then, each component of this sum would receive a 33.333 (to infinity - and beyond - lol) weighting in the calculation. This is based on the concrete number of entries being analysed (in this case 3) and apportioned out across each to give an equal weighting. We don't natuarally SEE this as being weighted as each component is of equal *weight*. However, if we were being techically correct, it would be thought of as:

A = (back_amount1 * 0.33333333) + (back_amount2 * 0.33333333) + (back_amount3 * 0.33333333)

If all the weights are equal, then the weighted mean equals the arithmetic mean (the regular “average” you’re used to). You can think of each number contributing 1/3 to the total mean (as there are 3 numbers in the set).

Right, as for my pathetic effort :D. My proposal was that far from degrading the 1st entry by 40%, we'd be uplifting its weight from 33.333% to 60%, thus giving it a net additional strength of 26.66%. This therefore allows us to fiddle around with weightings as long as the sum total of the weightings is constrained to 1 (which is our natural). This is known as compensating for bias. In BetScalpers case, he wants to push the spoof money out of focus.

So, referring back to said effort:

A = (back_amount1 * 0.60) + (back_amount2 * 0.25) + (back_amount3 * 0.15)

In effect, we're giving back_amount1 more than double (2.4 times) the strength of back_amount2... etc. Each of these decimal weightings is called a weighting factor and can be applied in any fashion as long as the sum of the factors adds up to 1. Thus, the spoof money (back_amount3) contributes only 15% to the perceived strength of the WOM.

It's an interesting topic (weighting) and I believe that the settings for WOM in BA actually follow a similar pattern, with the defaults being set to 34,33,33.

Sorry to grab our old friend mr google into the mix but these may help to explain far better than my example:

https://www.statisticshowto.datascience ... hted-mean/
https://www.statisticshowto.datascience ... ng-factor/
https://en.wikipedia.org/wiki/Weighted_arithmetic_mean

Anyway, I ramble too much - hope this makes sense. ;)
foxwood
Posts: 394
Joined: Mon Jul 23, 2012 2:54 pm

Well that got you scribbling early in the morning :D

Yes, understand all that - just prefer the unbounded myself.

Most people don't seem to reckon it as a metric anyway - never found it much use myself - maybe everyone should use the Jim Ratio (patent pending) instead :lol:
User avatar
jimibt
Posts: 3665
Joined: Mon Nov 30, 2015 6:42 pm
Location: Narnia

foxwood wrote:
Wed Oct 31, 2018 9:49 am
Well that got you scribbling early in the morning :D

Yes, understand all that - just prefer the unbounded myself.

Most people don't seem to reckon it as a metric anyway - never found it much use myself - maybe everyone should use the Jim Ratio (patent pending) instead :lol:
yeah - can't beat a good scribble after a muesli dribble!! :D

might just put a patent on that - good thinking. I actually agree that unless you have the full market depth, you're only really seeing the pointy bit of the action and not underlaying momentum/strength. that said, if taking a short term view on money flow, it might (for automation) be a useful tool when used in combo with other guiding factors.

btw -OT, the .net integration with BA->Excel going astonishingly well, just wish i'd embarked on it before knocking up 1000's of lines of vba code!!
User avatar
mcgoo
Posts: 898
Joined: Thu Jul 18, 2013 12:30 pm

I've found it indicative despite cross matching if you vary the % as jimibt seems to imply..admittedly I am 5 Halloween beers in :D :ugeek:
User avatar
jimibt
Posts: 3665
Joined: Mon Nov 30, 2015 6:42 pm
Location: Narnia

mcgoo wrote:
Wed Oct 31, 2018 10:00 am
I've found it indicative despite cross matching if you vary the % as jimibt seems to imply..admittedly I am 5 Halloween beers in :D :ugeek:
screw the WOM, pop another VB!! happy halloween (is that even a thing??) :D
User avatar
mcgoo
Posts: 898
Joined: Thu Jul 18, 2013 12:30 pm

jimibt wrote:
Wed Oct 31, 2018 10:02 am
mcgoo wrote:
Wed Oct 31, 2018 10:00 am
I've found it indicative despite cross matching if you vary the % as jimibt seems to imply..admittedly I am 5 Halloween beers in :D :ugeek:
screw the WOM, pop another VB!! happy halloween (is that even a thing??) :D
I have given up resisting.. a South African in Brisvegas with hundreds of kids over-running the suburbs one has to jut accept.But cheers :lol: :D :D :D
User avatar
jimibt
Posts: 3665
Joined: Mon Nov 30, 2015 6:42 pm
Location: Narnia

Halloween present -a little vba function for use in Excel automation to calculate varying WOM values:

Code: Select all

Public Function CalculateWOM(back1 As Single, back2 As Single, back3 As Single, _
                                lay1 As Single, lay2 As Single, lay3 As Single, _
                                Optional primaryWeightFactor As Single) As Single
                                
Dim totalPrices As Single, backPriceTotal As Single, layPriceTotal As Single
Dim weightFactor_1 As Single, weightFactor_2 As Single, weightFactor_3 As Single

    Const ARBITARY_FACTOR_DIVVY = 0.675

    If Not IsMissing(primaryWeightFactor) Then
        weightFactor_1 = primaryWeightFactor
        weightFactor_2 = (1 - primaryWeightFactor) * ARBITARY_FACTOR_DIVVY ' arbitary %AGE of remaining weight
        weightFactor_3 = 1 - (weightFactor_1 + weightFactor_2)
    Else
        ' defaults as per BA
        weightFactor_1 = 0.34
        weightFactor_2 = 0.33
        weightFactor_3 = 0.33
    End If
    
    ' exit if blank cells or no value on main back/lay
    If back1 = 0 Or lay1 = 0 Then
        CalculateWOM = 0
    End If
    
    ' get our 3 main moving values
    backPriceTotal = (back1 * weightFactor_1) + (back2 * weightFactor_2) + (back3 * weightFactor_3)
    layPriceTotal = (lay1 * weightFactor_1) + (lay2 * weightFactor_2) + (lay3 * weightFactor_3)
    totalPrices = backPriceTotal + layPriceTotal
    
    ' avoid divide by 0 error
    If (totalPrices = 0) Then
        CalculateWOM = 0
    Else
        CalculateWOM = backPriceTotal / totalPrices
    End If
                    
End Function
usage on sheet (put into one of the columns after AH) - this is referencing first row of runners in cell AI10. repeat as required:

Code: Select all

=CalculateWOM(G10,F10,E10,H10,I10,J10,$I$4)
note, $I$4 is a variable on the sheet, but could also simply be hardcoded as: 0.6 or whatever [=CalculateWOM(G10,F10,E10,H10,I10,J10,0.6)]

it could also simply be ignored, which would action the BA style defaults: [=CalculateWOM(G10,F10,E10,H10,I10,J10)]

enjoy...
User avatar
BetScalper
Posts: 1139
Joined: Sun Jul 02, 2017 10:47 pm

Hi,

A little update.

After allot of testing i went with the following:

Opening Trades

Minimum back_volume > 1000 AND Minimum lay_volume > 1000

BTL = IF lay_volume > back_volume * 2 AND ((back_amount1 * 0.6) + (back_amount2 * 0.3) + (back_amount3 * 0.1)) / ((back_amount1 * 0.6) + (back_amount2 * 0.3) + (back_amount3 * 0.1) + (lay_amount1 * 0.6) + (lay_amount2 * 0.3) + (lay_amount3 * 0.1)) < 0.33

LTB = IF back_volume > lay_volume * 2 AND ((back_amount1 * 0.6) + (back_amount2 * 0.3) + (back_amount3 * 0.1)) / ((back_amount1 * 0.6) + (back_amount2 * 0.3) + (back_amount3 * 0.1) + (lay_amount1 * 0.6) + (lay_amount2 * 0.3) + (lay_amount3 * 0.1)) > 0.66

Enjoy,
User avatar
mcgoo
Posts: 898
Joined: Thu Jul 18, 2013 12:30 pm

BetScalper wrote:
Wed Feb 13, 2019 11:45 pm
Hi,

A little update.

After allot of testing i went with the following:

Opening Trades

Minimum back_volume > 1000 AND Minimum lay_volume > 1000

BTL = IF lay_volume > back_volume * 2 AND ((back_amount1 * 0.6) + (back_amount2 * 0.3) + (back_amount3 * 0.1)) / ((back_amount1 * 0.6) + (back_amount2 * 0.3) + (back_amount3 * 0.1) + (lay_amount1 * 0.6) + (lay_amount2 * 0.3) + (lay_amount3 * 0.1)) < 0.33

LTB = IF back_volume > lay_volume * 2 AND ((back_amount1 * 0.6) + (back_amount2 * 0.3) + (back_amount3 * 0.1)) / ((back_amount1 * 0.6) + (back_amount2 * 0.3) + (back_amount3 * 0.1) + (lay_amount1 * 0.6) + (lay_amount2 * 0.3) + (lay_amount3 * 0.1)) > 0.66

Enjoy,
Cheers :) Interesting
Post Reply

Return to “General discussion”