public List <CorporateAction> CorporateActions(Security security, DateTime date) { lock (corpObjLock) { if (!_corporateActions.ContainsKey(security.ID)) { if (!_corporateActions.ContainsKey(security.ID)) { _corporateActions.TryAdd(security.ID, new ConcurrentDictionary <DateTime, List <CorporateAction> >()); } string tableName = _corporateActionTableName; string searchString = "InstrumentID = " + security.ID; string targetString = null; DataTable table = Database.DB["Quant"].GetDataTable(tableName, targetString, searchString); DataRowCollection rows = table.Rows; foreach (DataRow r in rows) { string id = GetValue <string>(r, "ID"); DateTime declaredDate = GetValue <DateTime>(r, "DeclaredDate"); DateTime exDate = GetValue <DateTime>(r, "ExDate"); DateTime recordDate = GetValue <DateTime>(r, "RecordDate"); DateTime payableDate = GetValue <DateTime>(r, "PayableDate"); double amount = GetValue <double>(r, "Amount"); string frequency = GetValue <string>(r, "Frequency"); string type = GetValue <string>(r, "Type"); CorporateAction caction = new CorporateAction(id, security.ID, declaredDate, exDate, recordDate, payableDate, amount, frequency, type); if (!_corporateActions[security.ID].ContainsKey(exDate)) { _corporateActions[security.ID].TryAdd(exDate, new List <CorporateAction>()); } _corporateActions[security.ID][exDate].Add(caction); } } if (!_corporateActions.ContainsKey(security.ID)) { _corporateActions.TryAdd(security.ID, new ConcurrentDictionary <DateTime, List <CorporateAction> >()); } if (!_corporateActions[security.ID].ContainsKey(date)) { _corporateActions[security.ID].TryAdd(date, new List <CorporateAction>()); } if (_corporateActions.ContainsKey(security.ID) && _corporateActions[security.ID].ContainsKey(date)) { return(_corporateActions[security.ID][date]); } return(new List <CorporateAction>()); } }
public ActionResult Create(CorporateAction corporateaction) { GetViewDropDownData(); var CorpAct = db.CorporateActions.Where(f => f.ActionCode == corporateaction.ActionCode && f.RecordDate == corporateaction.RecordDate).SingleOrDefault(); if (CorpAct != null) { ModelState.AddModelError("Code", "Action Code already exist for the selected Symbol on that date."); } else { //ModelValidation(financialduedate); } if (ModelState.IsValid) { try { db.CorporateActions.Add(corporateaction); db.SaveChanges(); TempData["Message"] = "Corporate Action Added Successfully."; return(RedirectToAction("Index", new { Symbols = corporateaction.InstrumentCode })); } catch (Exception exp) { log.Error(exp); ViewData["Message"] = "Error Adding Corporate Action code."; ModelState.AddModelError("Error", "An error has occured please contact Administrator"); return(View(corporateaction)); } } return(View(corporateaction)); }
public async Task AddCorporateAction(CorporateAction action) { var mockRepository = new MockRepository(MockBehavior.Strict); var actionId = Guid.NewGuid(); action.Id = actionId; var stockId = Guid.NewGuid(); action.Stock = stockId; var messageHandler = mockRepository.Create <IRestClientMessageHandler>(); messageHandler.Setup(x => x.PostAsync <CorporateAction>( It.Is <string>(x => x == "stocks/" + stockId + "/corporateactions"), It.Is <CorporateAction>(x => x.GetType() == action.GetType() && x.Id == actionId))) .Returns(Task.CompletedTask) .Verifiable(); var resource = new CorporateActionResource(messageHandler.Object); await resource.Add(stockId, action); mockRepository.Verify(); }
public async Task GetCorporateAction(CorporateAction action) { var mockRepository = new MockRepository(MockBehavior.Strict); var actionId = Guid.NewGuid(); action.Id = actionId; var stockId = Guid.NewGuid(); action.Stock = stockId; var messageHandler = mockRepository.Create <IRestClientMessageHandler>(); messageHandler.Setup(x => x.GetAsync <CorporateAction>(It.Is <string>(x => x == "stocks/" + stockId + "/corporateactions/" + actionId))) .Returns(Task <CorporateAction> .FromResult(action as CorporateAction)) .Verifiable(); var resource = new CorporateActionResource(messageHandler.Object); var result = await resource.Get(stockId, actionId); result.Should().BeOfType(action.GetType()).And.BeEquivalentTo(new { Id = actionId }); mockRepository.Verify(); }
public void AddCorporateAction(Security security, CorporateAction action) { try { action.SecurityID = security.ID; if (CorporateActions(action.Security, action.ExDate).Contains(action)) { return; } _corporateActions[action.Security.ID][action.ExDate].Add(action); } catch { } string searchString = "ID = '" + action.ID + "'"; string targetString = null; DataTable table = Database.DB["Quant"].GetDataTable(_corporateActionTableName, targetString, searchString); DataRowCollection rows = table.Rows; if (rows.Count == 0) { DataRow r = table.NewRow(); r["ID"] = action.ID; r["InstrumentID"] = security.ID; r["DeclaredDate"] = action.DeclaredDate; r["ExDate"] = action.ExDate; r["RecordDate"] = action.RecordDate; r["PayableDate"] = action.PayableDate; r["Amount"] = action.Amount; r["Frequency"] = action.Frequency; r["Type"] = action.Type; rows.Add(r); Database.DB["Quant"].UpdateDataTable(table); } }
private void NQyesH3ccX(IFIXInstrument instrument, CorporateAction action) { if (this.NewCorporateAction != null) { this.NewCorporateAction(this, new CorporateActionEventArgs(action, instrument, this)); } }
private void EmitNewCorporateAction(IFIXInstrument instrument, CorporateAction corporateAction) { if (this.NewCorporateAction != null) { this.NewCorporateAction(this, new CorporateActionEventArgs(corporateAction, instrument, this)); } }
// // GET: /CorporateActions/Details/5 public ActionResult Details(int id = 0) { CorporateAction corporateaction = db.CorporateActions.Find(id); if (corporateaction == null) { return(HttpNotFound()); } return(View(corporateaction)); }
// // GET: /CorporateActions/Delete/5 public ActionResult Delete(int id = 0) { GetViewDropDownData(); CorporateAction corporateaction = db.CorporateActions.Find(id); if (corporateaction == null) { return(HttpNotFound()); } return(View(corporateaction)); }
protected override void OnNewCorporateAction(Instrument instrument, CorporateAction corporateAction) { this.A6MpF2380O.OnCorporateAction(instrument, corporateAction); this.HeHpDewVKD.OnCorporateAction(instrument, corporateAction); this.marketManager.OnCorporateAction(instrument, corporateAction); this.ayRpJCTRPY.OnCorporateAction(instrument, corporateAction); this.exits[instrument].OnCorporateAction(corporateAction); this.entries[instrument].OnCorporateAction(corporateAction); this.moneyManagers[instrument].OnCorporateAction(corporateAction); this.riskManagers[instrument].OnCorporateAction(corporateAction); }
public void ParseCorparateAction() { TimeSpan ts = new TimeSpan(0, 07, 02, 02, 881); string data = "TRh;i1288;s1;SRe1;NOc14;t070202.881;"; CorporateAction TRh = new CorporateAction(data); Assert.AreEqual(1288, TRh.i); Assert.AreEqual(1, TRh.s); Assert.AreEqual(1, TRh.SRe); Assert.AreEqual(14, TRh.NOc); Assert.AreEqual(ts, TRh.t); }
internal void SetNewCorporateAction(Instrument instrument, CorporateAction corporateAction) { if (!this.isActive) { return; } if (Trace.IsLevelEnabled(TraceLevel.Verbose)) { Trace.WriteLine(string.Format("<Strategy.SetNewCorporateAction> {0} {1} {2}", this.Name, instrument.Symbol, corporateAction)); } this.OnNewCorporateAction(instrument, corporateAction); }
internal void a4glMfvIc(Instrument obj0, CorporateAction obj1) { if (!this.isActive) { return; } if (Trace.IsLevelEnabled(TraceLevel.Verbose)) { Trace.WriteLine(string.Format("fdfs", (object)this.Name, (object)obj0.Symbol, (object)obj1)); } this.OnNewCorporateAction(obj0, obj1); }
protected override void OnNewCorporateAction(Instrument instrument, CorporateAction corporateAction) { this.marketManager.OnCorporateAction(instrument, corporateAction); this.atsRuntimeCrossComponent.OnCorporateAction(instrument, corporateAction); /*---------------------------------------------------*/ ATSComponent aTSComponent = this.atsComponents[instrument]; if (aTSComponent != null) { aTSComponent.OnCorporateAction(corporateAction); } /*---------------------------------------------------*/ //this.atsComponents[instrument].OnCorporateAction(corporateAction); }
public ActionResult DeleteConfirmed(int id) { CorporateAction corporateaction = db.CorporateActions.Find(id); try { db.CorporateActions.Remove(corporateaction); db.SaveChanges(); TempData["Message"] = "Corporate Action was successfully Deleted."; return(RedirectToAction("Index")); } catch (Exception exp) { TempData["Message"] = "Error Deleting Corporate Action."; ModelState.AddModelError("Error", "An error has occured please contact Administrator"); return(RedirectToAction("Index")); } }
public ServiceResult AddCorporateAction(Guid stockId, CorporateAction corporateAction) { var stock = _StockQuery.Get(stockId); if (stock == null) { return(ServiceResult <List <CorporateAction> > .NotFound()); } ServiceResult result; if (corporateAction is RestApi.CorporateActions.CapitalReturn capitalReturn) { stock.CorporateActions.AddCapitalReturn(capitalReturn.Id, capitalReturn.ActionDate, capitalReturn.Description, capitalReturn.PaymentDate, capitalReturn.Amount); } else if (corporateAction is RestApi.CorporateActions.CompositeAction compositeAction) { AddCompositeAction(stock, compositeAction); } else if (corporateAction is RestApi.CorporateActions.Dividend dividend) { stock.CorporateActions.AddDividend(dividend.Id, dividend.ActionDate, dividend.Description, dividend.PaymentDate, dividend.Amount, dividend.PercentFranked, dividend.DrpPrice); } else if (corporateAction is RestApi.CorporateActions.SplitConsolidation splitConsolidation) { stock.CorporateActions.AddSplitConsolidation(splitConsolidation.Id, splitConsolidation.ActionDate, splitConsolidation.Description, splitConsolidation.OriginalUnits, splitConsolidation.NewUnits); } else if (corporateAction is RestApi.CorporateActions.Transformation transformation) { var resultingStocks = transformation.ResultingStocks.Select(x => new Domain.CorporateActions.Transformation.ResultingStock(x.Stock, x.OriginalUnits, x.NewUnits, x.CostBase, x.AquisitionDate)); stock.CorporateActions.AddTransformation(transformation.Id, transformation.ActionDate, transformation.Description, transformation.ImplementationDate, transformation.CashComponent, transformation.RolloverRefliefApplies, resultingStocks); } else { result = ServiceResult.Error("Unkown Corporate Action type"); } _Repository.Update(stock); return(ServiceResult.Ok()); }
public ActionResult Edit(CorporateAction corporateaction) { GetViewDropDownData(); if (ModelState.IsValid) { try { db.Entry(corporateaction).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); TempData["Message"] = "Corporate Action was Successfully Edited."; return(RedirectToAction("Index", new { Symbols = corporateaction.InstrumentCode })); } catch (Exception exp) { ViewData["Message"] = "Error Editing Corporate Actions"; ModelState.AddModelError("Error", "An error has occured please contact Administrator"); return(View(corporateaction)); } } return(View(corporateaction)); }
protected override void OnNewCorporateAction(Instrument instrument, CorporateAction corporateAction) { this.runtimeCrossExit.OnCorporateAction(instrument, corporateAction); this.runtimeCrossEntry.OnCorporateAction(instrument, corporateAction); this.marketManager.OnCorporateAction(instrument, corporateAction); this.exposureManager.OnCorporateAction(instrument, corporateAction); /*---------------------------------------*/ Exit exit = this.exits[instrument]; if (exit != null) { exit.OnCorporateAction(corporateAction); } Entry entry = this.entries[instrument]; if (entry != null) { entry.OnCorporateAction(corporateAction); } MoneyManager moneyManager = this.moneyManagers[instrument]; if (moneyManager != null) { moneyManager.OnCorporateAction(corporateAction); } RiskManager riskManager = this.riskManagers[instrument]; if (riskManager != null) { riskManager.OnCorporateAction(corporateAction); } /*---------------------------------------*/ /*this.exits[instrument].OnCorporateAction(corporateAction); * this.entries[instrument].OnCorporateAction(corporateAction); * this.moneyManagers[instrument].OnCorporateAction(corporateAction); * this.riskManagers[instrument].OnCorporateAction(corporateAction);*/ }
public virtual void OnCorporateAction(Instrument instrument, CorporateAction corporateAction) { }
public static void Add(Instrument instrument, string suffix, CorporateAction corporateAction) { DataManager.Add(instrument.Symbol + SERIES_SEPARATOR + suffix, corporateAction); }
static void Main(string[] args) { string text = System.IO.File.ReadAllText("tip_20150730_all.log"); string[] tipMessages = text.Split('\n'); for (int i = 0; i < tipMessages.Length; i++) { string[] messagefields = tipMessages[i].Split(';'); if (messagefields[0] == "BDBu") { BasicDataBusinessDate bdbu = new BasicDataBusinessDate(tipMessages[i]); Console.WriteLine(bdbu.ToString()); } else if (messagefields[0] == "BDSr") { BasicDataSource bdsr = new BasicDataSource(tipMessages[i]); } else if (messagefields[0] == "BDTe") { BasicDataTableEntry bdte = new BasicDataTableEntry(tipMessages[i]); } else if (messagefields[0] == "BDTs") { BasicDataTickSizeTable bdts = new BasicDataTickSizeTable(tipMessages[i]); } else if (messagefields[0] == "BDTz") { BasicDataTickSizeEntry bdtz = new BasicDataTickSizeEntry(tipMessages[i]); } else if (messagefields[0] == "BDp") { BasicDataParticipant bdp = new BasicDataParticipant(tipMessages[i]); } else if (messagefields[0] == "BDCv") { BasicDataClearingVenue bdcv = new BasicDataClearingVenue(tipMessages[i]); } else if (messagefields[0] == "BDx") { BasicDataExchange bdx = new BasicDataExchange(tipMessages[i]); } else if (messagefields[0] == "BDm") { BasicDataMarket bdm = new BasicDataMarket(tipMessages[i]); } else if (messagefields[0] == "BDTd") { BasicDataNonTradingDays bdtd = new BasicDataNonTradingDays(tipMessages[i]); } else if (messagefields[0] == "BDTm") { BasicDataTradingScheme bdtm = new BasicDataTradingScheme(tipMessages[i]); } else if (messagefields[0] == "BDLi") { BasicDataList bdli = new BasicDataList(tipMessages[i]); } else if (messagefields[0] == "BDs") { BasicDataSector bds = new BasicDataSector(tipMessages[i]); } else if (messagefields[0] == "BDIs") { BasicDataIssuer bdis = new BasicDataIssuer(tipMessages[i]); } else if (messagefields[0] == "BDt") { BasicDataTradable bdt = new BasicDataTradable(tipMessages[i]); } else if (messagefields[0] == "BDTr") { BasicDataTradableSupplementary bdtr = new BasicDataTradableSupplementary(tipMessages[i]); } else if (messagefields[0] == "BDSh") { BasicDataShare bdsh = new BasicDataShare(tipMessages[i]); } else if (messagefields[0] == "BDDe") { BasicDataDerivative bdde = new BasicDataDerivative(tipMessages[i]); } else if (messagefields[0] == "BDEt") { BasicDataFund bdet = new BasicDataFund(tipMessages[i]); } else if (messagefields[0] == "BDRi") { BasicDataRight bdri = new BasicDataRight(tipMessages[i]); } else if (messagefields[0] == "BDUi") { BasicDataUnderlyingInfo bdui = new BasicDataUnderlyingInfo(tipMessages[i]); } else if (messagefields[0] == "m") { OrderbookSummary m = new OrderbookSummary(tipMessages[i]); } else if (messagefields[0] == "BDLm") { BasicDataListMember bdlm = new BasicDataListMember(tipMessages[i]); } else if (messagefields[0] == "BDSm") { BasicDataSectorMember bdsm = new BasicDataSectorMember(tipMessages[i]); } else if (messagefields[0] == "EOBd") { EndOfBasicData eobd = new EndOfBasicData(tipMessages[i]); } else if (messagefields[0] == "BDIn") { BasicDataIndex bdin = new BasicDataIndex(tipMessages[i]); } else if (messagefields[0] == "BDIp") { BasicDataIndexSupplementary bdip = new BasicDataIndexSupplementary(tipMessages[i]); } else if (messagefields[0] == "BDIm") { BasicDataIndexMember bdim = new BasicDataIndexMember(tipMessages[i]); } else if (messagefields[0] == "Is") { IndexSummary indexsum = new IndexSummary(tipMessages[i]); } else if (messagefields[0] == "Iw") { IndexWeight indexw = new IndexWeight(tipMessages[i]); } else if (messagefields[0] == "TRh") { CorporateAction trh = new CorporateAction(tipMessages[i]); } else if (messagefields[0] == "s") { StateChange s = new StateChange(tipMessages[i]); } else if (messagefields[0] == "r") { OrderbookReferencePrice r = new OrderbookReferencePrice(tipMessages[i]); } else if (messagefields[0] == "o") { Orderbook1 o = new Orderbook1(tipMessages[i]); } else if (messagefields[0] == "p") { Orderbook2 p = new Orderbook2(tipMessages[i]); } else if (messagefields[0] == "z") { Orderbook3 z = new Orderbook3(tipMessages[i]); } else if (messagefields[0] == "u") { TradeStatistics1 u = new TradeStatistics1(tipMessages[i]); } else if (messagefields[0] == "v") { TradeStatistics2 v = new TradeStatistics2(tipMessages[i]); } else if (messagefields[0] == "w") { TradeStatistics3 w = new TradeStatistics3(tipMessages[i]); } else if (messagefields[0] == "c") { CallInformation1 c = new CallInformation1(tipMessages[i]); } else if (messagefields[0] == "Cl") { CallInformation2 cl = new CallInformation2(tipMessages[i]); } else if (messagefields[0] == "k") { MBPOrderSnapshot k = new MBPOrderSnapshot(tipMessages[i]); } else if (messagefields[0] == "t") { Trade t = new Trade(tipMessages[i]); } else if (messagefields[0] == "l") { TurnoverListUpdate l = new TurnoverListUpdate(tipMessages[i]); } else if (messagefields[0] == "i") { IndexUpdate i1 = new IndexUpdate(tipMessages[i]); } else if (messagefields[0] == "q") { MarketMakerQuote1 q = new MarketMakerQuote1(tipMessages[i]); } else if (messagefields[0] == "y") { MarketMakerQuote2 y = new MarketMakerQuote2(tipMessages[i]); } else if (messagefields[0] == "n") { News n = new News(tipMessages[i]); } else { throw new Exception("Unknown TIP Message = " + tipMessages[i]); } } }
public async Task Add(Guid stockId, CorporateAction corporateAction) { await _MessageHandler.PostAsync <CorporateAction>("stocks/" + stockId + "/corporateactions", corporateAction); }
public static void Add(string series, CorporateAction corporateAction) { DataManager.server.Add(series, corporateAction); }
protected override void OnNewCorporateAction(Instrument instrument, CorporateAction corporateAction) { this.metaRiskManager.OnCorporateAction(instrument, corporateAction); this.metaExposureManager.OnCorporateAction(instrument, corporateAction); }
public ActionResult AddCorporateAction([FromRoute] Guid stockId, [FromBody] CorporateAction corporateAction) { var result = _Service.AddCorporateAction(stockId, corporateAction); return(result.ToActionResult()); }
public static void Add(Instrument instrument, CorporateAction corporateAction) { DataManager.Add(instrument, SUFFIX_CORPORATE_ACTION, corporateAction); }
public virtual void OnNewCorporateAction(CorporateAction corporateAction) { }
public CorporateActionEventArgs(CorporateAction corporateAction, IFIXInstrument instrument, IMarketDataProvider provider) : base(instrument, provider) { this.CorporateAction = corporateAction; }
protected override void OnNewCorporateAction(Instrument instrument, CorporateAction corporateAction) { this.kXJRQmVtwY.OnCorporateAction(instrument, corporateAction); this.k7bROYTXtn.OnCorporateAction(instrument, corporateAction); }
protected virtual void OnNewCorporateAction(Instrument instrument, CorporateAction corporateAction) { }