Esempio n. 1
0
        public List <AnalyzeData> QueryAnalyze(string level, string tag, string old, string daybefore, string industry, string location, string type)
        {
            tag = BizCommon.ProcessWeekend(tag);
            int      level_val   = 1;
            DateTime now         = DateTime.Now;
            int      days_before = Constant.DAYS_BEFORE;
            int      o           = -12;

            if (string.IsNullOrEmpty(tag))
            {
                tag = BizCommon.ParseToString(now);
            }
            else
            {
                now = BizCommon.ParseToDate(tag);
            }
            if (!string.IsNullOrEmpty(daybefore))
            {
                days_before = Int32.Parse(daybefore);
            }
            if (!string.IsNullOrEmpty(level))
            {
                level_val = Int32.Parse(level);
            }
            if (!string.IsNullOrEmpty(old))
            {
                o = -Int32.Parse(old);
            }

            DateTime end_date   = now.AddDays((double)(-days_before));
            DateTime start_date = end_date.AddMonths(o);


            return(BizApi.QueryAnalyzeData(tag, start_date, end_date, level_val, industry, location, type));
        }
Esempio n. 2
0
        public static bool Analyze(string sid, DateTime start, DateTime end)
        {
            List <LineData> list = BizApi.QueryLineByDay(sid, start, end);

            //停盘
            if (list.Count == 0)
            {
                //Console.WriteLine(sid + " close");
                return(false);
            }
            int      peekindexclose   = 0;
            LineData peek             = GetClosePeek(list, out peekindexclose);
            int      valleyindexclose = 0;
            LineData vally            = GetCloseValley(list, out valleyindexclose);
            int      valleyindexlow2  = 0;
            LineData vally2           = GetLowValley2(list, peekindexclose, out valleyindexlow2);

            //如果时间太短,调整不够
            //if (peekindexclose < valleyindexclose || peekindexclose > valleyindexlow2) return false;
            //if (peekindexclose - valleyindexclose < 3 || valleyindexlow2 - peekindexclose < 3) return false;

            bool shangzhang = judgeShangzhang(list, peekindexclose, valleyindexclose);

            bool xiadie = judgeXiajiang(list, peekindexclose, valleyindexlow2);

            bool liangneng = judgeSuoliang(list, peekindexclose, valleyindexclose);

            Console.WriteLine("上涨,下跌,缩量" + shangzhang + "," + xiadie + "," + liangneng);
            return(shangzhang && xiadie && liangneng);
        }
Esempio n. 3
0
        public List <AnalyzeData> QueryAnalyzeStatistics(string level, string tag, string type)
        {
            tag = BizCommon.ProcessWeekend(tag);
            int level_val = 1;

            //DateTime end_date = DateTime.Now;
            if (!string.IsNullOrEmpty(level))
            {
                level_val = Int32.Parse(level);
            }
            if (!string.IsNullOrEmpty(tag))
            {
                tag = BizCommon.ParseToString(DateTime.Now);
            }

            if (string.IsNullOrEmpty(type))
            {
                return(BizApi.QueryAnalyzeStatisticsByName(tag, level_val));
            }
            if (type.Equals("name"))
            {
                return(BizApi.QueryAnalyzeStatisticsByName(tag, level_val));
            }
            if (type.Equals("industry"))
            {
                return(BizApi.QueryAnalyzeStatisticsByIndustry(tag, level_val));
            }
            return(null);
        }
Esempio n. 4
0
        public static void ImportFileByReaderOld(string sid, string date, TextReader reader)
        {
            //string sid = file.Substring(file.LastIndexOf("\\") + 1);
            StockLog.Log.Debug(sid + " start ");
            DateTime beginning = DateTime.Now;

            BizApi.CreateDataTable(sid);
            string file = sid + "_" + date;

            try
            {
                //decimal weight = BizApi.QueryWeight(sid);
                decimal[] extractlist = BizApi.QueryExtractList(sid);
                DateTime  lastupdate  = BizApi.QueryExtractLastUpdate(sid);

                List <BasicData> list = ReadCsvByReader(sid, date, reader, extractlist, lastupdate);

                foreach (BasicData bd in list)
                {
                    //Console.WriteLine(bd.time+" "+bd.sellshare);
                    BizApi.InsertBasicData(bd);
                }
                TimeSpan end = DateTime.Now - beginning;

                StockLog.Log.Debug(file + " complete at " + end);
            }
            catch
            {
                StockLog.Log.Error(file + " import fail");
            }
        }
