Обратите внимание, что поскольку вы не предоставили никакого кода, код, который я собираюсь показать вам, - это не FOR вы, а код, который я использовал, и SOUNDS , который вы могли бы легко принять дляв соответствии с вашими потребностями.
# this will simulate 1000 different combinations of my portfolio
for x in range(1000):
weights = np.random.random(len(tickers))
weights /= np.sum(weights)
portfolio_returns.append(np.sum(weights * log_returns.mean()) * 250)
portfolio_volatilities.append(np.sqrt(np.dot(weights.T, np.dot(log_returns.cov() * 250, weights))))
То, что делает этот код, короткое, это 1000x, оно создает случайные числа и веса для моих точек данных, а затем добавляет результат. Код не будет единообразным, как он есть.случайный, но если вы действительно хотите униформу, вы можете просто шаг за шагом.Однако я не думаю, что вам нужна единообразная форма, а достаточно большой размер выборки, чтобы ее не выбросили выбросы.
Способ сравнения результатов будет примерно таким.
simple_return = (mydata / mydata.shift(1)) - 1
Сравнение случайных выборок должно быть довольно простым, поэтому, если вам нужна помощь, проследите.А с массивными массивами вы также можете фильтровать / удалять элементы на основе критериев.
Извините, если они не отвечают точно, что вы хотите, но это должно направить вас в правильном направлении.