Поиск цели на python между функциями, зависящими друг от друга - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь решить следующую функцию. Идея состоит в том, чтобы сделать sigma_de_delta и delta_de_sigma go равными нулю, изменив значения sigma и delta . Этот вид операций очень сложен для меня сегодня, я не знаю, как его решить, я пытался оптимизировать, может помочь мне, но я не знаю, как использовать его в этом случае (решение двух взаимозависимых операций). Я был бы очень признателен, если бы кто-нибудь помог мне.

Что я рассчитываю достичь с помощью этого кода, так это получить предполагаемую вероятность снижения курса доллара на 10% по отношению к евро в течение следующих трех месяцев. Это работа из Malz, а не формула для прогнозирования прибыли, она помогает в качестве индикатора риска.

Это аргументы функции:

  1. fwd = EUR3M Curncy ( EURUSD 3-месячные форвардные баллы)
  2. р = EURUSD25R3M Курс (EURUSD 3 месяца 25 разворот дельта-риска)
  3. спот = EUR / USD спот
  4. бабочка = EURUSD10B3M CURNESS (EURUSD 3 Месяц 10 Delta Butterfly)
  5. atmoney = EURUSDV3M Курс (EURUSD 3-месячная подразумеваемая волатильность банкоматов)
  6. vol = индекс EE0003M или ставка ICE LIBOR EUR 3M
  7. nivel_dep = 1,1 (EURUSD * 1.1)
  8. t = тенор (3 месяца = 0.25)
def pr_dep_tc(fwd, rr, spot, butterfly, atmoney, vol, nivel_dep, t):
    x = spot*nivel_dep
    q = x/fwd
    sigma = 5
    delta = 6
    d1 = -(np.log(q)-(t*0.25*(sigma**2.0)))/(sigma*butterfly)
    d2 = -(np.log(q)+(t*0.25*(sigma**2.0)))/(sigma*butterfly)
    sigma_de_delta = (vol-(2.0*rr*(delta-0.5))+(16.0*butterfly*(delta-0.5)**2.0))-sigma
    delta_de_sigma = np.exp(-vol*t)*norm.cdf(d1, loc=0.0, scale=1.0)-delta
    call = norm.cdf(d1, loc=0.0, scale=1.0)-q*norm.cdf(d2, loc=0.0, scale=1.0)
    prob = np.exp(-atmoney*0.25)*norm.cdf(d2, loc=0.0, scale=1.0)
...