GetHistoricPositions

Filter inputs

Name

Type

Description

Mandatory

Available from version

Name

Type

Description

Mandatory

Available from version

StartDate

DateTime

Filter by start date 

True



EndDate

DateTime

Filter by end date

True



DisplayCurrencyCode

string

Enter what currency in ISO-format that the results should be retreived in

True



AccountDimensionKey

string

Filter by dimension key ("T" for traded, "S" for settled)

True



Accounts

Guid[]?

Filter by BfsId of accounts





Assets

Guid[]?

Filter by BfsId of assets





IncludeZeroes

bool

If set to yes, empty and negative positions will be included. Defaultvalue is false if not supplied



2.20

AssetTypeKeys

string[]

Filter by array of asset type keys (Cash or GenericInstrument)



2.38

InstrumentTypes 

int[]

Filter by array of instrument types



2.38



Response rows (Array) inherits from EntityBase

Name

Type

Description

Available from version

Name

Type

Description

Available from version

Account

Guid

BfsId of the account



AccountNo

string

The account number for the position



Asset

Guid

BfsId of the instrument



BalanceDate

DateTime

The balance date of the position



Amount

decimal

The amount of the position



AccountDimensionKey

string

The dimension of the positon, "T" for traded and "S" for settled



Price

double

Price of instrument when position was acquired.



FxRate

double

This is the exchange rate used if DisplayCurrency is used. If the currency of the position is EUR and the DisplayCurrency is set to USD this is the exchange rate between EUR and USD



BaseRate

double

This is the exchange rate between the currency of the instrument and the base currency of the account.



MarketValue

double

The market value for the position.



MarketValueAccountCurrency

double

The market value for the position in the account currency. If instrument and account has the same currency this value is the same as MarketValue above.



MarketValueDisplayCurrency

double

The market value for the position according to display currency.



DisplayRate

double

The exchange rate between the position instrument currency and the DisplayCurrencyCode



AssetType

string

Type of asset



DisplayPercentagePrice

Bool

If price is in persentage of MinimumLotSize





Code examples

C# - GetHistoricPositions
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 //Use the GetHistoricPositions 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 positions = client.GetHistoricPositions(new BFSServiceReference.GetHistoricPositionRequest() { Credentials = credentials, identify = bfsidentifier, //Identifier is a unique token for your instance of BFS Args = new GetHistoricPositionArgs() { StartDate = new DateTime(2016, 04, 01, 0, 0, 0, DateTimeKind.Utc), EndDate = new DateTime(2016, 04, 20, 0, 0, 0, DateTimeKind.Utc), DisplayCurrencyCode = "USD", AccountDimensionKey = "T", Accounts = new[] { new Guid("40045f57-9914-41d2-9ffd-a33a59de10c9"), } }, Fields = new BFSServiceReference.GetHistoricPositionFields() { Account = true, AccountNo = true, AccountDimensionKey = true, Amount = true, Asset = true, AssetType = true, BalanceDate = true, BaseRate = true, DisplayCurrencyCode = true, DisplayRate = true, FxRate = true, MarketValue = true, MarketValueAccountCurrency = true, MarketValueDisplayCurrency = true, Price = true }, }); foreach (var c in positions.Result) { Console.WriteLine(c.Account + ", " + c.AccountNo + ", " + c.AccountDimensionKey + ", " + c.Amount + ", " + c.Asset + ", " + c.AssetType + ", " + c.BalanceDate + ", " + c.BaseRate + ", " + c.DisplayCurrencyCode + ", " // + c.FxRate + ", " + c.MarketValue + ", " + c.MarketValueAccountCurrency + ", " + c.MarketValueDisplayCurrency + ", " // + c.Price + ", " + c.MarketValue); }


XML - GetHistoricPositions example request

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://tempuri.org/" xmlns:s1="http://microsoft.com/wsdl/types/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"> <soap:Body> <GetHistoricPositions xmlns="http://tempuri.org/"> <req> <Credentials> <UserName>{{username}}</UserName> <Password>{{password}}</Password> </Credentials> <identify>{{identifier}}</identify> <Args> <Accounts> <guid>[Guid of the account]</guid> <guid>[Guid of the account]</guid> </Accounts> <StartDate>[The start date]</StartDate> <EndDate>[The end date]</EndDate> <AccountDimensionKey>[The account dimension T or S (Trade/Settle)]</AccountDimensionKey> <DisplayCurrencyCode>[The currency code. For example USD]</DisplayCurrencyCode> </Args> <Fields> <BrickId>true</BrickId> <Asset>true</Asset> <CreatedDate>true</CreatedDate> <Account>true</Account> <AccountNo>true</AccountNo> <BalanceDate>true</BalanceDate> <Amount>true</Amount> <AccountDimensionKey>true</AccountDimensionKey> <Price>true</Price> <FxRate>true</FxRate> <BaseRate>true</BaseRate> <MarketValue>true</MarketValue> <MarketValueAccountCurrency>true</MarketValueAccountCurrency> <MarketValueDisplayCurrency>true</MarketValueDisplayCurrency> <DisplayRate>true</DisplayRate> <AssetType>true</AssetType> <DisplayPercentagePrice>false</DisplayPercentagePrice> <IncludeZeroes>true</IncludeZeroes> </Fields> </req> </GetHistoricPositions> </soap:Body> </soap:Envelope>