Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Simulointi blogipostausta "Lapsilisillä miljonääriksi?" Harhala-blogiin 16.9.2016
- #Tehnyt Allan Seuri, Alex Tabarrokin pohjalta: http://marginalrevolution.com/marginalrevolution/2014/07/average-stock-market-returns-arent-average.html
- #Innoittajana Talouselämän juttu: http://www.talouselama.fi/uutiset/ihan-jokaisesta-tulisi-miljonaari-puhdas-matematiikka-lupaa-hyvaa-suomalaisille-lapsille-6583158
- #Simuloidaan N kappaletta vastasyntyneitä, joiden 96 euron kuukausittaiset lapsilisät sijoitetaan 7 prosentin tuotolla
- #Yksinkertaistetaan laskelmaa olettamalla, että koko vuoden lapsilisät saadaan kerralla (lasketaan vuositasolla)
- #Pörssin tuotot ovat normaalijakautuneet N(0.06,0.2)
- #Luvut perustuvat S&P500-historialliseen toteumaan
- setwd("C:/Users/Allan/Documents/blogi/2016/stockReturns")
- #Otetaan siemenluvuksi sana "EINSTEIN" käyttämällä TeachingDemos-paketin char2seed-funktiota.
- #Siemenluku on 4503855.
- require(TeachingDemos)
- char2seed("EINSTEIN",set=T)
- #Asetetaan kuukausittainen lapsilisä
- llisaPerKK<-96
- lapsilisaVuosia<-16
- T<-67
- mu<-0.07
- #Simuloidaan 100 000 havaintoa.
- N<-100000
- #Asetetaan keskihajonta 20 %:iin (kuten Tabarrok tekee)
- sd=0.2
- #Koska matriisi alkaa alkuarvosta, matriisin koko on T+1.
- T<-T+1
- #Ensimmäiselle riville hetken nolla arvo eli alkupääoma, nolla.
- returnMatrix<-matrix(NA,nrow=T,ncol=N)
- returnMatrix[1,]<-0
- #Simuloidaan.
- for(j in 2:T){
- if(j<=(lapsilisaVuosia+1)){
- returnMatrix[j,]<-(returnMatrix[j-1,]+llisaPerKK*12)*(1+rnorm(N,mean=mu,sd=sd))
- }
- if(j>(lapsilisaVuosia+1)){
- returnMatrix[j,]<-returnMatrix[j-1,]*(1+rnorm(N,mean=mu,sd=sd))
- }
- }
- #Tarkastellaan keskiarvoa, mediaania ja niiden suhdetta.
- mean(returnMatrix[T,])
- median(returnMatrix[T,])
- mean(returnMatrix[T,])/median(returnMatrix[T,])
- #Kuinka moni saavuttaa miljoonan, kuinka moni jää alle alkupääoman?
- sum(returnMatrix[T,]>=1000000)/N
- sum(returnMatrix[T,]<startCapital)/N
- #Näin suuri osuus jää alle 150 000:n
- sum(returnMatrix[T,]<150000)/N
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement