Я работаю над исследовательской работой по манипулированию графиками, и у меня есть следующие данные:
returns 1+returns cum_return price period_ret(step=25)
1 7.804919e-03 1.0078049 0.007804919 100.78355 NA
2 3.560800e-03 1.0035608 0.011393511 101.14306 NA
3 -1.490719e-03 0.9985093 0.009885807 100.99239 NA
. -2.943304e-03 0.9970567 0.006913406 100.69558 NA
. 1.153007e-03 1.0011530 0.008074385 100.81175 NA
. -2.823012e-03 0.9971770 0.005228578 100.52756 NA
25 -7.110762e-03 0.9928892 -0.001919363 99.81526 -0.02364
. -1.807268e-02 0.9819273 -0.019957356 98.02754 NA
. -3.300315e-03 0.9966997 -0.023191805 97.70455 NA
250 5.846750e-03 1.0058467 -0.017480652 98.27748 0.12125
Это 250 ежедневных доходностей акций, совокупный доход, цена и доходность за 25 дней (возвратмежду днями 0-25; 25-50; ...; 200-250).
Я хочу сделать следующее:
Я хочу изменить порядок возвратов, но период должен быть одинаковым, хотя их порядок может измениться.Так что их 10!возможные комбинации подмножеств.
Что я сделал до сих пор: я написал код, используя функции sample
, repeat
и identical
, и вот сокращенная версия:
repeat{
temp <- tibble(
returns = sample(x$returns, 250, replace=TRUE) )
if(identical(sort(round(c(x$period_ret[(!is.na(x$period_ret))]),2)),sort(round(c(temp$period_ret[(!is.na(temp$period_ret))]),2)))) break
}
Это заняло у меня довольно много временинекоторое время и, к сожалению, это не имеет никакого реального смысла.Только позже я начал думать о математике и о том, что их 250!возможные образцы, поэтому я бы потратил несколько дней на ожидание какого-либо результата.
Зачем мне это нужно?
Я хотел бы создать графики с разными порядками возврата.Таким образом, все графики имеют одинаковую сводную статистику, но выглядят по-разному.Важно, чтобы у них были одинаковые period_returns (независимо от их порядка) для выполнения формулы полезности.