Pages:
Author

Topic: Just-Dice.com : Invest in 1% House Edge Dice Game - page 5. (Read 435457 times)

legendary
Activity: 2940
Merit: 1333
//Dooglus' wizardry math

I'd love to give this a real-world try! I'm lost, though, on what the multiplier we bet on is (1%?) and how much to increase (is that 2%?) on each loss.

I'm betting at 1%, and setting the stake such that if we win, we get a balance of 2k.

When we win a 1% bet, the payout is 99x, so the profit is 98x, so if our balance is B, we need to calculate the stake S such that the profit, 98S is makes our balance go to 2000, ie. profit is 2000-B.

98S = 2000-B
S = (2000-B)/98

So when balance is 1000, stake is (2000-1000)/98 = 10.204081633
When balance is 989.79591836, stake is (2000 - 989.79591836) / 98 = 10.30820491
and so on.

I listed all the stake sizes in my previous post.
legendary
Activity: 1988
Merit: 1007
//Dooglus' wizardry math

I'd love to give this a real-world try! I'm lost, though, on what the multiplier we bet on is (1%?) and how much to increase (is that 2%?) on each loss.
legendary
Activity: 2940
Merit: 1333
When randomizing it doesnt ask for the 2FA-Code. Did you do this intentionally as a simple block so that one has to disable and enable randomize 2FA when one wants to use it?

I implemented the ability to 2FA-lock your seeds a long time ago when someone asked for it because they were worried they would accidentally hit the keyboard shortcut for 'randomize' and lose their seed. I copied the functionality from the 2FA-lock on gambling - if the lock is on you can't gamble. If you want to gamble, remove the 2FA-lock. I think the people who are worried about accidentally changing their seed will be changing it rarely enough that editing their 2FA settings to do so isn't a big deal.

I have a probably stupid question. When you want to go for a certain amount to win, lets say 1000 clams, is it then a difference when you do one big bet with a high percent chance instead many small bets with the minimum chance? Is there a difference in propability to win the 1k clam? Might be too late today for me only. Roll Eyes

Your question could use some tightening up. Are you looking for a certain net profit when you say "certain amount to win"? So if I start with 1000 CLAMs and want to get it to 2000 CLAMs, say. If I bet all in at 49.5% I have a 49.5% chance of profiting by 1000 CLAMs. That case is clear.

But what if I make a bunch of bets at 1% chance, aiming to reach 2000 CLAMs. Is that what you're saying? My first bet would be around 10.204 CLAMs at 1% to make a profit of 1000 CLAMs. But if it lost, my 2nd bet would need to be a little bigger, since now I need to recover the 10.204 CLAMs I just lost, as well as win an extra 1000 CLAMs. So the 2nd bet would need to be around 10.308 CLAMs, then 10.413 CLAMs, and so on. The amount rises exponentially.

I believe you have a better expectation doing the 1% bets than the all-in 49.5% bet. Because your expected total stake is less than in the 49.5% case, and so your expected loss is correspondingly less.

It turns out you can afford to bet 68 times at 1% and get to 2000 CLAMs if any of them win. If none of them win, you have 5.56408786 left over, and give up trying.

Each of the 68 tries has a 0.99 probability of failure.
You lose all 68 bets with a probability of 0.99^68 = 0.504885888
You win, and reach your goal with probability 0.495114111

So amazingly, your probability of success is greater than with the single all-in bet (which is 0.495) AND even when you fail you have 5.5 CLAMs left over!

In the single-bet case, your expected profit is -1% of 1000, or -10 CLAMs. That's hopefully clear. We can calculate it by summing the product of probabilities and profits:

>>> 0.495 * 1000 + 0.505 * -1000
-10.0

In the 68 bets at 1% case, your expected profit is [p(loss) * profit_on_loss + p(win) * profit_on_win]:

>>> (0.99 ** 68) * (5.56408786 - 1000) + (1 - 0.99 ** 68) * 1000
-6.96254812965384

So it is considerably better. You expect to lose only 6.96 CLAM instead of 10.00 CLAM.

Here are the 68 bets we can afford to make:

Quote
bet  1: balance is 1000.00000000 so we stake 10.20408163
bet  2: balance is  989.79591837 so we stake 10.30820491
bet  3: balance is  979.48771345 so we stake 10.41339068
bet  4: balance is  969.07432277 so we stake 10.51964977
bet  5: balance is  958.55467301 so we stake 10.62699313
bet  6: balance is  947.92767987 so we stake 10.73543184
bet  7: balance is  937.19224804 so we stake 10.84497706
bet  8: balance is  926.34727097 so we stake 10.95564009
bet  9: balance is  915.39163088 so we stake 11.06743234
bet 10: balance is  904.32419854 so we stake 11.18036532
bet 11: balance is  893.14383322 so we stake 11.29445068
bet 12: balance is  881.84938254 so we stake 11.40970018
bet 13: balance is  870.43968236 so we stake 11.52612569
bet 14: balance is  858.91355667 so we stake 11.64373922
bet 15: balance is  847.26981746 so we stake 11.76255288
bet 16: balance is  835.50726457 so we stake 11.88257893
bet 17: balance is  823.62468564 so we stake 12.00382974
bet 18: balance is  811.62085590 so we stake 12.12631780
bet 19: balance is  799.49453810 so we stake 12.25005573
bet 20: balance is  787.24448237 so we stake 12.37505630
bet 21: balance is  774.86942607 so we stake 12.50133239
bet 22: balance is  762.36809368 so we stake 12.62889700
bet 23: balance is  749.73919668 so we stake 12.75776330
bet 24: balance is  736.98143338 so we stake 12.88794456
bet 25: balance is  724.09348882 so we stake 13.01945420
bet 26: balance is  711.07403463 so we stake 13.15230577
bet 27: balance is  697.92172886 so we stake 13.28651297
bet 28: balance is  684.63521589 so we stake 13.42208963
bet 29: balance is  671.21312625 so we stake 13.55904973
bet 30: balance is  657.65407652 so we stake 13.69740738
bet 31: balance is  643.95666914 so we stake 13.83717685
bet 32: balance is  630.11949229 so we stake 13.97837253
bet 33: balance is  616.14111976 so we stake 14.12100898
bet 34: balance is  602.02011078 so we stake 14.26510091
bet 35: balance is  587.75500987 so we stake 14.41066316
bet 36: balance is  573.34434671 so we stake 14.55771075
bet 37: balance is  558.78663596 so we stake 14.70625882
bet 38: balance is  544.08037714 so we stake 14.85632268
bet 39: balance is  529.22405446 so we stake 15.00791781
bet 40: balance is  514.21613665 so we stake 15.16105983
bet 41: balance is  499.05507682 so we stake 15.31576452
bet 42: balance is  483.73931230 so we stake 15.47204783
bet 43: balance is  468.26726446 so we stake 15.62992587
bet 44: balance is  452.63733859 so we stake 15.78941491
bet 45: balance is  436.84792368 so we stake 15.95053139
bet 46: balance is  420.89739229 so we stake 16.11329192
bet 47: balance is  404.78410037 so we stake 16.27771326
bet 48: balance is  388.50638711 so we stake 16.44381238
bet 49: balance is  372.06257473 so we stake 16.61160638
bet 50: balance is  355.45096835 so we stake 16.78111257
bet 51: balance is  338.66985579 so we stake 16.95234841
bet 52: balance is  321.71750738 so we stake 17.12533156
bet 53: balance is  304.59217582 so we stake 17.30007984
bet 54: balance is  287.29209598 so we stake 17.47661127
bet 55: balance is  269.81548471 so we stake 17.65494403
bet 56: balance is  252.16054068 so we stake 17.83509652
bet 57: balance is  234.32544416 so we stake 18.01708730
bet 58: balance is  216.30835685 so we stake 18.20093513
bet 59: balance is  198.10742172 so we stake 18.38665896
bet 60: balance is  179.72076276 so we stake 18.57427793
bet 61: balance is  161.14648483 so we stake 18.76381138
bet 62: balance is  142.38267345 so we stake 18.95527884
bet 63: balance is  123.42739460 so we stake 19.14870006
bet 64: balance is  104.27869455 so we stake 19.34409495
bet 65: balance is   84.93459959 so we stake 19.54148368
bet 66: balance is   65.39311592 so we stake 19.74088657
bet 67: balance is   45.65222934 so we stake 19.94232419
bet 68: balance is   25.70990515 so we stake 20.14581729
   end: balance is    5.56408786 so we need to stake 20.35138686 but can't afford it

I also wrote a simulation to sanity check the math:

Quote
#!/usr/bin/env python

import random

start = 1000.0
target = 2000.0
net_profit = 0
runs = 0

