r - 我如何在 R 中表示这个几何级数?
问题描述
我正在阅读有关创建做市商的论文,并正在尝试实施一些想法。我如何在 R 中表示这个系列?我知道第一个方程应该输出一个概率,而第二个应该输出一个接近投标价格的数字。
我刚刚使用了多个 seq() 函数来尝试解决这个问题,尽管错误可能来自我的分布公式。
Psell <- seq(from = v0 - 4*sd(ba$Price, na.rm = T), to = ba$Bid.Price[1] - 1,
by = (I + (1 - I)*.2)*dnorm(72.62, v0, sd(ba$Price, na.rm = T))) +
seq(from = ba$Bid.Price[1], to = v0 + 4*sd(ba$Price, na.rm = T) - 1,
by = (I + (1 - I)*.2)*dnorm(72.62, v0, sd(ba$Price, na.rm = T)))
Psell <- tail(Psell, 1)
Pb <- (1/Psell) * (seq(from = v0 - 4*sd(ba$Price, na.rm = T), to = ba$Bid.Price[1] - 1,
by = (I + (1 - I)*.2)*72.62*dnorm(72.62, v0, sd(ba$Price, na.rm = T))) +
seq(from = ba$Bid.Price[1], to = v0 + 4*sd(ba$Price, na.rm = T) - 1,
by = (I + (1 - I)*.2)*72.62*dnorm(72.62, v0, sd(ba$Price, na.rm = T))))
Pb
Psell 返回 144.2665,Pb 返回 0.9908123
预计 Psell 的概率和 Pb 接近 72 的数字
如果我需要解释我使用的变量或其他任何内容,请告诉我!
谢谢!
解决方案
解决了:
使用序列生成系列所需的数字范围,然后使用 for 循环将我的操作应用于每个元素。
lst <- seq(from = v0 - 4*sd(ba$Price, na.rm = T), to = v0 + 4*sd(ba$Price, na.rm = T), by = 1)
count <- 0
for(i in 1:length(lst)){
temp <- (I + (1 - I)*.2)*dnorm(lst[i], v0, sd(ba$Price, na.rm = T))
count <- count + temp
}
count
count2 <- 0
for(i in 1:length(lst)){
temp2 <- (I + (1 - I)*.2)*lst[i]*dnorm(lst[i], v0, sd(ba$Price, na.rm = T))
count2 <- temp2 + count2
}
count2 * 1/count
推荐阅读
- python - 有什么区别吗?
- google-apps-script - Google Sheets 脚本 - 代码优化 - 一个脚本,两个工作表,同一个工作簿
- vue.js - v-show 在我挂载 Vue 之前不会隐藏元素
- python - Numba 在编译这个琐碎的函数时会出现类型错误
- pytest - Pytest 挂在测试数据库上
- tensorflow - 如何使用 Tensorlow Federated 在客户端之间传输数据
- python - 'NoneType' 对象在 django 中没有属性 'display_name'
- google-chrome - 如何通过链接在 Chrome 中打开 epub
- flutter - 将我的颤振频道从 beta 更改为 stable 后,错误开始出现
- discord.js - having optional args, for discord.js embed command