Derive MiFIR CONCAT identifiers in accordance with EC 2017/590 article 6 and the ESMA guidelines for transaction reporting. The package exposes a reusable CreateConcat helper while the CLI streams input from stdin so it can be composed in shell pipelines.
- Deterministic CONCAT derivation aligned with ESMA guideline test cases
- Prefix and title stripping based on the MiFIR specification
- Unicode character folding to the expected Latin alphabet
- Throughput-oriented implementation; single-core benchmarks exceed 100k CONCAT/s
go install github.com/robfordww/mifir-concat@latestClone the repository locally when you need to develop or run the legacy benchmarks.
git clone https://github.com/robfordww/mifir-concat.git
cd mifir-concat
go test ./...
go buildPipe MiFIR person records to stdin using the pipe-delimited format ISOCOUNTRYCODE|YYYYMMDD|FIRSTNAME|LASTNAME:
./mifirconcat < persons.txtExample:
AT|18870812|Erwin|Schrödinger
Output:
AT18870812ERWINSCHRO
concat, err := CreateConcat("AT", "18870812", "Erwin", "Schrödinger")
if err != nil {
log.Fatal(err)
}
fmt.Println(concat)Refer to the Go reference for full API documentation and additional examples.