protected IStockFilter generateInIndustryFilter() { IStockFilter filter = null; NumericStockFilter comparer = null; AppInIndustryFilterSubType indType = (AppInIndustryFilterSubType)m_subType; string year = GlobalConfig.getInstance().curYear; string quarter = GlobalConfig.getInstance().curQuarter; switch (indType) { case AppInIndustryFilterSubType.IIFST_CostAnnual: comparer = new AnnualCostPerfFilter(year, quarter, 0.0); break; case AppInIndustryFilterSubType.IIFST_CostDynamic: comparer = new CostPerfFilter(year, quarter, 0.0); break; case AppInIndustryFilterSubType.IIFST_PEDynamic: comparer = new DynamicPEFilter(0.0); break; case AppInIndustryFilterSubType.IIFST_PEStatic: comparer = new PEFilter(0.0); break; case AppInIndustryFilterSubType.IIFST_ROE: comparer = new ROEFilter(year, quarter, 0.0); break; case AppInIndustryFilterSubType.IIFST_NetProfitRatio: comparer = new NetProfitRatioFilter(year, quarter, 0.0); break; default: break; } if (comparer != null) { filter = new AvgValInIndustryFilter(comparer, m_param1); } return(filter); }
static void Main(string[] args) { GlobalConfig.getInstance().init(); StockPool.getInstance().init(); OptionalStocks.getInstance().init(); //double ratio = calcCostPerfInHistory("sh603067"); //double r2 = calcCostPerfInHistory("sh600995"); //StockRealTimeData rd = StockDataCenter.getInstance().queryRealTimeData("sz000662"); double pe = 0; DynamicPEFilter.calcDynamicPE("sz002551", out pe); while (true) { Thread.Sleep(1000); } }
protected IStockFilter generatePEFilter() { IStockFilter filter = null; AppPEFilterSubType peType = (AppPEFilterSubType)m_subType; switch (peType) { case AppPEFilterSubType.PEFST_Dynamic: filter = new PEFilter(m_param1); break; case AppPEFilterSubType.PEFST_Static: filter = new DynamicPEFilter(m_param1); break; default: break; } return(filter); }
public override void init(string stockID, string beginDate, string endDate) { base.init(stockID, beginDate, endDate); string year = GlobalConfig.getInstance().curYear; string curYear = year; string quarter = GlobalConfig.getInstance().curQuarter; string curQuarter = quarter; if (m_basedOnAnnual) { if (int.Parse(quarter) < 4) { year = (int.Parse(year) - 1).ToString(); quarter = "4"; } } AvgValInIndustryFilter peAvgFlt = new AvgValInIndustryFilter(new PEFilter(0.0), 0.0); peAvgFlt.calcAvgValInIndustry(m_code, out m_peIndustry); AvgValInIndustryFilter roeAvgFlt = new AvgValInIndustryFilter(new ROEFilter(year, quarter, 0.0), 0.0); roeAvgFlt.calcAvgValInIndustry(m_code, out m_roeIndustry); AvgValInIndustryFilter nprAvgFlt = new AvgValInIndustryFilter(new NetProfitRatioFilter(year, quarter, 0.0), 0.0); nprAvgFlt.calcAvgValInIndustry(m_code, out m_nprIndustry); m_roe = ROEFilter.getStockROE(m_code, year, quarter); m_netProfitRatio = NetProfitRatioFilter.getStockNetProfitRatio(m_code, year, quarter); m_histCost = StockDataCache.getInstance().getMaxAnnualCostRefValueBefore(m_code, curYear); m_curCost = CostPerfFilter.calcCurCostRefValue(m_code, curYear, curQuarter); m_costRatio = m_curCost / m_histCost; DynamicPEFilter.calcDynamicPE(m_code, out m_dynamicPE); }