Price

base: floatFIX 4.4FIX 4.2FIX 5.0 SP2

Price is a FIX datatype defined in FIX 4.4, FIX 4.2 and FIX 5.0 SP2, carried on the wire as float. 45 fields use it.

Wire format

Base type
float
Fields
45

A decimal price. Precision is a venue convention, not a protocol rule, so compare the raw string when exactness matters.

What the specification says

FIX 4.4

float field representing a price. Note the number of decimal places may vary. For certain asset classes prices may be negative values. For example, prices for options strategies can be negative under certain market conditions. Refer to Volume 7: FIX Usage by Product for asset classes that support negative price values.

FIX 4.2

float field (see definition of "float" above) representing a price. Note the number of decimal places may vary.

FIX 5.0 SP2

float field representing a price. Note the number of decimal places may vary. For certain asset classes prices may be negative values. For example, prices for options strategies can be negative under certain market conditions. Refer to Volume 7: FIX Usage by Product for asset classes that support negative price values.

Descriptions are quoted from the FIX Orchestra sources under the Apache 2.0 licence.

How @boarteam/fix handles it

@boarteam/fix parses the value as a number and reports parse/invalid-float when it does not lex as one; the raw string is kept so precision and trailing zeros are never lost.

Fields with this datatype

TagFieldDialectsMessages
6AvgPxFIX 4.4, FIX 4.2, FIX 5.0 SP26
31LastPxFIX 4.4, FIX 4.2, FIX 5.0 SP26
44PriceFIX 4.4, FIX 4.2, FIX 5.0 SP221
99StopPxFIX 4.4, FIX 4.2, FIX 5.0 SP28
132BidPxFIX 4.4, FIX 4.2, FIX 5.0 SP25
133OfferPxFIX 4.4, FIX 4.2, FIX 5.0 SP25
140PrevClosePxFIX 4.4, FIX 4.2, FIX 5.0 SP210
153AllocAvgPxFIX 4.4, FIX 4.2, FIX 5.0 SP22
188BidSpotRateFIX 4.4, FIX 4.2, FIX 5.0 SP25
190OfferSpotRateFIX 4.4, FIX 4.2, FIX 5.0 SP25
194LastSpotRateFIX 4.4, FIX 4.2, FIX 5.0 SP22
202StrikePriceFIX 4.4, FIX 4.2, FIX 5.0 SP259
260BasisFeaturePriceFIX 4.4, FIX 5.0 SP21
270MDEntryPxFIX 4.4, FIX 4.2, FIX 5.0 SP22
316UnderlyingStrikePriceFIX 4.4, FIX 4.2, FIX 5.0 SP259
332HighPxFIX 4.4, FIX 4.2, FIX 5.0 SP21
333LowPxFIX 4.4, FIX 4.2, FIX 5.0 SP21
366AllocPriceFIX 4.4, FIX 4.2, FIX 5.0 SP24
426DayAvgPxFIX 4.4, FIX 4.2, FIX 5.0 SP21
566LegPriceFIX 4.4, FIX 5.0 SP25
612LegStrikePriceFIX 4.4, FIX 5.0 SP250
631MidPxFIX 4.4, FIX 5.0 SP25
637LegLastPxFIX 4.4, FIX 5.0 SP23
640Price2FIX 4.4, FIX 5.0 SP25
645MktBidPxFIX 4.4, FIX 5.0 SP23
646MktOfferPxFIX 4.4, FIX 5.0 SP23
651UnderlyingLastPxFIX 4.4, FIX 5.0 SP21
662BenchmarkPriceFIX 4.4, FIX 5.0 SP222
669LastParPxFIX 4.4, FIX 5.0 SP24
679LegBenchmarkPriceFIX 4.4, FIX 5.0 SP25
681LegBidPxFIX 4.4, FIX 5.0 SP22
684LegOfferPxFIX 4.4, FIX 5.0 SP22
697YieldRedemptionPriceFIX 4.4, FIX 5.0 SP217
730SettlPriceFIX 4.4, FIX 5.0 SP22
732UnderlyingSettlPriceFIX 4.4, FIX 5.0 SP22
734PriorSettlPriceFIX 4.4, FIX 5.0 SP21
799OrderAvgPxFIX 4.4, FIX 5.0 SP24
810UnderlyingPxFIX 4.4, FIX 5.0 SP259
839PeggedPriceFIX 4.4, FIX 5.0 SP21
845DiscretionPriceFIX 4.4, FIX 5.0 SP21
860AvgParPxFIX 4.4, FIX 5.0 SP23
861ReportedPxFIX 4.4, FIX 5.0 SP21
867EventPxFIX 4.4, FIX 5.0 SP259
882UnderlyingDirtyPriceFIX 4.4, FIX 5.0 SP259
883UnderlyingEndPriceFIX 4.4, FIX 5.0 SP259

Decode this in your own code

The same engine that produced the decoded example above is an Apache-2.0 npm package with zero runtime dependencies. It runs in Node and in the browser, and parse() returns problems as data instead of throwing.

npm i @boarteam/fix @boarteam/fix-dict-fix44