Skip to content

robfordww/mifir-concat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mifir-concat

Go Reference Go Report Card

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.

Features

  • 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

Installation

go install github.com/robfordww/mifir-concat@latest

Building and Testing

Clone 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 build

Command-Line Usage

Pipe MiFIR person records to stdin using the pipe-delimited format ISOCOUNTRYCODE|YYYYMMDD|FIRSTNAME|LASTNAME:

./mifirconcat < persons.txt

Example:

AT|18870812|Erwin|Schrödinger

Output:

AT18870812ERWINSCHRO

Library Usage

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.

About

Library to derive MiFIR Concat

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages