# otp.math.frand

### frand(min_value=0, max_value=1, , seed=None)

Returns a pseudo-random value in the range between `min_value` and `max_value`.

* **Parameters:**
  * **min_value** (float, [`Operation`](https://docs.pip.distribution.sol.onetick.com/api/operation/root.html.md#onetick.py.Operation), [`Column`](https://docs.pip.distribution.sol.onetick.com/api/operation/root.html.md#onetick.py.Column))
  * **max_value** (float, [`Operation`](https://docs.pip.distribution.sol.onetick.com/api/operation/root.html.md#onetick.py.Operation), [`Column`](https://docs.pip.distribution.sol.onetick.com/api/operation/root.html.md#onetick.py.Column))
  * **seed** (int, [`Operation`](https://docs.pip.distribution.sol.onetick.com/api/operation/root.html.md#onetick.py.Operation), [`Column`](https://docs.pip.distribution.sol.onetick.com/api/operation/root.html.md#onetick.py.Column)) -- If not specified, the function produces different values each time a query is invoked.
    If specified, for this seed the function produces the same sequence of values
    each time a query is invoked.
* **Return type:**
  [`Operation`](https://docs.pip.distribution.sol.onetick.com/api/operation/root.html.md#onetick.py.Operation)

### Examples

```pycon
>>> data = otp.Tick(A=otp.math.frand())
>>> otp.run(data)
        Time  A     FRAND
0 2003-12-01  1  0.667519
```
