Introduction¶
In Dealer-to-Client (D2C) markets where business is conducted via the Request-for-Quote (RfQ) protocol, the dealer occupies a unique position: she knows the identity of the counterparty she is quoting, the instrument being requested, and the history of previous interactions. This information richness distinguishes D2C platforms from anonymous order-driven markets and opens the door to a class of models that exploit client and product heterogeneity to improve pricing, risk management, and client coverage. The RfQ protocol is the dominant trading mechanism across a wide range of asset classes — corporate and government bonds, credit and interest rate derivatives, FX products, and structured instruments — wherever the dealer’s superior information about client demand and own inventory makes price discovery more efficient on a bilateral, relationship-driven basis.
This chapter develops a suite of models for the Request-for-Quote (RfQ) process on Multi-Dealer-to-Client (MD2C) platforms. Although the framework is general, fixed income is used as the primary running example throughout, reflecting both the breadth of the empirical literature on bond RfQ markets and the fact that bonds represent the largest segment of D2C RfQ volume globally. Readers working in FX, rates derivatives, or structured products will find that the probabilistic structure, the causal identification arguments, and the optimal pricing formulas translate directly to their markets by substituting the relevant instrument features. The chapter is organized as follows. We begin by constructing a probabilistic graphical model for the full RfQ process, identifying the observable and latent variables that govern RfQ outcomes. The following section develops generative models for RfQ activity: arrival models based on counting processes, attrition risk models that detect when clients have stopped engaging with the dealer, and anomaly detection models for clients exhibiting abnormal trading patterns. The next section presents the generative model for negotiation, which follows Fermanian et al. (2016) and Marín et al. (2025) in modelling the latent reservation spread and competitor quotes as parametric distributions, yielding an explicit hit probability formula. The chapter then turns to causal interventions: drawing on the framework of Causal inference, we apply the back-door criterion to the RfQ causal graph to obtain an identifiable hit probability, and use this as the foundation for two dealer decisions — optimal pricing and the axe matcher. Optimal pricing is covered in two regimes: a streaming price setting where only trades are observed (no miss information), and a full RfQ setting with observable hit/miss outcomes. The axe matcher formalizes client targeting as an average causal effect computation.
Probabilistic graphical model for RfQs¶
A model that captures the Request for Quote process discussed in the Market Microstructure chapter is the probabilistic graphical model proposed by Marín et al., 2025, which we reproduce in the following figure:

