I am currently writing a programme to calculate the one day VaR using the historical simulation method. Within the programme I am first calculating the daily returns of the prices which the excel formula is Close_price_today - Close_price_yesterday /
Close_price_yesterday. I would like to compute this into my programme but not sure how to write the code to calculate it? The code below is a code part of the programme that myself and my friend came up with at the start but my teacher said to try write another way of calculating the daily returns using the excel formula way instead. I would be grateful for any help.
By the way, in the code below, y contains the data of daily prices of a stock that were loaded.

What I have tried:

vector <double> dailyreturns;
for (int i = 0; i < y.size(); i++) {
int findex = y.size() - 1;
int previousindex = cprice - 1;
if (i > 0) {
double prices = y[findex] * (y[i] / y[previousindex]);
dailyreturns.push_back(prices);
}

What is the problem with writing that formula in your code? It is not clear in your code which of the variables are Close_price_today and Close_price_yesterday.

there's nothing wrong, it just does not look right, i think i am missing something, here's what i rewrote: vector <double> dailyreturns; for (int i = 0; i < y.size(); i++) { int price_today = 0; int price_yesterday = 0; double return_prices = y[price_yesterday] - y[price_today] / y[price_today]; dailyreturns.push_back(return_prices); sort(dailyreturns.begin(), dailyreturns.end()); }

The expression y[price_today] / y[price_today] yields the answer 1 in every case. I suspect that is not the answer you actually want. Is it possible the calculation should be double return_prices = (y[price_yesterday] - y[price_today]) / y[price_today];? Where the difference between the two is divided by one of the values.

`Close_price_today`

and`Close_price_yesterday`

.vector <double> dailyreturns;

for (int i = 0; i < y.size(); i++) {

int price_today = 0;

int price_yesterday = 0;

double return_prices = y[price_yesterday] - y[price_today] / y[price_today];

dailyreturns.push_back(return_prices);

sort(dailyreturns.begin(), dailyreturns.end());

}

`y[price_today] / y[price_today]`

yields the answer`1`

in every case. I suspect that is not the answer you actually want. Is it possible the calculation should be`double return_prices =`

? Where the difference between the two is divided by one of the values.(y[price_yesterday] - y[price_today])/ y[price_today];