Probability of Attaining a Return Goal

Earlier we looked at calculating the probability of beating a fixed target. Now we will look at calculating the probability of beating a benchmark which is itself stochastic.

Let us consider two assets A and B with the following details:

MeanStandard DeviationCorrelation
AμA=10%\mu_{A}=10\%σA=20%\sigma_{A}=20\%ρAB=30%\rho_{AB}=30\%
BμB=12%\mu_{B}=12\%σB=26%\sigma_{B}=26\%

We have a total of $10 million to invest. Our objective is to beat a benchmark.

Let us take the 50-50 portfolio, which has the following returns:

r1=0.5A+0.5Br_{1} = 0.5A + 0.5B

Suppose the benchmark has the following returns:

r2=0.4A+0.6Br_{2} = 0.4A + 0.6B

We need to find that probability that our portfolio will beat the benchmark index, i.e., P(r1>r2)P(r_{1} > r_{2})

This can be expressed as:

P(r1r2>0)P(r_{1} - r_{2} > 0)

We can write this as:

P(0.5A+0.5B0.4A0.6B>0)P(0.5A + 0.5B - 0.4A - 0.6B > 0)

or

P(0.1A0.1B)>0P(0.1A - 0.1B) > 0

0.1A - 0.1B is normally distributed.

Therefore, it's mean and standard deviation will be given as follows:

Mean, E(0.1A0.1B)=0.1μA0.1μB=0.1(10%)0.1(12%)=0.2%E(0.1A-0.1B) = 0.1\mu_{A} - 0.1\mu_{B} = 0.1(10\%)-0.1(12\%) = -0.2\%

Standard Deviation, σ(0.1A0.1B)=0.12σA2+0.12σB22(0.1)(0.1)σAσBρ\sigma(0.1A-0.1B) = \sqrt{0.1^{2}\sigma_{A}^{2}+0.1^{2}\sigma_{B}^{2}-2(0.1)(0.1)\sigma_{A}\sigma_{B}\rho}

=2.76%= 2.76\%

We can write our probability as follows:

P(0.1A0.1B>0)=P(0.1A0.1B+0.0020.0276>0+0.0020.0276)P(0.1A-0.1B>0) = P\left ( \frac{0.1A-0.1B+0.002}{0.0276} > \frac{0 + 0.002}{0.0276} \right )

=P(Z>0.0725)= P(Z>0.0725)

where Z is the standard normal variable.

P(Z>0.0725)=47.1%P(Z>0.0725) = 47.1\%, using 1-NORMSDIST(0.0725) in excel.

Therefore, the 50-50 portfolio has a 47.1% chance of beating the benchmark portfolio of 40-60.

This probability of beating the benchmar depends on the correlation between the assets. With high correlation, the probability will decrease and vice verse.

Membership
Learn the skills required to excel in data science and data analytics covering R, Python, machine learning, and AI.
I WANT TO JOIN
JOIN 30,000 DATA PROFESSIONALS

Free Guides - Getting Started with R and Python

Enter your name and email address below and we will email you the guides for R programming and Python.

Saylient AI Logo

Take the Next Step in Your Data Career

Join our membership for lifetime unlimited access to all our data analytics and data science learning content and resources.