|
[Date Index]
[Thread Index]
[Author Index]
Re: Date based calculations
- To: mathgroup at smc.vnet.net
- Subject: [mg119802] Re: Date based calculations
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Thu, 23 Jun 2011 07:24:49 -0400 (EDT)
- Reply-to: hanlonr at cox.net
selectByDate[data_List, startDate_String, endDate_String] :=
Module[{
sDate = DateList[startDate],
eDate = DateList[endDate]},
Select[data, OrderedQ[{sDate, DateList[#[[1]]], eDate}] &]];
data = {
{"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}};
Mean[selectByDate[data, "09-May-11", "19-May-11"][[All, 2 ;; 4]]]
{0.00122148, 0.00809246, 0.00542134}
Covariance[selectByDate[data, "09-May-11", "19-May-11"][[All, 2 ;; 4]]]
{{0.00055615, -0.0000770187, 4.88759*10^-6}, {-0.0000770187,
0.000123033, 0.000158345}, {4.88759*10^-6, 0.000158345, 0.00126204}}
Bob Hanlon
---- Priyan Fernando <priyan.fernando at gmail.com> 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.
Prev by Date:
Re: Convenient way to add inline formatting to usage Messages
Next by Date:
Re: Date based calculations
Previous by thread:
Re: Date based calculations
Next by thread:
Re: Date based calculations
|