создание нескольких графиков с помощью для l oop in python - PullRequest
0 голосов
/ 24 января 2020

Я хотел бы создать несколько анализов Монте-Карло для 10 различных компаний. Функция M C имеет 3 параметра, которые меняются в зависимости от компании, и код для нее выглядит следующим образом:

import numpy as np


def monte_carlo(start_price, days, mu, sigma):
    price = np.zeros(days)
    price[0]= start_price
    shock = np.zeros(days)
    drift = np.zeros(days)

    for x in range (1,days):
        shock[x] = np.random.normal(loc = mu *dt, scale = sigma * np.sqrt(dt) )

        drift[x] = mu*dt

        price[x] = price[x-1] + (price[x-1] * (drift[x] + shock[x]) )
    return price

Эта функция затем отображается 100 раз a для l oop:

for run in range(100):
        plt.plot(monte_carlo(start_price,days,mu,sigma))
        plt.xlabel('Days')
        plt.ylabel('Price')
        plt.title('MCA for ')

все это прекрасно работает для одного набора значений для start_price, mu, sigma, но я хочу, чтобы l oop через 10 различных наборов.

У меня есть нечто, похожее на это:

for stock in start_price, sigma, mu:
    for run in range(100):
        plt.plot(monte_carlo(start_price[stock],days,mu[stock],sigma[stock]))
        plt.xlabel('Days')
        plt.ylabel('Price')
        plt.title('MCA for %' %stock)

но это не работает вообще, я получаю сообщение об ошибке «Необходимо передать DataFrame только с логическими значениями».

Я надеюсь, что это имеет смысл, я полный нуб, поэтому любая помощь приветствуется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...