Figure 1:Probabilistic graphical model for the Request for Quote process
The model is composed of the following elements. Some of them are known pre-trade, others post-trade depending on the result of the RfQ, and some are just simply non-observable (latent) variables:
RfQ: a binary random variable indicating whether an RfQ is initiated. Each RfQ carries associated features, collectively represented by the variable RF in the model. These include, for example, the time of the request, the side (buy or sell) — where “buy” implies the dealer purchases from the client, and “sell” implies the dealer sells to the client — the volume , and the number of competing dealers chosen by the client (typically subject to platform-imposed limits). The trigger for an RfQ can stem from external client factors, such as a specific trading strategy, which fall outside the model’s scope. In some cases, it may also result from proactive engagement by the dealer’s sales force, captured in the variable call. Other factors that may shape the client’s decision to request a quote, and which are explicitly included in the model, include:
Price discovery (PD): The client is interested in discovering the fair value of the instrument but has no intention to execute a trade. This intent is unobservable (a latent variable), as the dealer cannot infer the client’s true motivation at the time the RfQ is received.
Client information asymmetry (IA): If the client possesses meaningful information about the short-term direction of the market, this creates a situation of information asymmetry. There are several possible sources for this asymmetry:
The client’s trading activity itself may generate market impact, yet the RfQ submitted to the dealer often reflects only a portion of the total intended order. In this case, the information will affect the market and is captured in the model as a price drift () variable, with a direct link represented as .
Alternatively, the client might have access to insider information or sophisticated analytics that provide insight into future price movements. This scenario is also modeled via the drift variable, though here there is no direct causal connection between information asymmetry and drift —rather, the client forms an estimate of the drift but does not influence its true value post-trade.
Axe: A publicly expressed interest by the dealer in executing a trade at a favorable price (either bid or ask), which can increase the likelihood that a client will submit an RfQ.
Client Features (CF): Includes the identity of the client as well as broader attributes that may influence trading behavior—such as industry sector, geographic location, or credit rating.
Instrument Features (BF): Encompasses the instrument’s unique identifier along with its financial attributes and liquidity characteristics. For bonds these include coupon, yield, maturity, and interest rate sensitivity (e.g., DV01); for interest rate swaps, the tenor, notional currency, and fixed rate; for FX products, the currency pair and settlement date; for options, the strike, expiry, and relevant Greeks. Liquidity attributes — such as market bid-ask spreads, volatility, and the typical number of active dealers — are relevant across all asset classes. For conciseness the label BF is retained throughout; the framework applies equally to any RfQ-traded instrument by substituting the relevant product attributes.
RfQ Status (RS): The final outcome of the RfQ can be categorized into three main cases:
Hit: The client executes a trade with the dealer.
Missed: The client trades with a different dealer.
Passed: The client does not trade with any dealer. This may occur because the quotes were not attractive enough or the client was merely seeking price information (price discovery).
The drivers of the RfQ status in this model include:
The client’s intent to trade, which is what initiates a Request for Quote (RfQ) via a multi-dealer-to-client platform.
If the quote is requested solely for price discovery (PD) purposes, the only possible outcome with non-zero probability is a passed status (i.e., the client walks away without trading).
The half-spread () quoted by the dealer. Although dealers provide price quotes to clients, we assume that the client’s trading decision depends on the quoted spread relative to a reference mid-price . For example, using a composite price from the platform, the transaction price is modeled as:
, where if the dealer is selling (ask), and if buying (bid).The spreads quoted by competing dealers, denoted . Clients may choose to include up to dealers in the RfQ. Naturally, as increases, so does the probability of receiving a more competitive quote. Typically, all quoting dealers know the number of participants , but not the individual prices submitted by others. The only partial post-trade information available comes when a dealer wins the RfQ and the platform discloses the cover price (i.e., the second-best price). The dealer who submitted this cover price is informed of their status as covered, but they do not receive information on the actual winning price.
The client’s reservation spread : the maximum acceptable spread relative to the mid-price, defined as
,
where is the trade side as defined earlier.
If all quoted prices exceed this threshold, the client will not trade (passed status). Since is not directly observable, it must be inferred from historical client behavior. Its determinants include client features (), bond features (), and RfQ characteristics (). Additionally, information asymmetry () is expected to play a role—clients with better information may be more inclined to accept trades.
Likewise, higher market volatility () may prompt clients to trade more readily (e.g., to reduce risk exposure).
Revenue (R): The profitability of the trade. Dealers use several different revenue metrics depending on the context:
Instantaneous Flow Value (): A simple per-trade measure of profitability, calculated as where is the trade volume and is the half-spread at the time of the trade. This metric does not consider the gains or losses realized when the inventory is eventually unwound via an opposite trade.
Round-Trip Revenue (): Addresses the limitations of the instantaneous flow value by considering the full round-trip (buy and sell or vice versa). Revenue is computed as:
where is the RfQ time and is the round-trip time.
Assuming Brownian motion for price dynamics:where is the drift, is the volatility, and is a Wiener process such that The stochastic component () captures the effect of market external factors (MXF). The model also allows for a causal relationship between information asymmetry (IA) and drift (), to reflect situations where client trading influences market direction. Both and are latent variables—not observable at trade time. However, the model assumes that (volatility) is relatively predictable, so its pre- and post-trade values are treated as equivalent. This makes it a valid driver of both dealer pricing (, ) and client reservation spreads (). In contrast, (drift) is much harder to predict reliably, except in cases where clients have asymmetric information. Hence, post-trade drift is excluded from dealer pricing logic.
End-of-Day Flow Value (): Used when trades remain open over long time horizons (e.g., illiquid bonds). Revenue is marked-to-market at the end of the day:
where is the end-of-day timestamp. This measure can incorporate liquidity penalties to reflect the risk of holding hard-to-sell positions.
Short-Term Flow Value (): Evaluates revenue at a short time horizon (seconds to minutes) after trade execution:
.
This is particularly useful for identifying information asymmetry (IA), as such informational advantages typically manifest within short timeframes before being diluted by general market dynamics (MXF).
Generative models for the request for quote activity¶
Models for the arrival of RfQs¶
A dealer receives RfQs for different products from different clients every day or week. Each RfQ has a side, buy or sell, and a volume requested to be traded. A generative model that captures this distribution can be encoded by the following probability:
where is a random variable that specifies the time at which a client requests a quote for product of side and volume (for the moment we assume volumes to be discrete), and we have also a filtration that includes all relevant information up to t. Alternatively we can introduce as the number of such RfQs up to time t. These two formulations are in fact equivalent:
From the Stochastic Calculus chapter we recognize this model as a counting process, whose probability distribution we can write as:
with the so-called intensity being a general function of time, RfQ variables and any relevant information contained in , for instance, previous RfQs. This is an instance of a non-homogeneous Poisson process. If it also depends on previous times of arrivals of RfQs, i.e. it is a self-exciting process, we have a Hawkes process. Such counting processes are natural candidates to model the arrival of RfQs.
Alternatively, we can rewrite the model using the product rule of probability as:
where we have used the compact notation: instead of . This way, we can explicitly model the statistics of each of the probabilities in the product. A typical hypothesis is to make the conditional probabilities independent of time and use simple distributions to model them. For instance, volumes are modelled in many cases as continuous distribution following a power law or a log-normal probability density, since volumes are positive and heavy tailed in their distribution:
where , .
The side , being a binary variable, buy or sell, is typically modelled using a Bernoulli distribution. Finally, the probabilities that RfQs come from a specific client or product can be modelled using a categorical distribution, a generalization of Bernoulli distributions for more than two categories.
Attrition risk¶
The previous model considers that clients have a stable pattern of choosing the dealer for their requests for quotes. However, clients might at some point stop sending RfQs to the dealer, for instance when they perceive that prices are non competitive on average (i.e. they see low hit & miss ratios) or when dealers often don’t respond with their quotes.
A simple extension of the previous model for the arrival of RfQs introduces a latent binary random variable to characterize if clients are actively engaging with the dealer or not. Denoting this variable , with meaning the client is active, the model is decomposed as:
where we have implicitly used the fact that , i.e. we don’t expect the arrival of RfQs for clients that are inactive. We are therefore interested in characterizing or most typically , which is known in the marketing analytics literature as the attrition risk model.
Inferences of attrition risk can be done by analyzing the historical patterns of client trading activity. A simple albeit elegant model is that from Fader et al. (2010), where they consider daily (or any other time scale) client activity as a set of independent identically distributed Bernoulli random variables with probability . In our RfQ setup, this means if the client sends any RfQ, or otherwise. Additionally, a client can become inactive at the beginning of the day with probability . Given a pattern of historical daily activity of a client we can compute the probability that the client is active using Bayes’ theorem:
For example, for the pattern , the likelihood in the denominator is calculated as the probability that the observed pattern is simply explained by the natural probabilities of requesting RfQs:
with the prior probability for the client being active corresponding to the scenario in which the client does not become inactive in all the observation periods:
In contrast, the alternative hypothesis in which the client is already inactive is actually the result of two different paths, one in which the client becomes inactive at the last day, whereas in the second it does it in the previous day. Therefore:
The model does not consider the possibility that clients which are inactive are activated again, which is definitely possible in reality, but not necessarily useful for a model that simply tries to detect clients that have recently stopped engaging with the dealer. Plugging these probabilities into Bayes’ theorem we get:
As pointed out by the authors, any other trading pattern with the same number of active days — denoted as (frequency in the marketing jargon), and the same number of days since the last RfQ — the recency , has the same likelihood. For instance, . See the exercise at the end of the chapter. This is an interesting insight that naturally links the model with the traditional heuristics based on recency and frequency in the Marketing Analytics literature, see for example Grigsby, 2018. The general result for a pattern consisting of days of trading activity, frequency and recency , we have:
Notice that the evidence in the denominator of Bayes’ theorem it is simply the complete likelihood of the data:
Therefore:
The model in this form requires a separate estimation of parameters , for each individual client. Alternatively, the model can be generalized to a segment of clients whose parameters follow a probability distribution but we cannot attach specific parameters to any of them. As it is natural to model distributions of probabilities, Fader et al propose the use of Beta distributions for and :
where the Beta function is by definition:
This allows us to characterize the segment of clients with four parameters, , , and . Notice that this model does not capture the possibility of multiple segments within the population of clients. To capture that, a simple extension is to use a mixture of Betas, see next section for a simple application of such model in anomaly detection.
Continuing with the single segment model, the likelihood now requires to integrate over the distribution of and :
where recall that in this model, the dataset can be reduced to , and . The calculation can be carried out analytically in terms of Beta functions, since it involves integrals of the form:
The likelihood for a single client can be expressed in terms of Beta functions:
Applying accordingly Bayes theorem on we get:
where we have defined
For model parameters estimation, the authors suggests using maximum likelihood over the historical dataset. For the one segment model this implies a joint estimation of the parameters for the collective of clients in the dataset, since they share parameters. Alternatively, a Bayesian estimation approach would seek to estimate for the single client model or for the one segment model, where we have used to denote the full dataset of clients.
Simulation of attrition risk¶
Let us see how this model works in practice. We simulate a segment of 50 clients that send RfQs to a dealer according to the Poisson model discussed in the previous section. For simplicity, we only consider the situation in which the client wants to buy from the dealer. Each client is characterized by an intensity of RfQ arrival drawn from a Gaussian distribution with mean 1 (i.e. a client on average sends one RfQ per day) and standard deviation 0.05. In principle such choice of parameters makes it highly unlikely to generate negative intensities, but if that happens we simply force them to be positive. The clients’ reservation prices, i.e. the maximum prices they would accept in order to trade, also follows a Gaussian distribution, in this case with mean 100 (which could be considered the fair price of the financial product) and standard deviation of 10% around this mean. These reservation prices are not static, though: they fluctuate over time with some noise that models the potential impact of changing market conditions. We choose 20% of the mean for this parameter.
We model attrition in this setup by considering that clients will stop sending RfQs to the dealer if the average hit rate (percentage ot trades over RfQs sent) is below a given threshold over a window of time. We take 10% as the threshold for all clients (although we could also model a distribution over the segment) and suppose that clients evaluate the hit rate with the dealer over a 10 days window (again, this could be made client dependent but we choose not to in this simulation).
Finally, in order to produce a rich dynamics, we model the behavior of the dealer as follows: on the one hand, she has her own target hit ratio that tries to balance client satisfaction with he own profitability. We choose a 40% hit ratio target for all clients. To hit this target, the dealer try to infer the distribution of each of her clients’ reservation price using Bayesian methods, i.e. estimating the posterior distribution of the reservation price conditioned to the data, which consist of the time series of hits and misses of previous RfQs sent by clients and the prices quoted. Mathematically, let the reservation price of client , then the dealer seeks to infer the density function , where is the dataset comprised of clients , the prices quoted to client , and the result of the negotiation equal to one when the client accepts the price (hit) and zero otherwise (miss). The dealer updates the posterior dynamically after every negotiation, and uses this information to quote the next RfQ by choosing the price such that the probability of hit (which occurs when the price quoted is lower than the reservation price) is equal to the hit target of 40%:
At the beginning of the simulation, we assume that the dealer has a prior estimation of the distribution of reservation prices given by a Gaussian distribution of mean 60 and standard deviation 10, which means the estimation is relatively off with respect to reality.
Let us simulate the model over 200 days. The following figure shows the mean of daily hit ratios that the dealer achieves with the clients that send RfQs that day (which are active by definition, although there could be active clients that a given day don’t send RfQs):

