Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.soft-sys.math.mathematica > #3248
| From | Bob Hanlon <hanlonr@cox.net> |
|---|---|
| Newsgroups | comp.soft-sys.math.mathematica |
| Subject | Re: Date based calculations |
| Date | 2011-06-23 11:29 +0000 |
| Organization | Steven M. Christensen and Associates, Inc and MathTensor, Inc. |
| Message-ID | <itv839$pcm$1@smc.vnet.net> (permalink) |
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@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.
Back to comp.soft-sys.math.mathematica | Previous | Next | Find similar | Unroll thread
Re: Date based calculations Bob Hanlon <hanlonr@cox.net> - 2011-06-23 11:29 +0000
csiph-web