最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Python計(jì)算股票投資組合的風(fēng)險(xiǎn)價(jià)值(VaR)

2021-06-10 13:07 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=17829

?

指數(shù)加權(quán)波動(dòng)率是一種波動(dòng)率的度量,它使最近的觀察結(jié)果有更高權(quán)重。我們將使用以下公式計(jì)算指數(shù)加權(quán)波動(dòng)率:

S [t] ^ 2 = SUM(1-a)* a ^ i *(r [t-1-i]-rhat [t])^ 2,i = 0…inf

其中rhat [t]是對(duì)應(yīng)的指數(shù)加權(quán)平均值

rhat [t] = SUM(1-a)* a ^ i * r [t-1-i],i = 0…inf

上面的公式取決于每個(gè)時(shí)間點(diǎn)的完整價(jià)格歷史記錄,并花了一些時(shí)間進(jìn)行計(jì)算。因此,我想分享Rcpp和RcppParallel如何幫助我們減少計(jì)算時(shí)間。

我將使用匯率的歷史數(shù)據(jù)集??作為測(cè)試數(shù)據(jù)。

首先,我們計(jì)算平均滾動(dòng)波動(dòng)率

  1. #*****************************************************************

  2. # 計(jì)算對(duì)數(shù)收益率

  3. #*****************************************************************

  4. ret = diff(log(data$prices))


  5. tic(5)

  6. hist.vol = sqrt(252) * bt.apply.matrix(ret, runSD, n = 200)

  7. toc(5)

經(jīng)過時(shí)間為0.17秒

接下來,讓我們編寫指數(shù)加權(quán)代碼邏輯

  1. # 建立 RCPP 函數(shù)計(jì)算指數(shù)加權(quán)波動(dòng)率

  2. load.packages('Rcpp')

  3. sourceCpp(code='

  4. #include <Rcpp.h>

  5. using namespace Rcpp;

  6. using namespace std;


  7. // [[Rcpp::plugins(cpp11)]]


  8. //ema[1] = 0

  9. //ema[t] = (1-a)*r[t-1] + (1-a)*a*ema[t-1]

  10. // [[Rcpp::exp


  11. {

  12. if(!NumericVector::is_na(x[t])) break;

  13. res[t] = NA_REAL;

  14. }

  15. int start_t = t;


  16. -a) * a^i * (r[t-1-i] - rhat[t])^2, i=0 ... inf

  17. // [[Rcpp::export]]

  18. NumericVector run_esd_cpp(NumericVector x, double ratio) {

  19. auto sz = x.siz


  20. // find start index; first non NA item

  21. for(t = 0; t < sz; t++) {

  22. if(!Num

  23. 0;

  24. for(t = start_t + 1; t < sz; t++) {

  25. ema = (1-ratio) * ( x[t-1] + ratio * ema);

  26. double sigma = 0;

  27. for(int i = 0; i < (t - start_t); i++) {

  28. sigma += pow(ratio,i) * pow(x[t-1-i] - ema, 2);

  29. }

  30. res[t] = (1-ratio) * sigma;

  31. }

  32. , n, ratio = n/(n+1)) run_ema_cpp(x, ratio)

  33. run.esd = funct

?經(jīng)過時(shí)間為106.16秒。

執(zhí)行此代碼花了一段時(shí)間。但是,代碼可以并行運(yùn)行。以下是RcppParallel版本。

  1. # 建立 RCPP 并行函數(shù)計(jì)算指數(shù)加權(quán)波動(dòng)率

  2. load.packages('RcppParallel')

  3. sourceCpp(code='


  4. using namespace Rcpp;

  5. using namespace s

  6. s(cpp11)]]

  7. // [[Rcpp::depends(R

  8. to read from

  9. const RMatrix<double> mat;

  10. // internal variables

  11. const double ratio

  12. t;

  13. // initialize from Rcpp input and output matrixes

  14. run_esd_helper(const Nume

  15. all operator that work for th


  16. in, size_t end) {

  17. for (size_t c1 = begin; c1 < end; c1++) {

  18. int t;

  19. // find start index; fir

經(jīng)過時(shí)間為14.65秒

運(yùn)行時(shí)間更短。接下來,讓我們直觀地了解使用指數(shù)加權(quán)波動(dòng)率的影響

  1. dates = '2007::2010'

  2. layout(1:2)

  3. e='h', col='black', plotX=F)

  4. plota.legend(paste('Dai

  5. s,1],type='l',col='black')




?

?

不出所料,指數(shù)加權(quán)波動(dòng)率在最近的觀察結(jié)果中占了更大的比重,是一種更具反應(yīng)性的風(fēng)險(xiǎn)度量。

最受歡迎的見解

1.HAR-RV-J與遞歸神經(jīng)網(wǎng)絡(luò)(RNN)混合模型預(yù)測(cè)和交易大型股票指數(shù)的高頻波動(dòng)率

2.WinBUGS對(duì)多元隨機(jī)波動(dòng)率模型:貝葉斯估計(jì)與模型比較

3.波動(dòng)率的實(shí)現(xiàn):ARCH模型與HAR-RV模型

4.R語言ARMA-EGARCH模型、集成預(yù)測(cè)算法對(duì)SPX實(shí)際波動(dòng)率進(jìn)行預(yù)測(cè)

5.使用R語言隨機(jī)波動(dòng)模型SV處理時(shí)間序列中的隨機(jī)波動(dòng)率

6.R語言多元COPULA GARCH 模型時(shí)間序列預(yù)測(cè)

7.R語言基于ARMA-GARCH過程的VAR擬合和預(yù)測(cè)

8.R語言隨機(jī)搜索變量選擇SSVS估計(jì)貝葉斯向量自回歸(BVAR)模型

9.R語言對(duì)S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略


Python計(jì)算股票投資組合的風(fēng)險(xiǎn)價(jià)值(VaR)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
青州市| 正安县| 和平区| 阳江市| 平定县| 托克托县| 湟中县| 长治市| 宝丰县| 萝北县| 松原市| 刚察县| 长海县| 金昌市| 宁德市| 泸州市| 逊克县| 祁连县| 沧源| 邹平县| 大名县| 清河县| 新晃| 汉沽区| 宾阳县| 开封市| 马公市| 古交市| 河北省| 黄龙县| 乌鲁木齐市| 东港市| 彭泽县| 溧水县| 隆安县| 县级市| 太保市| 喀喇沁旗| 抚顺市| 曲沃县| 高雄市|