-2
library("PerformanceAnalytics") 

データ:ローリングウィンドウを計算する方法Bull and Bear Beta? - PerformanceAnalyticsはR

dput(head(all_returns5, n = 25)) 
structure(c(NA, 0.0127576508492631, -0.0136465076457385, 0.024306527050457, 
0.0105905227296192, 0.00170260583823545, 0.00718128277256991, 
0.00586860402322142, 0.0151164985424574, 0.0159574248302818, 
0.00499428585372597, -0.00887664957569334, 0.00105954910979489, 
-0.001152238197206, -0.00444480741549869, 0.00105617627274368, 
0.00744484484443464, 0.00426836832012567, 0.00107116244411332, 
0.00196203363775194, -0.00629245692483171, 0.00524543005619238, 
-0.00225940746129893, 0.00663963281493696, 0.00562598092478561, 
NA, 0.0120981992422189, -0.0113201724823986, 0.0249611906463298, 
0.0106580760970605, 0.000364737785248703, 0.00653118163660005, 
0.00499259772576921, 0.0128739559010203, 0.0202916489382277, 
0.00550467062962512, -0.00484865851267591, 0.0012957392154338, 
-0.00124865674804386, -0.00587223531372894, -0.000762183503300262, 
0.00189928452655175, 0.00347922741357132, 0.00189669822772509, 
-0.00199912159808557, -0.00676813815499955, 0.00762402407908214, 
-0.001243366186505, 0.00498724722171628, -0.0042675972294608, 
NA, 0.00641802582479989, 0.00538141680614102, -0.00528658875904287, 
0.00930662557781203, 0.0137208297320657, 0.00523147783456657, 
0.00301929583567651, 0.00510586278051228, 0.0331361109078938, 
0.0117636124646494, 0.00181532660568906, -0.00746210004191683, 
0.00225678023887554, 0.00516617799392516, -0.00627497216217998, 
0.00545331505308311, -0.0085223920387747, 0.00989601470516921, 
-0.00481877226063276, -0.00728508771929826, 0.00638422896628521, 
0.00809099848979722, 0.000940655933317824, 0.00316737947207457, 
NA, 0.00701062547924214, -0.00148663838427798, 0.00791633379330392, 
0.00378296584522264, 0.0126341480923153, 0.000602559103959122, 
-0.00410910379029406, 0.0130539944511632, 0.0141497840665705, 
0.00602409638554224, -0.00361346272971308, 0.00117431699651172, 
0.00131093248697689, -0.00585701981050812, -0.00242592271703346, 
0.00260552371026579, 0.00540540540540535, 0.0047904604356217, 
0.00205796604356023, -0.00670888242341261, 0.0109238774595954, 
-0.00228388328333795, 0.0119238785062694, -0.00256600715780941, 
NA, 0.00726924377324467, -0.00413986013986023, 0.0247738891073535, 
0.00422102839600935, 0.0137562094000765, 0, 0.00215389585913517, 
0.0174090591585621, 0.0133086876155268, 0.00448220149059253, 
-0.00726404815026194, -0.0076307949615847, 0.00847948596408066, 
-0.00720701900981824, 0.00220936349289858, 0.00482888935544823, 
0.00699958211450058, -0.00373482726423902, 0.000781005935645229, 
-0.00312158576556887, 0.00798496946923422, -0.00295122708915807, 
0.0114244170950824, -0.0, NA, 0.00608596424496, 
-0.000756143667296816, -0.00302686341278846, 0.0197343453510437, 
0.0148864905098622, 0.00990099009900991, -0.00290486564996362, 
0.00509832483612538, 0.0311594202898551, 0.00210822206605754, 
-0.00245441795231416, -0.0042179261862918, 0.00635368866925523, 
-0.00245527884952645, -0.00914205344585095, 0.013484740951029, 
-0.00420168067226878, 0.0014064697609002, -0.00105337078651691, 
-0.00843585237258337, 0.00708968450903935, 0.000703977472720885, 
0.00844178684488228, 0.00244157656086497, NA, 0, 0, -0.00343642611683859, 
0.0137931034482759, 0.0136054421768708, 0.00335570469798663, 
0, 0.70211, 0.0332225913621262, 0, 0.00321543408360125, 
-0.00641025641025639, 0, 0, 0, 0.00967741935483857, -0.00319488817891367, 
0, 0.00320512820512819, -0.00319488817891367, 0.00641025641025639, 
0, 0.00955414012738842, 0.00315457413249209, NA, 0.0101867572156198, 
-0.00403361344537823, 0.0134998312521095, 0.0153180153180152, 
0, 0.0127910790423089, 0.00777202072538863, 0.0292416452442159, 
0.01311270683734, -0.0, -0.00493674791730936, 
-0.00837209302325581, 0.00469043151969983, -0.00809212573918461, 
0.00784436774395969, 0.0177459526774595, -0.00244723156928717, 
0.00919963201471941, 0.00425402613187487, 0.000605143721633894, 
0.0139098881161173, -0.0020876826722338, 0.0203227734608489, 
0.00878734622144095, NA, 0.0104281009879255, -0.00869092884302014, 
0.0213698630136987, 0.007510729613734, 0.00585729499467513, 0.00476442562202228, 
0.00316122233930449, 0.00105042016806722, 0.0194123819517313, 
0.00823468862583643, -0.00918836140888202, 0.00257599175682643, 
-0.000513874614594068, -0.00205655526992288, -0.00566718186501802, 
0.0020725388601035, 0.00620475698035161, 0.00411099691675232, 
-0.00204708290685773, -0.0102564102564102, 0.00984455958549213, 
-0.000513083632632028, 0.00513347022587252, -0.00306435137895811, 
NA, 0.0169746454662656, -0.0160574688358335, 0.0244792785054757, 
0.00775518759169991, 0.00457570715474209, 0.0126293995859212, 
0.00674708648538136, 0.0241673436230707, 0.0067420186396987, 
0.00354540082726018, -0.00902845927379781, -0.00693206575559524, 
0.00239329876346228, -0.00775964982093114, 0.00220573491076803, 
0.0184073629451782, 0.000785854616895953, -0.00490773458971339, 
0.00887749062931542, -0.0148611654282361, 0.00813815005954743, 
-0.0059066745422327, 0.013269954446425, 0.0158326817826426), class = c("xts", 
"zoo"), .indexCLASS = "Date", tclass = "Date", .indexTZ = "UTC", tzone = "UTC", index = structure(c(1421020800, 
1421107200, 1421193600, 1421280000, 1421366400, 1421625600, 1421712000, 
1421798400, 1421884800, 1421971200, 1422230400, 1422316800, 1422403200, 
1422489600, 1422576000, 1422835200, 1422921600, 1423008000, 1423094400, 
1423180800, 1423440000, 1423526400, 1423612800, 1423699200, 1423785600 
), tzone = "UTC", tclass = "Date"), .Dim = c(25L, 10L), .Dimnames = list(
    NULL, c("DB3018", "LU0929189636", "LU0256881987", "LU0219424305", 
    "LU0219424131", "LU0196036957", "IE0032904330", "IE0031574977", 
    "IE0004766675", "IE00BKWQ0G16"))) 