Figure 2:Evolution of daily averages of hit rates with clients that sent RfQs each day. The dealer start with an off estimation of the reservation prices, which explains why it takes some time for dealers to reach their target hit ratios.
The effect of the prior estimation of reservation prices by the dealer is clearly reflected in the first part of the simulation, where hit ratios are far from the target set by the dealer. In particular, since the dealer has a low biased estimation of reservation prices, this translates into high hit rates at the beginning of the simulation. We see the effect of the Bayesian learning, though, as time goes on, since in the range of 25-50 days the hit rates have stabilized around the target, which remains noisy given the fluctuations in client reservation prices that we have introduced in the model. Precisely because of these fluctuations we find situations in which clients get average hit rates over their 10 days evaluation windows below their 10% target, which makes them stop sending RfQs to the dealer --becoming inactive, although they don’t inform the dealer of this situation. The following figure reflects this situation by plotting the evolution of the attrition rate, i.e. the cumulative percentage of clients who have become inactive since the beginning of the simulation:

Figure 3:Cumulative attrition rate over time, i.e. percentage of inactive clients over the total number of clients (50) at the beginning of the simulation.
Precisely because the dealer starts with a pessimistic estimation of the reservation price of the clients, which translates into a large hit rate, attrition rates don’t kick off until the dealer corrects her estimation of the reservation prices and reaches her target hit rates. At this point, fluctuations in the reservation price from clients trigger attrition rates, which steadily grow over the simulation. If the dealer does not do anything to address the attrition risk, eventually all clients will become inactive. That’s where the attrition risk model comes into play, as a tool used by the dealer to detect which clients might have become inactive and trigger corrective actions, for example using her salesforce to contact clients and try to engage them back.
We implement the model discussed in this section based on the work by Fader et al and fit it using maximum likelihood over the first 100 days of the simulation. Then we use it to evaluate the probability of being inactive for each client in the last 100 days, given their trading patterns. To check that the model is well calibrated, we plot the expected attrition rate from the model against the simulated one in the test set (last 100 days) in the following figure:

Figure 4:Expected attrition rate computed by the model against the actual attrition rate from the simulation in the test set (the last 100 days of the simulation). The good match is an indication of a good calibration.
The figure shows a good agreement between model and simulation in the test set, implying that the model is reasonably well estimated. We further test the quality of the model by computing a confusion matrix that compares the prediction of the model: inactive if the probability of attrition is higher than 50%, active otherwise; against the hidden activity labels we have generated in the simulation, where clients become inactive when average hit rates are lower than 10% for the last 10 days. This is evaluated for each day and client in the test set (5000 evaluations, resulting from 50 clients over 100 days).
The results indicate that the model is able to discriminate well between active and inactive clients across all thresholds, as evidenced by a high AUC of 0.9884. At the specific threshold of 50%, overall accuracy is very high (98.48%) and precision is perfect (100%), meaning that every client flagged as “inactive” truly was inactive. However, recall is 88.03%, which implies that the model misses some truly inactive clients (76 false negatives vs. 559 true positives). In practice, this means the model is conservative in raising alerts: it waits for clear evidence of non-trading before flagging a client, avoiding false positives entirely but potentially reacting slightly late. Depending on the cost a dealer might incur in missing early signs of disengagement, it may be worth exploring a lower threshold to catch more potential churn cases earlier, even if that introduces some false positives.
Finally, let us check the behavior of the model for individual clients over the test set, with selected clients shown in the following figure:

