我们正在构建一个股票市场模拟游戏。前端设计已经做好了准备,但我们对后端算法的具体设计却一无所知。
为了实现这个目标,我们应该考虑实现哪些算法?
我们正在用PHP/RoR/Python编写代码。
如果有一个已经存在的开源系统,我们可以看看,这将是一个额外的奖励。
发布于 2011-06-16 16:10:55
在物理模拟中使用的最通用的东西是蒙特卡罗方法。由于金融领域的计算复杂性,它们常常被为特定任务而设计的更简单的算法所替代(例如,用于衍生品市场的黑斯科尔斯 )。您可以在维基中阅读蒙特卡罗方法(和其他方法)在金融学中的应用。
开源解决方案?唯一能想到的就是QuantLib。
发布于 2011-06-16 15:18:39
这是一个十亿美元的问题。:-)
你可能想研究一下史蒂夫·基恩的S研究,甚至与他取得联系。他是一名火车工程师,在他的博客上到处发布他的模型。如果你正在实施他的模型,并以某种方式与你们分享,他愿意与你们合作,我也不会感到惊讶。(例如,模型本身,你使用这些模型对市场动态进行实时研究,并与他分享原始结果。)
对于大致相同的想法,巴里·里索尔茨可能是另一种选择,但请记住,他正在经营一家实际的公司,他们的模型是私有的/专有的。所以我怀疑他们会公开分享。(许多对冲基金或银行也是如此。)
否则你可能会发现维基百科很有趣:
http://en.wikipedia.org/wiki/Financial_建模
这些问题往往是随机的、连续的,因此这里的模型需要复杂的算法、计算机模拟、数值微分方程等先进的数值方法和/或优化模型的发展。这些问题的一般性质在金融市场的建模和分析下进行了讨论,而具体的技术则列在金融大纲:数学工具之下。
发布于 2011-06-16 16:56:02
对于游戏模拟,我非常依赖伪随机数生成器。如果它足够模糊,玩家将永远不会知道,它已经足够接近现实,这在很大程度上并不重要。
我会为每个项目指定一个随机的初始值“真值”,并让它以正弦波的方式波动,或者有变化的周期和振幅的东西。绝对波动和总体波动将有所帮助。因此,在全球范围内,价格可能会上涨,但富巴行业并不是那么火爆,而特定的燃料棒制造商正处于发车状态,实际上是在亏本。
类别可以是行业,区域,每个人的名字类似于一家大公司,或任何适合你的游戏。
您可以在特定公司、类别或全球事件的随机时间内随机添加有新闻价值的事件。在接下来的5年里,尖峰、崩盘、微小的增减等等。
但这就是“真正的价值”。这在很大程度上与股票无关。因此,我会有许多代理商遵循一套政策,用他们自己的现金流和利润进行买卖。如果球员,或其中一个经纪人,想要买卖,他必须提供一个代理人同意的出价。有些人不可避免地会破产,而另一个则会诞生。
一名特工将是理智的,理性的,而且有着一本可笑的钱包。他知道什么是真正的价值,并购买或出售,当价格是好的后,一个重大的拖延。他应该是公众人物,不让事情变得太奇怪。
其他人将遵循一项政策,分析试图猜测真实价值和未来趋势的模式。
每当他看到一段长时间的增长时,他就会买。当它平底的时候就卖了。
除非他赚了一美元,否则他永远卖不出去。
一个人会尝试经典的泵和转储方案。
诸若此类。我认为这一点,你会应用QuantLib和其他关于数学财务的答案。
https://softwareengineering.stackexchange.com/questions/84490
复制相似问题