当可能性巨大时,投资组合软件如何快速生成投资组合建议?

Err*_*404 5 algorithm math statistics finance portfolio

我希望这不会被关闭,因为它与我无法弄清楚的算法有关(它也很长,因为我对如何完成它感到困惑).基本上很多年前,我曾经在共同基金工作,我们使用不同的工具来选择优化投资组合以及对冲现有投资组合.我们将采取这些结果并进行自己的修改然后将它们出售给客户.在我的公司缩小规模之后,我决定尝试一下(创建软件并包含我的自定义)但我不知道如何为软件实际生成组合.

经过6个月的尝试,我接受了我的方法是不可能的.我试图使用像Knuth的书中的组合算法,以及bit尝试在纽约证券交易所(5,000只股票)上找到所有可能的投资组合(我将其限制为30只股票).但是,据我所知,每个人都会花费数十亿年的时间来获得一天的结果(对于我来说,我在GPU上直接处理2天后停止了它).

那我错过了什么?我们将进入我们的风险承受能力和市场观点(股市增长预期,通胀预期,联邦基金预期等),它将在几秒/分钟内给我们理想的投资组合(理论上......).凭借千种可能性和千万亿种可能的股票权重组合,他们如何能够如此快速地(或甚至根本)计算结果?作为系统的管理员,我知道我们每天下载一个文件(少于100 MB,并且在mssql数据库中加载可能只是市场数据..所以它不像我们有可能.使用上面的方法我会获得5 gig在我的版本Knuth的组合算法的最小值文件中,并且应用程序脱机工作(因此它必须在台式机/笔记本电脑cpu上本地执行,而不是在某个大型超级计算机上运行并花费一两分钟来运行...分钟是全球基金中最长的,其中包括世界上的每一只股票.它如此混乱,因为他们的工作需要整个基金的相关性(我不认为他们只是发送他们预先计算的顶级股票,因为每个人都得到不同的结果).因此,如果我想要一个30股票基金给我2%的回报并且与市场呈负相关,并且60%被套期保值,软件如何能够如此迅速地从数十亿种可能性中产生该组合?请注意,我不是在询问数学或财务部分,我问的是它是如何能够从整个市场产生30个股票,它们给出2%的回报,为了做到这一点它需要知道回报所有30个股票投资组合(仅此一项将使其运行数十亿年,对吗?其他限制使其更加复杂).

那么如何以编程方式完成?我开始相信他们没有使用Knuth的组合算法来产生所有可能性,但他们的结果似乎没有随机选择,并且单独选择股票似乎错过了相关部分.如此多的投资软件如何做这样的事情?