Figure 5:Trading behavior and activity for selected clients, against the probability of being inactive (attrition risk) computed by the model.
The visualizations of Clients 3, 8, 9, and 30 illustrate how the model responds to different trading behaviors over time with its attrition probability signal.
Client 3 remains consistently active throughout the period. Accordingly, the model keeps the attrition probability near zero, reflecting high confidence in continued engagement.
Client 8 begins active but stops trading near the end of the test period. The model gradually increases its attrition probability, reaching high levels just as the client becomes inactive. This indicates that the model correctly detects disengagement with a slight delay, requiring some sustained evidence of inactivity before triggering an alert.
Client 9 becomes inactive early (around day 15), stopping trading entirely. The attrition probability reacts sharply, climbing quickly toward 1 and staying there for the rest of the period. This is an ideal response, showing the model can detect early and persistent disengagement with high confidence.
Client 30 shows intermittent trading throughout, with a notable gap around day 60. During this gap, the model’s probability of inactivity rises significantly, but it drops again once trading resumes. This demonstrates the model’s sensitivity to recent inactivity, while also its ability to recover when trading behavior picks up again—avoiding a false alert.
Overall, the model shows consistent and interpretable behavior: it remains quiet when trading is stable, rises decisively when disengagement is clear, and adjusts adaptively when trading resumes after a gap.
Abnormal client behavior¶
In the attrition risk sector we introduced a model for the expected trading activity of a segment of clients, using a Beta distribution:
This model can be easily adapted to work as an anomaly detector for clients that suddenly change their pattern of trading behavior with respect to their peers. The attrition risk model in that sense is a specific instance of anomaly detection, in which we are testing the normal client behavior hypothesis against one in which the client has completely stopped trading. A less restrictive hypothesis is that the client has switched her pattern of activity to a different regime with a higher probability for tail scenarios of activity, i.e. the client is either trading much more often or much less often than expected. We model such trading scenario by using a mixture of two beta distributions:
In order to ensure we capture tail anomalies in both sides, we force that both Beta distributions have the same mean: . This is an instance of a Good and Bad Data Model for anomaly detection, see Silvia, 2006, which we also briefly introduced in the Bayesian Theory Chapter. In this generative model, a trading observation can originate from either the good distribution — representing the expected behavior of a client segment — or from the bad distribution, which is fitted to capture tail anomalies such as drops in activity, attrition, or bursts in trading activity. Anomaly detection involves inferring the segment (good or bad) based on recent observations over a window of size for a specific client. Following the attrition model, these observations are represented as a binary indicator series: a value of 1 if the client traded on a given day, and 0 otherwise. Using Bayes’ theorem:
with:
where again is the number of days that the client has traded in the window of size , which is a sufficient statistic for this problem. is the prior probability that the client might behave normally, although in practical setups the full model is estimated over a training set using maximum likelihood, from which the parameters are estimated. Another possibility is to restrict the estimation to the coefficients of the Beta distribution and input from pure prior business knowledge. Of course, as usual, the model can be estimated using a full Bayesian approach.
Simulation of client abnormal behavior¶
We extend the simulation from the attrition risk sector adding an extra mechanism, namely clients who are quoted too generously by the dealer will boost their RfQ request rate until the dealer quotes a worse enough price. In our simulation, clients boost their activity when prices quoted are 35% cheaper than their reservation prices, and return to normality when the dealer quotes a price which are approximately 50% more expensive than their reservation rates. When they boost their activity, they increase their RfQs rates ten-fold. We simulate 50 clients over 200 days.
In the following pictures we see the resulting dynamics. The first 25 days show a different dynamics until the dealer learns enough about the distribution of reservation prices of clients. Since it has a very conservative estimation of the value of the financial asset, at the beginning we see a large number of clients receiving quotes below $35% of their reservation prices and therefore boosting their activity. After 25 days the rate of boosted clients stabilizes in a smaller proportion. The first plot shows the number of clients boosted compared to the number of active clients. The second one shows for each individual client the periods where they are boosting their quoting activity.

Figure 6:Number of clients who at a given time are boosting their rates of requesting RfQs ten-fold vs the number of client actives. Clients become boosted when they receive prices from the dealer that are 35% cheaper than their reservation prices, and revert back to normal when they receive quotes worse than 50% of their reservation price. As in the previous section, they become inactive if their hit rate with the dealer is below 10% over the last 10 days.

Figure 7:Boosted clients over the simulation period. Each row represents a different client from the 50 ones simulated. Given the initial prior from the dealer regarding the reservation prices, which is too conservative, at the beginning of the simulation there is higher proportion of clients boosted, stabilizing after 25 days approximately.
We estimate the model using the first 100 days of simulation, although we exclude the first 25 days to ensure the training data only uses a stable regime. The following plot shows the two estimated Beta density functions. Here, , which supports our hypothesis that the bad data density captures anomalies. This is also seen in the plot: on the one hand, the good data density captures the normal trading behavior concentrated around a region of probability of requesting RfQs, which actually becomes essentially Gaussian, given the high values of and ; this is not the case for the bad data density, which takes a U-shape where most of the probability is concentrated around the extreme values. This reflects the two patterns of abnormal behavior present in our simulation, namely inactivity and boosted activity.

Figure 8:Probability densities for the good and bad components of the model. The good data density is highly concentrated around a range of trading probabilities, becoming essentially a Gaussian distribution. The bad data density, on the other hand, places most of its density in the extreme values of very high and very low trading activity. The probability equals 89% when fitted to the data, reflecting that bad data captures anomalies.
With the model estimated, we use a 10 days window of days to compute the probability of abnormal client behavior over the second half of the dataset. This means that we only compute results for the last 90 days, since 10 days are needed to gather sufficient data. Bear in mind that this is not necessary in a Bayesian paradigm, since we could perfectly get estimations for any window, including zero data --defaulting to the prior probability of the hypotheses . We choose a 50% threshold on to trigger alerts. Over a dataset of 50 clients and 90 days tested, i.e. 4500 points, the model produced 3,811 true negatives (correctly identifying normal cases) and 545 true positives (correctly identifying abnormal cases). It made 75 false positives (normal cases incorrectly flagged as abnormal) and 69 false negatives (abnormal cases missed). Overall, this means the global abnormality rule (inactive OR boosted) shows high specificity (≈ 98% of normal cases correctly classified) and strong sensitivity (≈ 89% of abnormal cases detected), with a relatively small number of errors on both sides. Therefore, the approach seems reliable at detecting abnormal clients while only rarely misclassifying normal ones.

