コード例 #1
0
        static void Main()
        {
            // can use interface but in that case only methods declared in interface can be used
            //IPredictingStrategy strategy1 = new KNNPredictingStrategy();
            //strategy1.Work();
            KNNPredictingStrategy strategy1 = new KNNPredictingStrategy();

            strategy1.Work();                                                              // method not declared in interface
            StockPricePredictor stockPricePredictor1 = new StockPricePredictor(strategy1); // passing a strategy to context
            double result1 = stockPricePredictor1.CalculatePrediction();

            Console.WriteLine("KNN: " + result1);

            LinearRegressionStrategy strategy2            = new LinearRegressionStrategy();
            StockPricePredictor      stockPricePredictor2 = new StockPricePredictor(strategy2); // passing a strategy to context
            double result2 = stockPricePredictor2.CalculatePrediction();

            Console.WriteLine("Linear regression: " + result2);

            KMeansStrategy      strategy3            = new KMeansStrategy();
            StockPricePredictor stockPricePredictor3 = new StockPricePredictor(strategy3);    // passing a strategy to context
            double result3 = stockPricePredictor3.CalculatePrediction();

            Console.WriteLine("K-means: " + result3);
        }
コード例 #2
0
ファイル: SampleData.cs プロジェクト: Gabrieltay/OM
        public static List <LinearRegressionStrategy> GetLrosSampleData()
        {
            List <LinearRegressionStrategy> nLROSList = new List <LinearRegressionStrategy>();

            Stock nRsxStock = new Stock("RSX", "VanEck Vectors Russia ETF", "NYSE");

            Option nRsxOption1 = new Option(nRsxStock, Option.ContractType.PUT, Option.ActionType.SELL,
                                            new DateTime(2016, 11, 18), 1, 19.00, 0.80, new DateTime(2016, 10, 21));

            Option nRsxOption2 = new Option(nRsxStock, Option.ContractType.PUT, Option.ActionType.SELL,
                                            new DateTime(2016, 12, 17), 1, 19.00, 0.74, new DateTime(2016, 11, 18));

            Option nRsxOption3 = new Option(nRsxStock, Option.ContractType.PUT, Option.ActionType.BUY,
                                            new DateTime(2016, 12, 17), 1, 19.00, 0.54, new DateTime(2016, 12, 15));

            LinearRegressionStrategy nLROS_RSX = new LinearRegressionStrategy(nRsxStock);

            nLROS_RSX.Add(nRsxOption1);
            nLROS_RSX.Add(nRsxOption2);
            nLROS_RSX.Add(nRsxOption3);

            nLROSList.Add(nLROS_RSX);

            return(nLROSList);
        }