【发布时间】:2012-03-10 22:49:58
【问题描述】:
如何在 C# 中生成分布稳定的随机数? Random 类具有均匀分布。上的许多其他代码 互联网显示正态分布。但是我们需要稳定的分布 表示无限方差,也就是肥尾分布。
原因是为了生成现实的股票价格。在真实 在世界范围内,价格发生巨大变化的可能性远大于 正态分布。
有人知道转换随机类输出的 C# 代码吗 稳定分布?
编辑:嗯。准确的分布不如确保它会随机生成巨大的 sigma(如至少 20 sigma)那么重要。我们想测试一个交易策略在真正的肥尾分布中的弹性,这正是股票市场价格的表现。
由于 cmets,我刚刚阅读了有关 ZipFian 和 Cauchy 的信息。由于我必须选择,让我们使用 Cauchy 分布,但我也会尝试使用 ZipFian 进行比较。
【问题讨论】:
-
维基百科不同意您对稳定意味着什么的描述:en.wikipedia.org/wiki/Stable_distribution 例如,它说“正态分布是一组稳定分布。”
-
我认为你需要找到你需要的确切分布的数学定义(正如@David所说,它可能应该有另一个名字),然后实现你自己的函数将均匀分布转换为一个你需要。
-
最重要的是你可以学习一些基本的数学。 Fisher 变换(一个指标)进行高斯归一化 - 你所做的是相反的。 Bascialyl 采用更大的随机空间 (0-1000) 来生成数字 0-100 并将更大的区域分配给远离 0 的数字,可以这么说。这实际上只是均匀分布的“高斯”,也是我向愿意从事定量研究的程序提出的问题之一;)以确保他们了解统计数据 101;)
-
问题应该迁移到http://math.stackexchange.com/吗?
-
@DavidHeffernan:维基百科页面有些混乱。我认为正态分布是稳定分布的一种非常特殊的情况,因为它是唯一没有肥尾的稳定分布。但是,我已经很久很久没有做统计了,所以我在这里可能错了。
标签: c# random distribution