public DateTime addDays(DateTime dateTime, int addingDays) { // calendar 우선 디폴트 QLNet.Calendar calendar = new SouthKorea(); return calendar.advance(dateTime, addingDays, TimeUnit.Days); //DateTime addedDateTime = dateTime.AddDays(addingDays); }
public void testSouthKoreanSettlement() { //("Testing South-Korean settlement holiday list..."); List<Date> expectedHol = new List<Date>(); expectedHol.Add(new Date(1, Month.January, 2004)); expectedHol.Add(new Date(21, Month.January, 2004)); expectedHol.Add(new Date(22, Month.January, 2004)); expectedHol.Add(new Date(23, Month.January, 2004)); expectedHol.Add(new Date(1, Month.March, 2004)); expectedHol.Add(new Date(5, Month.April, 2004)); expectedHol.Add(new Date(15, Month.April, 2004)); // election day // expectedHol.Add(new Date(1, Month.May,2004)); // Saturday expectedHol.Add(new Date(5, Month.May, 2004)); expectedHol.Add(new Date(26, Month.May, 2004)); // expectedHol.Add(new Date(6, Month.June,2004)); // Sunday // expectedHol.Add(new Date(17, Month.July,2004)); // Saturday // expectedHol.Add(new Date(15, Month.August,2004)); // Sunday expectedHol.Add(new Date(27, Month.September, 2004)); expectedHol.Add(new Date(28, Month.September, 2004)); expectedHol.Add(new Date(29, Month.September, 2004)); // expectedHol.Add(new Date(3, Month.October,2004)); // Sunday // expectedHol.Add(new Date(25,December,2004)); // Saturday // expectedHol.Add(new Date(1, Month.January,2005)); // Saturday expectedHol.Add(new Date(8, Month.February, 2005)); expectedHol.Add(new Date(9, Month.February, 2005)); expectedHol.Add(new Date(10, Month.February, 2005)); expectedHol.Add(new Date(1, Month.March, 2005)); expectedHol.Add(new Date(5, Month.April, 2005)); expectedHol.Add(new Date(5, Month.May, 2005)); // expectedHol.Add(new Date(15, Month.May,2005)); // Sunday expectedHol.Add(new Date(6, Month.June, 2005)); // expectedHol.Add(new Date(17, Month.July,2005)); // Sunday expectedHol.Add(new Date(15, Month.August, 2005)); // expectedHol.Add(new Date(17, Month.September,2005)); // Saturday // expectedHol.Add(new Date(18, Month.September,2005)); // Sunday expectedHol.Add(new Date(19, Month.September, 2005)); expectedHol.Add(new Date(3, Month.October, 2005)); // expectedHol.Add(new Date(25,December,2005)); // Sunday // expectedHol.Add(new Date(1, Month.January,2006)); // Sunday // expectedHol.Add(new Date(28, Month.January,2006)); // Saturday // expectedHol.Add(new Date(29, Month.January,2006)); // Sunday expectedHol.Add(new Date(30, Month.January, 2006)); expectedHol.Add(new Date(1, Month.March, 2006)); expectedHol.Add(new Date(1, Month.May, 2006)); expectedHol.Add(new Date(5, Month.May, 2006)); expectedHol.Add(new Date(31, Month.May, 2006)); // election expectedHol.Add(new Date(6, Month.June, 2006)); expectedHol.Add(new Date(17, Month.July, 2006)); expectedHol.Add(new Date(15, Month.August, 2006)); expectedHol.Add(new Date(3, Month.October, 2006)); expectedHol.Add(new Date(5, Month.October, 2006)); expectedHol.Add(new Date(6, Month.October, 2006)); // expectedHol.Add(new Date(7, Month.October,2006)); // Saturday expectedHol.Add(new Date(25, Month.December, 2006)); expectedHol.Add(new Date(1, Month.January, 2007)); // expectedHol.Add(new Date(17, Month.February,2007)); // Saturday // expectedHol.Add(new Date(18, Month.February,2007)); // Sunday expectedHol.Add(new Date(19, Month.February, 2007)); expectedHol.Add(new Date(1, Month.March, 2007)); expectedHol.Add(new Date(1, Month.May, 2007)); // expectedHol.Add(new Date(5, Month.May,2007)); // Saturday expectedHol.Add(new Date(24, Month.May, 2007)); expectedHol.Add(new Date(6, Month.June, 2007)); expectedHol.Add(new Date(17, Month.July, 2007)); expectedHol.Add(new Date(15, Month.August, 2007)); expectedHol.Add(new Date(24, Month.September, 2007)); expectedHol.Add(new Date(25, Month.September, 2007)); expectedHol.Add(new Date(26, Month.September, 2007)); expectedHol.Add(new Date(3, Month.October, 2007)); expectedHol.Add(new Date(19, Month.December, 2007)); // election expectedHol.Add(new Date(25, Month.December, 2007)); Calendar c = new SouthKorea(SouthKorea.Market.Settlement); List<Date> hol = Calendar.holidayList(c, new Date(1, Month.January, 2004), new Date(31, Month.December, 2007)); for (int i = 0; i < Math.Min(hol.Count, expectedHol.Count); i++) { if (hol[i] != expectedHol[i]) Assert.Fail("expected holiday was " + expectedHol[i] + " while calculated holiday is " + hol[i]); } if (hol.Count != expectedHol.Count) Assert.Fail("there were " + expectedHol.Count + " expected holidays, while there are " + hol.Count + " calculated holidays"); }
//public ObservableCollection<DateTime> dates(int addingDays = 0) public void genDates(int addingDays = 0) { this.dates_.Clear(); //Period tenor = new Period(this.tenor_); QLNet.Calendar calendar = new SouthKorea(); Period tenor = new Period(this.frequencyEnum_); BusinessDayConvention bdc = this.businessDayConvEnum_; DateGeneration.Rule dateGen = this.dateGenEnum_; try { Schedule schedule = new Schedule(new Date(initialDate_), new Date(endDate_), tenor, calendar, bdc, bdc, dateGen, false); List<Date> ql_d = schedule.dates(); for (int i = 0; i < ql_d.Count; i++) { this.dates_.Add(ql_d[i]); } } catch (Exception) { OutputLogViewModel.addResult("schedule gen error"); } //test //for (int i = 0; i < 6; i++) //{ // this.dates_.Add(new DateTime()); //} //this.dates_ = d; //return d; }