while True:
    balance = start

    # loop until we win or bust
    while True:
        stake = (target - balance) / 98.0

        # we can't afford to keep going
        if stake > balance:
            break

        # did we win?
        if random.random() < 0.01:
            balance += stake * 98
            break
        else:
            balance -= stake

    net_profit += balance - start
    runs += 1
    if runs % 10000 == 0:
        print "net profit per run after %5d runs is %7.4f" % (runs, net_profit/runs)

I left it running for a while for the numbers to settle down:

Quote
net profit per run after 10000 runs is -26.1373
net profit per run after 20000 runs is -18.9573
net profit per run after 30000 runs is -12.1097
...
net profit per run after 9540000 runs is -6.4101
net profit per run after 9550000 runs is -6.4095
net profit per run after 9560000 runs is -6.3974
...
net profit per run after 14950000 runs is -6.9483
net profit per run after 14960000 runs is -6.9492
net profit per run after 14970000 runs is -6.9458
net profit per run after 14980000 runs is -6.9538
net profit per run after 14990000 runs is -6.9554
...
net profit per run after 16870000 runs is -7.0234
net profit per run after 16880000 runs is -7.0251
net profit per run after 16890000 runs is -7.0170
net profit per run after 16900000 runs is -7.0237
...
net profit per run after 419990000 runs is -7.0406 [edit1]
net profit per run after 420000000 runs is -7.0405
net profit per run after 420010000 runs is -7.0403
...
net profit per run after 562490000 runs is -6.9838 [edit2]
net profit per run after 562500000 runs is -6.9839
net profit per run after 562510000 runs is -6.9839
...
net profit per run after 595230000 runs is -6.9915
net profit per run after 595240000 runs is -6.9917
net profit per run after 595250000 runs is -6.9916
...
net profit per run after 1464310000 runs is -6.9539
net profit per run after 1464320000 runs is -6.9538
net profit per run after 1464330000 runs is -6.9538
...
net profit per run after 2615260000 runs is -6.9559
net profit per run after 2615270000 runs is -6.9559
net profit per run after 2615280000 runs is -6.9559
...
net profit per run after 3048560000 runs is -6.9694
net profit per run after 3048570000 runs is -6.9695
net profit per run after 3048580000 runs is -6.9695

That's pretty close to the -6.96 the math predicted.

Edit1: I left it running, but it doesn't appear to be converging on 6.96. So:

a) the math is wrong or
b) the simulation is wrong or
c) I didn't wait long enough yet

Edit2: Probably it's (c).
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
When randomizing it doesnt ask for the 2FA-Code. Did you do this intentionally as a simple block so that one has to disable and enable randomize 2FA when one wants to use it?

I have a probably stupid question. When you want to go for a certain amount to win, lets say 1000 clams, is it then a difference when you do one big bet with a high percent chance instead many small bets with the minimum chance? Is there a difference in propability to win the 1k clam? Might be too late today for me only. Roll Eyes
legendary
Activity: 2940
Merit: 1333
I've had to take Just-Dice down for a while.

I will have it back up ASAP.

Thanks for your patience.

We're back.

Unforunately I had to randomize all the server seeds as a precautionary measure. Your nonce will have been reset to 1, and your client seed will have been left unchanged. Please change your client seed by hitting 'randomize' to ensure the provable fairness of future rolls.

Sorry for the downtime and the inconvenience.
legendary
Activity: 2940
Merit: 1333
I've had to take Just-Dice down for a while.

I will have it back up ASAP.

Thanks for your patience.
legendary
Activity: 2940
Merit: 1333
Since /cancel only works for the buyer, a situation can arise if the buyer is sketchy and leaves or refuses to pay. The scammer could also hold the coins for ransom for a /tip to release the clams back to a seller via a /cancel for quick change, which I'll call a "jabba the hutt" routine. A possible solution might be for the transaction to timeout after a certain period of time or something else fancy.

The seller is required to specify an amount, current, and address so it is easy for me to check whether payment was made and release the escrow if it was. I'm hoping this won't come up too often.

Automating cancels or releases seems to me like it opens up new vectors for scamming.
legendary
Activity: 1512
Merit: 1057
SpacePirate.io

That also has the /escrow, /cancel, /paid, /release commands for your testing pleasure. See Q7 in the FAQ for details, or just type /escrow in the chat for more terse usage information.

All feedback gratefully received, as always.


