コード例 #1
0
ファイル: DataAPI.cs プロジェクト: nick-nh/QuantPlus
        public object[,] FundamentalBalanceSheetRange(string securityID,
                                                      DateUtilities.CALDate startDate,
                                                      DateUtilities.CALDate endDate,
                                                      string fieldsStr,
                                                      string reportType)
        {
            Dictionary <string, string> tmp = server_config[server];
            string requestString            = tmp["host"];

            requestString = (tmp["port"] != "" ? requestString + ":" + tmp["port"] : requestString);
            requestString = requestString + api_config["FundamentalBalanceSheetRange"][server];
            requestString = requestString + "stockID=" + securityID;
            requestString = requestString + "&startDate=" + startDate.plainRepr();
            requestString = requestString + "&endDate=" + endDate.plainRepr();
            requestString = requestString + "&reportType=" + reportType;
            requestString = requestString + "&field=";
            string[] fields = fieldsStr.Split(',');
            if (fields.Length != 0)
            {
                foreach (object field in fields)
                {
                    string tmpStr = field.ToString();
                    requestString = requestString + tmpStr + ",";
                }
                requestString = requestString.Remove(requestString.Length - 1);
            }
            WebRequest  wReq       = System.Net.WebRequest.Create(requestString);
            WebResponse wResp      = wReq.GetResponse();
            Stream      respStream = wResp.GetResponseStream();

            //return requestString;
            return(CSVHelper.parseCSVString(respStream));
        }
コード例 #2
0
ファイル: DateUtilities.cs プロジェクト: nick-nh/QuantPlus
 public static object CALIsBizDay(string calName, int serialNumber)
 {
     try
     {
         DateUtilities.CALCalendar cal     = new DateUtilities.CALCalendar(calName);
         DateUtilities.CALDate     calDate = new DateUtilities.CALDate(serialNumber);
         return(cal.IsBizDay(calDate));
     }
     catch (Exception e)
     {
         return(Utilities.ExcelRangeErrorString(e));
     }
 }
コード例 #3
0
ファイル: DateUtilities.cs プロジェクト: nick-nh/QuantPlus
 public static object CALDateAdvance(string calName, int serialNumber, string periodrepr, object covrepr, object endOfMonth)
 {
     try
     {
         //if (ExcelDnaUtil.IsInFunctionWizard())
         //    return "!!! In FunctionWizard";
         DateUtilities.CALCalendar cal     = new DateUtilities.CALCalendar(calName);
         DateUtilities.CALDate     calDate = new DateUtilities.CALDate(serialNumber);
         string cStr = Utilities.Check(covrepr, "Following");
         bool   eom  = Utilities.Check(endOfMonth, false);
         return(cal.DateAdvance(calDate, periodrepr, cStr, eom).SerialNumber());
     }
     catch (Exception e)
     {
         return(Utilities.ExcelRangeErrorString(e));
     }
 }
コード例 #4
0
ファイル: DataAPI.cs プロジェクト: nick-nh/QuantPlus
 public static object CALSecurityCategory(string standard, int level, string fieldsStr, int date)
 {
     try
     {
         if (ExcelDnaUtil.IsInFunctionWizard())
         {
             return("!!! In FunctionWizard");
         }
         DataAPI tmp = new DataAPI();
         DateUtilities.CALDate snapDate = new DateUtilities.CALDate(date);
         return(Utilities.ArrayResizer.Resize(tmp.SecurityCategory(standard, level, fieldsStr, snapDate)));
     }
     catch (Exception e)
     {
         return(Utilities.ExcelRangeErrorString(e));
     }
 }
コード例 #5
0
ファイル: DataAPI.cs プロジェクト: nick-nh/QuantPlus
 public static object CALMarketDataGetHistDailyQuotes(string securityID, string fieldsStr, int start, int end)
 {
     try
     {
         if (ExcelDnaUtil.IsInFunctionWizard())
         {
             return("!!! In FunctionWizard");
         }
         DataAPI tmp = new DataAPI();
         DateUtilities.CALDate startDate = new DateUtilities.CALDate(start);
         DateUtilities.CALDate endDate   = new DateUtilities.CALDate(end);
         return(Utilities.ArrayResizer.Resize(tmp.MarketDataGetHistDailyQuotes(securityID, fieldsStr, startDate, endDate)));
     }
     catch (Exception e)
     {
         return(Utilities.ExcelRangeErrorString(e));
     }
 }
コード例 #6
0
ファイル: DataAPI.cs プロジェクト: nick-nh/QuantPlus
 public static object CALFundamentalBalanceSheetRange(string securityID, int start, int end, string fieldsStr, string reportType)
 {
     try
     {
         if (ExcelDnaUtil.IsInFunctionWizard())
         {
             return("!!! In FunctionWizard");
         }
         DataAPI tmp = new DataAPI();
         DateUtilities.CALDate startDate = new DateUtilities.CALDate(start);
         DateUtilities.CALDate endDate   = new DateUtilities.CALDate(end);
         //return tmp.FundamentalBalanceSheetRange(securityID, startDate, endDate, fieldsStr, reportType);
         return(Utilities.ArrayResizer.Resize(tmp.FundamentalBalanceSheetRange(securityID, startDate, endDate, fieldsStr, reportType)));
     }
     catch (Exception e)
     {
         return(Utilities.ExcelRangeErrorString(e));
     }
 }
コード例 #7
0
ファイル: DateUtilities.cs プロジェクト: nick-nh/QuantPlus
 public static object CALBizDatesList(string calName, int start, int end)
 {
     try
     {
         //if (ExcelDnaUtil.IsInFunctionWizard())
         //    return "!!! In FunctionWizard";
         DateUtilities.CALCalendar cal       = new DateUtilities.CALCalendar(calName);
         DateUtilities.CALDate     beginDate = new DateUtilities.CALDate(start);
         DateUtilities.CALDate     endDate   = new DateUtilities.CALDate(end);
         DateUtilities.CALDate[]   dateList  = cal.BizDatesList(beginDate, endDate);
         double[,] ret = new double[dateList.Length, 1];
         for (int i = 0; i < dateList.Length; ++i)
         {
             ret[i, 0] = (double)dateList[i].SerialNumber();
         }
         return(Utilities.ArrayResizer.ResizeDoubles(ret));
     }
     catch (Exception e)
     {
         return(Utilities.ExcelRangeErrorString(e));
     }
 }
コード例 #8
0
ファイル: DataAPI.cs プロジェクト: nick-nh/QuantPlus
        public object[,] SecurityCategory(string standard, int level, string fieldsStr, DateUtilities.CALDate date)
        {
            Dictionary <string, string> tmp = server_config[server];
            string requestString            = tmp["host"];

            requestString = (tmp["port"] != "" ? requestString + ":" + tmp["port"] : requestString);
            requestString = requestString + api_config["SecurityCategory"][server];
            requestString = requestString + "standard=" + standard + level;
            requestString = requestString + "&date=" + date.plainRepr();
            requestString = requestString + "&field=";
            string[] fields = fieldsStr.Split(',');
            if (fields.Length != 0)
            {
                foreach (object field in fields)
                {
                    string tmpStr = field.ToString();
                    requestString = requestString + tmpStr + ",";
                }
                requestString = requestString.Remove(requestString.Length - 1);
            }

            WebRequest  wReq       = System.Net.WebRequest.Create(requestString);
            WebResponse wResp      = wReq.GetResponse();
            Stream      respStream = wResp.GetResponseStream();

            return(CSVHelper.parseCSVString(respStream));
        }
コード例 #9
0
ファイル: DataAPI.cs プロジェクト: nick-nh/QuantPlus
        public object[,] MarketDataGetHistDailyQuotes(string securityID, string fieldsStr, DateUtilities.CALDate startDate, DateUtilities.CALDate endDate)
        {
            Dictionary <string, string> tmp = server_config[server];
            string requestString            = tmp["host"];

            requestString = (tmp["port"] != "" ? requestString + ":" + tmp["port"] : requestString);
            requestString = requestString + api_config["MarketDataGetHistDailyQuotes"][server];
            requestString = requestString + "securityID=" + securityID;
            requestString = requestString + "&field=";
            string[] fields = fieldsStr.Split(',');
            if (fields.Length != 0)
            {
                foreach (object field in fields)
                {
                    string tmpStr = field.ToString();
                    requestString = requestString + tmpStr + ",";
                }
                requestString = requestString.Remove(requestString.Length - 1);
            }

            requestString = requestString + "&startDate=" + startDate.plainRepr();
            requestString = requestString + "&endDate=" + endDate.plainRepr();
            WebRequest  wReq       = System.Net.WebRequest.Create(requestString);
            WebResponse wResp      = wReq.GetResponse();
            Stream      respStream = wResp.GetResponseStream();

            return(CSVHelper.parseCSVString(respStream));
        }