Esempio n. 5
0
        public static void ImportFileByReader(string sid, string date, TextReader reader)
        {
            //string sid = file.Substring(file.LastIndexOf("\\") + 1);
            StockLog.Log.Debug(sid + " start ");
            DateTime beginning = DateTime.Now;

            //BizApi.CreateDataTable(sid);
            //try
            //{
            //decimal weight = BizApi.QueryWeight(sid);
            //decimal[] extractlist = BizApi.QueryExtractList(sid);
            decimal[] extractlist = new decimal[4];
            extractlist[0] = 0;
            extractlist[1] = 500;
            extractlist[2] = 1000;
            extractlist[3] = 2000;

            DateTime lastupdate = DateTime.MinValue;    //BizApi.QueryExtractLastUpdate(sid);

            List <BasicData> list = ReadCsvByReader(sid, date, reader, extractlist, lastupdate);

            foreach (BasicData bd in list)
            {
                if (bd.big == 0)
                {
                    try
                    {
                        BizApi.InsertBasicData(bd);
                    }
                    catch
                    {
                        StockLog.Log.Error(sid + " " + bd.time + " insert fail");
                    }
                    //Console.WriteLine(sid + " insert " + bd.time + " " + bd.big);
                }
                else
                {
                    //Console.WriteLine(sid + " update " + bd.time + " " + bd.big);

                    try
                    {
                        BizApi.UpdateBasicDataForBigDeal(bd);
                    }
                    catch
                    {
                        StockLog.Log.Error(sid + " " + bd.time + " update fail");
                    }
                }
            }
            TimeSpan end = DateTime.Now - beginning;

            //StockLog.Log.Debug(sid + " complete at " + end);
            //}
            //catch
            //{
            //    StockLog.Log.Error(sid + " import fail");
            //}
        }
Esempio n. 6
0
        public string QueryMaxMin(string id, string range)
        {
            int r = 24;

            if (string.IsNullOrEmpty(range))
            {
                r = int.Parse(range);
            }
            return(BizApi.QueryMaxMinPriceByRange(id, r));
        }
Esempio n. 7
0
 //[WebGet(UriTemplate = "info/industry", ResponseFormat = WebMessageFormat.Json)]
 public string[] QueryInfoByAllIndustry(string type)
 {
     if (type.Equals("L"))
     {
         return(BizApi.QueryAllLocation());
     }
     else
     {
         return(BizApi.QueryAllIndustry());
     }
 }
Esempio n. 8
0
 public List <ShangjiaData> QueryShangjiaByName(string name, string type)
 {
     if (!string.IsNullOrEmpty(type))
     {
         return(BizApi.QueryShangjiaByName(name, int.Parse(type)));
     }
     else
     {
         return(BizApi.QueryShangjiaByName(name, 1));
     }
 }
Esempio n. 9
0
        public static void DownloadSingle(string sid)
        {
            string startDate = BizApi.QueryExtractLastUpdate(sid).AddDays(1).ToString("yyyy-MM-dd");
            string endDate   = StockUtil.FormatDate(DateTime.Now);

            DataDownload.DownloadDataToCsvByReader(sid, startDate, endDate);
            if (!Constant.CLEAN)
            {
                StockUtil.UpdateDownloadTimeStamp(sid, endDate);
            }
            StockLog.Log.Info(sid + " updated " + startDate + " " + endDate);
        }