Since /cancel only works for the buyer, a situation can arise if the buyer is sketchy and leaves or refuses to pay. The scammer could also hold the coins for ransom for a /tip to release the clams back to a seller via a /cancel for quick change, which I'll call a "jabba the hutt" routine. A possible solution might be for the transaction to timeout after a certain period of time or something else fancy.
legendary
Activity: 2940
Merit: 1333
Dooglus can you, or do you already, optimize the transactions for staking? You wrote that a part of the calculation is the size of the clam amount per incoming transaction. Cant you create new transactions and send them automatically to another jd-address when enough coins were deposited? That way you could create clean integers and nothing is rounded down. Though maybe that wont have an effect with the other parameters.

Is there something optimizeable?

We already do - we split the outputs in the JD wallets to be around 13.37 CLAMs each. I think that the rounding down doesn't happen any more - that was on old (the original?) version of the protocol I was describing.

I just replied to the posts you quoted in their own thread.
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
Dooglus can you, or do you already, optimize the transactions for staking? You wrote that a part of the calculation is the size of the clam amount per incoming transaction. Cant you create new transactions and send them automatically to another jd-address when enough coins were deposited? That way you could create clean integers and nothing is rounded down. Though maybe that wont have an effect with the other parameters.

Is there something optimizeable?

And what do you think about his observations?


So to effectively stake I should invest my CLAMs at Just-Dice? Is there any real downside to that?
I had thought they would constantly stake, but I only have my computer on for a few hours a day, so guess it isn't going to be worth it in the clam wallet.

I updated to the new wallet and now it says I should stake in 1 day! A big difference!

If you invest at Just-dice you will make more money, but you will be contributing to CLAM being centralized.

   I had to see how this played out. 

from 6/22 - 6/29 I staked 41.0029 clams  the starting size was about 2450

So 7 day at an average of 5.8576 per day.  Would give .00239 %

I always see .002% just staking on JD.  which would be 4.9 clams per day. 

So in my case staking alone is much better an extra 6.7 clams in 7 days.  or 350 clams a year. 

This was a small sample and your mileage may vary.  But it does show that staking solo can be done and can compete with JD. 

There were 2 orphans in the sample.   And I believe one was when I was staking a new block of 250 clams and splitting the output into blocks of 5.

I think that took 2 tries. 


Try this again. 

Dates                     Start Balance     Stakes      Avg/Day   Percentage     Orphans

6/22- 6/28 (7 days)  2456                 37.0027     5.2861     2.15%           2
6/29 -7/5                2493                 26.0005     3.7144     1.49%           2


   I'll try to keep this up for another 2 weeks, to see how variability comes into play.   My stakes have been all over the board from a low of 2 per day to 8 per day.  So over times we should see how it levels out. 




And this?

The JD staking wallet checks something like 30k outputs in 4 seconds.


I believe this means that you are missing 3 variations of hashes for each output per every 4 seconds?

Can it be that theres room for improvement?
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
Thanks for listening to my suggestions dooglus. The whois command works great. Smiley Thanks for implementing.

The last sentence with the bot output was meant for the sound playing when you name is mentioned in chat. It doesnt make sense when a sound appears when your name is mentioned only because you made a big bet. You know already that your name is in the chat. So the sound should only play when you need to be notified.

Oh, I see. That's how I did it...

Reload the site now. Chat lines where people mention your name or userid are bolded. You can turn on an audible alert too using a setting in the account tab. And also edit the list of words that trigger the alerts.

Great! You even brought it further, adding further functionality.

Thank you dooglus! I wish security issuer would be more like you only a little bit. Wink
legendary
Activity: 2940
Merit: 1333
Thanks for listening to my suggestions dooglus. The whois command works great. Smiley Thanks for implementing.

The last sentence with the bot output was meant for the sound playing when you name is mentioned in chat. It doesnt make sense when a sound appears when your name is mentioned only because you made a big bet. You know already that your name is in the chat. So the sound should only play when you need to be notified.

Oh, I see. That's how I did it...

Reload the site now. Chat lines where people mention your name or userid are bolded. You can turn on an audible alert too using a setting in the account tab. And also edit the list of words that trigger the alerts.
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
Thanks for listening to my suggestions dooglus. The whois command works great. Smiley Thanks for implementing.

The last sentence with the bot output was meant for the sound playing when you name is mentioned in chat. It doesnt make sense when a sound appears when your name is mentioned only because you made a big bet. You know already that your name is in the chat. So the sound should only play when you need to be notified.

And it seems there is no way to identify a winning user under biggest, with his ID, when he didnt post in the chat. If you search such id with !last then nothing happens. Is there another way?

You can /msg him - that tells you his name.


