Example #1
0
        public static void Go()
        {
            var encog = new EncogPersistedCollection("market-network.dat", FileMode.Open);

            Console.WriteLine(@"Loading network");
            var network = (BasicNetwork)encog.Find("market-network");

            Console.WriteLine(@"Reading current data from db");
            var market = new StockMarket();

            market.Init(false);
            var data = market.GetCurrentData();

            Console.WriteLine(@"Running network on data");

            var madness = new ModelMadness();

            foreach (StockMarket.WorkableStockInfo info in data)
            {
                var input       = InputOutputMadness.CreateInputs(info);
                var neuralInput = new BasicMLData(input);
                var output      = network.Compute(neuralInput);

                Console.WriteLine(@"Stock " + info.ViewToday.stock + @" will change " + output[0] + @"% in the next 20 trading days");

                var future = new prediction
                {
                    day            = DateTime.Now.Date,
                    C20_Days_Close = 100 * (decimal)output[0],
                    stock          = info.ViewToday.stock
                };

                madness.AddTopredictions(future);
            }

            madness.SaveChanges();

            Console.WriteLine(@"Done - begin making $millions");
        }
Example #2
0
        public static void Create()
        {
            var market = new StockMarket();

            market.Init(true);

            Console.WriteLine(@"Fetching training data from db");

            var trainingData = market.GetTrainingData();

            Console.WriteLine(@"Creating training set");

            var inputs  = new ArrayList();
            var outputs = new ArrayList();
            var cur     = 1;

            foreach (var info in trainingData)
            {
                Console.WriteLine(@"Adding record " + (cur++) + @" of " + trainingData.Count);

                var input  = InputOutputMadness.CreateInputs(info);
                var output = new[] { InputOutputMadness.CreateOutput(info) };

                inputs.Add(input);
                outputs.Add(output);
            }

            Console.WriteLine(@"Created training set - saving");

            var trainingSet = new BasicMLDataSet((double[][])inputs.ToArray(typeof(double[])), (double[][])outputs.ToArray(typeof(double[])));
            var encog       = new EncogPersistedCollection("market-training.dat", FileMode.Create);

            encog.Add("market-training", trainingSet);

            Console.WriteLine(@"saved");
        }