Skip to content

Repository files navigation

PREtty FIX

CI StatusLatest Release

A commandline based pretty printer for FIX messages.

Based on a FIX4.4 dictionary, but is usable with all versions.

Prefix showcase

Usage

input can be passed in as an argument or piped in:

prefix "8=FIX4.4|1=test|55=EUR/USD|10=123|"echo"8=FIX4.4|1=test|55=EUR/USD|10=123|"| prefix

outputs:

BeginString = FIX4.4
Account = test
Symbol = EUR/USD
CheckSum = 123

Currently can use ^ and | and SOH as delimiters.

Use prefix --help or man prefix for more details.

Piping

Unix piping greatly increases the potential uses. For example: Parsing a log file and aligning the values for easy scan reading.

# Pipe the file contents to prefix which parses and pipes them to awk, which prints them aligned.
cat example.txt | prefix -v | awk '{printf("%-20s %-30s\n", $1,$3)}'

outputs:

BeginString FIX.4.4
Account TEST
Symbol EUR/USD
ExecType PartialFill

Or summarising a log file that includes FIX messages.

# Pipe the file contents to prefix which then summarises the FIX messages by instrument
cat example.log | prefix --summary "35 for 55"| sort | uniq --count

outputs:

4 NewOrderSingle for EUR/USD
4 ExecutionReport for EUR/USD
2 NewOrderSingle for USD/KRW
2 ExecutionReport for USD/KRW

Installation

Can be installed using:

cargo install prefix

Install manpage and completion using:

make install-<shell># replace <shell> with the shell of your choice (fish/ zsh/ bash)

Issues

Any bugs/ requests can be added to the issues page on the github repository.

About

A CLI pretty printer for FIX messages

Topics

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages