[R-SIG-Finance] Compute Portfolio Returns
Brian G. Peterson
brian at braverock.com
Mon Jan 28 11:33:49 CET 2008
Ravi S. Shankar wrote:
> I have in my portfolio cash, equity, futures and forwards. I need to
> compute the returns of this portfolio.
>
> If say I have cash of $100 and I buy only equity then my weights would
> be the amount invested in each stock upon the total cash and the sum of
> weights would add up to the total cash. The returns computation would be
> a straightforward change in investment.
price * position size (in shares) = position value
You can, as you've noted, back into weights this way.
> However, I need help in understanding how do I compute the returns (and
> the associated weights) from a futures position and a forwards position.
>
> a) In the case of futures there would be a daily change in the
> cash position due to Mark to market. So would the change in cash
> position reflect the returns of futures position?
With the futures position you will always calculate the notional value
to mark to market. For most futures contracts this is the price * a
multiplier.
Change in notional value is your return (in currency units like US$ or EU).
> b) In case of forwards how do I compute the weights and the
> corresponding returns? I cannot use the change in investment as there is
> no initial investment and if I use the change in investment approach to
> compute returns I would have infinite returns.
With a forward contract you would use the difference in price between
the forward contract face price and the current spot (market) price to
calculate the current "premium price" on the contract and use the change
in premium price to calculate your returns.
> Any help would be appreciated (please let me know in case there is a
> paper which I can refer to)
If you do not change your positions from your initial position, then
your starting weights do not change, but your actual weights will float
daily (or whatever your observation time is).
If you need the calculations for calculating returns from prices (or
price*multiplier notionals), look at function Return.calculate in
PerformanceAnalytics. Or if you need the method for calculating
weighted returns from "prices" and starting weights, let me know.
Regards,
- Brian
More information about the R-SIG-Finance
mailing list