Re: Date based calculations
- To: mathgroup at smc.vnet.net
- Subject: [mg119808] Re: Date based calculations
- From: Heike Gramberg <heike.gramberg at gmail.com>
- Date: Thu, 23 Jun 2011 07:25:54 -0400 (EDT)
- References: <201106220744.DAA06132@smc.vnet.net>
You can select the entries whose date lie within a range by using something like this dates[date1_, date2_] := Select[data, OrderedQ[DateList /@ {date1, #[[1]], date2}] &] dates["9-May-11", "19-May-11"] output: {{"09-May-11", -0.0155441, 0.0254686, 0.0597703}, {"10-May-11", 0.0315789, -0.0051742, -0.0179181}, {"11-May-11", -0.0323129, 0.00450769, -0.0346655}, {"12-May-11", 0, 0.0200207, -0.0200701}, {"13-May-11", -0.00702991, 0, 0.0400441}, {"16-May-11", 0, 0.00203048, -0.0121865}, {"19-May-11", 0.0318584, 0.00979397, 0.0229752}} Then Mean[dates["9-May-11", "19-May-11"][[All, 2 ;;]]] and Covariance[dates["9-May-11", "19-May-11"][[All, 2 ;;]]] should give you the mean and covariance matrix of the returns during those dates. Heike On 22 Jun 2011, at 08:44, Priyan Fernando wrote: > > I have the following time series data (19 rows by 4 columns): > > {{"03-May-11", -0.0400698, -0.00671613, -0.0333613}, {"04-May-11", > 0, -0.00355872, -0.0169521}, {"05-May-11", 0.0453721, > 0.0128572, -0.0248498}, {"06-May-11", 0.0052084, -0.00317346, > 0.00290203}, {"09-May-11", -0.0155441, 0.0254686, > 0.0597703}, {"10-May-11", > 0.0315789, -0.0051742, -0.0179181}, {"11-May-11", -0.0323129, > 0.00450769, -0.0346655}, {"12-May-11", 0, > 0.0200207, -0.0200701}, {"13-May-11", -0.00702991, 0, > 0.0400441}, {"16-May-11", 0, 0.00203048, -0.0121865}, {"19-May-11", > 0.0318584, 0.00979397, 0.0229752}, {"20-May-11", > 0.00343055, -0.00401342, 0.000611685}, {"23-May-11", -0.025641, > 0.0020148, -0.0259388}, {"24-May-11", -0.00526314, 0.00435663, > 0.00376576}, {"25-May-11", 0.0194003, > 0.00133465, -0.0125949}, {"26-May-11", -0.0190311, > 0.00533158, -0.00958927}, {"27-May-11", 0.0282187, -0.007955, > 0.0026488}, {"30-May-11", -0.0291595, > 0.00233883, -0.00291514}, {"31-May-11", 0.0212014, 0, -0.0383737}} > > > The 1st Column is a date while Columns 2,3,4 represent the returns of stocks > A,B and C respectively. Could you please help me extract information based > on the date. E.g. date1 and date2 are variables inputted by the user. > > Example 1: Average returns of stocks A,B,C between 9-May-11 and 19-May-11 > (dates inclusive) are: > 0.001221494 0.008092462 0.005421325 > > Example 2: Variance/Covariance Matrix between of stocks A,B,C between > 9-May-11 and 19-May-11 (dates inclusive) is > 0.0004767002 -0.0000660161 0.0000041896 > -0.0000660161 0.0001054570 0.0001357245 > 0.0000041896 0.0001357245 0.0010817457 > > This is easy to do in Excel, but I'm finding it hard to locate the correct > functions in Mathematica. Any suggestions are much appreciated. > > Thank you. > >
- References:
- Date based calculations
- From: Priyan Fernando <priyan.fernando@gmail.com>
- Date based calculations