I want to calculate the portfolio volatility (as a weighted average of the products) and the portfolio consists of CFD contracts with multipliers ranging from 10 to 50 depending on the underlying product. The volatility is calculated as realized volatility of high-frequency (1 min) returns over a 15 minute period and does not take the leverage into account. I am wondering if I should incorporate the multiplier by multiplying the realized volatility by a corresponding multiplier. What I am ultimately interested in is having a portfolio volatility which also takes into the fact that an investor with higher leverages takes higher risk than an investor with no or low leverage.

  • $\begingroup$ To be clear, you are calculating the 1 min returns (and RealVol) of the trade and not the change in the value of the account? $\endgroup$
    – amdopt
    Commented Apr 3, 2018 at 12:48
  • $\begingroup$ The volatility is based on the asset price (returns and volatility based on, for example, the price of SP500). $\endgroup$
    – abu
    Commented Apr 3, 2018 at 12:51
  • $\begingroup$ That is basically what I was eluding to. I was also hinting at what you need to do in order to calc the volatility of the portfolio on a leveraged basis...assuming you are using a live account with actual money in it. $\endgroup$
    – amdopt
    Commented Apr 3, 2018 at 12:58
  • $\begingroup$ Yes, I am trying to calculate the historical volatility of a portfolio in which instruments (cfds) where added and closed in the meantime, so the portfolio weights and the assets change. Could you please describe what you meant a bit more clearly? Thanks in advance! $\endgroup$
    – abu
    Commented Apr 3, 2018 at 13:00

1 Answer 1


Here is an Excel example that I happened to have on my desktop. There are two assets (Asset1 and Asset2). Their respective weights are below their names. In this example, Asset1 has a "1" as the weighting (100% of the account value is exposed), and Asset2 has a ".5" (50% of the account value is exposed). The account is 1.5x leveraged.

The "Daily Change" column is: ([Asset1Return] * [Weighting] * [AccountValue])+([Asset2Return] * [Weighting] * [AccountValue]). You can add as many more assets as you wish.

The "5 Day RV" is basic: [STDEV.P([past 5 days])*SQRT(252)]. I only use 5 days and then annualize it to keep the example succinct. You can use as many periods as you want as well as change the Std Dev formula if you like. The SQRT(252) will need to be changed as well to account for you using 1 min data as opposed to daily data in my example (assuming you are trying to output an annualized number).

           Asset1   Asset2  Daily Change    Account Value   Account % Change    5 Day RV Annualized
              1       0.5                   $1,000,000.00 		
1/2/2018    0.72%   -1.14%   1475.492768    $1,001,475.49   0.15%  
1/3/2018    0.63%   -3.10%  -9192.13069       $992,283.36   -0.92%	
1/4/2018    0.42%    1.42%  11332.32292	    $1,003,615.69    1.14%   
1/5/2018    0.67%   -0.35%   4909.580752    $1,008,525.27    0.49%	
1/8/2018    0.18%   -2.00%  -8147.837357    $1,000,377.43  -0.81%              12.42%
1/9/2018    0.23%   -1.56%  -5520.996558      $994,856.43   -0.55%              12.82%
1/10/2018  -0.15%   -0.85%  -5787.739261      $989,068.69  -0.58%              11.92%
1/11/2018   0.73%    0.98%  12204.05017     $1,001,272.74     1.23%              12.39%

Note that for this example the [AccountValue] is held static at 1,000,000 to compute the "Daily Change". This example is only to show how you would compute the RV of a portfolio that has leverage included.

Hope this helps. Good luck.

  • $\begingroup$ Thank you @amdopt. I understand what you mean. The two differences in my case are that I work with higher frequency data (1min returns user to calculate 15min realized volatility) and the other one being that the portfolio can change at any moment, so I can add and remove an asset at any time. This would in turn change the initial account value and thus inflate the volatility in the way it is calculated right now. Do you have an idea how your example could be modified to counter that? $\endgroup$
    – abu
    Commented Apr 3, 2018 at 14:39
  • $\begingroup$ Email me. My email is in my profile. I will send you a spreadsheet example that can be tailored and you can then adapt that to another language as you see fit. $\endgroup$
    – amdopt
    Commented Apr 3, 2018 at 14:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.