Ejemplo n.º 1
0
        Tuple<DateTime, double> GetVol(int cur_index, IncrementData inc_data)
        {
            IList<DateTime> key_list = this.ActiveDays.Keys;
              int start_index = Math.Max(cur_index - VOL_DAYS + 1, 0);

              List<double> values = new List<double>();
              for (int i = start_index; i <= cur_index; ++i)
              {
            DateTime dt_cur = key_list[i];

            if (inc_data.Kospi.ContainsKey(dt_cur))
            {
              values.Add(inc_data.Kospi[dt_cur]);
            }
              }
              if (values.Count <= 1)
              {
            return null;
              }

              double stdev = GetStandardDeviation(values);

              return new Tuple<DateTime, double>
            (key_list[cur_index], stdev * Math.Sqrt(252));
        }
Ejemplo n.º 2
0
        void SetKospiVolData(IncrementData inc_data)
        {
            this.Kospi = new SortedList<DateTime, double>();

              IList<DateTime> key_list = this.ActiveDays.Keys;
              for (int i = 0; i < key_list.Count; ++i)
              {
            Tuple<DateTime, double> vol = GetVol(i, inc_data);
            if (vol != null)
            {
              this.Kospi.Add(vol.Item1, vol.Item2);
              //logger.Info("{0} - {1:n3}", vol.Item1, vol.Item2);
            }
              }
        }
Ejemplo n.º 3
0
 public VolData(DataFromDB data_from_db, IncrementData inc_data)
 {
     this.ActiveDays = data_from_db.ActiveDays;
       SetKospiVolData(inc_data);
 }