Esempio n. 10
0
        public static void Main(string[] args)
        {
            List <InfoData> iflist = BizApi.QueryInfoAll();

            foreach (InfoData id in iflist)
            {
                InfoExtData ifd = QueryInfoExtFromEastMoney(id.sid);
                BizApi.InsertInfoExt(ifd);
                //Console.WriteLine(ifd.sid + " infoext inserted.");
            }

            //InfoExtData ifd = QueryInfoExtFromEastMoney("sh600339");
        }
Esempio n. 11
0
        public static void Main(string[] args)
        {
            //string stock = "sz000333";
            //InfoData id = BuildInfo(stock);
            //Console.WriteLine(id);
            // BizApi.InsertInfo(id);
            IList <InfoData> list = GetList();

            foreach (InfoData id in list)
            {
                BizApi.InsertInfo(id);
            }
        }
Esempio n. 12
0
        public string QueryAnalyze1(string sid, string level, string tag, string old, string daybefore)
        {
            tag = BizCommon.ProcessWeekend(tag);
            int      level_val   = 1;
            DateTime now         = DateTime.Now;
            int      i_daybeofre = 0;

            if (string.IsNullOrEmpty(tag))
            {
                tag = BizCommon.ParseToString(now);
            }
            else
            {
                now = BizCommon.ParseToDate(tag);
            }
            if (string.IsNullOrEmpty(daybefore))
            {
                i_daybeofre = 0;
            }
            else
            {
                i_daybeofre = int.Parse(daybefore);
            }
            if (!string.IsNullOrEmpty(level))
            {
                level_val = Int32.Parse(level);
            }
            if (string.IsNullOrEmpty(old))
            {
                old = Constant.ANALYZE_TIME;
            }

            string vv = "";

            string[] list = old.Split('-');
            foreach (string v in list)
            {
                int o = -Int32.Parse(v);


                DateTime end_date   = now.AddDays(-i_daybeofre);
                DateTime start_date = end_date.AddMonths(o);


                vv += BizApi.QueryAnalyzeDataValue(sid, tag, start_date, end_date, level_val) + ",";
            }

            return(vv.Substring(0, vv.Length - 1));;
        }
Esempio n. 13
0
        public static void GenerateAll(string path, string tag)
        {
            tag  = "20150415";
            path = @"G:\github\StockAnalyzer\web\";
            string temp = path + @"temp\";

            if (!Directory.Exists(temp))
            {
                Directory.CreateDirectory(temp);
            }
            string[] old_list      = Constant.ANALYZE_TIME.Split('-');
            string[] type_list     = { "CYB", "ZXB", "ZB", "XPG" };
            string[] industry_list = BizApi.QueryAllIndustry();
            string[] location_list = BizApi.QueryAllLocation();

            foreach (string old in old_list)
            {
                foreach (string type in type_list)
                {
                    string haha     = Generate(Constant.ANALYZE_LEVEL.ToString(), tag, old, Constant.DAYS_BEFORE.ToString(), "", "", type);
                    string template = Common.FileUtil.ReadFile(path + "analyzetemplate.html");
                    template = template.Replace("PLACEHOLDER", haha);
                    string filename = string.Format("analyze_{0}_{1}.html", old, type);
                    Common.FileUtil.WriteFile(temp + filename, template);
                    Console.WriteLine();
                }

                foreach (string industry in industry_list)
                {
                    string haha     = Generate(Constant.ANALYZE_LEVEL.ToString(), tag, old, Constant.DAYS_BEFORE.ToString(), industry, "", "");
                    string template = Common.FileUtil.ReadFile(path + "analyzetemplate.html");
                    template = template.Replace("PLACEHOLDER", haha);
                    string filename = string.Format("analyze_{0}_{1}.html", old, industry);
                    Common.FileUtil.WriteFile(temp + filename, template);
                    Console.WriteLine();
                }

                foreach (string location in location_list)
                {
                    string haha     = Generate(Constant.ANALYZE_LEVEL.ToString(), tag, old, Constant.DAYS_BEFORE.ToString(), "", location, "");
                    string template = Common.FileUtil.ReadFile(path + "analyzetemplate.html");
                    template = template.Replace("PLACEHOLDER", haha);
                    string filename = string.Format("analyze_{0}_{1}.html", old, location);
                    Common.FileUtil.WriteFile(temp + filename, template);
                    Console.WriteLine();
                }
            }
        }
