# getMidPriceQ

Function retrieving a Q distribution that prices all available assets closest to their midprice.

{% tabs %}
{% tab title="dbbpy" %}
```
dbbpy.getMidPriceQ(sp, strike, bid, ask, pFlag, spotsP, spbid, spask)
```

Parameters:

* &#x20;`sp` (numpy.ndarray): A 1D array of floats representing the spot prices in different states of the world&#x20;
* `bid` (numpy.ndarray): A 1D array of floats representing the bid prices for different options&#x20;
* `ask` (numpy.ndarray): A 1D array of floats representing the ask prices for different options&#x20;
* `strike` (numpy.ndarray): A 1D array of floats representing the strike prices of different options&#x20;
* `pFlag` (numpy.ndarray): A 1D array of booleans indicating whether each option is a call (`True`) or a put (`False`) option &#x20;
* `spotsP` (float): A scaling factor used to adjust the magnitude of the spot prices and pricing constraints
* `spbid` (float): The bid price related to the spot prices, used to define the lower bound of the pricing constraints&#x20;
* `spask` (float): The ask price related to the spot prices, used to define the upper bound of the pricing constraints

Output:&#x20;

* (numpy.ndarray): The recovered Q distribution
{% endtab %}

{% tab title="rdbb" %}
```
rdbb::getMidPriceQ(sp, strike, bid, ask, pFlag, spotsP, spbid, spask)
```

Parameters:

* `sp` (numeric vector): A vector of floats representing the spot prices in different states of the world
* `bid` (numeric vector): A vector of floats representing the bid prices for different options
* `ask` (numeric vector): A vector of floats representing the ask prices for different options
* `strike` (numeric vector): A vector of floats representing the strike prices of different options
* `pFlag` (logical vector): A vector of booleans indicating whether each option is a call (`TRUE`) or a put (`FALSE`) option
* `spotsP` (numeric): A scaling factor used to adjust the magnitude of the spot prices and pricing constraints
* `spbid` (numeric): The bid price related to the spot prices, used to define the lower bound of the pricing constraints
* `spask` (numeric): The ask price related to the spot prices, used to define the upper bound of the pricing constraints

Output:&#x20;

* (numeric vector):
{% endtab %}
{% endtabs %}
