Beispiel #1
0
        private static void RunStocksEntropy(Random random)
        {
            //int      numOfNodes       = 20;
            var      window           = 50;
            var      minVolumeBucket  = 100.0;
            var      maxVolumeBucket  = 4.0 * 10E8;
            var      approximation    = new MultiplicativeApproximation(0.005);
            DateTime startingDateTime = new DateTime(2006, 1, 3);
            int      minAmountAtDay   = 1000;
            var      iterations       = 1000;

            //var wantedVectorLength = 100;
            //foreach (var wantedVectorLength in ArrayUtils.Init(50, 100, 200, 400, 800, 1300, 1600, 2000, 2400))
            for (var wantedVectorLength = 4000; wantedVectorLength <= 4000; wantedVectorLength += 100)
            {
                for (var numOfNodes = 30; numOfNodes <= 30; numOfNodes += 30)
                //foreach (var numOfNodes in ArrayUtils.Init(30, 40))
                {
                    var mulFactor         = Math.Pow(maxVolumeBucket / minVolumeBucket, 1.0 / wantedVectorLength);
                    var closestValueQuery =
                        ClosestValueQuery.InitExponential((long)minVolumeBucket, (long)maxVolumeBucket, mulFactor);
                    var vectorLength = closestValueQuery.Data.Length;
                    foreach (var(entropy, cbName) in
                             ArrayUtils.Init((new EntropyFunction(vectorLength).MonitoredFunction, "RegularCB")))
                    // (new SpecialCBEntropy(vectorLength).MonitoredFunction, "SmartCB")))
                    {
                        EntropyRunner.RunStocks(random, entropy, cbName, iterations, closestValueQuery, numOfNodes,
                                                window, startingDateTime,
                                                minAmountAtDay, approximation, stocksDirPath, resultDir);
                    }
                }
            }
        }