我有一个6500个项目的清单,我想交易或投资。(不是为了真正的钱,而是为了某种游戏。)每个项目有5个数字,将用于排序它的其他。
每天交易的商品总量:这个数字越高,越好。
在过去5天的项目的东钱频道:这个数字越高,越好。
的中间价差:这个数字越低,越好。
项目的20天移动均线的息差:这个数字越低,越好。
项目5天移动平均线的息差:这个数字越高,越好。
所有5个数字都有相同的“权重”,换句话说,它们都应该影响最终的数值,具有相同的价值或价值。
目前,我只是将每个项目的所有5个数字相乘,但它并没有按照我对项目进行排序的方式对项目进行排序。我只想把所有的5个数字组合成一个加权数字,我可以用来对所有6500个项目进行排序,但我不知道如何正确地或从数学上做到这一点。
注:每天交易的商品总量和多产通道都是比价差高得多的数字,后者更多的是百分比型数字。这可能就是为什么把它们加在一起对我来说不起作用的原因,每天的交易量和唐吉安频道在最终数字中的作用要大得多。
发布于 2011-01-05 15:54:01
人们之所以难以回答这个问题,是因为我们没有办法比较两种不同的“属性”。如果只有两个属性,比如数量交易和中位价差,那么(2000万,50%)会比(100,1%)更糟糕还是更好?只有你才能决定。
将所有数据转换为同样大小的数字可能会有所帮助,这就是所谓的“正常化”。这样做的一个好方法是普拉萨德提到的z得分。这是一个统计概念,看看数量如何变化。您需要对您的数字的统计分布进行一些假设才能使用此方法。
像息差这样的东西很可能是normally distributed - shaped like a normal distribution。对于这些,正如普拉萨德所说,以z(spread) = (spread-mean(spreads))/standardDeviation(spreads)为例。
像交易量这样的东西可能是Power law distribution。对于这些,在计算平均值和sd之前,您可能需要使用log()。那就是z分数是z(qty) = (log(qty)-mean(log(quantities)))/sd(log(quantities))。
然后把每个属性的z值加起来。
要对每个属性执行此操作,您需要了解其分布情况。你可以猜,但最好的方法是画一个图,然后看一看。您还可能希望在日志比例尺上绘制图表。见wikipedia for a long list。
发布于 2011-01-05 02:02:11
可以将每个属性向量x (长度N = 6500)替换为向量Z(x)的z-得分,其中
Z(x) = (x - mean(x))/sd(x).这将将它们转换成相同的“比例”,然后您可以将Z-分数(具有相同的权重)相加,得到最终的分数,并根据这个总分对N=6500项目进行排序。如果你能在你的问题中找到其他的属性向量,它将是“善良”的指标(比如证券10天的回报?),那么你可以根据这些z得分变量来拟合这个预测属性的回归模型,找出最佳的非均匀权重。
发布于 2011-01-05 01:15:54
开始每个项目的分数为0。对于这5个数字中的每一个,根据该数字对列表进行排序,并将每个项目在该排序中的排名添加到其得分中。然后,按综合得分对项目进行排序。
https://stackoverflow.com/questions/4599971
复制相似问题