Example #1
0
    // Choose which builder you want
    public static Tuple <ISde, FdmBase, IRng> ChooseBuilder(int n,
                                                            Tuple <double, double, double, double, double, double, int> optionData)
    {// Factory method to choose your builder
        MCPricerApplication.print(optionData);

        MCBuilder <ISde, FdmBase, IRng> builder;
        MCBuilder <ISde, FdmBase, IRng> builder2;

        int c = 1;

        Console.Write("1. MCBuilder, 2. Default Builder ");
        c = Convert.ToInt32(Console.ReadLine());

        if (1 == n)
        {
            Console.Write("Chosen 1. MCBuilder ");
            builder = new MCBuilder <ISde, FdmBase, IRng>(optionData);
            return(builder.Parts());
        }
        else
        {
            Console.Write("Chosen 2. MCDefaultBuilder ");
            builder2 = new MCBuilder <ISde, FdmBase, IRng>(optionData);
            return(builder2.Parts());
        }
    }
Example #2
0
    // Choose which builder you want
    public static Builder <ISde <double>, FdmBase <double>, IRng <double> > ChooseBuilder(int n)
    {
        double r    = 0.08;
        double v    = 0.3;
        double div  = 0.0;
        double IC   = 60.0;
        double T    = 0.25;
        double K    = 65.0;
        double beta = 1.0;

        /*     double r = 0.05;
         *   double v = 0.2;
         *   double div = 0.025;
         *   double IC = 100.0;
         *   double T = 1.0;
         *   double K = 100.0;
         *   double beta = 1.0;// 2.0 / 3.0;*/

        /*     double r = 0.1;
         *   double v = 0.2;
         *   double div = 0.0;
         *   double IC = 100.0;
         *   double T = 1.0;
         *   double K = 100.0;
         *   double beta = 1.0;*/
        Tuple <double, double, double, double, double, double> data = new Tuple <double, double, double, double, double, double>(r, v, div, IC, T, beta);

        MCBuilder <ISde <double>, FdmBase <double>, IRng <double> > builder = new MCBuilder <ISde <double>, FdmBase <double>, IRng <double> >(data);

        return(builder.Parts);
    }
Example #3
0
    public static void Main()
    {
        // Get data from Source
        Tuple <double, double, double, double, double, double, int> data = GetOptionData();

        Console.WriteLine("Choose builder");
        // Choose which builder to use
        //   int choice = 2;
        //  Tuple<ISde, FdmBase, IRng> parts = BuilderFactory.ChooseBuilder(choice, data);
        MCBuilder <ISde, FdmBase, IRng> builder = new MCBuilder <ISde, FdmBase, IRng>(data);
        var        parts  = builder.Parts();
        var        path   = builder.GetPaths();
        var        finish = builder.GetEnd();
        MCMediator mcp    = new MCMediator(parts, path, finish, data.Item7);

        mcp.start();

        // Nestes tuples

        /*    var t = Tuple.Create(1, 1);
         *  var t2 = Tuple.Create(t,t);
         *  Console.WriteLine(t2.Item1.Item1);*/
    }