股票 - 计算时间序列的波动率

Stocks - Calculating Volatility of a Time Series

我有一个简单的股票价格数据集,其中 Col1 用于日期,Col2 用于 Returns(收盘价 D / 收盘价 D-1,与 pct_change 相同Python) 和 Ewma 波动率的 Col3。我正在处理预测并绘制 Returns 与 Ewma 波动率的对比图,但阅读一些文章后我意识到我需要绘制每日波动率 x Ewma 波动率以便我可以更清楚地看到预测结果

所以我想看到这样的图表,但在红色中我有 Returns 而不是它我需要红线是通过正常方法计算的波动率(简单 Vol)。黑色是 MTS::EWMAvol 包计算的 EwmaVol。

这是数据:

structure(list(date = structure(c(18515, 18516, 18520, 18521, 
18522, 18523, 18526, 18527, 18528, 18529, 18530, 18533, 18534, 
18535, 18536, 18537, 18540, 18541, 18542, 18543, 18544, 18547, 
18548, 18549, 18550, 18551, 18554, 18555, 18556, 18557, 18558, 
18561, 18562, 18563, 18564, 18565, 18568, 18569, 18570, 18571, 
18572, 18575, 18576, 18577, 18578, 18579, 18582, 18583, 18584, 
18585, 18586, 18589, 18590, 18591, 18592, 18593, 18596, 18597, 
18598, 18599, 18600, 18603, 18604, 18605, 18606, 18607, 18610, 
18611, 18612, 18613, 18614, 18617, 18618, 18619, 18620, 18621, 
18624, 18625, 18626, 18627, 18628, 18631, 18632, 18633, 18634, 
18635, 18638, 18639, 18640, 18641, 18642, 18645, 18646, 18647, 
18648, 18649, 18652, 18653, 18654, 18655, 18656, 18659, 18660, 
18661, 18662, 18663, 18666, 18667, 18668, 18669, 18670, 18673, 
18674, 18675, 18676, 18677, 18680, 18681, 18682, 18683, 18684, 
18687, 18688, 18689, 18690, 18691, 18694, 18695, 18696, 18697, 
18698, 18701, 18702, 18703, 18704, 18705, 18708, 18709, 18710, 
18711, 18712, 18715, 18716, 18717, 18718, 18719, 18722, 18723, 
18724, 18725, 18726, 18729, 18730, 18731, 18732, 18733, 18736, 
18737, 18738, 18739, 18740, 18743, 18744, 18745, 18746, 18747, 
18750, 18751, 18752, 18753, 18754, 18757, 18758, 18759, 18760, 
18761, 18764, 18765, 18766, 18767, 18768, 18771, 18772, 18773, 
18774, 18775, 18778, 18779, 18780, 18781, 18782, 18785, 18786, 
18787, 18788, 18789, 18792, 18793, 18794, 18795, 18796, 18799, 
18800, 18801, 18802, 18803, 18806, 18807, 18808, 18809, 18810, 
18813, 18814, 18815, 18816, 18817, 18820, 18821, 18822, 18823, 
18824, 18827, 18828, 18829, 18830, 18831, 18834, 18835, 18836, 
18837, 18838, 18841, 18842, 18843, 18844, 18845, 18848, 18849, 
18850, 18851, 18852, 18855, 18856, 18857, 18858, 18859, 18862, 
18863, 18864, 18865, 18866, 18869, 18870, 18871, 18872, 18873, 
18876, 18877, 18878, 18879, 18880, 18883, 18884), class = "Date"), 
    Retorno = c(-0.675993561014219, 0.00727122549799243, 0.0200646939724594, 
    -0.309572944244751, -0.240552943912361, -0.22033250472985, 
    -0.361838491629178, 0.425326793664922, -0.467655896347618, 
    0.184647131258419, 0.289993731622618, -0.247917340719569, 
    -0.266792070525439, 0.408121976560422, 0.432634049112388, 
    -0.526936711212769, 0.255443464814248, -0.277205195648874, 
    0.237634551321446, 0.416255267136204, 0.182381045120273, 
    0, 0.559328565933268, 0.22352526750161, 0.0344661931237814, 
    -0.0114765743015762, -0.340659866250595, 0.518121135418651, 
    0.124920612225829, 0.060477879624518, -0.132268000351469, 
    -0.419044186141948, -0.0468465628669677, -1.24962920487573, 
    0.519314480623082, -0.83241356610111, 0, 0.677072797328314, 
    0.770362872443658, 0.779540076578319, -0.128308411797546, 
    0.208939823146876, -0.313737425389519, 0.218322415089412, 
    -0.69034693281341, 0.812758658841942, 0.167317931481811, 
    -0.208730841632264, -0.387374906435024, 0.145599821661092, 
    0.107177528022895, 0.381307385634918, 0.386256536259558, 
    0.160935467100042, 0.0370218344118541, 0.241511701069377, 
    -0.33376949245172, 0.162429122410115, 0.189409487756105, 
    -0.136073192422632, 0.221928418309387, -0.294157383734931, 
    0.293123696475209, -0.308081743475511, -0.0160523988860364, 
    0.200830763685225, 0.215786923768921, 0.467113206724325, 
    0.405886001764272, 0.105544246268935, -0.128010524950925, 
    -0.195222854432975, 0.202533534363647, 0.36037155474833, 
    0.0195551377992495, 0, 0.386574054270276, -0.0520687967679869, 
    0.134723231050616, -0.0105062746232602, 0, -0.0867476700402434, 
    0.0959051831633806, -0.792631919080304, 0.714335671518634, 
    1.00993938236837, -0.129261214344111, 0.124684691358913, 
    -0.183903752322858, -0.0658608900095052, -0.160979643574251, 
    0.19290543725798, 0.251171599859635, 0.230012814573936, 0.00867119071736477, 
    -0.00849157305596641, -0.0662645178280147, -0.325684851940853, 
    -0.63526581976692, 0.987392935674623, -0.71566845639813, 
    0.823448032203283, 0.364849774654681, 0.493861329996562, 
    0.429481174502912, 0.392845558392575, 0.18687659266044, -0.0496962834358631, 
    -0.351476870541759, 0.325056528852312, 0.0540948459475099, 
    0, 0, 0.298660972132666, -0.129176783491061, 0.0936264785031788, 
    -0.717102311834032, 0.0579970685670885, 0.2387869198789, 
    -0.800077283233545, -0.346606771876278, 0.652393650772446, 
    0.019543204729203, -0.186097235985271, -0.401338954104801, 
    0.770468206437961, -1.16143407489768, 0.287520645270323, 
    -0.180982644002469, 0.636164450379635, -0.167036272711984, 
    0.273933259257009, 0.0018679680615165, 0.401511529829268, 
    -1.0714528798559, 0.225507468509173, -0.0998873705026633, 
    -0.357468921258203, -0.453208884721668, 0.584325924664598, 
    0.294490804371817, -0.071870245489955, 0.227731039838296, 
    0.0272554279847483, 0.282891030886757, 0, 0.444572787367717, 
    0.107513540207911, 0.204070787509094, 0.290177231896655, 
    0.314121770459557, 0.294143400791366, 0.0423074542633505, 
    -0.111752005968369, 0.191432961182637, 0.107012720814761, 
    -0.221435538762791, -0.287455618822024, 0, -0.504458868407395, 
    0.576189122256037, 0.0513721502072407, -0.0878347180967137, 
    0.0305926251264597, 0.0409984249091759, -0.0507344439032554, 
    0.127910054528995, -0.33110581208469, 0.244321197674869, 
    -0.153002648530627, 0.550660961815173, -0.39137091346195, 
    0.00655796886117349, -1.07175015625675, 0.47234018769347, 
    0.457477961736975, 0.194987471696463, -0.192289243894243, 
    -0.100966714379365, 0.295535636777222, 0.0497612954361652, 
    0.424646083712068, -0.0235816065166123, 0.148925361065251, 
    0.0833499347084376, 0.162437322657595, 0.216822541199244, 
    -0.0266349635355871, -0.0203718557462801, 0, 0.163246069746882, 
    0.0540313182825264, -0.132667149729679, -0.0106752473427232, 
    0.0966877877911841, -0.0135235065561488, 0.286749500028446, 
    -0.123925251554195, -0.0750149494882748, -0.00131099907860658, 
    0.0788369651503004, 0.310420308737175, 0.0738549668615309, 
    -0.0388124917441666, 0.156992583882095, -0.158341400377075, 
    0.138832514569506, 0.0484161074075555, 0.0644817162954546, 
    -0.075831329755838, 0.594706467883038, 0.0582157771824145, 
    -0.224095914091399, 0.433246293201151, -0.340500528636388, 
    0.0408415756500143, 0.45961172993559, 0.136168616599819, 
    0.0264246421863121, -0.0041223988663561, -0.273325208808114, 
    -0.429764244359346, 0.318952765660581, 0.152571137442228, 
    0.378021240701817, -0.0502434439840156, -0.284587147638002, 
    -0.549313963668678, 0.024940657477001, 0.106379612006064, 
    -0.666213312763818, 0.101187879104207, 0.212900264239358, 
    -0.319050618049279, 0.151814926005171, 0.165719848192862, 
    0.111396078192044, -0.192914594549868, -0.0785555116791173, 
    -0.0633138947667031, -0.100685336741663, -0.70572669007387, 
    -0.636169672803793, -0.0256706550272056, 0.568449636874711, 
    0.431844471002692, -0.0884432149109783, 0.507974104651909, 
    0.253656436799725, -0.551492331609423, 0.473346006073304, 
    -0.230628440542497, -0.36475396210053, 0.0553706780422077, 
    -0.458282184750842, 0.127876503287846, 0.329153343062354, 
    0, -0.640854284349025, 0.314530520275267, -0.547495384943616, 
    0.532252306040703, 0), EwmaVol = c(0.401545880470543, 
    0.37957402999614, 0.357002237552554, 0.336710024448518, 0.318760036517056, 
    0.316732889747995, 0.306462909109581, 0.288335641955465, 
    0.285974951159514, 0.27897153978688, 0.26226816859379, 0.285059883553795, 
    0.272374799205532, 0.268378720050093, 0.262349047774286, 
    0.258978405250914, 0.253148786729867, 0.238963348264941, 
    0.225541112253008, 0.234992747615912, 0.222414110918961, 
    0.209069264263823, 0.206230071488549, 0.20121898142488, 0.189404201517459, 
    0.179625218204264, 0.169480509616124, 0.174732838517365, 
    0.164762013463212, 0.156538802813315, 0.153370969102807, 
    0.145432704491324, 0.14287274912088, 0.21547817272594, 0.214028935828116, 
    0.234147750804581, 0.220098885756306, 0.21209598867207, 0.242287370393438, 
    0.261087909529102, 0.248230680408422, 0.243595317635679, 
    0.230164613514584, 0.217002608357163, 0.22967146650814, 0.248916351205143, 
    0.239617766167996, 0.225423319002878, 0.218347622569303, 
    0.206598225427181, 0.196302279540574, 0.185030606442786, 
    0.188266218750961, 0.181245068143354, 0.17041364058184, 0.161095631643361, 
    0.160389804076746, 0.156316917381599, 0.14852488563309, 0.142019675657794, 
    0.133567051476024, 0.125838895726541, 0.11969455573153, 0.119360323208544, 
    0.11750261880258, 0.112148663686316, 0.108243847740347, 0.115163834443589, 
    0.116212022405643, 0.109409013330819, 0.104496900700937, 
    0.10935285581462, 0.105502302791016, 0.101242444242857, 0.09516847810389, 
    0.0894583694176566, 0.0866069786756536, 0.0817380126900134, 
    0.0773367431654428, 0.0726971569867781, 0.0683353275675715, 
    0.0697812759496627, 0.067691476973121, 0.129966833467446, 
    0.126803399533392, 0.171461998066648, 0.171739783002973, 
    0.197564652471901, 0.189022309519642, 0.179950836609547, 
    0.170183058064679, 0.164266188880656, 0.155101252531341, 
    0.148693223428185, 0.14012494879068, 0.133740625026294, 0.125716772617523, 
    0.119105020311106, 0.117086850187538, 0.145347969102275, 
    0.152463434186314, 0.158687203287356, 0.152449871680205, 
    0.166738452722435, 0.158612506047059, 0.160075907173878, 
    0.151254857380356, 0.142343596709454, 0.142934873378322, 
    0.142665594947683, 0.134145123063853, 0.126096415680022, 
    0.118530630739221, 0.112499802745561, 0.110940338230715, 
    0.104545755177033, 0.135780351022354, 0.133312910743497, 
    0.125726130222031, 0.153200898521969, 0.159065047312098, 
    0.155282128215572, 0.146884947547679, 0.138117117632574, 
    0.130622632663405, 0.152186093616364, 0.253518876239024, 
    0.238323024716563, 0.227569746334944, 0.248057416617638, 
    0.234104106541416, 0.221001436475852, 0.208519869481825, 
    0.209685706242652, 0.239728740398097, 0.234167233383272, 
    0.224220956969507, 0.216318345630569, 0.223196193500169, 
    0.224922152734894, 0.212452796555951, 0.200672435018375, 
    0.197518356826799, 0.188183960822706, 0.177785419155766, 
    0.16711829400642, 0.169717068257208, 0.166026638555189, 0.156957479697871, 
    0.153622766010829, 0.14469286668481, 0.138471748094382, 0.131579951121295, 
    0.124018474660646, 0.120182498675561, 0.113234218642543, 
    0.107149115926987, 0.101721766522229, 0.095618460530895, 
    0.0999442416592745, 0.101574073875603, 0.0957296378477016, 
    0.093118066436934, 0.0914320009168463, 0.0871185787307817, 
    0.0823469513367038, 0.0811192489506884, 0.0825047887866796, 
    0.0860049643565581, 0.0808493443261423, 0.0961929240668569, 
    0.0911638648549433, 0.0857640508042613, 0.104905012906323, 
    0.114721311495374, 0.109831409732472, 0.104612358275864, 
    0.0993594406351853, 0.0946255646854852, 0.0895721816070949, 
    0.0845410520311026, 0.0838606211253721, 0.0789729132909391, 
    0.0747186193653219, 0.0705734402792115, 0.0688594831676326, 
    0.0657400666843101, 0.0634447557051325, 0.0633681690044842, 
    0.0595660788642152, 0.0603886782791013, 0.0587833071039431, 
    0.057511124086288, 0.0543325953300019, 0.0512261329106077, 
    0.0491856952988916, 0.0510463463396217, 0.0487190552131411, 
    0.047891041488347, 0.0467019683194386, 0.0466241053525344, 
    0.0456515495748067, 0.0431468387328283, 0.041317889619408, 
    0.0452423873993231, 0.0486383165176941, 0.0479392218342959, 
    0.0454006830162697, 0.0435713468777161, 0.0419873301594818, 
    0.0536531567181674, 0.0506716342092926, 0.0562970018467919, 
    0.0684016291611351, 0.0674546466335945, 0.0634076483792872, 
    0.067163694596286, 0.0640197920338736, 0.061921707762386, 
    0.0589219002148625, 0.0567269880819515, 0.0678661716944311, 
    0.0660541475889322, 0.062251261441256, 0.0624556318584788, 
    0.0635712086121672, 0.0630732335813346, 0.0691297797235716, 
    0.0653096157302932, 0.0636744930080208, 0.0944386419928364, 
    0.0915130579751466, 0.0863295417576338, 0.0867829530305672, 
    0.0839894020970701, 0.0791825005794653, 0.0766098726649444, 
    0.0753903595328056, 0.0733451437270916, 0.0693926680771279, 
    0.0664728433228, 0.0956887810320563, 0.0954558159033218, 
    0.0922581275391543, 0.09091195032168, 0.0929899977659706, 
    0.091341181932747, 0.131126103751573, 0.129655613187944, 
    0.148447176829185, 0.153225134955549, 0.153634505982304, 
    0.160933771494317, 0.151965634321099, 0.167395816107282, 
    0.160837085230127, 0.167419121889831, 0.157373974576441, 
    0.217309648664878, 0.211280213400328, 0.212032193587911, 
    0.22982849323927, 0.216038783644914)), class = "data.frame", row.names = c(NA, 
-263L))

