If you create an asset A and set the price feed of A to be a function F(x) of the price x of some other asset like
F(x) = x^n
then how many percent does F(x) move for a given percent movement of x?
log(F) = n*log(x)
So a d% gain in x will increase log(x) by log(d%) which will increase log(F) by n*log(d%), which is nearly log(n*d%) for small d, i.e. a 1% gain in X will lead to an approximately n% gain in F(x) -- and likewise a 1% loss will lead to an approximately n% fall in F(x):
log(F) = log(x) + log(1%)
Effectively A has the same gain/loss profile as borrowing money to invest in the underlying, then borrowing / repaying on the loan as needed to maintain the same leverage continuously as the price of underlying moves, without actually requiring any actual loan to take place.
There are a couple problems:
- A black swan is easier to happen in A than in an asset that tracks the underlying directly
- You have to find a counterparty who wants to invest in the opposite market at the same leverage ratio you do, which may be a very thin market for some pairs
- The new asset may need its own marketing independent of the underlying asset (especially if they have different feed providers)
Having a way for the system to automatically compute these derived feeds was on my wishlist for Graphene, but nobody seemed to care much about implementing leverage this way.