Inlämningsuppgift 1: Portföljvalsteori

Relevanta dokument
Laboration 1: Introduktion till R och Deskriptiv statistik

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

Syftet med den här laborationen är att du skall bli mer förtrogen med följande viktiga områden inom matematisk statistik

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 2 november 2015 Sida 1 / 23

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER.

Instruktion för laboration 1

KPP053, HT2016 MATLAB, Föreläsning 2. Vektorer Matriser Plotta i 2D Teckensträngar

Laboration 2: Statistisk hypotesprövning

Laboration 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

5 Linjär algebra. 5.1 Addition av matriser 5 LINJÄR ALGEBRA

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08

Laboration 2: 1 Syfte. 2 Väntevärde och varians hos en s.v. X med fördelningen F X (x) MATEMATISK STATISTIK, AK FÖR BYGG, FMS 601, HT-08

Laboration 3: Enkel linjär regression och korrelationsanalys

När man vill definiera en matris i MATLAB kan man skriva på flera olika sätt.

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 27 oktober 2015 Sida 1 / 31

Extramaterial till Matematik Y

LÖSNINGAR TILL UPPGIFTER TILL RÄKNEÖVNING 1

TANA17 Matematiska beräkningar med Matlab

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 3: MULTIPEL REGRESSION.

Matematikcentrum 1(7) Matematisk Statistik Lunds Universitet Per-Erik Isberg. Laboration 1. Simulering

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

Matematisk Modellering

1 Grundläggande kalkyler med vektorer och matriser

TSBB14 Laboration: Intro till Matlab 1D

TAIU07 Matematiska beräkningar med Matlab

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Beräkningsvetenskap föreläsning 2

Vektorgeometri för gymnasister

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Introduktion till MATLAB

TAIU07 Matematiska beräkningar med MATLAB för MI. Fredrik Berntsson, Linköpings Universitet. 15 januari 2016 Sida 1 / 26

Instruktion för laboration 1

TMV166 Linjär algebra för M. Datorlaboration 2: Matrisalgebra och en mekanisk tillämpning

Finansiering. Föreläsning 6 Risk och avkastning BMA: Kap. 7. Jonas Råsbrant

Matriser och Inbyggda funktioner i Matlab

Matematikcentrum 1(7) Matematisk Statistik Lunds Universitet MASB11 - Biostatistisk grundkurs HT2007. Laboration. Simulering

Datorlaboration 2. Läs igenom avsnitt 4.1 så att du får strukturen på kapitlet klar för dig.

CAPM (capital asset pricing model)

Laboration: Grunderna i MATLAB

Miniprojekt: Vattenledningsnätet i Lutorp 1

Matriser och Inbyggda funktioner i Matlab

15 september, Föreläsning 5. Tillämpad linjär algebra

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

5B Portföljteori fortsättningskurs

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u =

MATRISTEORI. Pelle Pettersson MATRISER. En matris är ett rektangulärt schema med tal, reella eller komplexa, vilka kallas matrisens

Laboration 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

Laboration 1: Icke-parametriska enstickprovstest

Matriser och linjära ekvationssystem

TANA17 Matematiska beräkningar med Matlab

Laboration: Vektorer och matriser

Matriser och vektorer i Matlab

Flerdimensionella signaler och system

Lägg märke till skillnaden, man ser det tydligare om man ritar kurvorna.

Påbyggnad/utveckling av lagen om ett pris Effektiv marknad: Priserna på en finansiell marknad avspeglar all relevant information

MAM283 Introduktion till Matlab

TAIU07 Matematiska beräkningar med Matlab

Laboration 1 - Simplexmetoden och Modellformulering

Matematikcentrum 1(6) Matematisk Statistik Lunds Universitet MASB11 - Biostatistisk grundkurs VT2014, lp3. Laboration 2. Fördelningar och simulering

TANA17 Matematiska beräkningar med Matlab

M = c c M = 1 3 1

Datorlaboration :: 1 Problembeskrivning ::

Matriser och linjära ekvationssystem

TAIU07 Matematiska beräkningar med Matlab

Linjära ekvationssystem

5B Portföljteori och riskvärdering

MVE022 Urval av bevis (på svenska)

SF1905 Sannolikhetsteori och statistik: Lab 2 ht 2011

Ekonomisk styrning Delkurs Finansiering

Moment 6.1, 6.2 Viktiga exempel Övningsuppgifter T6.1-T6.6

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet april

Introduktion till Matlab Föreläsning 1. Ingenjörsvetenskap

Datorövning 1: Fördelningar

UPG5 och UPG8 Miniprojekt 1: 2D datorgrafik

Institutionen för teknikvetenskap och matematik, S0001M LABORATION 2

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

Datorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer

Moment 5.5 Övningsuppgifter I 5.60a. 5.60b, 5.60.c, 61

Funktioner och grafritning i Matlab

Department of Physics Umeå University 27 augusti Matlab för Nybörjare. Charlie Pelland

Laboration 2: Styrkefunktion samt Regression

Matematikcentrum 1(4) Matematisk Statistik Lunds Universitet MASB11 HT10. Laboration. Regressionsanalys (Sambandsanalys)

Linjär algebra med tillämpningar, lab 1

Formelsamling för kursen Grundläggande finansmatematik

MMA132: Laboration 2 Matriser i MATLAB

Före du sätter igång behöver du, förutom en videokamera och en dator, följande:

Laboration med Minitab

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 13:e januari klockan

SF1672, Linjär Algebra med Matlab för F1 Lab0

Datorövning 1 Fördelningar

Transkript:

STOCKHOLMS UNIVERSITET 20 november 2006 Matematiska institutionen Avd. för matematisk statistik Mikael Andersson Inlämningsuppgift 1: Portföljvalsteori Syftet med denna inlämningsuppgift är att ni skall få en introduktion till hur man med hjälp av dator i praktiken kan sätta samman en portfölj av riskabla tillgångar (aktier) baserat på historiska data över börskurser. Instruktionerna är skrivna för programspråket Matlab, men det är inget som hindrar att man löser uppgifterna med hjälp av annan programvara. Det förutsätts att man är något bekant med Matlab, antingen via tidigare datorövningar och inlämningsuppgifter på kurser i matematisk statistik eller på något annat sätt. För de som inte har stött på programmet tidigare rekommenderas kompendierna [3, 1]. En mer detaljerad manual på svenska är [4]. 1 Hantering av matriser i Matlab Det som ni kommer att jobba med i den här inlämningsuppgiften är den teori och de resultat som gås igenom i kapitel 5 i kursboken [2]. Eftersom många resultat för godtyckligt många tillgångar är formulerade i vektor- och matrisform behöver man ett program som kan hantera data i sådan form, något som Matlab är närmast överlägset på. Vektorer och matriser skapas enkelt genom att skriva exempelvis >> vektor=[5 6 7 8] vektor = 5 6 7 8 >> matris=[1.7 5.8 3.3 ; 9.7 0.5-2.6] matris = 1.7000 5.8000 3.3000 9.7000 0.5000-2.6000 1

Om man vill hämta enskilda element ur sina variabler skriver man >> vektor(3) 7 >> matris(2,3) -2.6000 Man kan också hämta delar av variablerna genom syntaxen >> vektor(2:4) 6 7 8 >> matris(1:2,2:3) 5.8000 3.3000 0.5000-2.6000 Notationen n:m genererar en vektor bestående av heltalen n till och med m. Det går också bra att hämta delar enligt >> vektor([4 2]) 8 6 >> matris(:,[1 3]) 1.7000 3.3000 9.7000-2.6000 2

Skriver man endast :, som i ovanstående exempel, tas samtliga rader eller kolumner i en matris med. Multiplikation och division i Matlab med * och / är automatiskt matrismultiplikation respektive -division. Vill man ha elementvis multiplikation eller division av två vektorer eller matriser av samma dimension måste man skriva.* eller./ enligt >> vektor(2:3)*matris 78.1000 38.3000 1.6000 >> vektor(1:3).*matris(1,:) 8.5000 34.8000 23.1000 >> vektor(1:3)./matris(1,:) 2.9412 1.0345 2.1212 Transponering av vektorer och matriser åstadkoms med -tecknet och invers och determinant med funktionerna inv och det enligt >> matris 1.7000 9.7000 5.8000 0.5000 3.3000-2.6000 >> inv(matris(:,1:2)) -0.0090 0.1047 0.1751-0.0307 >> det(matris(:,1:2)) 3

-55.4100 2 Historiska data Den datamängd som ni skall utgå ifrån i den här inlämningsuppgiften utgörs av dagskurserna vid stängning av Stockholmsbörsen (från och med 2 oktober 2006 Nordiska börsen) av ett antal stora aktiebolag under perioden 1 november 2005 till 31 oktober 2006. Data finns tillgängligt i textfilen aktiekurser.txt på kursens hemsida www.math.su.se/matstat/und/fin/nerladdningsbart.html. Gå in på hemsidan och kopiera filen till det bibliotek där ni jobbar med Matlab. Om ni sedan går in på Import Data under rubriken File i Matlab, väljer filen aktiekurser.txt och trycker på Open så öppnas ett fönster som visar innehållet i filen. Om ni sedan trycker på Next och Finish så kommer tre variabler att skapas i Matlab: data, textdata och colheaders. Den förstnämnda variabeln innehåller börskurserna och variablerna textdata och colheaders (som är identiska) kommer att innehålla namnen på bolagen. 2.1 Dagliga avkastningar Det första ni måste göra är att beräkna dagliga avkastningar för samtliga bolag enligt formeln K i (n) = S i(n) S i (n 1) S i (n 1) Detta kan göras ganska smidigt i Matlab genom elementvisa operationer enligt >> K=(data(2:248,:)-data(1:247,:))./data(1:247,:); Nu kan man enkelt skatta förväntad daglig avkastning och kovariansmatris med funktionerna mean och cov. (Skriv help mean och help cov för en detaljerad beskrivning av hur dessa funktioner fungerar.) Eftersom man normalt brukar använda sig av årlig avkastning som mått på investeringar är det lämpligt i det här fallet att multiplicera resultaten med 247, vilket är antalet börssdagar minus ett som de dagliga avkastningarna baseras på. Ett alternativt (och enklare) sätt att skatta förväntad årlig avkastning för en aktie är att helt enkelt jämföra kursen för sista dagen i data med första dagen. 3 Uppgifter Nu när ni har matat in data och uppskattat förväntade avkastningar och kovarianser är det dags att optimera portföljer. 4

3.1 Minimal variansportfölj a. Beräkna vikterna för den portfölj bestående av tillgångarna i datamaterialet som har den minsta variansen. Vilka fem aktier bör ni investera mest i och vad är deras vikter? Innehåller portföljen korta positioner? b. Beräkna även förväntad avkastning och risk (standardavvikelse) för denna portfölj. Verkar detta vara en tilltalande investering? c. Beräkna även vikter, förväntad avkastning och risk för den minimala variansportföljen utan korta positioner. Denna portfölj får man om man helt eliminerar alla tillgångar som får korta positioner i den minimala variansportföljen och beräknar nya vikter. Man kan behöva upprepa detta tills man får en reducerad portfölj utan korta positioner. Vilka fem aktier får nu högst vikter? 3.2 Minimal varianslinje a. Beräkna vikterna för den portfölj med förväntad avkastning µ V = 0.3 som har den minsta variansen. Vilka fem aktier får nu störst vikt? Innehåller portföljen korta positioner? b. Verifiera att förväntad avkastning är den önskade och beräkna risken. Jämför med de två portföljerna i föregående uppgift. c. Gör även här en portföljoptimering utan korta positioner och beräkna vikter och risk. Vilka fem aktier får nu högst vikter? d. Med hjälp av Proposition 5.11 skall ni även göra en grafisk representation av minimala varianslinjen. Låt w 1 vara vikterna för den minimala variansportföljen i föregående uppgift och låt w 2 vara vikterna för minimala variansportföljen i denna uppgift. Vikterna för varje portfölj på minimala varianslinjen kan nu skrivas cw 1 + (1 c)w 2. Skapa först vektorn c enligt >> c=-3:0.01:3; Detta skapar en vektor av längden 601 innehållande talen 3.00, 2.99,..., 3.00. Vi kan nu beräkna förväntad avkastning och risk för dessa 601 portföljer enligt >> for i=1:601 w=c(i)*w1+(1-c(i))*w2; mu(i)=m*w ; sigma(i)=sqrt(w*c*w ); end Nu kan vi rita upp minimala varianslinjen med hjälp av 5

>> plot(sigma,mu) >> hold on >> plot(sqrt(var(k)*247),m, x ) Kommandot hold on låser figuren så att man kan addera fler grafer och det sista kommandot ritar ut förväntad avkastning och risk för de individuella tillgångarna. 3.3 Marknadsportfölj a. Antag att hela marknaden består endast av tillgångarna i denna inlämningsuppgift plus en riskfri tillgång med årlig avkastning r F = 0.10. Försök hitta vikterna för marknadsportföljen. Vilken förväntad avkastning och risk har den? Hur kan man tolka resultaten? b. Antag i stället att marknaden endast består av de tillgångar som fick positiva vikter i Uppgift 3.1 c ovan plus en riskfri tillgång med årlig avkastning r F = 0.10. Går det att hitta en rimlig marknadsportfölj för denna minimarknad? Beräkna förväntad avkastning och risk även för denna marknadsportfölj. Vilka slutsatser kan man dra vid en jämförelse med föregående fall? c. Försök även att hitta en övre gräns för r F, det vill säga vilket är det största värde på r F där det går att hitta en (rimlig) marknadsportfölj. 3.4 Betafaktor Avslutningsvis skall ni uppskatta betafaktorn för en privat portfölj jämfört med index för Stockholmsbörsen (vilket kan representera en reell marknadsportfölj) under samma tidsperiod. Börja med att sätta ihop en portfölj bestående av fem av de aktier som ingår i inlämningsuppgiften plus en riskfri tillgång, exempelvis en obligation, med årlig tillgång r F = 0.10 med valfria vikter. Försök att använda resultaten från tidigare uppgifter för att få en så bra portfölj som möjligt. Kopiera sedan filen index.txt från kursens hemsida och importera data på samma sätt som tidigare. Denna fil innehåller värdet på Stockholmsbörsens huvudindex OMXSPI under samma period som aktiekurserna. Även om detta inte är samma sak som marknadsportföljen enligt lärobokens definition så representerar det ändå hur börsen i stort har varierat under perioden. Börja med att skapa variabeln K V bestående av dagliga avkastningar för er egen portfölj under perioden. Detta kan enklast göras i Matlab enligt >> KV=247*K(:,aktie)*vikter(1:5) +0.10*vikter(6); där radvektorn aktie anger vilka aktier som ingår i portföljen och radvektorn vikter innehåller vikterna för de fem aktierna plus vikten för den riskfria tillgången. Variabeln K M bestående av de dagliga avkastningarna för börsindex kan fås på liknande sätt som tidigare genom 6

>> KM=(index(2:248)-index(1:247))./index(1:247); Både kovariansen mellan er portfölj och börsindex samt variansen för börsindex kan man nu uppskatta med hjälp av funktionen cov genom operationen >> cov([kv KM]) Uppskatta betafaktorn β V för er portfölj med hjälp av detta och använd detta för att få en uppfattning om fördelningen mellan diversifierbar och odiversifierbar risk för er portfölj. Vilka slutsatser kan ni dra? Anser ni att ni har valt en bra portfölj eller skulle man kunna omfördela vikterna för att få andra värden? 4 Skriftlig redovisning Samtliga uppgifter ovan skall redovisas skriftligt i en strukturerad och genomtänkt rapport försedd med ett titelblad där kursens namn, nummer på inlämningsuppgiften och ert/era namn tydligt skall anges. Handskrivna rapporter kommer inte att godkännas. På Linuxdatorerna i datorsalarna finns flera ordbehandlingsprogram som kan användas. För er som är vana vid Windows kan jag rekommendera StarOffice, som är en slags gratisvariant av Word och som till och med kan läsa och spara filer i Word-formatet.doc. Ni startar enklast det genom att klicka på ikonen nere till vänster som liknar en penna och några pappersark. Första gången ni klickar på den kommer det upp några fönster på skärmen som styr hur programmet sätts upp på er dator. Klicka bara på Next överallt så startar ordbehandlingsprogrammet så småningom. Redogör ordentligt för era svar på frågorna och motivera ordentligt era slutsatser. Bifoga gärna någon eller några illustrativa figurer, men inte för många och referera ordentligt i texten vilka slutsatser ni drar av respektive figur. Oavsett om ni kommer att arbeta som statistiker, matematiker, aktuarie, ekonom eller något annat kommer ni att få skriva många rapporter i era yrkesliv. Därför är det bra att börja träna på detta ordentligt redan nu, det kommer ni att ha stor nytta av i framtiden. Referenser [1] Björkström, Anders (2002): Grundläggande Matlab-träning, Matematiska institutionen, Stockholms universitet. www.math.su.se/matstat/und/proci/pdf/matlabinstru.pdf [2] Capiński, Marek & Zastawniak, Tomasz (2003): Mathematics for Finance An Introduction to Financial Engineering, Springer Verlag, London. [3] Holtsberg, Anders (2000): Introduktion till Matlab och Maple, Matematikcentrum, Lunds tekniska högskola. www.maths.lth.se/matstat/kurser/fms120/mlabintr.pdf 7

[4] Pärt-Enander, Eva & Sjöberg, Anders (2003): Användarhandledning för Matlab, Institutionen för informationsteknologi, Uppsala universitet. www.it.uu.se/edu/bookshelf/matlab/?lang=sv 8