Looking up the bet ID in chat works too as that gives the username at the top of the 'bet info' dialog.

Do:

  /whois 1

It's a recently added command for looking up names from userids.

dooglus, can you maybe change last so that it at least reveals the username? I dont want to always write the user a private message when i dont know who it was.

Yes, I'll be changing that 'soon'.

And another thing that came to mind when using just-dice... you already have the option to play a sound when big bets going on. More important for me would be to have a sound when my username or id is mentioned in the chat. It would make it much easier to be noticed when someone wants something from you.

OK.

Of course bot outputs should only count when you dont know about your name being written. It makes no sense for bets, but for many other things.

I don't understand. Can you give some examples please?
legendary
Activity: 2940
Merit: 1333
And it seems there is no way to identify a winning user under biggest, with his ID, when he didnt post in the chat. If you search such id with !last then nothing happens. Is there another way?

You can /msg him - that tells you his name.


Looking up the bet ID in chat works too as that gives the username at the top of the 'bet info' dialog.

Do:

  /whois 1

It's a recently added command for looking up names from userids.

dooglus, can you maybe change last so that it at least reveals the username? I dont want to always write the user a private message when i dont know who it was.

Yes, I'll be changing that 'soon'.

And another thing that came to mind when using just-dice... you already have the option to play a sound when big bets going on. More important for me would be to have a sound when my username or id is mentioned in the chat. It would make it much easier to be noticed when someone wants something from you.

OK.

Of course bot outputs should only count when you dont know about your name being written. It makes no sense for bets, but for many other things.

I don't understand. Can you give some examples please?
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
And another thing that came to mind when using just-dice... you already have the option to play a sound when big bets going on. More important for me would be to have a sound when my username or id is mentioned in the chat. It would make it much easier to be noticed when someone wants something from you.

Of course bot outputs should only count when you dont know about your name being written. It makes no sense for bets, but for many other things.
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
And it seems there is no way to identify a winning user under biggest, with his ID, when he didnt post in the chat. If you search such id with !last then nothing happens. Is there another way?

You can /msg him - that tells you his name.


Looking up the bet ID in chat works too as that gives the username at the top of the 'bet info' dialog.

But where to get the betid? I check out biggest to see who won and who lost in the last time. Then i try to find who the one is. When the user didnt chat till then then !last ID doesnt help. In fact no reaction comes.

dooglus, can you maybe change last so that it at least reveals the username? I dont want to always write the user a private message when i dont know who it was.
sr. member
Activity: 321
Merit: 250
And it seems there is no way to identify a winning user under biggest, with his ID, when he didnt post in the chat. If you search such id with !last then nothing happens. Is there another way?

You can /msg him - that tells you his name.


Looking up the bet ID in chat works too as that gives the username at the top of the 'bet info' dialog.
legendary
Activity: 2940
Merit: 1333
The other domain doesnt work for me. But i believe that it will work. Guess i need to adjust the value to bid daily according to the chance. Tongue

Its hefty with the tip... i hate scammers with a passion. Hopefully they get all their well deserved end. Smiley

I took the test site down after putting the changes live. You can reload Just-Dice.com now to see the things I was talking about.
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
The other domain doesnt work for me. But i believe that it will work. Guess i need to adjust the value to bid daily according to the chance. Tongue

Its hefty with the tip... i hate scammers with a passion. Hopefully they get all their well deserved end. Smiley
legendary
Activity: 2940
Merit: 1333
And it seems there is no way to identify a winning user under biggest, with his ID, when he didnt post in the chat. If you search such id with !last then nothing happens. Is there another way?

You can /msg him - that tells you his name.

Once the escrow commands are live, you can /cancel and that will tell you his name too:

I think it would be good when you would have a "Change" section in your biggest too. Instead losses and wins a change. Quicker to gasp. Maybe even with the amount of stakes? Though sure, that has nothing to do with bets, it would be more like a investors stat. Maybe a new document like that for investors would be nice... Checking with one view what hapenned in last timeframes. Staking and bankroll matters but should be divided.

Only my thought. Tongue

So merge "cumulative gains" and "cumulative losses", and sort by the absolute value of the profit. That's a good idea. People care about the biggest changes whether they're positive or negative.

I'll add it to my list. Today I hope to put some kind of confirmation dialog on the /tip command. Yesterday KingDice accidentally tipped 1400 CLAM to a scammer who instantly withdrew it. The same scammer who he tipper 360 CLAMs to a week or two ago. Sigh.
Pages:
Jump to: