Как смоделировать кредитный портфель в MatLab / Octave? - PullRequest
0 голосов
/ 02 февраля 2020

Я довольно новичок в MatLab / Octave и борюсь с проблемой, которую пытаюсь решить.

Портфель состоит из 1000 займов по 10000 долларов каждый, и у каждого есть вероятность 0,1 по умолчанию. Рассчитайте вероятность того, что 50 кредитов по умолчанию, а также ожидаемые потери и дисперсия портфеля. Смоделируйте портфель выше, используя Matlab / Octave.

Итак, я рассчитал вероятность в (1000! / 50! 950!) (1/10) ^ 50 (9/10) ^ 950 Ожидаемая потеря в E ( Z) = 10 000 E (X) = 10 000 np = 10 000 x 1000 x 0,1 = $ 1 000 000 И дисперсия при Var (Z) = 10000 ^ 2Вар (X) = 10000 ^ 2 np (1-p) = 10000 ^ 2x1000x0 , 1x0,9 = 9 миллиардов долларов

Я действительно борюсь с симуляцией портфеля.

1 Ответ

1 голос
/ 04 февраля 2020

Вот наиболее простой (на мой взгляд) способ реализовать это в октаве.

%%% The Portfolio problem:
    pkg load statistics;   % required for the `binopdf` and `binostats` functions

  % Problem variables
    NumberOfLoans = 1000;
    PricePerLoan  = 10000;
    ProbOfDefault = 0.1;

  % Binomial probability of 50 in 1000 loans defaulting for a binomial parameter of 0.1
    p = binopdf( 50, NumberOfLoans, ProbOfDefault );
    fprintf( 'Probability of 50 loans defaulting is %.3g\n', p );

  % Expected loss
    [ ExpNumDefaults, VarDefaults ] = binostat( NumberOfLoans, ProbOfDefault );
    ExpLoss = PricePerLoan * ExpNumDefaults;
    VarLoss = (PricePerLoan .^ 2) * VarDefaults;

    fprintf( 'Expected loss of portfolio: %d\n', ExpLoss );
    fprintf( 'Variance of portfolio: %d\n', VarLoss );

Вывод:

Probability of 50 loans defaulting is 3.21e-09
Expected loss of portfolio: 1000000
Variance of portfolio: 9000000000

Используется пакет statistics, который вы можете установить из октавного терминала следующим образом (опция -forge загружает ее непосредственно с веб-сайта Octave Forge ):

pkg install statistics -forge

Причина, по которой я бы предпочел использовать пакет статистики чем выполнять эти вычисления «вручную», так это то, что промежуточные этапы, требующие факториалов, приведут к очень большим числам, что, вероятно, нарушит ваши вычисления, в то время как пакет статистики реализует эти функции оптимизированным способом, который решает эти проблемы.

Если вы новичок в октаве, то, вероятно, в приведенном выше фрагменте кода происходит много нового. Я бы посоветовал вам прочитать основы октавы из официальной документации , а также найти функции, используемые здесь, непосредственно с терминала октавы, используя функцию help.

...