Ric - good idea to use "key" - I was thinking of something more complicated.
Regards, Devon On Mon, Oct 27, 2008 at 11:09 PM, Sherlock, Ric <[EMAIL PROTECTED]>wrote: > ---Hahn, Harvey wrote: > > I've been honing some of my beginning J skills using downloaded stock > > market data (DJIA) as a convenient "real" (and of practical interest) > > array to practice with (of course, AFTER "getting it right" with small > > sample arrays!). I'd like to derive some weekly figures from the daily > data, > > but the variability of the trading week is a "fly in the ointment", so > > one can't just take every so many days of data. > > > > Is there any way to use a "Sunday" formula to pass against > > Monday-through-Saturday data in an array (Yahoo data consists of date, > > open, high, low, close, volume, adjusted close > > I'm sure others who work with this sort of data all the time will have some > clever ideas here but this is how I would attack the problem: > > Using data downloaded from here: > http://finance.yahoo.com/q/hp?s=^DJI > > +----------+------+------+------+------+-------+---------+ > |Date |Open |High |Low |Close |Volume |Adj Close| > +----------+------+------+------+------+-------+---------+ > |1929-12-31|241.90|249.24|241.90|248.48|2680000|248.48 | > +----------+------+------+------+------+-------+---------+ > |1929-12-30|238.43|242.95|235.95|241.06|4160000|241.06 | > ... > +----------+------+------+------+------+--------+---------+ > |1929-10-02|342.57|350.19|339.45|344.50|3370000 |344.50 | > +----------+------+------+------+------+--------+---------+ > |1929-10-01|343.45|345.67|335.99|342.57|4530000 |342.57 | > +----------+------+------+------+------+--------+---------+ > > load 'tables/csv dates' > RAWDATA=: readcsv jpath '~home/downloads/table.csv' > WKDAYS=: ;: 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday' > > 'Hdr Data'=: split RAWDATA > Dates=: getdate &> {."1 Data > Hdr=: }.Hdr > Data=: 0". > }."1 Data > Days=: todayno Dates > > FirstSunday=: (todayno - weekday) {:Dates > Week=: <.7%~Days-FirstSunday > WeekDay=: (weekday Dates) {WKDAYS > ,.&.> Dates;(>WeekDay);Week;Data > ... > |1929 10 15|Tuesday | 2|350.97 354.09 345.58 347.24 3110000 347.24| > |1929 10 14|Monday | 2|352.69 358.2 348.94 350.97 2760000 350.97| > |1929 10 11|Friday | 1|352.86 358.77 349.64 352.69 3960000 352.69| > |1929 10 10|Thursday | 1|346.66 355.63 345.63 352.86 4000000 352.86| > |1929 10 9|Wednesday| 1| 345 349.03 338.86 346.66 3160000 346.66| > |1929 10 8|Tuesday | 1|345.72 349.67 340.86 345 3760000 345| > |1929 10 7|Monday | 1|341.36 348.54 338.86 345.72 4260000 345.72| > |1929 10 4|Friday | 0|329.95 333.28 320.45 325.17 5620000 325.17| > |1929 10 3|Thursday | 0| 344.5 345.3 327.71 329.95 4750000 329.95| > |1929 10 2|Wednesday| 0|342.57 350.19 339.45 344.5 3370000 344.5| > |1929 10 1|Tuesday | 0|343.45 345.67 335.99 342.57 4530000 342.57| > +----------+---------+--+-------------------------------------------+ > > You can then use Key (/.) on Week to group your data. > (~.Week),.Week >.//. Data NB. Weekly maximums > 13 241.9 249.24 241.9 248.48 4160000 248.48 > 12 240.96 246.35 239.13 240.96 3490000 240.96 > 11 253.02 253.17 245.03 249.58 5550000 249.58 > 10 263.46 267.56 257.41 262.2 5020000 262.2 > 9 254.64 261.52 250.27 260.12 4720000 260.12 > 8 245.74 246.06 237.41 243.44 3630000 243.44 > 7 248.49 250.75 243.36 248.49 3140000 248.49 > 6 235.13 235.13 222.5 228.73 7760000 228.73 > 5 269.75 269.75 255.43 257.68 7180000 257.68 > 4 295.18 295.18 264.97 273.51 16410000 273.51 > 3 326.51 333.01 322.03 326.51 12900000 326.51 > 2 352.69 358.2 348.94 350.97 4090000 350.97 > 1 352.86 358.77 349.64 352.86 4260000 352.86 > 0 344.5 350.19 339.45 344.5 5620000 344.5 > 'Week';Hdr > +----+----+----+---+-----+------+---------+ > |Week|Open|High|Low|Close|Volume|Adj Close| > +----+----+----+---+-----+------+---------+ > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > -- Devon McCormick, CFA ^me^ at acm. org is my preferred e-mail ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