Esempio n. 14
0
        public static void exec(int day_before)
        {
            DateTime now   = DateTime.Now;
            string   tag   = now.ToString("yyyyMMdd");
            DateTime end   = now.AddDays(day_before);
            DateTime start = new DateTime();

            string[] list = Constant.ANALYZE_TIME.Split('-');

            BizApi.DeleteAnalyzeData(tag);
            foreach (string i in list)
            {
                start = end.AddMonths(-int.Parse(i));
                BizApi.InsertAnalyzeData(tag, start, end);
            }
        }
Esempio n. 15
0
        public static void Main(string[] args)
        {
            // BizData.QueryByWeek("sz000830", 500, new DateTime(2015, 1, 1), new DateTime(2015, 3, 3));


            //List<BasicData> list = ImportRawData.ReadCsvFolder(@"D:\workspace\myproject\sz000830", 2000);
            //foreach (BasicData bd in list)
            //{
            //    //Console.WriteLine(bd.time+" "+bd.sellshare);
            //    BizData.InsertTable(bd);
            //}

            IList <BasicData> list = BizApi.QueryByWeek("sz000830", 2000, new DateTime(2014, 7, 1), new DateTime(2014, 12, 12));;

            Console.WriteLine(BizApi.QueryExtractLastUpdate("sz000830"));
        }
Esempio n. 16
0
        public IList <BasicData> QueryData(string id, string big, string type, string start, string end)
        {
            DateTime          endDate, startDate;
            IList <BasicData> list;

            if (string.IsNullOrEmpty(end))
            {
                endDate = DateTime.Now;
            }
            else
            {
                endDate = BizCommon.ParseToDate(end);
            }
            if (string.IsNullOrEmpty(big))
            {
                big = "1000";
            }
            if (string.IsNullOrEmpty(type))
            {
                type = "w";
            }
            if (string.IsNullOrEmpty(start))
            {
                startDate = new DateTime(2014, 1, 1);
            }
            else
            {
                startDate = BizCommon.ParseToDate(start);
            }

            switch (type)
            {
            case "m":
                list = BizApi.QueryByMonth(id, Int32.Parse(big), startDate, endDate);
                break;

            case "d":
                list = BizApi.QueryByDay(id, Int32.Parse(big), startDate, endDate);
                break;

            default:
                list = BizApi.QueryByWeek(id, Int32.Parse(big), startDate, endDate);
                break;
            }

            return(list);
        }
Esempio n. 17
0
        public static void ImportFileByReader(string sid, string date, TextReader reader)
        {
            //string sid = file.Substring(file.LastIndexOf("\\") + 1);
            StockLog.Log.Debug(sid + " start ");
            DateTime beginning = DateTime.Now;

            //BizApi.CreateDataTable(sid);
            //try
            //{
            //decimal weight = BizApi.QueryWeight(sid);
            decimal[] ext_list    = BizApi.QueryExtractList(sid);
            decimal[] extractlist = new decimal[ext_list.Length + 1];

            for (int i = 0; i < ext_list.Length; i++)
            {
                extractlist[i] = ext_list[i];
            }
            extractlist[ext_list.Length] = 0;
            //decimal[] extractlist = new decimal[4];
            //extractlist[0] = 0;
            //extractlist[1] = 500;
            //extractlist[2] = 1000;
            //extractlist[3] = 2000;
            try
            {
                if (sid == "sh600048")
                {
                    StockLog.Log.Debug(sid + " complete at ");
                }
                DateTime lastupdate = BizApi.QueryExtractLastUpdate(sid);

                List <BasicData> list = ReadCsvByReader(sid, date, reader, extractlist, lastupdate);

                foreach (BasicData bd in list)
                {
                    BizApi.InsertBasicData(bd);
                }
                TimeSpan end = DateTime.Now - beginning;

                StockLog.Log.Debug(sid + " complete at " + end);
            }
            catch (Exception e)
            {
                StockLog.Log.Error(sid + " import fail");
            }
        }