现在,我需要一个包含资产每日波动率的列。

在 R 中最简单的方法是什么?

library(tidyverse)
library(MTS)
library(ggpubr)
#> Loading required package: magrittr
#> 
#> Attaching package: 'magrittr'
#> The following object is masked from 'package:purrr':
#> 
#>     set_names
#> The following object is masked from 'package:tidyr':
#> 
#>     extract
#> Loading required package: magrittr
#> 
#> Attaching package: 'magrittr'
#> The following object is masked from 'package:purrr':
#> 
#>     set_names
#> The following object is masked from 'package:tidyr':
#> 
#>     extract

data <- structure(list(
  date = structure(c(
    18513, 18514, 18516, 18519,
    18520, 18521, 18522, 18523, 18526, 18527, 18528, 18529, 18530,
    18533, 18534, 18535, 18536, 18537, 18540, 18541, 18542, 18543,
    18544, 18547, 18548, 18549, 18550, 18551, 18554, 18555, 18556,
    18557, 18558, 18561, 18562, 18563, 18564, 18565, 18568, 18569,
    18570, 18571, 18572, 18575, 18576, 18577, 18578, 18579, 18582,
    18583, 18584, 18585, 18586, 18589, 18590, 18591, 18592, 18593,
    18596, 18597, 18598, 18599, 18600, 18603, 18604, 18605, 18606,
    18607, 18610, 18611, 18612, 18613, 18614, 18617, 18618, 18619,
    18620, 18621, 18624, 18625, 18626, 18627, 18628, 18631, 18632,
    18633, 18634, 18635, 18638, 18639, 18640, 18641, 18642, 18645,
    18646, 18647, 18648, 18649, 18652, 18653, 18654, 18655, 18656,
    18659, 18660, 18661, 18662, 18663, 18666, 18667, 18668, 18669,
    18670, 18673, 18674, 18675, 18676, 18677, 18680, 18681, 18682,
    18683, 18684, 18687, 18688, 18689, 18690, 18691, 18694, 18695,
    18696, 18697, 18698, 18701, 18702, 18703, 18704, 18705, 18708,
    18709, 18710, 18711, 18712, 18715, 18716, 18717, 18718, 18719,
    18722, 18723, 18724, 18725, 18726, 18729, 18730, 18731, 18732,
    18733, 18736, 18737, 18738, 18739, 18740, 18743, 18744, 18745,
    18746, 18747, 18750, 18751, 18752, 18753, 18754, 18757, 18758,
    18759, 18760, 18761, 18764, 18765, 18766, 18767, 18768, 18771,
    18772, 18773, 18774, 18775, 18778, 18779, 18780, 18781, 18782,
    18785, 18786, 18787, 18788, 18789, 18792, 18793, 18794, 18795,
    18796, 18799, 18800, 18801, 18802, 18803, 18806, 18807, 18808,
    18809, 18810, 18813, 18814, 18815, 18816, 18817, 18820, 18821,
    18822, 18823, 18824, 18827, 18828, 18829, 18830, 18831, 18834,
    18835, 18836, 18837, 18838, 18841, 18842, 18843, 18844, 18845,
    18848, 18849, 18850, 18851, 18852, 18855, 18856, 18857, 18858,
    18859, 18862, 18863, 18864, 18865, 18866, 18869, 18870, 18871,
    18872, 18873, 18876, 18877, 18878, 18879, 18880
  ), class = "Date"),
  return = c(
    -0.344318028823296, 0.269214666620058, 0.126435486075415,
    0.190402598580308, 0.118204959190486, -0.411914395032645,
    -0.280554281566071, 0.0134834445697551, -0.209400032450252,
    0.440220250108175, -0.299538435031037, 0.0790056559320964,
    0.368012578536158, 0.213210937684974, -0.119491426933381,
    0.324232635217204, 0.33565827603383, -0.284052393900706,
    0.0174981257069227, -0.293140728783266, 0.262857810110247,
    0.25815207221046, 0.234032193845141, 0, 0.47229978173055,
    0.16344672539841, 0.0254415401713886, 0.0782307185721609,
    -0.502295230104942, 0.322732032393595, 0.125213641008163,
    0.0260011812318895, -0.0119807619653632, -0.442636109202831,
    0.119360281355763, -0.935912609987246, 0.503025377994561,
    -0.515851084169158, 0, 0.566675653173945, 0.54537601383754,
    0.288514339206156, -0.384940437925295, 0.423464532950096,
    -0.360198194766125, 0.34916380193169, -0.488427517439975,
    0.751803563456712, 0.0407270958491847, -0.308511236722092,
    -0.356669697629545, -0.00433655513272652, 0.25103546278182,
    0.330904413577973, 0.215960242799815, 0.00310717943959164,
    -0.0202688039084646, 0.148748985331507, -0.35100173325186,
    0.114510581854206, 0.148599263370308, -0.24952519697232,
    0.0901961472235016, -0.184463114050532, 0.293294243386703,
    -0.167917218613252, -0.264913772913978, 0.21209802725542,
    0.257358936163117, 0.218459709282958, 0.320686532500207,
    -0.042363642590243, -0.157974967460515, 0.0326488873406457,
    0.155724946337242, 0.308194493705213, -0.00373113226282772,
    0, 0.388011313498459, -0.160799203187683, -0.0364451647751474,
    -0.00787981636365025, 0, 0.00347476577235568, 0.0958786936178273,
    -0.494900147494504, 0.698924415442, 0.573739010391536, -0.0244258685250395,
    -0.118236771455138, -0.0497255705517377, -0.194646421800621,
    0.0626373850623438, 0.161831284061245, 0.349877415042077,
    0.244794751129892, 0.106084615995957, 0.0496011476778498,
    -0.0155409324898941, -0.248181207363339, -0.565019988759,
    0.713402006899163, -0.492682269522014, 0.560742579750566,
    0.0933300580868543, 0.406010324025276, 0.498072877122919,
    0.183140575863927, 0.211708797400874, 0.0467600239312594,
    -0.26047696162337, 0.156025603919635, 0.0579917193297143,
    0, 0, 0.279910939036699, 0.0361670915156291, -0.0308432601603755,
    -0.303210761690193, -0.0332159735063931, 0.239412585331418,
    -0.440324459780256, -0.0677518990798903, 0.693820654046051,
    0.106956183681477, -0.0265983858612053, -0.566418194735492,
    0.758734670629567, -0.461816077286941, 0.220311418745246,
    -0.212421535066087, 0.11649266375866, -0.0816306818701426,
    0.14720395503046, 0.0998096394235824, 0.125421489047231,
    -0.80404235252332, -0.0571527697596768, -0.0198909048934907,
    -0.384393817169225, -0.00512169253872485, 0.39762002446679,
    0.376723339854912, -0.00691542822410588, -0.0596391805140118,
    0.0496648004967207, 0.365778349002057, 0, 0.290193208620667,
    -0.0756981954953341, 0.303622329534577, 0.132066617966757,
    0.483747928454163, 0.206842677360989, 0.000809787937924961,
    -0.0932400960462393, 0.153919143128314, -0.0367657873301875,
    -0.279532278711733, -0.201551916340671, 0, -0.434262146566655,
    0.516522716400583, -0.085490199662681, 0.00110354252617679,
    -0.0718299839560837, 0.0607082870466307, -0.0272938411585472,
    0.18260643173571, -0.137250457849561, -0.0490415885207028,
    -0.00981171552565897, 0.226374538622723, -0.125646625601663,
    -0.114097545274073, -0.662064537293731, 0.441816451091909,
    0.272870771417137, 0.0287418778864461, -0.153691128743901,
    -0.0535034017089503, 0.183233994720022, 0.0485946620325522,
    0.178109740301375, 0.0246408691518447, 0.105609201872649,
    -0.0371879979512152, 0.074575753280852, 0.193587247420517,
    -0.143096141476954, 0.0120547889261328, 0, 0.0789650925019282,
    -0.00102809637148435, -0.0231060990016233, -0.00602180433261802,
    0.0252638098895634, 0.133415121207804, 0.129518349212272,
    -0.24291680503609, -0.0358833918191526, 0.00388487206410979,
    0.140270275560446, 0.209234313518833, 0.0691442382855439,
    -0.0656206987662583, 0.0382006909145182, 0.0527534442678976,
    0.0712377999932313, 0.105814832605434, 0.199474140948777,
    0.0367215633770196, 0.471059947866816, 0.182962161591784,
    0.00686636091130052, 0.331666913038535, -0.211401586120729,
    0.0150297692120097, 0.294266409263838, 0.0305328433574382,
    -0.107694099922229, 0.0348020405913332, -0.28173634642339,
    -0.200294650252061, 0.27169010217408, 0.085643621458738,
    0.22240270432515, 0.0986854063924764, -0.306275163317938,
    -0.342494037770066, -0.0816072482913978, 0.0236860357074207,
    -0.249044731611009, 0.0228069475130009, 0.275178781456765,
    -0.339227965049474, 0.105235656491434, 0.0344585485449368,
    0.102195427143629, -0.255540645170535, 0.00219929895942133,
    0.0611859110733352, -0.162852193753338, -0.413395221687142,
    -0.245350759376831, 0.0139098467565878, 0.384223744149518,
    0.229978347693158, 0.0890188167461016, 0.17247352519955,
    0.107792570447737, -0.312370635130228, 0.29430590173766,
    -0.167286040723373, -0.275329695257916, -0.127324776340247,
    -0.219446501196637, 0.152123649809292, 0.183579633672417,
    0, -0.170514041270507, 0.0995481496508168, 0
  )
), class = "data.frame", row.names = c(
  NA,
  -263L
))

