CreateInstruments

Inputs (Array of Instruments) inherits from EntityBase

Note, if errors occur when creating instruments, the errors can be placed in the ExecutionInterfaces in the response
if the errors are related to the creation of the ExecutionInterface.

Name
Type
Description
MandatoryAvailable from version
BrickIdGuidNot used

InstrumentTypeInteger

https://bricknode.atlassian.net/wiki/display/API/Instrument

True
CurrencyCodeStringISO-code for currency in which instrument is traded.True
ISINStringThe International Securities Identification Number of the instrument

NameString


LastSubscriptionDateDateTimeThe last subscription date of the instrument

ExpirationDateDateTimeThe expiration date of the instrument

PriceDoubleCurrent price

QuantityDecimalsIntegerThe number of decimals to use on the quantity of units for the instrument

DisplayDecimalsPriceInteger
True
ValueMultiplierDoubleThe value multiplier for the instrument. 1 as default if not set.
2.02
DisplayPercentagePriceBooleanTrue if BFS should display percentage price. 1 as default if not set.
2.02
InstrumentStatusInteger

https://bricknode.atlassian.net/wiki/display/API/Instrument

True
IsUnitOrderBooleanThis property is deprecated, and is used on executioninterfaces instead

InstrumentCategorizationInstrumentCategorizationItem[]An InstrumentCategorizationItem is a custom field that makes it possible to add instrument categories or other values to an instrument. This is explained here: InstrumentCategorizationItem

TaxCountryStringAccording to ISO-standard here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

VisibleStatusKeyString

https://bricknode.atlassian.net/wiki/display/API/Instrument



SymbolStringThe short symbol name for the instrument Must be unique

ExternalReferenceStringThis is an external reference that can be set on the instrument, for example this could be an identifier for an external system, a delimited list of various symbols for different systems like Bloomberg symbol for example

CommentStringThe comment for the instrument
2.09
DefaultMarketPlaceGuidThis is the BrickId of the default marketplace for the instrument

TradingCalendarString

For future use
SettlementCalendarString

For future use
IssuerGuidThe Issuer of the instrument. Issuer must be allowed to manage current InstrumentType.

CustomFieldsobject[]CustomFields is an array of CustomField objects. Each CustomField consists of two strings, FieldName and Value. There are no datatypes associated with these properties, they are just a way for api-users to add custimized data to the object.
2.09
OrganizerGuidThe BrickId of the Organizer of the instrument
2.10
PriceDateDateTimePriceDate is when the current Price of the instrument was set
2.10
FeeCategoryKeyStringWhich FeeCategory the instrument is associated with
2.10
BuyCommissionPercentageDoubleBuyCommissionPercentage of the instrument
2.10
SellCommissionPercentageDoubleSellCommissionPercentage of the instrument
2.10
EarlySellFeePercentageDoubleEarlySellFeePercentage of the instrument
2.10
ProductCompensationPercentageDoubleProductCompensationPercentage of the instrument
2.10
FirstTradeDateDateTimeFirstTradeDate of the instrument (Securities terms - Date concepts within the securities market)
2.10
LastTradeDateDateTimeLastTradeDate of the instrument (Securities terms - Date concepts within the securities market)
2.10
DatasheetURLStringDatasheetURL of the instrument
2.10
LockInPeriodDaysIntNumber of days from the Buy date where the owner has to pay an early sell fee
2.10
IsLimitedToAccountTypesBoolIf the instrument is limited to different account types
2.10
DebtInstrumentBoolDebt instrument classification that will be used in TRS2 reporting
2.13
WhiteLabelGuidId of WhiteLabel that instrument should belong to (optional)
2.16
HasMifidIIDataBoolTrue if instrument has Mifid-data in external app
2.17
KnowledgeGroupstringKnowledgegroup of instrument
2.17
ExPostCalcMethodstring

Method for ExPost Calculation

Within Bricknode Broker this can be set in the GUI

A value of "1" is read as Market Value and a value of "2" is read as Nominal Amount.


2.17
ManagementFeePercentagedecimalField to save ManagementFeePercentage on instrument
2.19
FundEntityGuidThe BrickId of a FundEntity that is associated with the instrument
2.20
FundCompanyGuidThe BrickId of a FundCompany that is associated with the instrument
2.20
FeeGroupstringThe key of the FeeGroup that is associated with the instrument
2.23
EnableMifidIITenPercentAlertBoolIf instrument is of a type that requires warnings for the customers if the value of the instrument drops with 10%
2.24
ExecutionInterfacesExecutionInterface[]Array of ExecutionInterface
2.26
DefaultExecutionInterfacestringThe default execution interface of the instrument. The one you enter ("Manual", for example) must also be contained in the embedded ExecutionInterfaces on the instrument, else the system will not accept it.
2.30
ExcludeFromFeeRelatedSellingBoolSays whether an instrument should be considered for selling to free up funds for fees (if this has been specifically set up)
2.38


Outputs

Name
Type
Description
EntitiesArray

All instruments in the request is returned along with each instrument's BrickId and array of Errors per instrument


Code examples

C# - CreateInstrument
 //Create an instrument using the CreateInstruments method
var client = new BFSServiceReference.bfsapiSoapClient();

var credentials = new BFSServiceReference.Credentials()
{
    UserName = bfsusername, //Username of administrative user in your instance of BFS
    Password = bfspassword, //Password of the administrative user in your instance of BFS
};

var IC = new InstrumentCategorizationItem()
{    
    GroupKey = "Industry",
    Key = "Technology",
    Weight = 0.3
};

var response = client.CreateInstruments(new BFSServiceReference.CreateInstrumentRequest()
{
    Credentials = credentials,

    identify = bfsidentifier, //Identifier is a unique token for your instance of BFS

    Entities = new[]
    {
        new Instrument()
        {
            InstrumentType = 1,
            CurrencyCode = "SEK",
            ISIN = "SE0000108656",                        
            Name = "TestInstrument",
            Symbol = "TEST",
            TradingCalendar = "ForFutureUse", 
            SettlementCalendar = "ForFutureUse",
            QuantityDecimals = 2,
            DisplayDecimalsPrice = 2,
            ValueMultiplier = 1,
            InstrumentStatus = 1,
            IsUnitOrder = true,
            InstrumentCategorization = new InstrumentCategorizationArray() 
            {
                Array = new InstrumentCategorizationItem[]
                {
                    IC,
                }
            },
            ExternalReference = "External system ID",
            TaxCountry = "SE",           
            Price = 100,
            DefaultMarketPlace = new Guid("25d5a96c-87f0-481f-a9b2-bc96e58012fd"),
            VisibleStatusKey = "Open"                                              

        }
    }

});

//Show information about the created instrument

foreach (var c in response.Entities)
{
    Console.WriteLine(c.BrickId + ", " + c.Errors);
}


Blog stream

Create a blog post to share news and announcements with your team and company.