Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

GoPOC: ETL

A small library to demonstrate basic go-based ETL for mapping feeds into usable structure.

Currently the following CreditSuisse files for SDSA and TDOPT are implemented for parsing, see the package CreditSuisse XML Parser for implementation, whilst the sample files are in Data.

Please note the code is rough, so not still 100% up to standard for fully production code.

Platform Requirements

  • Linux system or VM
  • Go (go version go1.14.1 darwin/amd64)

You can install go if on a linux based system with the following:

make setup

else download for your specific OS here: https://golang.org/dl/

Dependencies Setup

To setup locally, ensure to first download all modules for project with:

make deps

You can run the following manually (if desired):

go mod download

How to run the test suite

Project comes with a basic test, which can be executed by running:

make test

Easiest Local Run

make creditsuisse_cli

You should be presented with a dump of the extracted data like below represented as Go structs:

Requesting dir for `creditSuisse` -> `Credit Suisse`
Requesting file `15_01_26_TDOPT_530103123_MODIFIED.xml`
Requesting file `15_01_50_SDSA_530423111.xml`
2020年07月31日 15:19:54 ---------Credit Suise SafeKeeping Accounts----------
([]parsers.SafeKeepingAccountInformation) (len=1 cap=1) {
 (parsers.SafeKeepingAccountInformation) {
 Account: (parsers.AccountHeader) {
 Sender: (parsers.SenderReceiverInfo) {
 SenderBIC: (string) (len=11) "CSPBSGSGPSN",
 ReceiverBIC: (string) (len=11) "CRESSGSGECO"
 },
 Info: (parsers.FLInfo) {
 DWHMsgId: (string) (len=30) "DWHMSGIDSGSDSA2020022207394717",
 LocationISO: (string) (len=2) "SG",
 CrtnDtTmDate: (string) (len=29) "2020年02月22日T08:39:47.485874000",
 ReportingDate: (time.Time) 2020年02月21日 00:00:00 +0000 UTC,
 Type: (string) (len=45) "Static Data - Safekeeping Account Information",
 TypeCD: (string) (len=4) "SDSA",
 Version: (string) (len=5) "1.0.0",
 ClientFormat: (string) (len=3) "XML",
 MessageSequenceNumber: (int) 1
 }
 },
 SafeKeepingInfo: ([]parsers.SafeKeepingClientInfo) (len=9 cap=9) {
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=6) "129638",
 ExtClientId: (string) (len=6) "129638",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=2) {
 (string) (len=8) "129638-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=8) "129638-1",
 ExtAccountId: (string) (len=8) "129638-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2014年10月28日 00:00:00 +0000 UTC
 },
 (string) (len=9) "129638-80": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=9) "129638-80",
 ExtAccountId: (string) (len=9) "129638-80",
 InvestmentCurrencyISOCd: (string) (len=3) "EUR",
 InvestmentCurrencyISODesc: (string) (len=4) "Euro",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) false,
 AccountClsgSTS: (bool) true,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2014年12月02日 00:00:00 +0000 UTC
 }
 }
 },
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=6) "132676",
 ExtClientId: (string) (len=6) "132676",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=1) {
 (string) (len=8) "132676-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=8) "132676-1",
 ExtAccountId: (string) (len=8) "132676-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2016年06月28日 00:00:00 +0000 UTC
 }
 }
 },
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=5) "31288",
 ExtClientId: (string) (len=5) "31288",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=1) {
 (string) (len=7) "31288-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=7) "31288-1",
 ExtAccountId: (string) (len=7) "31288-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2004年07月19日 00:00:00 +0000 UTC
 }
 }
 },
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=5) "40737",
 ExtClientId: (string) (len=5) "40737",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=1) {
 (string) (len=7) "40737-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=7) "40737-1",
 ExtAccountId: (string) (len=7) "40737-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2016年09月09日 00:00:00 +0000 UTC
 }
 }
 },
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=5) "40825",
 ExtClientId: (string) (len=5) "40825",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=1) {
 (string) (len=7) "40825-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=7) "40825-1",
 ExtAccountId: (string) (len=7) "40825-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2018年07月23日 00:00:00 +0000 UTC
 }
 }
 },
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=5) "41130",
 ExtClientId: (string) (len=5) "41130",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=1) {
 (string) (len=7) "41130-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=7) "41130-1",
 ExtAccountId: (string) (len=7) "41130-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2019年01月31日 00:00:00 +0000 UTC
 }
 }
 },
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=5) "71323",
 ExtClientId: (string) (len=5) "71323",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=2) {
 (string) (len=7) "71323-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=7) "71323-1",
 ExtAccountId: (string) (len=7) "71323-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2018年11月01日 00:00:00 +0000 UTC
 },
 (string) (len=8) "71323-59": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=8) "71323-59",
 ExtAccountId: (string) (len=8) "71323-59",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2018年11月01日 00:00:00 +0000 UTC
 }
 }
 },
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=5) "71788",
 ExtClientId: (string) (len=5) "71788",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=1) {
 (string) (len=7) "71788-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=7) "71788-1",
 ExtAccountId: (string) (len=7) "71788-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2019年04月15日 00:00:00 +0000 UTC
 }
 }
 },
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=5) "84959",
 ExtClientId: (string) (len=5) "84959",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=2) {
 (string) (len=7) "84959-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=7) "84959-1",
 ExtAccountId: (string) (len=7) "84959-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2016年06月30日 00:00:00 +0000 UTC
 },
 (string) (len=7) "84959-2": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=7) "84959-2",
 ExtAccountId: (string) (len=7) "84959-2",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) false,
 AccountClsgSTS: (bool) true,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2016年12月02日 00:00:00 +0000 UTC
 }
 }
 }
 }
 }
}
2020年07月31日 15:19:54 ---------Credit Suise Option Contracts--------------
([]parsers.OptionContract) (len=1 cap=1) {
 (parsers.OptionContract) {
 Account: (parsers.AccountHeader) {
 Sender: (parsers.SenderReceiverInfo) {
 SenderBIC: (string) (len=11) "CSPBSGSGPSN",
 ReceiverBIC: (string) (len=11) "CRESSGSGECO"
 },
 Info: (parsers.FLInfo) {
 DWHMsgId: (string) (len=32) "DWHMSGIDSGTDOPT20200221005317133",
 LocationISO: (string) (len=2) "SG",
 CrtnDtTmDate: (string) (len=29) "2020年02月21日T01:53:17.827223000",
 ReportingDate: (time.Time) 2020年02月20日 00:00:00 +0000 UTC,
 Type: (string) (len=37) "Transactional Data - Options Contract",
 TypeCD: (string) (len=5) "TDOPT",
 Version: (string) (len=5) "1.0.0",
 ClientFormat: (string) (len=3) "XML",
 MessageSequenceNumber: (int) 1
 }
 },
 Contracts: ([]parsers.OptionClientKeyData) (len=1 cap=1) {
 (parsers.OptionClientKeyData) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=5) "71788",
 ExtClientId: (string) (len=5) "71788",
 Contracts: ([]parsers.OptionContractCtlInfo) (len=2 cap=2) {
 (parsers.OptionContractCtlInfo) {
 CtrctId: (string) (len=15) "DXTRA1924600035",
 DealDate: (time.Time) 2019年09月03日 00:00:00 +0000 UTC,
 ExpiryDate: (time.Time) 2020年09月01日 00:00:00 +0000 UTC,
 BaseCurrencyCsCd: (string) (len=4) "0010",
 BaseCurrencyIsoCd: (string) (len=3) "CHF",
 SettlementDate: (time.Time) 2020年09月03日 00:00:00 +0000 UTC,
 BuySettlementDate: (time.Time) 2020年09月03日 00:00:00 +0000 UTC,
 SellSettlementDate: (time.Time) 2020年09月03日 00:00:00 +0000 UTC,
 SettlementTpInd: (int) 5,
 BuySellInd: (string) (len=3) "Buy",
 OptionTpCd: (int) 4,
 ExticOptionTpCd: (string) (len=23) "TargetRedemptionForward",
 NtnlLeadCurrencyAmount: (decimal.Decimal) 5200000,
 NtnlLeadCurrencyIsoCd: (string) (len=3) "EUR",
 NtnlLeadCurrencyIsoDesc: (string) (len=4) "Euro",
 StrikePriceRate: (decimal.Decimal) 120.55,
 NtnlCounterCurrencyAmount: (decimal.Decimal) 626860000,
 NtnlCounterCurrencyISOCd: (string) (len=3) "JPY",
 NtnlCounterCurrencyISODesc: (string) (len=3) "Yen",
 PremiumAmount: (decimal.Decimal) 0,
 PremiumAccountIsoCd: (string) (len=3) "USD",
 PremiumAccountIsoDesc: (string) (len=10) "US dollars",
 PositionDate: (time.Time) 2020年02月20日 00:00:00 +0000 UTC,
 RevaluationDate: (time.Time) 2020年09月03日 00:00:00 +0000 UTC,
 PrtFlId: (string) (len=7) "71788-1",
 MtmValOrigCurrencyIsoCd: (string) (len=3) "EUR",
 MtmValOrigCurrencyAmount: (decimal.Decimal) 5342.981836,
 MtmValReportCurrencyISOCd: (string) (len=3) "USD",
 MtmValReportCurrencyAmount: (decimal.Decimal) 5786.44932842,
 MtmValueDate: (time.Time) 2020年02月18日 00:00:00 +0000 UTC
 },
 (parsers.OptionContractCtlInfo) {
 CtrctId: (string) (len=15) "DXTRA1928900047",
 DealDate: (time.Time) 2019年10月16日 00:00:00 +0000 UTC,
 ExpiryDate: (time.Time) 2020年10月14日 00:00:00 +0000 UTC,
 BaseCurrencyCsCd: (string) (len=4) "0010",
 BaseCurrencyIsoCd: (string) (len=3) "CHF",
 SettlementDate: (time.Time) 2020年10月16日 00:00:00 +0000 UTC,
 BuySettlementDate: (time.Time) 2020年10月16日 00:00:00 +0000 UTC,
 SellSettlementDate: (time.Time) 2020年10月16日 00:00:00 +0000 UTC,
 SettlementTpInd: (int) 5,
 BuySellInd: (string) (len=3) "Buy",
 OptionTpCd: (int) 4,
 ExticOptionTpCd: (string) (len=28) "PivotTargetRedemptionForward",
 NtnlLeadCurrencyAmount: (decimal.Decimal) 3120000,
 NtnlLeadCurrencyIsoCd: (string) (len=3) "NZD",
 NtnlLeadCurrencyIsoDesc: (string) (len=19) "New Zealand dollars",
 StrikePriceRate: (decimal.Decimal) 0.6618,
 NtnlCounterCurrencyAmount: (decimal.Decimal) 2064816,
 NtnlCounterCurrencyISOCd: (string) (len=3) "USD",
 NtnlCounterCurrencyISODesc: (string) (len=10) "US dollars",
 PremiumAmount: (decimal.Decimal) 0,
 PremiumAccountIsoCd: (string) (len=3) "NZD",
 PremiumAccountIsoDesc: (string) (len=19) "New Zealand dollars",
 PositionDate: (time.Time) 2020年02月20日 00:00:00 +0000 UTC,
 RevaluationDate: (time.Time) 2020年10月16日 00:00:00 +0000 UTC,
 PrtFlId: (string) (len=7) "71788-1",
 MtmValOrigCurrencyIsoCd: (string) (len=3) "NZD",
 MtmValOrigCurrencyAmount: (decimal.Decimal) -2104.313972,
 MtmValReportCurrencyISOCd: (string) (len=3) "USD",
 MtmValReportCurrencyAmount: (decimal.Decimal) -1349.28611859,
 MtmValueDate: (time.Time) 2020年02月18日 00:00:00 +0000 UTC
 }
 }
 }
 }
 }
}
03:19:54 darkside@TUFStar creditsuisse_mapper ±|master ✗|→ go run main.go 
Requesting dir for `creditSuisse` -> `Credit Suisse`
Requesting file `15_01_26_TDOPT_530103123_MODIFIED.xml`
Requesting file `15_01_50_SDSA_530423111.xml`
2020年07月31日 15:24:27 ---------Credit Suise SafeKeeping Accounts----------
([]parsers.SafeKeepingAccountInformation) (len=1 cap=1) {
 (parsers.SafeKeepingAccountInformation) {
 Account: (parsers.AccountHeader) {
 Sender: (parsers.SenderReceiverInfo) {
 SenderBIC: (string) (len=11) "CSPBSGSGPSN",
 ReceiverBIC: (string) (len=11) "CRESSGSGECO"
 },
 Info: (parsers.FLInfo) {
 DWHMsgId: (string) (len=30) "DWHMSGIDSGSDSA2020022207394717",
 LocationISO: (string) (len=2) "SG",
 CrtnDtTmDate: (string) (len=29) "2020年02月22日T08:39:47.485874000",
 ReportingDate: (time.Time) 2020年02月21日 00:00:00 +0000 UTC,
 Type: (string) (len=45) "Static Data - Safekeeping Account Information",
 TypeCD: (string) (len=4) "SDSA",
 Version: (string) (len=5) "1.0.0",
 ClientFormat: (string) (len=3) "XML",
 MessageSequenceNumber: (int) 1
 }
 },
 SafeKeepingInfo: ([]parsers.SafeKeepingClientInfo) (len=9 cap=9) {
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=6) "129638",
 ExtClientId: (string) (len=6) "129638",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=2) {
 (string) (len=8) "129638-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=8) "129638-1",
 ExtAccountId: (string) (len=8) "129638-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2014年10月28日 00:00:00 +0000 UTC
 },
 (string) (len=9) "129638-80": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=9) "129638-80",
 ExtAccountId: (string) (len=9) "129638-80",
 InvestmentCurrencyISOCd: (string) (len=3) "EUR",
 InvestmentCurrencyISODesc: (string) (len=4) "Euro",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) false,
 AccountClsgSTS: (bool) true,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2014年12月02日 00:00:00 +0000 UTC
 }
 }
 },
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=6) "132676",
 ExtClientId: (string) (len=6) "132676",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=1) {
 (string) (len=8) "132676-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=8) "132676-1",
 ExtAccountId: (string) (len=8) "132676-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2016年06月28日 00:00:00 +0000 UTC
 }
 }
 },
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=5) "31288",
 ExtClientId: (string) (len=5) "31288",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=1) {
 (string) (len=7) "31288-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=7) "31288-1",
 ExtAccountId: (string) (len=7) "31288-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2004年07月19日 00:00:00 +0000 UTC
 }
 }
 },
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=5) "40737",
 ExtClientId: (string) (len=5) "40737",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=1) {
 (string) (len=7) "40737-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=7) "40737-1",
 ExtAccountId: (string) (len=7) "40737-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2016年09月09日 00:00:00 +0000 UTC
 }
 }
 },
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=5) "40825",
 ExtClientId: (string) (len=5) "40825",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=1) {
 (string) (len=7) "40825-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=7) "40825-1",
 ExtAccountId: (string) (len=7) "40825-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2018年07月23日 00:00:00 +0000 UTC
 }
 }
 },
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=5) "41130",
 ExtClientId: (string) (len=5) "41130",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=1) {
 (string) (len=7) "41130-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=7) "41130-1",
 ExtAccountId: (string) (len=7) "41130-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2019年01月31日 00:00:00 +0000 UTC
 }
 }
 },
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=5) "71323",
 ExtClientId: (string) (len=5) "71323",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=2) {
 (string) (len=7) "71323-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=7) "71323-1",
 ExtAccountId: (string) (len=7) "71323-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2018年11月01日 00:00:00 +0000 UTC
 },
 (string) (len=8) "71323-59": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=8) "71323-59",
 ExtAccountId: (string) (len=8) "71323-59",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2018年11月01日 00:00:00 +0000 UTC
 }
 }
 },
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=5) "71788",
 ExtClientId: (string) (len=5) "71788",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=1) {
 (string) (len=7) "71788-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=7) "71788-1",
 ExtAccountId: (string) (len=7) "71788-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2019年04月15日 00:00:00 +0000 UTC
 }
 }
 },
 (parsers.SafeKeepingClientInfo) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=5) "84959",
 ExtClientId: (string) (len=5) "84959",
 SafeKeepingAccounts: (map[string]parsers.SafeKeepingAccountInfo) (len=2) {
 (string) (len=7) "84959-1": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=7) "84959-1",
 ExtAccountId: (string) (len=7) "84959-1",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) true,
 AccountClsgSTS: (bool) false,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2016年06月30日 00:00:00 +0000 UTC
 },
 (string) (len=7) "84959-2": (parsers.SafeKeepingAccountInfo) {
 AccountId: (string) (len=7) "84959-2",
 ExtAccountId: (string) (len=7) "84959-2",
 InvestmentCurrencyISOCd: (string) (len=3) "USD",
 InvestmentCurrencyISODesc: (string) (len=10) "US dollars",
 AccountTpCd: (int) 100,
 AccountTpDesc: (string) (len=19) "Safekeeping account",
 AccountSTS: (bool) false,
 AccountClsgSTS: (bool) true,
 AccountPldgdInd: (bool) false,
 AccountPrtlyPldfdInd: (bool) false,
 AccountLmtPldgdInd: (bool) false,
 AccountOpeningDate: (time.Time) 2016年12月02日 00:00:00 +0000 UTC
 }
 }
 }
 }
 }
}
2020年07月31日 15:24:27 ---------Credit Suise Option Contracts--------------
([]parsers.OptionContract) (len=1 cap=1) {
 (parsers.OptionContract) {
 Account: (parsers.AccountHeader) {
 Sender: (parsers.SenderReceiverInfo) {
 SenderBIC: (string) (len=11) "CSPBSGSGPSN",
 ReceiverBIC: (string) (len=11) "CRESSGSGECO"
 },
 Info: (parsers.FLInfo) {
 DWHMsgId: (string) (len=32) "DWHMSGIDSGTDOPT20200221005317133",
 LocationISO: (string) (len=2) "SG",
 CrtnDtTmDate: (string) (len=29) "2020年02月21日T01:53:17.827223000",
 ReportingDate: (time.Time) 2020年02月20日 00:00:00 +0000 UTC,
 Type: (string) (len=37) "Transactional Data - Options Contract",
 TypeCD: (string) (len=5) "TDOPT",
 Version: (string) (len=5) "1.0.0",
 ClientFormat: (string) (len=3) "XML",
 MessageSequenceNumber: (int) 1
 }
 },
 Contracts: ([]parsers.OptionClientKeyData) (len=1 cap=1) {
 (parsers.OptionClientKeyData) {
 IntRptUnit: (string) (len=4) "0973",
 IntRptUnitDesc: (string) (len=35) "CS Private Banking Singapore Branch",
 ClientId: (string) (len=5) "71788",
 ExtClientId: (string) (len=5) "71788",
 Contracts: ([]parsers.OptionContractCtlInfo) (len=2 cap=2) {
 (parsers.OptionContractCtlInfo) {
 CtrctId: (string) (len=15) "DXTRA1924600035",
 DealDate: (time.Time) 2019年09月03日 00:00:00 +0000 UTC,
 ExpiryDate: (time.Time) 2020年09月01日 00:00:00 +0000 UTC,
 BaseCurrencyCsCd: (string) (len=4) "0010",
 BaseCurrencyIsoCd: (string) (len=3) "CHF",
 SettlementDate: (time.Time) 2020年09月03日 00:00:00 +0000 UTC,
 BuySettlementDate: (time.Time) 2020年09月03日 00:00:00 +0000 UTC,
 SellSettlementDate: (time.Time) 2020年09月03日 00:00:00 +0000 UTC,
 SettlementTpInd: (int) 5,
 BuySellInd: (string) (len=3) "Buy",
 OptionTpCd: (int) 4,
 ExticOptionTpCd: (string) (len=23) "TargetRedemptionForward",
 NtnlLeadCurrencyAmount: (decimal.Decimal) 5200000,
 NtnlLeadCurrencyIsoCd: (string) (len=3) "EUR",
 NtnlLeadCurrencyIsoDesc: (string) (len=4) "Euro",
 StrikePriceRate: (decimal.Decimal) 120.55,
 NtnlCounterCurrencyAmount: (decimal.Decimal) 626860000,
 NtnlCounterCurrencyISOCd: (string) (len=3) "JPY",
 NtnlCounterCurrencyISODesc: (string) (len=3) "Yen",
 PremiumAmount: (decimal.Decimal) 0,
 PremiumAccountIsoCd: (string) (len=3) "USD",
 PremiumAccountIsoDesc: (string) (len=10) "US dollars",
 PositionDate: (time.Time) 2020年02月20日 00:00:00 +0000 UTC,
 RevaluationDate: (time.Time) 2020年09月03日 00:00:00 +0000 UTC,
 PrtFlId: (string) (len=7) "71788-1",
 MtmValOrigCurrencyIsoCd: (string) (len=3) "EUR",
 MtmValOrigCurrencyAmount: (decimal.Decimal) 5342.981836,
 MtmValReportCurrencyISOCd: (string) (len=3) "USD",
 MtmValReportCurrencyAmount: (decimal.Decimal) 5786.44932842,
 MtmValueDate: (time.Time) 2020年02月18日 00:00:00 +0000 UTC
 },
 (parsers.OptionContractCtlInfo) {
 CtrctId: (string) (len=15) "DXTRA1928900047",
 DealDate: (time.Time) 2019年10月16日 00:00:00 +0000 UTC,
 ExpiryDate: (time.Time) 2020年10月14日 00:00:00 +0000 UTC,
 BaseCurrencyCsCd: (string) (len=4) "0010",
 BaseCurrencyIsoCd: (string) (len=3) "CHF",
 SettlementDate: (time.Time) 2020年10月16日 00:00:00 +0000 UTC,
 BuySettlementDate: (time.Time) 2020年10月16日 00:00:00 +0000 UTC,
 SellSettlementDate: (time.Time) 2020年10月16日 00:00:00 +0000 UTC,
 SettlementTpInd: (int) 5,
 BuySellInd: (string) (len=3) "Buy",
 OptionTpCd: (int) 4,
 ExticOptionTpCd: (string) (len=28) "PivotTargetRedemptionForward",
 NtnlLeadCurrencyAmount: (decimal.Decimal) 3120000,
 NtnlLeadCurrencyIsoCd: (string) (len=3) "NZD",
 NtnlLeadCurrencyIsoDesc: (string) (len=19) "New Zealand dollars",
 StrikePriceRate: (decimal.Decimal) 0.6618,
 NtnlCounterCurrencyAmount: (decimal.Decimal) 2064816,
 NtnlCounterCurrencyISOCd: (string) (len=3) "USD",
 NtnlCounterCurrencyISODesc: (string) (len=10) "US dollars",
 PremiumAmount: (decimal.Decimal) 0,
 PremiumAccountIsoCd: (string) (len=3) "NZD",
 PremiumAccountIsoDesc: (string) (len=19) "New Zealand dollars",
 PositionDate: (time.Time) 2020年02月20日 00:00:00 +0000 UTC,
 RevaluationDate: (time.Time) 2020年10月16日 00:00:00 +0000 UTC,
 PrtFlId: (string) (len=7) "71788-1",
 MtmValOrigCurrencyIsoCd: (string) (len=3) "NZD",
 MtmValOrigCurrencyAmount: (decimal.Decimal) -2104.313972,
 MtmValReportCurrencyISOCd: (string) (len=3) "USD",
 MtmValReportCurrencyAmount: (decimal.Decimal) -1349.28611859,
 MtmValueDate: (time.Time) 2020年02月18日 00:00:00 +0000 UTC
 }
 }
 }
 }
 }
}

About

Custom POC for writing ETL in Golang

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /