Beispiel #1
0
        private void Calculate_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var repository = GetDataProvider();
                var maintable  = repository.GetMainTable();

                var values = new Dictionary <string, double[]>();

                foreach (var item in maintable)
                {
                    var stockValues = repository.Get(item.Symbol, dtFirst.GetSelectedValue(), dtLast.GetSelectedValue());
                    values.Add(item.Symbol, stockValues.Select(i => (double)i.Price).ToArray());
                }

                var rc = new RiskCalculation(values, index.Text, tradeVolume.GetDouble(), risk.GetDouble(), commission.GetDouble());
                rc.Initialize();

                FillDataGrid(rc.RiskParameters);
            }
            catch (Exception ex)
            {
                this.Display(ex.Message);
            }
        }
Beispiel #2
0
        public void InitializeTest()
        {
            var    historicalPrices = CsvUtils.ReadAllDataFrom(HISTORICAL_PRICES_PATH, 4, false);
            string indexSymbol      = "SP500";

            Assert.AreEqual(true, historicalPrices.ContainsKey(indexSymbol));

            RiskCalculation rc = new RiskCalculation(historicalPrices, indexSymbol, 100000.00, 0.5, 0.15);

            rc.Initialize(0);

            Assert.AreEqual(21, rc.RiskParameters.Count);

            RiskParameters jpm = rc.RiskParameters["JPM"];

            Assert.AreEqual(70.8198, jpm.Regression.Beta, 0.0001);
            Assert.AreEqual(0.8506, jpm.Regression.R, 0.0001);
            Assert.AreEqual(0.0094, jpm.Weight, 0.0001);
        }