6-Launch Whole Sample - Matematica finanziaria progredito (corso Finanza) PDF

Title 6-Launch Whole Sample - Matematica finanziaria progredito (corso Finanza)
Author Luca Zaffaina
Course Matematica finanziaria
Institution Università degli Studi di Trento
Pages 6
File Size 269.4 KB
File Type PDF
Total Downloads 463
Total Views 890

Summary

Download 6-Launch Whole Sample - Matematica finanziaria progredito (corso Finanza) PDF


Description

Estimating inputs in Markowitz Mean-Variance Portfolio Model See Ch. 10 Benninga, S. Financial Modeling clear; clf;

Load Data Cap10 Benninga- Financial Modelling load DataCap10Benninga NameAssets={'GE','MSFT','JNJ','K','BA','IBM' }; % whos % Name % Prices % SP500Return % SharesOutstanding

Size 12x6 11x1 1x6

Bytes 576 88 48

Class double double double

Attributes

Calcolo i Log-rendimenti LogReturns=log(Prices(2:end,:)./Prices(1:end-1,:)); [T,K]=size(LogReturns); % T=numero di osservazioni; K=numero di titoli

Calcolo la matrice delle covarianze campionaria SampleSigma=cov(LogReturns); % utilizzo la funzione "cov" per trovare al covarianza % del campione (ho diviso per N-1). Se scrivo cov(LogReturns,1) con 1 trovo % la covarianza della popolazione.

Compute la matrice delle covarianze con il metodo della correlazione costante rho=0.3; %fissato, ipotizzo che nel mercato vi sia un determinato livello di % correlazione [SigmaConstantCorrelation]=EstimateCorrConst(LogReturns, rho); % uso la % funzione che ho creato che stima il valore della covarianza con % correlazione costante -> si crea una funzione in cui si calcola sulla % diagonale principale la varianza e in tutti gli altri punti il prodotto % tra rho e le standard deviation.

Calcolo la matrice delle covarianza con metodo Shrinkage alpha=0.7; % ipotizzo che il lambda sia = 70% SigmaShrinkage=alpha.*SampleSigma+(1-alpha).*SigmaConstantCorrelation;

Calcolo il portafoglio a Minima Varianza Da non sapere la formula per la soluzione analitica che trovo a p.300 Benninaga a memoria. % trovo la soluzione analitica e=ones(1,K); % utilizzo la soluzione analitica per trovare i diversi pesi dei tre diversi portafogli: 1