sigma <-
  data %>%
  column_to_rownames("date") %>%
  EWMAvol() %>%
  pluck("Sigma.t") %>%
  as.numeric()
data["sigma"] <- sigma

data %>% as_tibble()
#> # A tibble: 263 x 3
#>    date        return  sigma
#>    <date>       <dbl>  <dbl>
#>  1 2020-09-08 -0.344  0.0710
#>  2 2020-09-09  0.269  0.0739
#>  3 2020-09-11  0.126  0.0732
#>  4 2020-09-14  0.190  0.0706
#>  5 2020-09-15  0.118  0.0687
#>  6 2020-09-16 -0.412  0.0663
#>  7 2020-09-17 -0.281  0.0716
#>  8 2020-09-18  0.0135 0.0726
#>  9 2020-09-21 -0.209  0.0697
#> 10 2020-09-22  0.440  0.0693
#> # … with 253 more rows

data %>%
  ggplot(aes(return, sigma)) +
  geom_point() +
  stat_smooth(method = "lm") +
  stat_cor()
#> `geom_smooth()` using formula 'y ~ x'

reprex package (v2.0.1)

于 2021-09-13 创建

现在,新假设:Vola := return_today - return_yesterday.

  # assuming name of dataframe is df
  df$vola <- NA # creates new variable "vola"
