• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Pricing a portfolio

  • Thread starter Thread starter Jagra
  • Start date Start date
Joined
2/5/09
Messages
1
Points
11
Hi everybody,

I need to price a portfolio, but I have some specific kinds of data to input and a specific format to output and I can't quite figure out how to do it.

Inputs: I have price relatives for a number of stocks. Price relatives differ from percent changes in that the 1st price in a series represents 1 or 100% of the position in that stock. If after some amount of time the stock increased by 10% from the start, the price relative would equal 1.1. If it had fallen 10% from its start it would equal 0.9.

Let the following represent the price relatives at a single time interval for n stocks:
Stocks = {S1, S2, S3, S4, ..., Sn}
I also have corresponding, weights which define the allocation for each of the stocks in a given portfolio:
Allocations = {A1, A2, A3, A4, ..., An}
The allocations in a basic portfolio with neither leverage or shorts must equal 1 (100% of the portfolio).

Some data to illustrate:

Stocks = {1.0190, 1.0383. 0.9982, 1,.0128, 1.0133, 0.9963, 0.9999, 1.0248}
Allocations = {0.02500, .39000, .21000, .04000, .30000, .00500, .00100, .02900}

Also, the value of the portfolio of stocks with any given corresponding allocations at time period 1 must equal 1 (100% of the portfolio).

Now I get confused. How do I calculate the value of the portfolio?

The first thing to consider would be this:

(S1 * A1 + S2 * A2 + S3 * A3 + S4 * A4 ... + Sn * An)

But I don't think that will work for leveraged or short allocations. So I thought I would need to do something like this:

1 +((S1 - 1) * A1 + (S2 - 1) * A2 + (S3 - 1) * A3 + (S4 - 1) * A4 ... + (Sn - 1) * An
)

But I'm not certain.

Someone suggested something like this (without explanation):

1 + ((S1 * A1 * S2 * A2 * S3 * A3 * S4 * A4 ... * Sn * An)^(1/n))

So I need and approach to price portfolios given current price relatives and allocation weights that will work with long only portfolios, leveraged, and short portfolios.

If anyone has a solution, suggestion, or guidance I'd really appreciate it.

Thx.
 
I got confused when I looked at the example you put:
Stocks = {1.0190, 1.0383. 0.9982, 1,.0128, 1.0133, 0.9963, 0.9999, 1.0248}

Is that the return of each stock in time t + 1? If this is the case, then you should instead work with
Stocks = {0.0190, 0.0383. -0.0018...}

Then you just have to compute the inner product of your vector of weights (allocations) by the vector of returns. It doesn't matter of you have long and short positions; this should be appropriately reflected in your vector of weights. (Short positions have a negative weight and long positions a positive weight; they still have to sum up to 1 if this is a self financed portfolio.)

 
Back
Top