> For the complete documentation index, see [llms.txt](https://docs.pikaprotocol.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pikaprotocol.com/archived/pika-protocol-v1/pika-exchange/parameters.md).

# Parameters

**coefficient**: the k value of the “x\*y” formula, set by the market creator

**reserve0**: the initial value of the USD virtual liquidity, set by the market creator

**reserve**: the latest value of the USD virtual liquidity

**decayPerSecond**: exponential TWAP decay for markPrice, with 99.8% as default value

**timeElapsed**: the seconds elapsed since the last time when poke function is triggered

**maxPokeElapsed**: the max time cap for the timeElapsed, with default value as 1 hour(3600 seconds)

**markPrice**: exponential TWAP of spot price. It is used to calculate unrealized PNL and determine liquidations on the position.

markPrice = previousMarkPrice \*  decay + spotPrice \* (1 - decay), where

decay = decayPerSecond ^ timeElapsed

**indexPrice**: price from external exchanges, provided by a Chainlink oracle

**spotPrice**: AMM price + shift, where AMM price = (coefficient / reserve) / reserve

**fundingAdjustThreshold**: if the difference of markPrice and indexPrice is above this threshold, funding will be adjusted. With default value as 0.5%.

**shift**: funding adjustment

markIndexDiff = abs(markPrice - indexPrice) / indexPrice

if markIndexDiff > fundingAdjustThreshold:

&#x20;   shift = previousShift + timeElapsed \* markIndexDiff / secondsInADay&#x20;

else:

&#x20;   shift = previousShift&#x20;

**strikePrice**: the price at which the leverage position is worth 0

strikePrice of long position = markPrice + markPrice / leverage

strikePrice of short position = markPrice - markPrice / leverage

**safeThreshold**: buffer for liquidation, with default value as 93%

Long positions get liquidated when strikePrice / markPrice <= safeThreshold

Short positions get liquidated when markPrice / strikePrice >= safeThreshold

**spotMarkThreshold**: (spotPrice / markPrice) or (markPrice / spotPrice) must not exceed this value for a trade to be executed. Default value is 105%. This is a protection against price manipulation.

**liquidationPerSec**: the maximum amount of opposite trade the protocol will do per second to offset the liquidations. This is useful to prevent the flash crash of the price during big liquidation events.

**liquidityChangePerSec**: the maximum liquidity change per second, with default value as 0.5% per day cap

**smallDecayTwapOI**：exponential TWAP open interest for a shorter period

**largeDecayTwapOI**：exponential TWAP open interest for a longer period

**smallOIDecayPerSecond**: a faster exponential TWAP decay value to calculate smallDecayTwapOI, with default value as 99.999%

**largeOIDecayPerSecond**: a slower exponential TWAP decay value to calculate largeDecayTwapOI, with default value as 99.9999%

**volumeChangeThreshold**: If the difference between dailyVolume and prevDailyVolume is larger than this value, liquidity will be dynamically updated. Default value is 120%.

**OIChangeThreshold**: if (smallDecayTwapOI / largeDecayTwapOI) or (smallDecayTwapOI / largeDecayTwapOI) exceeds this value, the liquidity will be dynamically adjusted

i**sLiquidityDynamicByOI**: boolean flag to turn on/off the liquidity adjustment based on open interest movement

**isLiquidityDynamicByVolume**: boolean flag to turn on/off the liquidity adjustment based on trading value trend