for (i in 2:nrow(df)){ # starting in day 2, 
  # since in day 1 is not possible; simple: the difference
  df[i, "vola"] <- df[i, "return"] - df[i-1, "return"]
}
# now you have a column "vola" representing the volatility 
# attached to your dataframe

# to add sigma like danlooo calculated it: 
library(tidyverse)
library(MTS)

sigma <-
  df %>%
  column_to_rownames("date") %>%
  EWMAvol() %>%
  pluck("Sigma.t") %>%
  as.numeric()
df["sigma"] <- sigma[1:263]

# plot 
plot(df$vola, type="l", main="Daily Volatility",
     xlab="Days", ylab="Volatility [€ or $]")
lines(df$sigma, col="red", lwd=2)
  

由 reprex 包 (v2.0.1) 创建于 2021-09-16

剧情:

波动率是给定时期内 returns 的(通常为年化)标准差。波动率的确切定义取决于一些约定(百分比 returns 与对数 returns、天数约定),这在很大程度上取决于您的上下文。

We don't quite know what we're talking about when we talk about volatility

根据您的数据,可以使用 zoo 函数 rollapply 计算一些波动率指标。请注意,此处的示例不符合大多数约定(您通常乘以 sqrt(daycount/horizon) 进行年化)

library(zoo)
library(ggplot2)
#Define a horizon for volatility calculation, e.g. 20 days
horizon = 20

#Note: volatility is not annualized!
data['vols'] = c(rep(NA, horizon-1), rollapply(as.vector(data$Retorno), horizon, FUN = function(x) sd(x)))

#Alternatively, calculate some measure of day-to-day change in return that is not a volatility
data['not_a_vol'] = abs(data$Retorno - lag(data$Retorno))

然后您可以将结果绘制为:

ggplot() + 
  geom_bar(aes(x=data$date, y=data$Retorno), stat = 'Identity') + 
  geom_line(aes(x = data$date, y= data$vols, color = 'red'), lwd=1.5)

您的分析似乎朝着波动率分析的方向发展,因此您可能会发现 GARCH 模型或波动率的指数移动平均线很有趣。