# Sigmoid Curve

A Sigmoid function is a S-shaped function `P(deltaN)` that returns a value between minimum price `P_min` and maximum price `P_max`, with the midpoint of the two being the centre of the curve. A traditional sigmoid curve looks like the above. A sigmoid curve is most useful when we want to ensure liquidity is concentrated between two price levels, with `delta` being the slope of the curve as the midpoint (how fast it approaches the price floor or ceiling, a low `delta` value approaches `P_min` and `P_max` slowly, a high delta value quickly converges to `P_min` and `P_max`).

We’ve adapted the sigmoid function, which is given as `P(deltaN) = P_min + (P_max - P_min) / (1 + 2 ** (k * deltaN))`.While a traditional sigmoid uses e as the exponent base, this is equivalent to modifying the value of k so a value of 2 is used for convenience. `delta` here represents `k * 2**10 as a uint128`

As this curve requires a degree of memory of statefulness of where we are in the curve (it is meaningless if we assign the slope at the centre at every buy or sell order, that would not lead to a S-shaped curve), we use the `state` parameter to record how far we are from the original centre.

<figure><img src="https://1779253360-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fln6ZVgBMGBWIc6qzMW68%2Fuploads%2F81BalfZ9rRttvlGXVygG%2FUntitled.png?alt=media&#x26;token=b1f3f495-67cb-44fb-ad9f-e564d713e31b" alt=""><figcaption><p>Sigmoid Curve</p></figcaption></figure>