Figure 9:Selected clients that showcase the different types of client behavior and how the model reacts to them.
In the following figure we can see the predictions for specific clients showing different patterns of behavior:
Client 30: An example of a client with no abnormal trading behavior. The model correctly reflects this, keeping probabilities mostly above 80% and not triggering any alerts.
Client 31: Shows a period of boosted activity that the model captures after a few days, once sufficient evidence accumulates. When boosting ends, the probability quickly returns to high values after the first non-trading day, a pattern consistent with normality rather than extreme regimes. This illustrates the model’s asymmetry: it requires stronger evidence to reject normal trading (continuous activity can still occur under normal conditions) but reverts quickly once activity normalizes.
Client 35: Becomes inactive during the simulation. After eight consecutive days without trading, the model rejects the normal trading hypothesis and flags the client. As with Client 31, strong and sustained evidence (in this case, consecutive inactivity) is needed before the model issues an alert.
Client 37: Provides an instance of a false positive. A long, naturally occurring stretch of continuous activity was incorrectly flagged as abnormal. Since the model tends to produce confident abnormality probabilities quickly, one way to reduce such false positives—without significantly increasing false negatives—would be to lower the classification threshold.
In conclusion, despite its simplicity, the Good vs. Bad Data model performs well in identifying abnormal clients in the simulation, both those with unusually high trading activity and those with unusually low activity. For the latter, it performs on par with the attrition risk model presented earlier. Moreover, the framework could be extended into a multi-label classifier by comparing trading probabilities against the mean of the good-data cluster, issuing attrition risk alerts for unusually low activity and boosted activity alerts for the opposite case.
A Generative model for RfQs in negotiation¶
The preceding sections model the arrival of RfQs and the activity patterns of clients, but not the negotiation itself: given that an RfQ arrives, what determines whether the dealer wins the trade? The seminal work of Fermanian et al. (2016) introduced the first rigorous statistical framework for this question, fitting a parametric model to a large database of RfQ outcomes on Bloomberg Fixed Income Trading (Bloomberg FIT). Their framework models the two unobservable quantities that govern the outcome of each RfQ — the client’s reservation spread and the competitors’ quoted spreads — as parametric distributions whose parameters are estimated by maximum likelihood from observable outcomes. Marín et al. (2025) extend this framework by embedding it in the causal graphical model discussed in the previous section, which allows the dealer to separate the causal effect of her spread from confounding by pricing policies, and to formulate pricing and client-targeting decisions as causal interventions.
Deal mechanism and normalization¶
On a buy RfQ (client wants to buy; dealer answers an ask price), a trade occurs if and only if at least one dealer proposes a price below the client’s reservation price — the maximum she is willing to pay. When multiple dealers qualify, the client deals with the one quoting the lowest ask. For a reference dealer with quote and competing dealers with quotes :
Done (): the reference dealer wins — and for all competing quotes.
Traded Away (): a competitor wins — some .
Covered (): the reference dealer quoted the second-best price. Typically, the winning dealer is informed of the cover price.
Tied Traded Away (): the reference dealer and the winner proposed the same price but the client chose the competitor.
Other Traded Away (): no rank information available to the reference dealer.
Not Traded (): all quoted prices exceed the client’s reservation price — .
This outcome taxonomy is what the reference dealer can observe post-trade, together with their own quote and, when covered, the cover price . Everything else — the client’s reservation price , the competitors’ quotes , and the number of competitors who actually answered — is latent.
Since the platform publishes a composite best-bid-offer price (CBBT), all spreads are naturally normalized by this reference. Denoting the CBBT mid-price and the half bid-ask spread as a liquidity proxy, the reduced quote for a buy RfQ is , and all distributional assumptions are stated in these normalized units.
Distributional assumptions¶
Client reservation spread. The client’s reservation price , in reduced units, is modelled as Gaussian Fermanian et al., 2016:
For buy RfQs the expected value satisfies (the client believes the bond is underpriced relative to CBBT), while for sell RfQs . Empirically Fermanian et al., 2016, in the partial-participation model: on average, buy clients are willing to pay roughly 1.7 times the CBBT half-spread above the CBBT mid-price. Marín et al. (2025) extend the Gaussian conditional distribution to depend on bond features, client features, RfQ features, volatility, and the latent information asymmetry indicator:
The Gaussian form has no strong distributional justification but yields tractable likelihoods and fits observed data well. The shift reflects that informed clients may be more motivated to execute, accepting a wider spread to trade quickly.
Competitor spreads: the Skew Exponential Power distribution. The empirical distribution of competitor reduced quotes is leptokurtic (fat-tailed), spiky near zero, and asymmetric. Fermanian et al. (2016) model it with the Skew Exponential Power (SEP) distribution, defined via the Exponential Power (EP, also called Subbotin) density:
where controls tail heaviness ( recovers the Gaussian; gives heavier tails). The SEP introduces asymmetry via the Azzalini skewing mechanism:
where is the asymmetry parameter and is the standard normal CDF. When the SEP reduces to the symmetric EP; when to the skew-normal.
Each answering competitor’s reduced quote is drawn i.i.d. from SEP with:
Fat tails ( empirically): competitors occasionally quote very conservatively.
Positive asymmetry for buy RfQs (): there is more economic difference between an aggressive and a moderately aggressive quote than between a conservative and a very conservative one. Symmetric logic yields for sell RfQs.
In the extended conditional model Marín et al., 2025, the location parameter of the SEP depends on observables:
Partial participation¶
A key empirical finding of Fermanian et al. (2016) is that not all invited dealers answer: in their Bloomberg FIT dataset, only about 40% of requested competitors actually submit a quote (). Ignoring this — the full-participation assumption — inflates the apparent heaviness of the dealer quote distribution tails and creates a spurious pattern where dealers appear to quote more conservatively as the number of competitors increases.
The partial-participation model Fermanian et al., 2016 treats the number of answering competitors as a Binomial random variable:
Each outcome likelihood is then a mixture over :
where is the likelihood contribution for outcome given exactly answering competitors (derived below). The answering probability itself may depend on : larger competition fields attract lower participation from any individual dealer ( decreasing in ). A remarkable empirical regularity Fermanian et al., 2016 is that the effective number of competitors — , counting also the reference dealer — is approximately 2 for all values of in the dataset. Clients appear to wait for roughly two responses before making their decision, regardless of how many dealers they invited.
Maximum likelihood estimation¶
All RfQ outcome likelihoods can be expressed analytically in terms of the CDF and PDF of the competitor spread distribution and the CDF and PDF of the reservation price distribution. For a buy RfQ with answering competitors Fermanian et al., 2016:
Done with cover price :
Done without cover:
Tied Traded Away:
Covered (reference dealer proposed second-best price):
Not Traded:
All non-trivial likelihoods reduce to integrals of the form for . Since is the SEP CDF and is the Gaussian CDF, these integrals have no closed form but are efficiently computed by rescaling to via a tanh transform and approximating with Chebyshev polynomials of the first kind — whose antiderivatives are available analytically. Model parameters are estimated by maximizing the full log-likelihood over all observed RfQs using Powell’s method (gradient-free optimization).
Hit probability¶
Combining all components, the full generative hit probability under the causal model Marín et al., 2025 is:
where the price discovery probability is estimated via logistic regression (Classification and Logistic Regression), and is the prior probability that the client has information asymmetry given their features. This expression is monotone decreasing in by construction: the indicator and the integration region both shrink as increases, ensuring that quoting a higher spread can never increase the probability of winning. This economic constraint is satisfied by the generative model automatically, whereas purely discriminative models such as gradient-boosted trees (Tree Ensembles) can violate it.
Empirical findings¶
On the Bloomberg FIT dataset of European corporate bonds Fermanian et al., 2016, the partial-participation model yields the following key findings:
Answer probability : only 40% of invited competitors respond, far from the full-participation assumption. This removes the artificial monotonicity of dealer spreads with competition level seen in the full-participation model.
SEP shape (partial): moderately fat-tailed, significantly lighter than the full-participation estimate (), since the heavy tails in the full model were largely an artefact of non-answering dealers.
Positive asymmetry ( for buy, for sell) is robust across model specifications.
Client mean : buy-side clients are willing to pay approximately 1.7 times the CBBT half-spread above mid-price; sell-side clients are symmetric.
Effective competitors regardless of : clients appear to decide after receiving approximately two quotes.
On European Government Bond data Marín et al., 2025, the generative model achieves an AUC-ROC of 0.742, matching a LightGBM classifier (0.743) while enforcing spread monotonicity — a critical requirement for reliable optimal pricing. Logistic regression achieves only 0.684.
Causal interventions¶
The generative model for the negotiation describes the observational distribution: what outcomes we expect given the historical pricing policies encoded in the training data. But a dealer using this model to set prices is not observing the world — she is intervening in it. Her decision to quote is not determined by her bond and client characteristics in the same way historical prices were; it is a deliberate choice.
This distinction matters because historical data is confounded. The dealer’s past pricing policy depended on , , , and : bonds with higher volatility received wider spreads, and this correlation appears in the data independently of any causal effect of on the hit probability. Regressing hit outcomes on alone would mix the genuine effect of the spread with the selection effect of the pricing policy.
The framework of causal inference — introduced in Causal inference — resolves this by replacing the observational quantity with the interventional quantity . The do-operator removes the arrow from all variables into , representing a dealer who sets her spread by deliberate choice rather than by any policy function. The back-door criterion then identifies the set of variables that must be conditioned on for this interventional probability to equal an estimable observational conditional probability.
Back-door identification. In the causal DAG (see Figure 1), the confounding paths from to run through (which affects both and ), through and (which affect both and client behavior), and through (RfQ features such as volume and number of competitors). The minimal conditioning set that blocks all back-door paths is Marín et al., 2025:
giving the identification result:
The left-hand side is the causal quantity that the dealer wants to maximize; the right-hand side is a standard conditional probability that can be estimated from historical data. Concretely, this means that any model for the hit probability — the generative model of the previous section, a logistic regression, or a gradient-boosted tree — should be trained with features as inputs. Models trained without the full conditioning set will produce biased estimates of the causal effect of .
Optimal pricing¶
Case 1: streaming prices without hit/miss feedback¶
In some instruments — particularly in the rates and FX markets — dealers stream continuous executable prices to clients (e.g., via Bloomberg TSOX or similar platforms). A client can trade at the displayed price at any time, but the dealer does not receive a request in advance and does not observe whether the client considered the price and chose not to trade (a miss). The only observable feedback is a trade when one occurs.
This is the classical one-sided censored demand problem from dynamic pricing. The dealer can observe that a client traded at price (demand if the client executes notional , zero otherwise), but misses are invisible — she does not know how many clients saw her price and decided against trading.
We model demand using an exponential demand curve, which is the canonical choice in the dynamic pricing literature and is consistent with clients having exponentially distributed reservation spreads:
where is the baseline demand (trades per unit time at zero spread) and is the price sensitivity. The revenue-maximizing spread solves , giving . Estimating from data is therefore the core task.
Bayesian demand estimation. Taking logarithms, the model becomes linear in the parameters:
where is the observed demand at quoted spread . With a Gaussian prior on the weight vector , this is a Bayesian Linear Regression problem (see Bayesian Linear Regression Model). The posterior is Gaussian with closed-form parameters:
where is the design matrix with rows and is the vector of log-demands. The posterior mean is the optimal point estimate for the demand parameters, giving a current best guess .
Thompson Sampling for exploration. However, committing to permanently is risky: if the demand estimate is wrong, the dealer never discovers it. The exploration–exploitation trade-off introduced in Bayesian Modelling (Thompson Sampling) provides a principled solution. At each pricing decision:
Sample demand parameters from the posterior: .
Quote the revenue-maximizing spread under the sampled parameters: .
Observe demand at price and update the posterior.
The sampled spread will be close to most of the time (exploitation), but will occasionally deviate when the sampler draws from the tail of the posterior (exploration). As the posterior concentrates around the true parameters, exploration decays automatically. Thompson Sampling achieves asymptotically optimal regret in this bandit setting.
Case 2: RfQ markets with observable hit/miss outcomes¶
In a full RfQ setting, the dealer observes both hits and misses, which provides direct information about the hit probability function . Optimal pricing under this richer information set is analyzed in Marín et al. (2025).
Revenue maximization (instantaneous flow value). The dealer maximizes expected instantaneous revenue per RfQ:
The first-order condition gives:
This is the classical unit-elasticity condition: the optimal spread is where the elasticity of the hit probability with respect to the spread equals -1. For the exponential hit probability , this gives , recovering the streaming-price result.
Utility maximization with transactional risk. A risk-averse dealer maximizes expected utility rather than expected revenue. With an exponential utility function and risk-aversion parameter , the optimal spread satisfies:
As , this recovers the revenue-maximizing formula. For , the optimal spread is lower than the revenue-maximizing one: a risk-averse dealer sacrifices some per-trade profit to increase the probability of winning the trade, reducing the variance of her revenue stream.
Information asymmetry correction. When the client may have an informational advantage (as introduced in the probabilistic graphical model at the start of this chapter, and formalized in Causal inference), the dealer must account for the expected adverse price movement that follows trading with an informed client. Conditioning on the client’s information asymmetry indicator and using a short-term revenue horizon , the optimal spread becomes Marín et al., 2025:
where is the prior probability that this client has information asymmetry (estimated from client features), is the current inventory, is the trade side, is the expected price drift conditioned on , and collects terms involving . As , the dealer must charge the full expected adverse drift — a result analogous to the Glosten-Milgrom adverse selection premium. As , the formula reduces to the utility-maximizing spread without information asymmetry.
The optimal spread formulas above optimize a single-RfQ objective. When the dealer manages a portfolio of RfQs and cares about inventory risk accumulated over time, the problem becomes a stochastic control problem that generalizes the Avellaneda-Stoikov framework. This multi-RfQ setting is covered in chapter Optimal Market Making, where the framework of Stochastic Optimal Control is applied to derive the full inventory-adjusted quoting policy.
Revenue potential. Beyond optimal pricing, the dealer may want to know whether a given RfQ is likely to be profitable. The revenue potential is the probability that an RfQ generates positive revenue:
The first factor is the hit probability model derived above. The second — the probability of a positive revenue conditional on winning — depends on whether the client had information asymmetry. Using Brownian motion for mid-price dynamics and integrating over Marín et al., 2025:
where is the standard normal CDF. When and the spread is positive (), this probability is always above and increases with the spread. When , the adverse drift erodes the spread premium and can push revenue potential below for small spreads on long holding periods.
Axe matcher¶
A dealer holding excess inventory in a bond — an axe position — has a natural incentive to trade it out. The question is: which clients should the dealer proactively contact (via the sales force or an automated call system) to maximize the probability of generating a profitable RfQ?
Formalizing this as a causal decision problem Marín et al., 2025, the dealer compares two interventions for each candidate client: calling () versus not calling (). The value of a call is measured by its Average Causal Effect (ACE) on the hit probability:
Using the causal graph structure, this decomposes as Marín et al., 2025:
where:
is the uplift: the incremental probability of receiving an RfQ from this client as a result of the call. Since conditioning on axe blocks all spurious paths from call to RfQ in the causal graph, the do-operator can be dropped on the right-hand side:
The uplift is therefore estimable from observational data on the historical rate of RfQ generation following commercial calls. Using Bayes’ theorem, the uplift model further factors into three interpretable components:
: the conversion rate of commercial campaigns into RfQs (estimated from historical campaign data).
: the distribution of axed RfQs across instruments and clients.
: baseline client–instrument demand preferences, estimated via collaborative filtering or topic models (e.g., latent Dirichlet allocation on historical trading flows).
The ACE provides a single score for each candidate (client, instrument, spread) triple. The dealer ranks all candidates by their ACE and contacts the top-ranked clients, allocating salesforce effort to maximize the expected number of profitable RfQs from the axe.
Deploying AI agents for RfQ analytics¶
D2C markets, despite operating through regulated multi-dealer platforms, retain a significant informal layer: much of the commercial relationship between dealers and clients unfolds through messaging channels. Bloomberg chat is the dominant medium across professional fixed income, FX, and derivatives markets: clients and salespeople exchange inquiries, indicate interest in specific instruments, negotiate terms, and eventually initiate a quote request, all in unstructured natural language. The quantitative models developed throughout this chapter — hit probability estimation, optimal spread computation, attrition risk scoring, axe matching — are formulated in terms of structured inputs: a well-defined instrument identifier, a notional, a trade direction, and a competition level, regardless of asset class. Bridging the informal, conversational front-end of client interaction to the quantitative back-end of pricing analytics is a natural and practically important application of large language models (LLMs) and AI agents.
The core extraction task is straightforward to state: given a chat message or a short conversation thread, determine whether the client is requesting a quote, and if so, extract the fields required by the downstream pricing pipeline — instrument identifier (ISIN for bonds, currency pair and tenor for FX and rates, or equivalent for other asset classes), direction (buy or sell, pay or receive), notional, settlement date, and any special conditions. This is an instance of intent classification and named entity recognition (NER), tasks for which instruction-tuned LLMs are well suited. As discussed in Large Language Models, modern foundation models can perform zero-shot and few-shot structured extraction from free-form text, formatting the output directly as a JSON schema compatible with downstream systems, without the need for task-specific training data. Their flexibility is particularly valuable in this domain: market messages mix abbreviated tickers, asset-class conventions, Bloomberg-specific shorthand, and multilingual fragments in ways that defeat purpose-built NLP models trained on cleaner corpora.
Chat-to-RfQ extraction¶
Extracting structured RfQs from free-form text introduces two distinct failure modes. The first is a structural error: the extracted fields are syntactically malformed, missing a required identifier, or inconsistent — for example, a volume expressed in the wrong unit (thousands versus millions of face value). The second is a semantic error: the fields are well-formed but correspond to the wrong instrument, a stale request that the client has already withdrawn, or a side that contradicts the context of the conversation. Both failure modes can result in the dealer quoting the wrong instrument at an incorrect price, with potentially significant financial consequences.
To mitigate these risks, the extraction step must be followed by validation. A single LLM pass — even with a careful prompt — cannot reliably self-validate its own output for the full range of instrument identifiers and chat conventions encountered in practice. The appropriate architectural pattern, introduced in Agentic design patterns, is the actor-critic design: a first agent (the actor) produces a candidate structured RfQ from the chat text; a second agent (the critic) reviews the extraction against the original message, checks the identifier against an instrument reference database, and either approves the extraction or generates structured feedback that the actor uses to revise its output. This reflection loop continues until the critic is satisfied or a maximum number of iterations is reached, at which point the request is escalated to a human.
An actor-critic agentic pipeline¶
Once a validated structured RfQ is available, it is passed to the pricing tool — a callable that wraps the hit-probability model and optimal spread solver described in the preceding sections. Tools, as discussed in Tools and function calling, are functions made available to an agent that it can invoke to obtain information or trigger side effects beyond its own parametric knowledge. The pricing tool is deterministic given its inputs: it returns the optimal spread computed from the current hit-probability model, current market volatility , and the instrument and client features associated with the extracted RfQ. The tool’s output is a proposed quote ready for transmission to the client.
The proposed quote is then evaluated by a second critic whose role is price plausibility validation. This critic assesses whether the quoted spread is consistent with current market conditions and with comparable recent trades. Two information sources support this evaluation. First, a knowledge base built on retrieval-augmented generation (Retrieval-augmented generation) provides the critic with relevant financial context: the instrument’s characteristics and typical spread range (rating, sector, and duration for bonds; tenor and delta for options; currency pair and forward points for FX); recent macro or central bank events affecting the relevant market; and any dealer-specific pricing guidelines encoded as structured documents. The knowledge base allows the critic to flag gross anomalies — for example, a quoted spread of 2 basis points on a high-yield bond, an implausibly tight bid on an illiquid swap, or a negative spread on a buy quote — that would indicate a bug in the pricing tool or a mis-identified instrument. Second, a historical RfQ database tool allows the critic to retrieve the most recent quotes on the same or comparable instruments (matched by asset class, relevant risk characteristics, and tenor), providing a market-data anchor for the plausibility check.
If the price is deemed implausible, the critic generates structured feedback — identifying whether the anomaly is more consistent with a wrong instrument, a wrong direction, or a miscalibrated pricing parameter — and the actor is re-invoked to revise the RfQ extraction given this additional context. This completes the agentic loop. The full pipeline is illustrated in the following figure.
The multi-agent topology (Multi-agent systems) allows each component to be independently versioned and tested. The two critics are stateless functions over their inputs and can be validated on labelled datasets independently of the actor. The pricing tool is already maintained as part of the quantitative analytics infrastructure. The actor alone requires frequent updating as chat conventions, bond universe, and LLM capabilities evolve.
Retrieval-augmented pricing context¶
The effectiveness of the second critic depends on the quality and currency of its knowledge base. A static system prompt containing generic fixed income knowledge is insufficient: the relevant context is bond-specific, time-varying (credit conditions change), and sometimes proprietary (internal pricing guidelines). A retrieval-augmented architecture (Retrieval-augmented generation) addresses this by maintaining a structured document store and retrieving, at query time, the most relevant passages for the bond and client context at hand.
The knowledge base is populated with several types of content. Instrument fundamentals — pulled from reference data systems — include the product-specific attributes relevant to pricing: for bonds, issuer, coupon type, maturity, duration, convexity, rating, and sector; for interest rate swaps, tenor, notional currency, fixed rate, and day-count convention; for FX products, currency pair, spot rate, and forward points; for options, underlying, expiry, strike, and the relevant vol surface. Market context includes recent research notes and data snapshots covering the relevant market segment — credit spread curves by rating and sector, implied vol surfaces, or FX forward curves — as well as summaries of macro events or central bank decisions likely to affect pricing in the near term. Pricing guidelines encode dealer-specific rules: minimum spreads by instrument class, client tier pricing adjustments, and any temporary overrides reflecting current risk appetite or inventory positions. These guidelines are not appropriate inputs to the hit-probability model itself — they do not reflect the causal drivers of client behavior — but they are valid constraints that the price critic should enforce.
The historical RfQ database serves a complementary role. Rather than providing conceptual context, it provides empirical market anchors: the most recent won and lost quotes on the same instrument, and the distribution of quotes on comparable instruments (matched by asset class, relevant risk bucket, and tenor) over the past several trading days. A price that deviates substantially from the recent distribution for comparable instruments is a strong signal of an error, either in the instrument identification or in the pricing tool inputs. This retrieval is implemented as a standard SQL query wrapped in a tool callable by the critic (Tools and function calling).
The knowledge base can also be extended dynamically. After each successfully completed and validated trade, the system appends the final quote, the outcome, and any critic feedback to a log that is periodically ingested into the knowledge base. This feedback loop allows the knowledge base to capture emerging conventions, new instrument types, and any systematic biases in the pricing tool that critics repeatedly flag — an application of the experience accumulation pattern discussed in Knowledge base agents.
Pre-trade controls and guardrails¶
The final gate before a quote is transmitted to the client is the pre-trade control layer. Unlike the critic, whose role is to detect plausibility failures through reasoning, the pre-trade controls are hard rule-based checks that enforce absolute limits regardless of the agent’s assessment. These include minimum and maximum spread floors and ceilings by instrument class, maximum notional thresholds, checks against sanction lists for counterparty identity, and consistency with the dealer’s current risk limits and inventory positions.
For dealers subject to MiFID II, these controls are not merely good practice but a regulatory requirement. RTS-6 of MiFID II — discussed in the context of algorithmic trading governance in Algorithmic Trading — mandates that firms engaged in algorithmic trading maintain pre-trade controls capable of preventing orders that breach predefined price, volume, or value thresholds from reaching the market. An automated chat-to-quote pipeline that can generate and transmit executable prices without human intervention qualifies as algorithmic trading under this definition, and the pre-trade control layer must be implemented accordingly: the controls must be documented, tested, independently reviewed, and capable of being invoked at a rate commensurate with the latency of the pipeline.
The pre-trade control layer can be implemented either as a standalone tool invoked by the agentic pipeline or as a validation gate embedded in the pricing tool itself. The latter has the advantage of ensuring that no quote can be generated by the pricing tool that would subsequently fail the control, avoiding a class of errors where the critic approves a price that is then rejected by the controls after the fact. In either case, a breach does not silently drop the quote: it triggers an alert to the responsible trader or salesperson, who can review the full agent trace — including the original chat message, the extracted RfQ, the pricing tool output, and the critic’s evaluation — and decide whether to transmit a manually overridden quote or to decline the request.
Exercises¶
Prove the identity by explicitly working out the second term in the equality.
Hit probability and causal adjustment. A logistic hit probability model is estimated as where is the sigmoid function and on the right denotes market volatility (in percent). Assume volatility is marginally distributed as . (a) Estimate the causal (back-door adjusted) hit probability for bps using numerical integration. (b) Compute the optimal spread numerically. (c) How does the optimal spread change if the market becomes more volatile on average (i.e., )?
Revenue potential from a missed quote. A dealer quotes bps and misses. The client’s reservation spread is drawn as . (a) Compute under this model (assuming no competition). (b) Apply the abduction step to find the posterior . (c) For the counterfactual spread bps, compute . (d) Given a notional of €500,000, compute the revenue potential of this missed trade. How does this quantity differ from the interventional expected revenue ?
Attrition risk. A dealer observes 1,000 RfQs in which she was the best-priced dealer. Of these, 800 resulted in trades, 120 timed out before the client responded, and 80 were cancelled by the client. (a) Estimate the attrition rate and the conditional hit rate . (b) Show that ignoring attrition inflates the estimated win probability by computing the naive win rate vs the attrition-corrected win rate. (c) If attrition probability increases linearly with response latency, argue why a dealer that targets a faster response time faces a different optimal spread than a slow dealer even if their hit-conditional pricing models are identical.
Axe matching and routing. A dealer receives simultaneous RfQs for two bonds: Bond A (ISIN: XS001) — client wants to buy 5M, dealer has a short position of 4M; Bond B (ISIN: XS002) — client wants to sell 3M, dealer is flat. The dealer uses an axe-matching system that assigns a routing priority score where and , and if the trade reduces inventory risk, 0 otherwise. (a) Compute the routing scores for both RfQs if bps and bps. (b) Which RfQ should the dealer prioritise and at what spread? (c) Explain why axe-matching is economically equivalent to adjusting the reservation spread for inventory risk.
- Fermanian, J.-D., Guéant, O., & Pu, J. (2016). The Behavior of Dealers and Clients on the European Corporate Bond Market: The Case of Multi-Dealer-to-Client Platforms. Market Microstructure and Liquidity, 02(03n04), 1750004.
- Marín, P., Ardanza-Trevijano, S., & Sabio, J. (2025). Causal Interventions in Bond Multi-Dealer-to-Client Platforms. https://arxiv.org/abs/2506.18147
- Fader, P. S., Hardie, B. G. S., & Shang, J. (2010). Customer-Base Analysis in a Discrete-Time Noncontractual Setting. Marketing Science, 29(6), 1086–1108.
- Grigsby, M. (2018). Marketing Analytics: A Practical Guide to Improving Consumer Insights Using Data Techniques (2nd ed.). Kogan Page Ltd.
- Silvia, D. S. (2006). Data Analysis: A Bayesian Tutorial (Second). Oxford Science Publications.