Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 15 Next »

This release has changes related to

New MiFID II requirements dealing with sending party information when creating orders.

New Trade Report protocol changes from INET



Service Changes

Mifid II Related Changes

New Enumeration : PartyRoleQualifier

public enum PartyRoleQualifier
{
  None = 0,
  Algorithm = 22,
  FirmOrLegalEntry = 23,
  NaturalPerson = 24
}

Base Object: Order

public int? MifidClientId { get; set; }
public string MifidClientShortCode { get; set; }
public PartyRoleQualifier? MifidClientQualifier { get; set; }
public string MifidClientDescription { get; set; }

public int? MifidExecutionDecisionMakerId { get; set; }
public string MifidExecutionDecisionMakerShortCode { get; set; }
public PartyRoleQualifier? MifidExecutionDecisionMakerQualifier { get; set; }
public string MifidExecutionDecisionMakerDescription { get; set; }

public int? MifidInvestmentDecisionMakerId { get; set; }
public string MifidInvestmentDecisionMakerShortCode { get; set; }
public PartyRoleQualifier? MifidInvestmentDecisionMakerQualifier { get; set; }
public string MifidInvestmentDecisionMakerDescription { get; set; }

Base Object: OrderInstruction

public int? MifidExecutionDecisionMakerId { get; set; }
public string MifidExecutionDecisionMakerShortCode { get; set; }
public PartyRoleQualifier? MifidExecutionDecisionMakerQualifier { get; set; }
public string MifidExecutionDecisionMakerDescription { get; set; }

public int? MifidInvestmentDecisionMakerId { get; set; }
public string MifidInvestmentDecisionMakerShortCode { get; set; }
public PartyRoleQualifier? MifidInvestmentDecisionMakerQualifier { get; set; }
public string MifidInvestmentDecisionMakerDescription { get; set; }

Base Object: Customer

public string LegalEntityIdentifier { get; set; } //Legal Identity Identifier code (LEI)

Base Object: User

public string SSN { get; set; }

Service: OrderInstructionService

Operation: CreateOrderInstruction

InputParameter: CreateOrderInstructionRequest

public int? MifidExecutionDecisionMakerId { get; set; }
public string MifidExecutionDecisionMakerShortCode { get; set; }
public PartyRoleQualifier? MifidExecutionDecisionMakerQualifier { get; set; }

public int? MifidInvestmentDecisionMakerId { get; set; }
public string MifidInvestmentDecisionMakerShortCode { get; set; }
public PartyRoleQualifier? MifidInvestmentDecisionMakerQualifier { get; set; }

Service: OrderEntryService

Operation: CreateOrder

InputParameter: CreateOrderRequest

public int? MifidClientId {get;set;}
public string MifidClientShortCode { get; set; }
public PartyRoleQualifier? MifidClientQualifier { get; set; }

public int? MifidExecutionDecisionMakerId { get; set; }
public string MifidExecutionDecisionMakerShortCode { get; set; }
public PartyRoleQualifier? MifidExecutionDecisionMakerQualifier { get; set; }

public int? MifidInvestmentDecisionMakerId { get; set; }
public string MifidInvestmentDecisionMakerShortCode { get; set; }
public PartyRoleQualifier? MifidInvestmentDecisionMakerQualifier { get; set; }

AverageTradeDirtyPrice Related Changes

Base Object: Allocation

public double? AverageTradeDirtyPrice { get; set; }

Service: OrderCalculationService

Operation: CalculateOrder

Input Parameter: CalculateOrderResponse

public Kodi.Kodiak.Services.DataContracts.Bonds.BondCalculation TradePriceBondCalculation { get; set; }

Service: AllocationService

Operation: CreateAllocation

Input Parameter: CreateAllocationRequest

public double? AverageTradeDirtyPrice { get; set; }

Service: OffExchangeTradeService

Operation: CreateOffExchangeTrade

InputParameter: CreateOffExchangeTradeRequest.CreateOffExchangeOrderRequest

public double? AverageTradeDirtyPrice { get; set; }

TradeReport Related Changes

These changes are related to internal processing

New Enumeration: ClearingAccountType

public enum ClearingAccountType
{
  [Description("Customer (client)")]
  Customer,
  [Description("Firm (House)")]
  Firm
}

New Enumeration: ExecutionMethod

public enum ExecutionMethod
{
  [Description("Unspecified")]
  Unspecified,
  [Description("Off Book Non-Automated")]
  OffBookNonAutomated,
  [Description("Off Book Automated")]
  OffBookAutomated
}

