Exemple #1
0
 public TMarginalRun(Run runData, MarginalGas gas, Timestep emissionyear, string outputPath, Parameters parameters, Random rand = null)
 {
     _parameters = parameters;
     _run = runData;
     _gas = gas;
     _emissionyear = emissionyear;
     _outputPath = outputPath;
     _rand = rand;
 }
 public TMarginalRun(Run runData, MarginalGas gas, Timestep emissionyear, string outputPath, Parameters parameters, Random rand = null)
 {
     _parameters   = parameters;
     _run          = runData;
     _gas          = gas;
     _emissionyear = emissionyear;
     _outputPath   = outputPath;
     _rand         = rand;
 }
Exemple #3
0
 public TMarginalRun(MarginalGas gas, Timestep emissionyear, string outputPath, Parameters parameters, string weightingCombination, Random rand = null)
 {
     _parameters               = parameters;
     _gas                      = gas;
     _emissionyear             = emissionyear;
     _outputPath               = outputPath;
     _rand                     = rand;
     this.WeightingCombination = weightingCombination;
     YearsToAggregate          = 1000;
 }
Exemple #4
0
 public TMarginalRun(MarginalGas gas, Timestep emissionyear, string outputPath, Parameters parameters, string weightingCombination, Random rand = null)
 {
     _parameters = parameters;
     _gas = gas;
     _emissionyear = emissionyear;
     _outputPath = outputPath;
     _rand = rand;
     this.WeightingCombination = weightingCombination;
     YearsToAggregate = 1000;
 }
Exemple #5
0
        private static double GetSCGas(MarginalGas gas, double prtp, bool equityWeights)
        {
            var parameters = new Parameters();

            parameters.ReadDirectory(@"Data\Base");

            var m = new MarginalDamage3()
            {
                EmissionYear     = Timestep.FromYear(2010),
                Eta              = 1.0,
                Gas              = gas,
                Parameters       = parameters.GetBestGuess(),
                Prtp             = prtp,
                UseEquityWeights = equityWeights
            };

            double scc = m.Start();

            return(scc);
        }
Exemple #6
0
        private static Tuple <double, double> GetSCGasMonteCarlo(MarginalGas gas, double prtp, bool equityWeights, int monteCarloRuns)
        {
            var parameters = new Parameters();

            parameters.ReadDirectory(@"Data\Base");

            var fm = FundModel.GetModel();

            fm.Run(parameters.GetBestGuess());

            var rand = new jp.takel.PseudoRandom.MersenneTwister();

            var sccs = new System.Collections.Concurrent.ConcurrentBag <double>();

            Parallel.ForEach(parameters.GetRandom(rand, monteCarloRuns), pv =>
            {
                var m = new MarginalDamage3()
                {
                    EmissionYear     = Timestep.FromYear(2010),
                    Eta              = 1.0,
                    Gas              = gas,
                    Parameters       = pv,
                    Prtp             = prtp,
                    UseEquityWeights = equityWeights,
                    YearsToAggregate = 290
                };

                double scc = m.Start();

                sccs.Add(scc);
            });

            var stats = new DescriptiveStatistics(sccs);

            return(Tuple.Create(stats.Mean, Math.Sqrt(stats.Variance) / Math.Sqrt(stats.Count)));
        }
        private static Tuple<double, double> GetSCGasMonteCarlo(MarginalGas gas, double prtp, bool equityWeights, int monteCarloRuns)
        {
            var parameters = new Parameters();
            parameters.ReadDirectory(@"Data\Base");

            var fm = FundModel.GetModel();
            fm.Run(parameters.GetBestGuess());

            var rand = new jp.takel.PseudoRandom.MersenneTwister();

            var sccs = new System.Collections.Concurrent.ConcurrentBag<double>();

            Parallel.ForEach(parameters.GetRandom(rand, monteCarloRuns), pv =>
            {
                var m = new MarginalDamage3()
                {
                    EmissionYear = Timestep.FromYear(2010),
                    Eta = 1.0,
                    Gas = gas,
                    Parameters = pv,
                    Prtp = prtp,
                    UseEquityWeights = equityWeights,
                    YearsToAggregate = 290
                };

                double scc = m.Start();

                sccs.Add(scc);
            });

            var stats = new DescriptiveStatistics(sccs);

            return Tuple.Create(stats.Mean, Math.Sqrt(stats.Variance) / Math.Sqrt(stats.Count));
        }
        private static double GetSCGas(MarginalGas gas, double prtp, bool equityWeights)
        {
            var parameters = new Parameters();
            parameters.ReadDirectory(@"Data\Base");

            var m = new MarginalDamage3()
                {
                    EmissionYear = Timestep.FromYear(2010),
                    Eta = 1.0,
                    Gas = gas,
                    Parameters = parameters.GetBestGuess(),
                    Prtp = prtp,
                    UseEquityWeights = equityWeights
                };

            double scc = m.Start();

            return scc;
        }