I’ve got a data frame with the following data:
>PRICE
DATE CLOSE
1 20070103 54.700
2 20070104 54.770
3 20070105 55.120
4 20070108 54.870
5 20070109 54.860
6 20070110 54.270
7 20070111 54.770
8 20070112 55.360
9 20070115 55.760
...
As you can see my DATE column represents a date (yyyyMMdd) and my CLOSE column represents prices.
I now have to calculate CalmarRatio, from the PerformanceAnalytics package.
I’m new to R, so i can’t understand everything, but from what i have googled to the moment i see that the R parameter to that function needs to be a time-series-like object.
Is there any way i can convert my array to a time-series object given that there might not be data for every date in a period (only for the ones i specify)?
Your
DATEcolumn may represent a date, but it is actually either a character, factor, integer, or a numeric vector.First, you need to convert the
DATEcolumn to aDateobject. Then you can create an xts object from theCLOSEandDATEcolumns of yourPRICEdata.frame. Finally, you can use the xts object to calculate returns and the Calmar ratio.