New Enumeration: TradeClearingInstructions

public enum TradeClearingInstructions
{
  [Description("Clear Against Central Counterparty")]
  ClearAgainstCentralCounterparty,
  [Description("Exclude From Central Counterparty")]
  ExcludeFromCentralCounterParty
}

New Enumeration: TradePriceCondition

public enum TradePriceCondition
{
  [Description("Special Dividend Trade")]
  SpecialDividendTrade
}



Database Changes.

Sql Server

alter table USERS ADD SSN VARCHAR(50) NULL;
alter table CUSTOMERS ADD LEI_CODE VARCHAR(20) NULL;
 
ALTER TABLE INSTRUCTIONS ADD MIFID_EXEC_DEC_ID INT NULL;
ALTER TABLE INSTRUCTIONS ADD MIFID_EXEC_DEC_SHORT_CODE varchar(10) NULL;
ALTER TABLE INSTRUCTIONS ADD MIFID_EXEC_DEC_QUALIFIER int NULL;
 
ALTER TABLE INSTRUCTIONS ADD MIFID_INVEST_DEC_ID INT NULL;
ALTER TABLE INSTRUCTIONS ADD MIFID_INVEST_DEC_SHORT_CODE varchar(10) NULL;
ALTER TABLE INSTRUCTIONS ADD MIFID_INVEST_DEC_QUALIFIER int NULL;
 
ALTER TABLE ORDERS ADD MIFID_CLIENT_ID INT NULL;
ALTER TABLE ORDERS ADD MIFID_CLIENT_SHORT_CODE varchar(10) NULL;
ALTER TABLE ORDERS ADD MIFID_CLIENT_QUALIFIER int NULL;
 
ALTER TABLE ORDERS ADD MIFID_EXEC_DEC_ID INT NULL;
ALTER TABLE ORDERS ADD MIFID_EXEC_DEC_SHORT_CODE varchar(10) NULL;
ALTER TABLE ORDERS ADD MIFID_EXEC_DEC_QUALIFIER int NULL;
 
ALTER TABLE ORDERS ADD MIFID_INVEST_DEC_ID INT NULL;
ALTER TABLE ORDERS ADD MIFID_INVEST_DEC_SHORT_CODE varchar(10) NULL;
ALTER TABLE ORDERS ADD MIFID_INVEST_DEC_QUALIFIER int NULL;
 
ALTER TABLE INSTRUCTIONS  WITH CHECK ADD  CONSTRAINT [FK_INSTRUCT_MIFID_EXEC] FOREIGN KEY(MIFID_EXEC_DEC_ID)
REFERENCES USERS (ID_USERS)
GO
 
ALTER TABLE INSTRUCTIONS  WITH CHECK ADD  CONSTRAINT [FK_INSTRUCT_MIFID_INVEST] FOREIGN KEY(MIFID_INVEST_DEC_ID)
REFERENCES USERS (ID_USERS)
GO
 
ALTER TABLE ORDERS  WITH CHECK ADD  CONSTRAINT [FK_ORDERS_MIFID_CLIENT] FOREIGN KEY(MIFID_CLIENT_ID)
REFERENCES CUSTOMERS (ID_CUSTOMERS)
GO
 
ALTER TABLE ORDERS  WITH CHECK ADD  CONSTRAINT [FK_ORDERS_MIFID_EXEC] FOREIGN KEY(MIFID_EXEC_DEC_ID)
REFERENCES USERS (ID_USERS)
GO
 
ALTER TABLE ORDERS  WITH CHECK ADD  CONSTRAINT [FK_ORDERS_MIFID_INVEST] FOREIGN KEY(MIFID_INVEST_DEC_ID)
REFERENCES USERS (ID_USERS)
GO
ALTER TABLE ALLOCATIONS ADD AVERAGE_TRADE_DIRTY_PRICE FLOAT NULL;
ALTER TABLE TRADE_REPORTS ADD REFERENCE_ID VARCHAR(32) NULL;
ALTER TABLE TRADE_REPORTS ADD CLIENT_REFERENCE VARCHAR(100) NULL;
ALTER TABLE TRADE_REPORTS ADD EXECUTION_METHOD INT NULL;
ALTER TABLE TRADE_REPORTS ADD CLEARING_ACCOUNT_TYPE INT NULL;
ALTER TABLE TRADE_REPORTS ADD TRADE_PRICE_CONDITION INT NULL;
ALTER TABLE TRADE_REPORTS ADD TRADE_CLEARING_INSTRUCTIONS INT NULL;
ALTER TABLE TRADE_REPORTS ADD CONNECTION_ID VARCHAR(255) NULL;	
ALTER TABLE TRADE_REPORTS ADD STATUS VARCHAR(100) NULL;