Esempio n. 18
0
        public static void Auto(int totalThread = 2)
        {
            //List<InfoData> total = new List<InfoData>();

            //total.Add(new InfoData() { sid = "sh600009" });
            //total.Add(new InfoData() { sid = "sh600010" });
            List <InfoData> total = BizApi.QueryInfoAll();
            int             count = total.Count;

            //int totalThread = 10;
            int range = total.Count / totalThread;
            int start = -1;

            for (int i = 0; i < totalThread; i++)
            {
                new Thread(new ParameterizedThreadStart(Process)).Start(total.GetRange(start + 1, range));
                start = range * i;
            }
        }
Esempio n. 19
0
        public static void Main(string[] args)
        {
            List <InfoData> list = BizApi.QueryInfoRzrq();

            //List<InfoData> list = new List<InfoData>() { BizApi.QueryInfoById("sh600157") };
            foreach (InfoData id in list)
            {
                //Console.WriteLine(id.sid + " processed");
                try
                {
                    if (Analyze(id.sid, start, end))
                    {
                        Console.WriteLine(id.sid + " selected!!!");
                    }
                }
                catch
                {
                    //Console.WriteLine(id.sid + " failed");
                    //throw;
                }
            }
        }
Esempio n. 20
0
        static void Main(string[] args)
        {
            //902802
            decimal x3 = 121.557445M;
            decimal y3 = 31.213961M;

            // MapData list = biz.BizApi.QueryFromOrig(1, x, y, x3, y3);
            //IEnumerable<Point> p_list = BresLine.RenderLine(new Point(-2, 2), new Point(-1, 3));
            //List<MapData> l = biz.BizApi.QueryByXY(1, x, y, x1, y1, x2, y2);

            //biz.BizApi.InsertShangjiaMap("shangjia1", "121.497500,31.316255|121.497500,31.302255|121.497500,31.18025", x, y);

            List <ShangjiaData> tt = biz.BizApi.QueryShangjiaByName("test", 0);


            List <MapData> sourceList = new List <MapData>();

            foreach (ShangjiaData aa in tt)
            {
                sourceList.Add(new MapData()
                {
                    lng = aa.lng,
                    lat = aa.lat
                });
            }

            List <MapData> area = BizApi.CompueteGrid(sourceList);



            foreach (MapData md in area)
            {
                BizApi.InsertShangjiaMap(md, "test", 1);
            }

            Console.WriteLine();
        }
Esempio n. 21
0
        public List <AnalyzeData> QueryAnalyzeRetry(string level, string tag, string old, string daybefore, string industry, string location, string type)
        {
            DateTime           now  = DateTime.Now;
            List <AnalyzeData> list = new List <AnalyzeData>();
            int retry = 0;

            while (true && retry < 10)
            {
                DateTime end_date   = now.AddDays((double)(-Int32.Parse(daybefore)));
                DateTime start_date = end_date.AddMonths(-Int32.Parse(old));

                list = BizApi.QueryAnalyzeData(tag, start_date, end_date, Int32.Parse(level), industry, location, type);
                if (list.Count == 0)
                {
                    retry++;
                    now = now.AddDays(-retry);
                }
                else
                {
                    break;
                }
            }
            return(list);
        }
Esempio n. 22
0
 public string QueryLatestPrice(string id, string tag)
 {
     return(BizApi.QueryLatestPrice(id, tag));
 }
Esempio n. 23
0
 public string QueryLastUpdate(string id)
 {
     return(BizCommon.ParseToString(BizApi.QueryExtractLastUpdate(id)));
 }
