【问题标题】:Cumulative count in gamble simulation - Martingale赌博模拟中的累积计数 - Martingale
【发布时间】:2017-04-19 16:28:32
【问题描述】:

我正在尝试模拟Martingale a gambling strategy,其中赌徒在每次输球后加倍赌注,这样第一场胜利将弥补之前的所有损失,并赢得与原始赌注相等的利润。鞅策略也被应用于轮盘赌,因为中红或中黑的概率接近 50%。

所以,我遇到了一种情况,我需要计算我输赢的时间。

例如,如果游戏结果是

   result
   0
   1
   0
   1
   1
   0
   0

赌注和金钱(如果开头是 100)

   result bet money
   0 1 100
   1 2 101
   0 1 100
   1 2 102
   1 1 103
   0 1 102
   0 2 101

我实际上需要计算我输了多少次和赢了多少次来计算我需要的赌注。

   result count
   0 1
   1 1
   0 1
   1 1
   1 2
   0 1
   0 2

我发现 ave 可以在结果不重复的情况下在类似的情况下完成。

谁能教我怎么做?

【问题讨论】:

  • 我不明白你的最后一张桌子。如果result 是 0,你就输了,如果是 1,你就赢了。最后一张桌子是你想要的吗? count 是什么意思?
  • 每次result-变量更改其值时是否应该重新启动count-变量?
  • 是的,正如你所说。
  • @ElongChen 看看rle()函数,如果你给它result列作为输入,它会计算你有多少连续的01
  • 我发现以下网站适用于我的问题。 stackoverflow.com/questions/34449102/…

标签: r


【解决方案1】:

cumsum(result) 应该可以计算获胜结果 和 cumsum(1-result) 表示损失

【讨论】:

  • 我发现以下语法有效 DT[, N := sequence(.N), by = rleid(id)][]
猜你喜欢
  • 2020-10-08
  • 2017-04-17
  • 1970-01-01
  • 2013-06-19
  • 2018-12-27
  • 1970-01-01
  • 1970-01-01
  • 2019-07-03
  • 1970-01-01
相关资源
最近更新 更多