Oracle

alter table USERS ADD SSN VARCHAR2(50) NULL;
alter table CUSTOMERS ADD LEI_CODE VARCHAR2(20) NULL;
 
ALTER TABLE INSTRUCTIONS ADD MIFID_EXEC_DEC_ID NUMBER(10,0) NULL;
ALTER TABLE INSTRUCTIONS ADD MIFID_EXEC_DEC_SHORT_CODE varchar2(10) NULL;
ALTER TABLE INSTRUCTIONS ADD MIFID_EXEC_DEC_QUALIFIER NUMBER(10,0) NULL;
 
ALTER TABLE INSTRUCTIONS ADD MIFID_INVEST_DEC_ID NUMBER(10,0) NULL;
ALTER TABLE INSTRUCTIONS ADD MIFID_INVEST_DEC_SHORT_CODE varchar2(10) NULL;
ALTER TABLE INSTRUCTIONS ADD MIFID_INVEST_DEC_QUALIFIER NUMBER(10,0) NULL;
 
ALTER TABLE ORDERS ADD MIFID_CLIENT_ID NUMBER(10,0) NULL;
ALTER TABLE ORDERS ADD MIFID_CLIENT_SHORT_CODE varchar2(10) NULL;
ALTER TABLE ORDERS ADD MIFID_CLIENT_QUALIFIER int NULL;
 
ALTER TABLE ORDERS ADD MIFID_EXEC_DEC_ID NUMBER(10,0) NULL;
ALTER TABLE ORDERS ADD MIFID_EXEC_DEC_SHORT_CODE varchar2(10) NULL;
ALTER TABLE ORDERS ADD MIFID_EXEC_DEC_QUALIFIER int NULL;
 
ALTER TABLE ORDERS ADD MIFID_INVEST_DEC_ID NUMBER(10,0) NULL;
ALTER TABLE ORDERS ADD MIFID_INVEST_DEC_SHORT_CODE varchar2(10) NULL;
ALTER TABLE ORDERS ADD MIFID_INVEST_DEC_QUALIFIER NUMBER(10,0) NULL;
 
 
ALTER TABLE INSTRUCTIONS  
ADD  CONSTRAINT FK_INSTRUCT_MIFID_EXEC
FOREIGN KEY(MIFID_EXEC_DEC_ID)
REFERENCES USERS (ID_USERS)
/
 
ALTER TABLE INSTRUCTIONS  
ADD  CONSTRAINT FK_INSTRUCT_MIFID_INVEST 
FOREIGN KEY(MIFID_INVEST_DEC_ID)
REFERENCES USERS (ID_USERS)
/
 
ALTER TABLE ORDERS  
ADD  CONSTRAINT FK_ORDERS_MIFID_CLIENT
FOREIGN KEY(MIFID_CLIENT_ID)
REFERENCES CUSTOMERS (ID_CUSTOMERS)
/
 
ALTER TABLE ORDERS  
ADD  CONSTRAINT FK_ORDERS_MIFID_EXEC
FOREIGN KEY(MIFID_EXEC_DEC_ID)
REFERENCES USERS (ID_USERS)
/
 
ALTER TABLE ORDERS  
ADD  CONSTRAINT FK_ORDERS_MIFID_INVEST 
FOREIGN KEY(MIFID_INVEST_DEC_ID)
REFERENCES USERS (ID_USERS)
/
ALTER TABLE ALLOCATIONS ADD AVERAGE_TRADE_DIRTY_PRICE FLOAT NULL;
ALTER TABLE TRADE_REPORTS ADD REFERENCE_ID VARCHAR(32) NULL;
ALTER TABLE TRADE_REPORTS ADD CLIENT_REFERENCE VARCHAR(100) NULL;
ALTER TABLE TRADE_REPORTS ADD EXECUTION_METHOD INT NULL;
ALTER TABLE TRADE_REPORTS ADD CLEARING_ACCOUNT_TYPE INT NULL;
ALTER TABLE TRADE_REPORTS ADD TRADE_PRICE_CONDITION INT NULL;
ALTER TABLE TRADE_REPORTS ADD TRADE_CLEARING_INSTRUCTIONS INT NULL;
ALTER TABLE TRADE_REPORTS ADD CONNECTION_ID VARCHAR(255) NULL;	
ALTER TABLE TRADE_REPORTS ADD STATUS VARCHAR(100) NULL;



  • No labels