> 

私は2つのリターンシリーズを使用して、以下の機能を持っている、すなわち、ポートフォリオのベンチマークの。それはのようになります:

CAPM.beta(data[,1], data[,2], Rf = 0) 

CAPM.beta.bull(data[,1], data[,2], Rf = 0) 

CAPM.beta.bear(data[,1], data[,2], Rf = 0) 

以下フォーミュラ本質的CAPM.beta.bull/CAPM.beta.bearの比率を計算します。上記の

apply.fromstart(R, FUN = "mean", gap = 14) 

が限られている:パッケージはそれ自身のローリング・ウィンドウの機能が付属しています

TimingRatio(data[,1], data[,2], Rf = 0) 

1戻り系列入力を使用するFUNへ。例えば。

「を意味する」私は与えられたローリング・ウィンドウ間隔でCAPM.beta.bull & CAPM.beta.bear OR TimingRatioを計算したいと思います。

は、以下のコードは、PAの式で直接「ウィンドウ」を入力することにより、25ローリング・ウィンドウを使用して、事前

+0

再現可能な例を提供して、最終出力に必要なものを明確にしてください。 – ulfelder

+0

私は質問が非常に明確だと思います。ローリングウィンドウ上で関数を適用します。これはPAパッケージの特定の質問であり、それに応じてタグ付けされています。これらを見積もるには、このパッケージを使用する誰もが持っている長い時間系列データが必要です。代わりにdata(portfolio_bacon)はPAパッケージからのサンプルを提供します。ありがとうございました。 –

+0

それであなたは、あなた自身で行うのではなく、テストするための例を作る余分な仕事を自由に手伝ってくれる人々に依頼しています。オッケー。 – ulfelder

答えて

0

でいただきありがとうございます。これは入力として返品XTSを使用します。

これはパッケージで利用可能な3種類のベータ版です。

results <- data.frame() 


for (i in 25:nrow(all_returns5)){ 

    # rolling window to be put in -1 also needs to be adjusted in the for loop at i in x:...) 

    start_n <- i - 24 
    end_n <- i 

    # get the date 

    date_tmp <- index(all_returns5[i]) 


    # apply the formula on the looped datasets 

    output_bear <- as.matrix(CAPM.beta.bear(all_returns5[start_n:end_n,2], all_returns5[start_n:end_n,1], Rf = 0)) 


    output_bull <- as.matrix(CAPM.beta.bull(all_returns5[start_n:end_n,2], all_returns5[start_n:end_n,1], Rf = 0)) 


    output_beta <- as.matrix(CAPM.beta(all_returns5[start_n:end_n,2], all_returns5[start_n:end_n,1], Rf = 0)) 


    FINAL_OUTPUT <- cbind(output_bear, output_bull, output_beta) 
       rownames(FINAL_OUTPUT) <- as.character(date_tmp) 
       colnames(FINAL_OUTPUT) <- c("Beta Bear (-)", "Beta Bull (+)", "Beta") 

# store results in frame 

    results <- rbind(results, FINAL_OUTPUT) 

print(FINAL_OUTPUT) 

}