投資組合管理
給定個人持股的歷史數據,確定 R 中的投資組合風險回報?
目前,我們通過自己的 C# 程序計算投資組合風險和回報。歷史數據儲存在 SQL 數據庫中。我們想要計算風險和回報參數——給定一個投資組合(即不計算有效邊界)。這是我們不熟悉的 R 語法(與計算風險回報的理論相比)。
那麼,如何在 R 中計算投資組合風險回報呢?
Eric Zivots 最近的計算金融課程中有很多程式碼。
- http://spark-public.s3.amazonaws.com/compfinance/R%20code/portfolio.r
- http://spark-public.s3.amazonaws.com/compfinance/R%20code/testport.r
- http://spark-public.s3.amazonaws.com/compfinance/R%20code/rollingPortfolios.r
此外,您可以在他的課堂上搜尋一些幻燈片,他提供了很多範例:
http://spark-public.s3.amazonaws.com/compfinance/Lecture%20Notes/PortfolioTheoryMatrixPowerpoint.pdf
範常式式碼:
返回系列的標準差:
sd(x) #where x = portfolio return series
滾動分析
rollapplyr(x,days,function) #rolling analysis given function
計算回報
require(PerformanceAnalytics) #heaps of functions for portfolio analytics require(TTR) #package with indicator functions ROC(x,days) #given equity series, get log return ROC(x,days,type="discrete") #given equity series, get discrete return series findDrawdowns(R) #find drawdown for time series Return.annualized(R,n) #R = return series, N = number of periods in year