## [tech-spec] Re: BBchart

*From*: Tom McCubbin <tmccubbin@xxxxxxxxxxxxxxxx>
*To*: tech-spec@xxxxxxxxxxxxx
*Date*: Tue, 26 Oct 2004 11:36:18 -0400

`The output looks damn beautiful. But the source code begs some
questions i have regarding R, its, and calendaring:`

From your code:

`# to calc the start date for data collection adjust trading days, 251,`

# for calendar days, 366, add a runup period

# equal to the longest calculation length + 50

# and subtract the total from today's date

if(compress=="d") startDate <-
Sys.Date()-as.integer(periods/251*366+max(normVol, BBlength)+50)

if(compress=="w") startDate <-
Sys.Date()-as.integer(periods*7/251*366+max(normVol, BBlength)+50)

if(compress=="m") startDate <-
Sys.Date()-as.integer(periods*31/251*366+max(normVol, BBlength)+50)
`now obviously, you make some sweeping assumptions about a finite trading
days / year, which of course is variable, and for the last 10 years (cal
1992-2003) numbered 2519 for nyse stuff, or ~251.9/ year. I am however
a spoiled brat, and just can't accept approximation ( here it doesn't
matter i know, because it just spots a rough point in time to snatch
yahoo data ), so how can this be done better in R?`
`In my world i have calendars for both regular and irregular frequencies,
represented of course as intervals, so for example:`
`if(compress=="d") startDate <- business_calendar( Sys.Date() ) -
max(normVol, BBlength)+50`

if(compress=="w") startDate <- weekly_calendar( Sys.Date() ) -
max(normVol, BBlength)+50

if(compress=="m") startDate <- monthly_calendar( Sys.Date() ) -
max(normVol, BBlength)+50
`would give each an interval that represented the exact date at the given
frequency. The issue is dealing w/ irregular frequency intervals should
be done just like that. as intervals, not as dates, but should be
easily converted back and forth.`
`Now, I'm looking for some nice way to contribute to this group, so could
someone tell me how to handle calendaring, or would it be a good
contribution to package calendaring functionality for R for the group?`
`One other question: i notice that the computeXXX functions all take the
data represented as business frequency. Is there a good way to handle
time-scaling w/ its (or other R pkg) to handle simple meta-data like how
time-series are observed, i.e., closes mark the end of a time interval,
highs the high for an interval, volume the aggregate for the
interval...etc...`

E.g., calc the moving average of weekly volume for a stock?
curious and helpless in R,

-tom

`ps - i'll look at the code and try and give some more meaningful input
than my selfish wants and desires to help/prove myself...`

BBands wrote:

I'd appreciate feedback from anyone who had a look at BBchart.

` --jab`

### Other related posts: