Thalex offers a fully integrated request-for-quote (RFQ) functionality. An RFQ is a private auction for a single contract or combination of contracts, cleared through Thalex and resulting in regular open positions.
Upon acceptance of the RFQ by Thalex, the system will convert the RFQ to an equivalent combination, where:
i. leg quantities are changed such that each is an integer;
ii. an amount is deduced such that multiplying the amount with the leg quantities matches the requested quantities; and
iii. a volume tick size is deduced, allowing liquidity providers to quote part of the amount.
For example, take the following requested legs.
Instrument | Quantity |
---|---|
BTC-27MAY22-29000-C | 10 |
BTC-27MAY22-32000-C | -10 |
BTC-PERPETUAL | -3.6 |
The system may derive from this an RFQ with the following legs, with the requested amount being 0.4 and volume tick size 0.004.
Instrument | Quantity |
---|---|
BTC-27MAY22-29000-C | 25 |
BTC-27MAY22-32000-C | -25 |
BTC-PERPETUAL | -9 |
Please see Appendix 1 for the precision rule for calculating leg amounts.
RFQs are margined as atomic combination trades. The resulting position must not breach margin requirements or, if initial margin requirements are already breached, must reduce the risk exposure of the position.
In order to insert or maintain an RFQ quote, sufficient margin must be available to support:
i. the position resulting from that quote if traded, plus
ii. any other quotes on the same RFQ and side with a more aggressive price.
Existing quotes that stop meeting this requirement are automatically cancelled by the system.
Multiple quotes on one side of a single RFQ may all trade at the same time. But immediately after such trade, all other quotes in all open RFQs for the liquidity provider are cancelled. With this protection function, it is not possible to be hit or lifted in multiple RFQs at the same time, unless a new quote insert happened to be in flight.
Market maker protection for RFQs does not in any way interact with market maker protection for mass quoting.
RFQ trades are added to the system as regular trades on the legs, and normal fees apply.
Reduction is applied only once (e.g., when buying a hedged call, the hedge is free, but when buying a hedged call spread, the spread is accounted as a single leg and the hedge is an added cost).
The above is a general rule of thumb. More precisely, a pair of legs is a candidate for fee reduction if:
The precision of leg amounts must be under 6 decimal digits. Thalex requires this to protect against absurdly large, derived combinations. An amount of 20 million contracts is fine (1 digit), but 20,000,000.123 (11 digits) is not. Similarly, it is fine to have one leg with 20 million contracts and another with 10 million contracts, but not to have one leg with 20 million contracts and another with 0.123 contracts.
To calculate the combined precision across multiple legs, the following procedure is followed:
The above is the formal restriction. A simpler verification is to sum all leg amounts; if the result has at most 6 decimals, then the precision is ok. This is an easy rule of thumb, but slightly restrictive. For example, one leg of 1.4 million and one leg of 2 has the sum 1,400,002 with 7 decimals (not ok), but the GCD algorithm will actually derive 700,000 and 1 (ok).
Consider an RFQ with a requested amount of 4 and a volume tick size of 0.1. The creator has the intention to buy, hence will look at offers and not bids.
Offers: 2 @ 100.1, 2 @ 100.3, 2 @ 100.5
Displayed quote: 4 @ 100.3
Request to trade buy @ 100.4: the RFQ trades 4 @ 100.3, and the first 2 quotes will fill.
Offers: 2 @ 100.1, 1 @ 100.3, 2 @ 100.5
Displayed quote: 4 @ 100.5
Request to trade buy @ 100.4: the RFQ trades 3 @ 100.3 (75% -- the last quote is outside the limit), and the first 2 quotes will fill.
Offers: 2 @ 100.1, 1 @ 100.3, 2 @ 100.5
Displayed quote: 4 @ 100.5
Request to trade buy @ 100.5: the RFQ trades 4 @ 100.5; the first 2 quotes fill fully, and the last quote fills partially.
Offers: 2 @ 100.1, 1 @ 100.3, 2 @ 100.5
Displayed quote: 4 @ 100.5
Request to trade buy @ 100.2: the RFQ does not trade since only 50% is available within the limit.