コード例 #1
0
        public static DataTable GetQuandlData(string ticker, string dataSource, DateTime startDate, DateTime endDate)
        {
            QuandlDownloadRequest request = new QuandlDownloadRequest();

            request.APIKey    = quandlKey;
            request.Datacode  = new Datacode(dataSource, ticker);
            request.Format    = FileFormats.CSV;
            request.Frequency = Frequencies.Daily;
            request.StartDate = startDate;
            request.EndDate   = endDate;
            request.Sort      = SortOrders.Ascending;

            string ss = request.ToRequestString().Replace("/v1/", "/v3/");

            DataTable dt = new DataTable();

            using (WebClient client = new WebClient())
            {
                try
                {
                    client.DownloadFile(ss, "my.csv");
                    dt = ModelHelper.CsvToDatatable("my.csv");
                    File.Delete("my.csv");
                }
                catch { }
            }
            return(dt);
        }
コード例 #2
0
        public void ToRequestString_InvalidDatacodeCode_ExceptionThrown()
        {
            var request = new QuandlDownloadRequest()
            {
                Datacode = new Datacode("DW", string.Empty)
            };

            request.ToRequestString();
        }
コード例 #3
0
        public void ToRequestString_StartDateBeforeEndDate_ExceptionNotThrown()
        {
            var request = new QuandlDownloadRequest()
            {
                Datacode  = new Datacode("DW", "TEST"),
                StartDate = DateTime.Now.AddDays(-10),
                EndDate   = DateTime.Now.AddDays(10) // End 20 days after start
            };

            var requestString = request.ToRequestString();
        }
コード例 #4
0
        public void ToRequestString_NonCSVFormat_HeadersNotUsedInRequestString()
        {
            var request = new QuandlDownloadRequest()
            {
                Datacode = new Datacode("DW", "TEST"),
                Format   = FileFormats.HTML
            };

            var requestString = request.ToRequestString();

            Assert.IsFalse(requestString.Contains("&exclude_headers="));
        }
コード例 #5
0
        public void ToRequestString_InvalidTruncation_ExceptionThrown()
        {
            var request = new QuandlDownloadRequest()
            {
                Datacode   = new Datacode("DW", "TEST"),
                Truncation = 0
            };

            var requestString = request.ToRequestString();

            Assert.IsFalse(requestString.Contains("&rows=0"));
        }
コード例 #6
0
        public void ToRequestString_ZeroTruncation_NotUsedInRequestString()
        {
            var request = new QuandlDownloadRequest()
            {
                Datacode   = new Datacode("DW", "TEST"),
                Truncation = 0
            };

            var requestString = request.ToRequestString();

            Assert.IsFalse(requestString.Contains("&rows=0"));
        }
コード例 #7
0
        public void ToRequestString_ValidTruncation_UsedInRequestString()
        {
            var request = new QuandlDownloadRequest()
            {
                Datacode   = new Datacode("DW", "TEST"),
                Truncation = 1
            };

            var requestString = request.ToRequestString();

            Assert.IsTrue(requestString.Contains("&rows=1"));
        }