Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.soft-sys.math.mathematica > #3248

Re: Date based calculations

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)

Show all headers | View raw


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


Thread

Re: Date based calculations Bob Hanlon <hanlonr@cox.net> - 2011-06-23 11:29 +0000

csiph-web