Thanks a lot Neil for your advice. I have also studied the code with the interval slider that you referred to. It took me some time to understand the working of the two pure functions, but I think I finally did. To test the code I had to find a replacement of the financial data, since these are unfortunately not available at this moment. I used an accumulation of random numbers. To fit this into the original code I also had to learn a bit on DayRange, DateObject and AbsoluteTime. I really enjoyed it. Here is the full code:
DynamicModule[{data, xmin, xmax, ymin, ymax, ticks, ticknum = 4, int,
w = 400, h = 30},
data = Partition[
Riffle[AbsoluteTime /@
DayRange[DateObject[{2014, 1, 1}], DateObject[{2014, 12, 31}],
"BusinessDay"],
Abs[Accumulate[
RandomVariate[NormalDistribution[0, 1], Length[x]]]]], 2];
ymin = Min[data];
ymax = Max[data];
xmin = xy[[1, 1]];
xmax = xy[[-1, 1]];
int = {xmin, xmax};
ticks = (xmax - xmin)/5*Range[4] + xmin;
Column[{Dynamic[
DateListPlot[data, ImageSize -> w, Joined -> True,
FrameTicks -> {Automatic, {ticks, None}},
DateTicksFormat -> {"MonthNameShort", " ", "YearShort"},
GridLines -> Automatic, PlotRange -> {int, Automatic}]],
IntervalSlider[
Dynamic[int, {(int = #) &, (ticks = (int[[2]] -
int[[1]])/(ticknum + 1)*Range[ticknum] +
int[[1]]) &}], {xmin, xmax, 1}, ImageSize -> {400, 30},
MinIntervalSize -> 1],
DateListPlot[data, Frame -> False, Axes -> False,
ImageSize -> {w, h}, AspectRatio -> h/w, Joined -> True,
Epilog -> {Opacity[0.5], Orange,
Dynamic[Rectangle @@ Thread[{int, {ymin, ymax}}]]}],
Row[{"Number of Ticks: ",
PopupMenu[
Dynamic[ticknum, {(ticknum = #) &, (ticks = (int[[2]] -
int[[1]])/(ticknum + 1)*Range[ticknum] +
int[[1]]) &}], Range[10]]}]}]]