Esempio n. 24
0
        public static string Generate(string level, string tag, string old, string daybefore, string industry, string location, string type)
        {
            DateTime now        = BizCommon.ParseToDate(tag);
            DateTime end_date   = now.AddDays((double)(-Int32.Parse(daybefore)));
            DateTime start_date = end_date.AddMonths(-Int32.Parse(old));

            List <AnalyzeData> data = BizApi.QueryAnalyzeData(tag, start_date, end_date, Int32.Parse(level), industry, location, type);

            var newRow = "";

            newRow += "Start:" + BizCommon.ParseToString(start_date) + "  End:" + BizCommon.ParseToString(end_date);

            for (int i = 0; i < data.Count; i++)
            {
                newRow += "<tr>";
                var big = data[i].big;
                var sid = data[i].sid;


                var link = "<a target='_parent' href='/web/single_dynamic.html?sid=" + sid + "&big=" + big + "'>" + sid + "</a>";
                newRow += "<td>" + link + "</td>";
                newRow += "<td>" + data[i].name + "</td>";

                var ind1 = data[i].firstlevel;
                var ind2 = data[i].secondlevel;

                var ind_link1 = "<a target='_parent' href='/web/company.html?industry1=" + ind1 + "'>" + ind1 + "</a>";
                newRow += "<td>" + ind_link1 + "</td>";
                var ind_link2 = "<a target='_parent' href='/web/company.html?industry1=" + ind1 + "&industry2=" + ind2 + "'>" + ind2 + "</a>";
                newRow += "<td>" + ind_link2 + "</td>";

                var enddate   = data[i].enddate;
                var startdate = data[i].startdate;



                //newRow += "<td>" + start_date + "</td>";
                //newRow += "<td>" + end_date + "</td>";

                //排名情况
                var y = "/rest/rest/analyzevalue?level=" + level + "&tag=" + tag + "&sid=" + sid + "&daybefore=" + daybefore;

                newRow += "<td>" + QueryAnalyze1(sid, level, tag, old, daybefore) + "</td>";
                //newRow += "<td>" + data[i].rank + "</td>";
                newRow += "<td>" + data[i].value + "</td>";

                //财务信息

                InfoExtData data1 = BizApi.QueryInfoExtById(sid);

                newRow += "<td>" + data1.shiyinglv + "</td>";
                newRow += "<td>" + data1.shijinglv + "</td>";
                newRow += "<td>" + data1.jingzichan + "</td>";
                newRow += "<td>" + data1.shourutongbi + "</td>";
                newRow += "<td>" + data1.jingliruntongbi + "</td>";
                newRow += "<td>" + data1.meiguweifenpeilirun + "</td>";
                newRow += "<td>" + data1.zongguben + "</td>";
                newRow += "<td>" + data1.liutonggu + "</td>";

                //最新价格
                newRow += "<td>" + BizApi.QueryLatestPrice(sid, tag) + "</td>";

                //价格范围
                newRow += "<td>" + BizApi.QueryMaxMinPriceByRange(sid, 12) + "</td>";
            }

            return(newRow);
        }
Esempio n. 25
0
 public InfoData QueryInfoById(string id)
 {
     return(BizApi.QueryInfoById(id));
 }
Esempio n. 26
0
 public List <InfoData> QueryInfoByLocation(string location)
 {
     return(BizApi.QueryInfoByLocation(location));
 }
Esempio n. 27
0
 public string QueryLineDataForQingyou(string date, string stockno, string type)
 {
     return(BizApi.QueryStockDataForQingyou(BizCommon.ParseToDate(date), stockno, type));
 }
Esempio n. 28
0
 public List <InfoData> QueryInfoByIndutry(string industry1)
 {
     return(BizApi.QueryInfoByIndustry(industry1));
 }
Esempio n. 29
0
 public List <InfoData> QueryInfoByRzrq()
 {
     return(BizApi.QueryInfoRzrq());
 }
Esempio n. 30
0
 public List <InfoData> QueryInfoByIndutry2(string industry1, string industry2)
 {
     return(BizApi.QueryInfoByIndustry2(industry1, industry2));
 }