protected override double calcRefData(string code)
        {
            string year    = GlobalConfig.getInstance().curYear;
            string quarter = GlobalConfig.getInstance().curQuarter;

            int    maxYear = 0, maxQuarter = 0;
            double histData = QuarterCostPerfFilter.getMaxQuarterCostRefValueBefore(code, year, quarter, out maxYear, out maxQuarter);
            double curData  = QuarterCostPerfFilter.calcCurCostRefValue(code, year, quarter);

            return(curData / histData);
        }
Example #2
0
        public double getMaxQuarterCostRefValueBefore(string stockID, string year, string quarter)
        {
            string cacheID = makeUpCacheID(stockID, year, quarter);

            if (!m_quarterCostPerfCache.ContainsKey(cacheID))
            {
                int    maxYear = 0, maxQuarter = 0;
                double maxCostRefVal = QuarterCostPerfFilter.getMaxQuarterCostRefValueBefore(stockID, year, quarter, out maxYear, out maxQuarter);
                m_quarterCostPerfCache.Add(cacheID, maxCostRefVal);
                m_bestQuarterCostPerfQuarter.Add(stockID, maxYear.ToString() + "q" + maxQuarter.ToString());
            }

            return(m_quarterCostPerfCache[cacheID]);
        }
        protected IStockFilter generateCostFilter()
        {
            IStockFilter         filter = null;
            AppCostFilterSubType cfType = (AppCostFilterSubType)m_subType;
            string year    = GlobalConfig.getInstance().curYear;
            string quarter = GlobalConfig.getInstance().curQuarter;

            switch (cfType)
            {
            case AppCostFilterSubType.CFST_Annual:
                filter = new AnnualCostPerfFilter(year, quarter, m_param1);
                break;

            case AppCostFilterSubType.CFST_Dynamic:
                filter = new CostPerfFilter(year, quarter, m_param1);
                break;

            case AppCostFilterSubType.CFST_Quarter:
                filter = new QuarterCostPerfFilter(year, quarter, m_param1);
                break;

            case AppCostFilterSubType.CFST_Spec:
                string refYear = GlobalConfig.getInstance().defaultRefYear;
                filter = new SpecifiedCostPerfFilter(refYear, quarter, year, quarter, m_param1);
                break;

            case AppCostFilterSubType.CFST_Yoy:
                filter = new CostPerfYoyFilter(year, quarter, m_param1);
                break;

            default:
                break;
            }

            return(filter);
        }