Anteprima
Vedrai una selezione di 3 pagine su 8
Esonero di Aprile Advanced portfolio management and financial engineering Pag. 1 Esonero di Aprile Advanced portfolio management and financial engineering Pag. 2
Anteprima di 3 pagg. su 8.
Scarica il documento per vederlo tutto.
Esonero di Aprile Advanced portfolio management and financial engineering Pag. 6
1 su 8
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Dati = readtable('Base_Dati.xlsx');

% Estrazione rendimenti titoli

rendimenti = Dati{:,2:end};

% Statistiche di base

rendimento_medio = mean(rendimenti);

deviazione_standard = std(rendimenti, 1);

matrice_covarianza = cov(rendimenti, 1);

matrice_correlazione = corr(rendimenti);

% Creazione pesi randomizzati

numero_portafogli = 10000;

numero_titoli = size(rendimenti,2);

pesi = randn(numero_portafogli, numero_titoli);

pesi = pesi(abs(sum(pesi,2)) > 0.05, :);

pesi = pesi ./ sum(pesi,2);

% Calcolo rendimento e rischio dei portafogli

rendimento_portafogli = pesi * rendimento_medio';

rischio_portafogli = sqrt(sum((pesi *

matrice_covarianza) .* pesi,

2));

% Identificazione portafogli con e senza vendita allo

scoperto

ha_short = any(pesi < 0, 2);

senza_short = ~ha_short;

% Calcolo della Frontiera Efficiente

Matrice_supporto = [rendimento_medio;

ones(1,numero_titoli)];

a = Matrice_supporto(2,:) * (matrice_covarianza \

Matrice_supporto(2,:)');

b = Matrice_supporto(1,:) * (matrice_covarianza \

Matrice_supporto(2,:)');

c = Matrice_supporto(1,:) * (matrice_covarianza \

Matrice_supporto(1,:)');

rendimenti_target =

linspace(min(rendimento_portafogli),

max(rendimento_portafogli), numero_portafogli);

rischio_frontiera = sqrt((a * rendimenti_target.^2 -

2*b*rendimenti_target + c) / (a*c - b^2));

% Calcolo portafoglio di minima varianza

rendimento_minvar = b/a;

rischio_minvar = sqrt((a*rendimento_minvar^2 -

2*b*rendimento_minvar

+ c) / (a*c - b^2));

[min_rischio, indice_min] = min(rischio_frontiera);

parte_efficiente =

indice_min:length(rischio_frontiera);

parte_non_efficiente = 1:indice_min;

% Quote del portafoglio di minima varianza

quote_minvar = (matrice_covarianza \

ones(numero_titoli,1)) /

(ones(1,numero_titoli) * (matrice_covarianza \

ones(numero_titoli,1)));

disp('Quote del portafoglio di minima varianza:');

disp(quote_minvar');

% Modello CAPM e Capital Market Line

rendimento_riskfree = 0.02;

sharpe = (rendimenti_target(parte_efficiente) -

rendimento_riskfree) ./

rischio_frontiera(parte_efficiente);

[max_sharpe, indice_max_sharpe] = max(sharpe);

rendimento_mercato =

rendimenti_target(parte_efficiente(indice_max_sharpe))

;

rischio_mercato =

rischio_frontiera(parte_efficiente(indice_max_sharpe))

;

rischi_CML = linspace(0, max(rischio_portafogli),

100);

CML = rendimento_riskfree + ((rendimento_mercato -

rendimento_riskfree) / rischio_mercato) * rischi_CML;

% Calcolo beta dei titoli rispetto al portafoglio di

mercato

rendimento_mercato_storico = rendimenti *

pesi(indice_max_sharpe, :)';

varianza_mercato = var(rendimento_mercato_storico, 1);

beta = (rendimenti' * rendimento_mercato_storico) /

(rendimento_mercato_storico' *

rendimento_mercato_storico);

disp('Beta dei singoli titoli:');

disp(beta');

% Grafico finale

figure; hold on; grid on; box on;

% Definizione colori

colori = struct('long', [0.2 0.6 1], 'short', [1 0.4

0.4],

'frontiera', [0 0 0], ...

'minvar', [0.3 0.9 0.4], 'cml', [1 0.6

0],

'mercato', [0.7 0 0.7], 'subfrontiera', [0.4 0.4

0.4]);

% Disegno portafogli

scatter(rischio_portafogli(senza_short),

rendimento_portafogli(senza_short), 20, 'o',

'MarkerFaceColor',

colori.long, 'MarkerEdgeColor', 'k', 'LineWidth',

0.5);

scatter(rischio_portafogli(ha_short),

rendimento_portafogli(ha_short), 20, 'x',

'MarkerEdgeColor',

colori.short, 'LineWidth', 1.2);

% Disegno frontiera efficiente e non efficiente

plot(rischio_frontiera(parte_efficiente),

rendimenti_target(parte_efficiente), '-', 'LineWidth',

2.5, 'Color',

colori.frontiera);

plot(rischio_frontiera(parte_non_efficiente),

rendimenti_target(parte_non_efficiente), '--',

'Color', [0.5 0.5 1],

'LineWidth', 2);

% Disegno portafoglio di minima varianza

plot(rischio_minvar, rendimento_minvar, 's',

'MarkerSize', 10,

'MarkerEdgeColor', 'k', 'MarkerFaceColor',

colori.minvar);

% Disegno Capital Market Line

plot(rischi_CML, CML, '-', 'Color', colori.cml,

'LineWidth', 2);

% Disegno portafoglio di mercato

plot(rischio_mercato, rendimento_mercato, 'p',

'MarkerSize', 12,

'MarkerFaceColor', colori.mercato, 'MarkerEdgeColor',

'k');

% Disegno singoli titoli

scatter(deviazione_standard, rendimento_medio, 60,

'k', 'filled');

text(deviazione_standard + 0.002, rendimento_medio,

Dati.Properties.VariableNames(2:end),

'VerticalAlignment', 'bottom',

'FontSize', 9, 'FontWeight', 'bold');

% Disegno alcune subfrontiere a due titoli

numero_subfrontiere = 3;

rng(1);

combinazioni = nchoosek(1:numero_titoli, 2);

indici_random = randperm(size(combinazioni,1),

numero_subfrontiere);

for i = 1:numero_subfrontiere

idx = combinazioni(indici_random(i), :);

r_sub = rendimento_medio(idx);

cov_sub = matrice_covarianza(idx, idx);

Matrice_sub = [r_sub; ones(1,length(idx))];

a_sub = Matrice_sub(2,:) * (cov_sub \

Matrice_sub(2,:)');

b_sub = Matrice_sub(1,:) * (cov_sub \

Matrice_sub(2,:)');

c_sub = Matrice_sub(1,:) * (cov_sub \

Matrice_sub(1,:)');

rendimenti_sub = linspace(min(r_sub), max(r_sub),

100);

rischi_sub = sqrt((a_sub * rendimenti_sub.^2 -

2*b_sub*rendimenti_sub + c_sub) / (a_sub*c_sub -

b_sub^2));

plot(rischi_sub, rendimenti_sub, '--', 'Color',

colori.subfrontiera, 'LineWidth', 1.5);

end

% Migliorie grafiche

Dettagli
A.A. 2024-2025
8 pagine
SSD Scienze economiche e statistiche SECS-P/08 Economia e gestione delle imprese

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher marcofavaron01 di informazioni apprese con la frequenza delle lezioni di Advanced portfolio management and financial engineering e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma La Sapienza o del prof Mango Fabiomassimo.