WeightsMinVarianceConstantCorrelation=e*inv(SigmaConstantCorrelation)/... (e*inv(SigmaConstantCorrelation)*e'); WeightsMinVarianceCampionaria=e*inv(SampleSigma)/(e*inv(SampleSigma)*e'); WeightsMinMinVarianceShrinkage=e*inv(SigmaShrinkage)/(e*inv(SigmaShrinkage)*e'); % guardo le differenze tra i pesi nei grafici figure(1) clf subplot(3,1,1) bar(WeightsMinVarianceCampionaria) xlabel('Asset Number') ylabel('Weights') title('Minimum Variance Port. with Sample Covariance Est.','FontSize', 12,'FontWeight','b') subplot(3,1,2) bar(WeightsMinVarianceConstantCorrelation) xlabel('Asset Number') ylabel('Weights') title('Minimum Variance Port. with Constant Correlation Est.','FontSize', 12,'FontWeight','b') subplot(3,1,3) bar(WeightsMinMinVarianceShrinkage) xlabel('Asset Number') ylabel('Weights') title('Minimum Variance Port. with Shrinkage Est.','FontSize', 12,'FontWeight','b')

Compute Portfolio with Maximum Sharpe Ration with no-shortselling Impongo che i pesi siano sempre maggiori di zero (no-shortselling) % 2

ExpReturn=mean(LogReturns); NPts=20; % Using Sample Covariance matrix estimate [PortRisk_Sample, PortReturn_Sample, PortWts_Sample] = portopt(ExpReturn, ... SampleSigma, NPts); SharpeRatio_Sample=PortReturn_Sample./PortRisk_Sample; [a,b]=find(SharpeRatio_Sample==max(SharpeRatio_Sample)); WeightsSharpeRatio_Sample= PortWts_Sample(a(1),:); WeightsMinVariance_SampleNoShortSelling= PortWts_Sample(1,:); %Using Shrinkage Covariance matrix estimate [PortRisk_Shrinkage, PortReturn_Shrinkage, PortWts_Shrinkage] = portopt(... ExpReturn, SigmaShrinkage, NPts); SharpeRatio_Shrinkage=PortReturn_Shrinkage./PortRisk_Shrinkage; [a,b]=find(SharpeRatio_Shrinkage==max(SharpeRatio_Shrinkage)); WeightsSharpeRatio_Shrinkage= PortWts_Shrinkage(a(1),:); WeightsMinVariance_ShrinkageNoShortSelling= PortWts_Shrinkage(1,:); %Using Constant Correlation Covariance matrix estimate [PortRisk_ConstCorr, PortReturn_ConstCorr, PortWts_ConstCorr] = portopt(... ExpReturn, SigmaConstantCorrelation, NPts); SharpeRatio_ConstCorr=PortReturn_ConstCorr./PortRisk_ConstCorr; [a,b]=find(SharpeRatio_ConstCorr==max(SharpeRatio_ConstCorr)); WeightsSharpeRatio_ConstCorr= PortWts_ConstCorr(a(1),:); WeightsMinVariance_ConstCorrNoShortSelling= PortWts_ConstCorr(1,:);

figure(2) clf subplot(3,1,1) bar(WeightsMinVariance_SampleNoShortSelling) xlabel('Asset Number') ylabel('Weights') title('Minimum Variance Port. with Sample Covariance Est.','FontSize', 12,'FontWeight','b') subplot(3,1,2) bar(WeightsMinVariance_ConstCorrNoShortSelling) title('Minimum Variance Port. with Const. Correlation Est.','FontSize', 12,'FontWeight','b') xlabel('N. Assets') ylabel('Weights') subplot(3,1,3) bar(WeightsMinVariance_ShrinkageNoShortSelling) title('Minimum Variance Port. with Shrinkage Covariance Est.','FontSize', 12,'FontWeight','b') xlabel('N. Assets') ylabel('Weights')

3

figure(3) clf subplot(3,1,1) bar(WeightsSharpeRatio_ConstCorr) xlabel('Asset Number') ylabel('Weights') title('Maximum SR Port. with Sample Covariance Est.','FontSize', 12,'FontWeight','b') subplot(3,1,2) bar(WeightsSharpeRatio_Sample) title('Maximum SR Port. with Const. Correlation Est.','FontSize', 12,'FontWeight','b') xlabel('N. Assets') ylabel('Weights') subplot(3,1,3) bar(WeightsSharpeRatio_Shrinkage) title('Maximum SR Port. with Const. Correlation Est.','FontSize', 12,'FontWeight','b') xlabel('N. Assets') ylabel('Weights')

4

parte vista da qui in giù: vedo come le frontiere efficienti dei 3 portafogli calcolati con i% tre metodi e mi accorgo che Shrinkage è effettivamente una media pesata% per una costante degli altri due metodi. figure(4) clf plot(PortRisk_Sample, PortReturn_Sample) hold Current plot held

plot(PortRisk_ConstCorr, PortReturn_ConstCorr,'r') plot(PortRisk_Shrinkage, PortReturn_Shrinkage,'g') xlabel('Portfolio Expected Risk') ylabel('Portfolio Expected Return') title('Efficient Frontiers','FontSize', 12,'FontWeight','b') legend('Sample','Corr.Costante','Shrinkage')

5

figure(4) clf plot(PortRisk_Sample, PortReturn_Sample,'LineWidth',4) hold Current plot held

plot(PortRisk_ConstCorr, PortReturn_ConstCorr,'r+','LineWidth',4) plot(PortRisk_Shrinkage, PortReturn_Shrinkage,'g--','LineWidth',4) xlabel('Portfolio Expected Risk') ylabel('Portfolio Expected Return') title('Efficient Frontiers','FontSize', 12,'FontWeight','b') legend('A','B','C')

6...


Similar Free PDFs