Portfolio: A New Asset Management Primitive
A new asset management primitive
This release marks an important milestone that the Primitive team has been building towards for the past year. We are extremely excited to share more about what comes next.
Portfolio protocol is fundamentally an asset management primitive for governing assets with mathematical-based rules (hint: it's an AMM). This protocol is responsible for batching transactions, managing liquidity, and executing rebalances between the assets stored in pools. However, the core protocol cannot be used without employing an external smart contract based strategy.
Up until recently, Portfolio was making use of a default strategy called the Normal Strategy. This strategy uses advanced math to distribute asset liquidity over a normal distribution, resulting in liquidity concentration around a desired price without going out of range. This complicated strategy required multiple security reviews and an insurmountable amount of testing to validate if it was secure to use. Since the Primitive team could not reach full confidence in the strategy's security, we opted to remove the default strategy from Portfolio.
As it stands, Portfolio can be used as a universal asset manager for any strategy that meets it's desired specification. This modular design prevents any strategy-specific issue from affecting the safety of the underlying protocol, and accelerates our ability to prototype, test, and safely deploy new strategies.
Up to this point, we haven't been concrete about what we mean by "strategies". Let's provide some examples so we can demystify the idea and get the ball rolling.
This is a strategy to maintain a target volatility level for a portfolio, which is useful for any investor that wants to have exposure to a risky asset while limiting the volatility they are exposed to.
To implement this strategy onchain, a portfolio of ETH/USDC must be deposited into a weighted pool that can have its weights adjusted. A strategy contract can be designed with this feature set and plugged into the underlying Portfolio protocol.
If the volatility measured for the portfolio increases beyond the target volatility, the weight of ETH should be reduced, thereby increasing the balance of USDC and reducing the portfolio's volatility; conversely, if the portfolio's volatility is below the target volatility, the weight of ETH should be increased to bring it closer to the target volatility.
Aera is an example of a protocol that allows for DAOs to achieve dynamic portfolio management using volatility targeting strategies.
Rolling Covered Calls
The covered call strategy is a popular financial strategy for earning income on an asset at the risk of selling it at a target price. The Normal Strategy, described in the first paragraph, implements a strategy that targets a portfolio payoff of a covered call. From another perspective, it also creates a log-normal distribution of liquidity around the strike price. At any rate, we plan to have this strategy secured and ready for use because of how versatile it is.
What one could do with Portfolio is build off this strategy and implement a rolling covered call strategy. For instance, each week a covered-call position is opened with an at-the-money strike, an implied-volatility based on a prediction or history, and a time-to-expiration of 1 month. Then, each week the position is exited and a new one is created for the next month.
This could be implemented as a standalone strategy, or implemented with an offchain manager that calls Portfolio manually to roll the position. These actions can be easily batched and executed by Portfolio in just one transaction, making the cost and friction of managing the overall portfolio very minimal.
An investor may also want to add in a circuit breaker that allows them to pause rebalances and withdraw their liquidity in the case of an emergency. If the price changes too rapidly, the investor could have trading halted and allow them to withdraw their liquidity. These strategies could make use of a contract or standard like Philogy's circuit breaker.
Prototyping Strategies with Arbiter Simulations
As we were developing Portfolio, we were also developing Arbiter not just for the community, but in order to simulate our own strategies. Arbiter is a Rust library that enables the simulation of Ethereum smart contracts with EVM parity. Arbiter can detect security vulnerabilities or bugs, test the efficacy of mechanisms, and help discover the optimal parameters of strategies designed for Portfolio. Tools such as Arbiter are essential for safely delivering sophisticated strategies.
You might ask, what if I am not a developer that can make smart contracts or build simulations?
Well, Primitive is working on a platform that combines Portfolio, Arbiter, and custom strategies into a single streamlined experience. Internally, we are already using it to prototype strategies like volatility targeting.
Keep up with us on X/Twitter to join our upcoming events for a possible sneak peek. Sign up for the waitlist for product updates.