fCash Markets
Get active fCash Markets
We can use the getActiveMarkets
method to get a list of the current active markets in a given currency:
activeMarkets = notional.getActiveMarkets(currencyId)
Get a market's total fCash and total Prime Cash holdings
market3Months = activeMarkets[0]
market6Months = activeMarkets[1]
# Get the maturity of the 3 Month market
maturity = market3Months[1]
# Get the 3 Month market total Prime Cash balance
primeCashBalance3MonthMarket = market3Months[3]/1e8
# Get the 3 Month market total fCash balance
fCashBalance3MonthMarket = market3Months[2]/1e8
Get a market's utilization
An fCash market's utilization is defined as total fCash/ (total fCash + total Prime Cash in underlying)
:
from brownie.network.state import Chain
chain = Chain()
primeFactors = notional.getPrimeFactorsStored(currencyId, chain.time())
supplyScalar = primeFactors["factors"]["supplyScalar"]/1e18
underlyingScalar = primeFactors["factors"]["underlyingScalar"]/1e18
marketPrimeCashSupply = primeCashBalance3MonthMarket * underlyingScalar * supplyScalar
fCashMarketUtilization = fCashBalance3MonthMarket / (fCashBalance3MonthMarket + marketPrimeCashSupply)
Get fCash rates
# Last Implied Rate 3 Month Market
lastImpliedRate = market3Months[5]
# Oracle Rate 3 Month Market
oracleRate = market3Months[6]
Last updated