public static DataTable LoadCovMatrix() { DateTime FolderDate; string DirectoyRoot = DirectoryNames.GetDirectoryName("overnightCandlestick"); string FullFolderName; DataTable CovMatrix = null; for (int i = 1; i < 6; i++) { FolderDate = BusinessDays.GetBusinessDayShifted(-i); FullFolderName = DirectoyRoot + DirectoryNames.GetDirectoryExtension(FolderDate); double CovDataIntegrity = Convert.ToDouble(FromTxt2List.LoadFile(FullFolderName + "/covDataIntegrity.txt")[0]); if (i > 1) { Console.WriteLine("Most recent covFile not available or lower quality! "); } if (CovDataIntegrity > 80) { CovMatrix = IOUtilities.ExcelDataReader.LoadFile(FullFolderName + "/cov_matrix.xlsx").Tables["cov_matrix"]; break; } } return(CovMatrix); }
public BusinessWeek(string instanceName, TimeSpan startTime, TimeSpan endTime, params DayOfWeek[] dayOfWeeks) : this(instanceName) { if (dayOfWeeks != null) { for (int i = 0; i < dayOfWeeks.Length; i++) { BusinessDays.Add(new BusinessDay(dayOfWeeks[i], startTime, endTime)); } } }
/// <summary> /// Primary constructor /// </summary> public apiInitialize(string u, string p) { m_username = u; m_password = p; OutputFolder = "C:/Research/data/intraday_data/tt_api/" + BusinessDays.GetDirectoryExtension(DateTime.Now.Date); System.IO.Directory.CreateDirectory(OutputFolder); sw = new StreamWriter(OutputFolder + "/ContractList.csv"); plsList = new List <ProductLookupSubscription>(); }
public ActionResult CheckOut() { BusinessDays BookDdate = new BusinessDays(); var receivedDatedTime = DateTime.Now; double workdays = 2; DateTime PickUpDueDate = DateTime.Now; ViewBag.PickUpDueDate = BusinessDays.GetDueDate(receivedDatedTime, workdays, PickUpDueDate); return(View()); }
/// <summary> /// 清空工作单元 /// </summary> public void ClearBusinessDays() { if (InstanceName == nameof(Default)) { throw new InvalidOperationException($"Operation is forbidden as the default instance."); } if (BusinessDays != null) { BusinessDays.Clear(); } }
/// <summary> /// 添加工作单元 /// </summary> /// <param name="businessDay"></param> public void AddBusinessDay(BusinessDay businessDay) { if (InstanceName == nameof(Default)) { throw new InvalidOperationException($"Operation is forbidden as the default instance."); } if (businessDay != null) { BusinessDays.Add(businessDay); } }
/// <summary> /// 验证当前实例是否存在工作单元 /// </summary> /// <param name="throwException"></param> /// <returns></returns> /// protected virtual bool Validate(bool throwException) { if (BusinessDays.Any()) { return(true); } if (throwException) { throw new InvalidOperationException($"The {nameof(BusinessDays)} property must have at least one {nameof(BusinessDay)}."); } return(false); }
/// <summary> /// 批量添加工作单元 /// </summary> /// <param name="businessDays"></param> public void AddBusinessDays(IList <BusinessDay> businessDays) { if (InstanceName == nameof(Default)) { throw new InvalidOperationException($"Operation is forbidden as the default instance."); } if (businessDays != null) { foreach (var item in businessDays) { BusinessDays.Add(item); } } }
/// <summary> /// Saves the BusinessDays /// </summary> /// <param name="businessDaysDTO"></param> /// <returns></returns> public bool SaveBusinessDays(List <BusinessModel.BusinessModels.BusinessDays> businessDaysDTO) { try { List <BusinessDays> businessDays = new List <DomainModel.DomainModels.BusinessDays>(); List <BusinessDays> businessDaysUpdated = new List <DomainModel.DomainModels.BusinessDays>(); foreach (BusinessModel.BusinessModels.BusinessDays businessDayDTO in businessDaysDTO) { BusinessDays businessDay = _m3pactContext.BusinessDays.FirstOrDefault(x => x.MonthId == businessDayDTO.MonthID && x.Year == businessDayDTO.Year); BusinessDays businessDayModel; if (businessDay != null) { businessDayModel = businessDay; businessDaysUpdated.Add(businessDayModel); } else { businessDayModel = new BusinessDays(); businessDayModel.CreatedDate = DateTime.UtcNow; businessDayModel.CreatedBy = userContext.UserId; businessDays.Add(businessDayModel); } businessDayModel.BusinessDays1 = businessDayDTO.NumberOfBusinessDays; businessDayModel.Year = businessDayDTO.Year; businessDayModel.MonthId = businessDayDTO.MonthID; businessDayModel.RecordStatus = businessDayDTO.RecordStatus; businessDayModel.ModifiedBy = userContext.UserId; businessDayModel.ModifiedDate = DateTime.UtcNow;; } if (businessDaysUpdated.Count > 0) { _m3pactContext.BusinessDays.UpdateRange(businessDaysUpdated); } if (businessDays.Count > 0) { _m3pactContext.AddRange(businessDays); } if (businessDaysUpdated.Count > 0 || businessDays.Count > 0) { _m3pactContext.SaveChanges(); } return(true); } catch (Exception ex) { throw ex; } }
/// <summary> /// 移除周中指定天的工作单元 /// </summary> /// <param name="dayOfWeek"></param> public void RemoveBusinessDays(DayOfWeek dayOfWeek) { if (InstanceName == nameof(Default)) { throw new InvalidOperationException($"Operation is forbidden as the default instance."); } if (BusinessDays != null) { var toRemove = BusinessDays.Where(o => o.DayOfWeek == dayOfWeek); foreach (var item in toRemove) { BusinessDays.Remove(item); } } }
private Dictionary <DayOfWeek, IList <BusinessDay> > GetDayTree() { if (_dayTree != null) { return(_dayTree); } _dayTree = new Dictionary <DayOfWeek, IList <BusinessDay> >(); var days = BusinessDays.OrderBy(o => o.DayOfWeek).ThenBy(o => o.StartTime).ToList(); foreach (var day in days) { if (!_dayTree.ContainsKey(day.DayOfWeek)) { _dayTree.Add(day.DayOfWeek, new List <BusinessDay>()); } _dayTree[day.DayOfWeek].Add(day); } return(_dayTree); }
/// <summary> /// 判断指定时间点是否处于工作时间 /// </summary> /// <param name="date"></param> /// <returns></returns> public bool IsBusinessDay(DateTime date) { return(BusinessDays.Any(day => day.IsBusinessDay(date))); }
public static IEnumerable <ContractVolume> GetContractVolumes(DateTime folderDate) { ContractVolumeFolder = DirectoryNames.GetDirectoryName("ttapiContractVolume") + DirectoryNames.GetDirectoryExtension(BusinessDays.GetBusinessDayShifted(-1)); var sr = new StreamReader(ContractVolumeFolder + "/ContractList.csv"); var reader = new CsvHelper.CsvReader(sr); reader.Configuration.RegisterClassMap(new MyClassMap()); ContractVolumeList = reader.GetRecords <ContractVolume>().ToList(); for (int i = 0; i < ContractVolumeList.Count(); i++) { string[] words = ContractVolumeList[i].instrumentName.Split(); ContractVolumeList[i].SeriesKey = words[words.Count() - 1]; } return(ContractVolumeList); }
public static IEnumerable <ContractVolume> GetContractVolumes() { DateTime folderDate = BusinessDays.GetBusinessDayShifted(-1); return(GetContractVolumes(folderDate)); }
/// <summary> /// Primary constructor /// </summary> public MarketRecorder(string u, string p) { m_username = u; m_password = p; OutputFolder = TA.DirectoryNames.GetDirectoryName(ext: "ttapiBidAsk") + TA.DirectoryNames.GetDirectoryExtension(DateTime.Now.Date); System.IO.Directory.CreateDirectory(OutputFolder); PriceFileDictionary = new Dictionary <string, StreamWriter>(); FilteredList = new List <ttapiTicker>(); DateTime referanceDate = DateTime.Today; EndTime = new DateTime(referanceDate.Year, referanceDate.Month, referanceDate.Day, 15, 45, 0); ContractVolumeList = TA.LoadContractVolumeFile.GetContractVolumes(folderDate: BusinessDays.GetBusinessDayShifted(-1)); FilteredList = ContractVolumeList.Where(x => x.Volume > 100).ToList().OfType <ttapiTicker>().ToList(); string [] TickerHeadList = ContractUtilities.ContractMetaInfo.cmeFuturesTickerheadList.Union(ContractUtilities.ContractMetaInfo.iceFuturesTickerheadList).ToArray(); LiquidContractList = new ContractUtilities.ContractList(TickerHeadList); //LiquidDbTickerList = LiquidContractList.dbTickerList; LiquidDbTickerList = new List <string>(); for (int i = 0; i < FilteredList.Count; i++) { //Console.WriteLine(FilteredList[i].instrumentName); PriceFileDictionary.Add(FilteredList[i].instrumentName, new StreamWriter(OutputFolder + "/" + FilteredList[i].instrumentName.Replace("/", "-").Replace(":", "-") + ".csv")); } TTAPISubs = new ttapiUtils.Subscription(m_username, m_password); TTAPISubs.TTAPITickerList = FilteredList; TTAPISubs.LiquidDbTickerList = LiquidDbTickerList; TTAPISubs.ilsUpdateList = new List <EventHandler <InstrumentLookupSubscriptionEventArgs> > { TTAPISubs.startPriceSubscriptions }; TTAPISubs.AsuUpdateList = new List <EventHandler <AuthenticationStatusUpdateEventArgs> > { TTAPISubs.startInstrumentLookupSubscriptionsFromTTAPITickers }; TTAPISubs.priceUpdatedEventHandler = m_ps_FieldsUpdated; }