Re: financial chart with volumes (CORRECTION)
- To: mathgroup at smc.vnet.net
- Subject: [mg88206] Re: [mg88179] financial chart with volumes (CORRECTION)
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Mon, 28 Apr 2008 04:39:35 -0400 (EDT)
- Reply-to: hanlonr at cox.net
My first response cut off the bottom of the volume lines rather than compressing the lines. Only change is calculation of adjustedVolume. ClearAll[financialChart]; financialChart[company_String, startDate_List] := financialChart[company, startDate, Take[DateList[], 3]]; financialChart[company_String, startDate_List, endDate_List] := Module[ {dateForm, high, highest, closing, low, lowest, volume, maxVolume, minVolume, adjustedVolume}, dateForm = {"MonthShort", "/", "DayShort", "/", "Year"}; high = FinancialData[company, "High", {startDate, endDate}]; highest = Max[high[[All, 2]]]; closing = FinancialData[company, {startDate, endDate}]; low = FinancialData[company, "Low", {startDate, endDate}]; lowest = Min[low[[All, 2]]]; volume = FinancialData[company, "Volume", {startDate, endDate}]; maxVolume = Max[volume[[All, 2]]]; minVolume = Min[volume[[All, 2]]]; adjustedVolume = {#[[1]], ((3*lowest - highest) + (highest - lowest) #[[2]]/ maxVolume)/2} & /@ volume; DateListPlot[{high, closing, low, adjustedVolume}, Filling -> {1 -> {{3}, Red}, 4 -> {(3*lowest - highest)/2, {{Thick, Darker[Green, .6]}}}}, GridLines -> Automatic, PlotMarkers -> {"", Style["-", {Bold, Black}], "", ""}, FrameLabel -> {None, "Price in Dollars ($)"}, PlotLabel -> FinancialData[company, "StandardName"] <> " (" <> FinancialData[company, "Symbol"] <> ") Common Stock, " <> DateString[startDate, dateForm] <> " - " <> DateString[endDate, dateForm], ImageSize -> 500]]; financialChart["LLL", DatePlus[-90]] Bob Hanlon ---- Bob Hanlon <hanlonr at cox.net> wrote: > With version 6, this is similar: > > financialChart[company_String, startDate_List] := > > financialChart[company, startDate, Take[DateList[], 3]]; > > financialChart[company_String, startDate_List, endDate_List] := > > Module[ > {dateForm, high, highest, closing, low, lowest, > volume, maxVolume, minVolume, adjustedVolume}, > dateForm = {"MonthShort", "/", "DayShort", "/", "Year"}; > > high = FinancialData[company, "High", {startDate, endDate}]; > highest = Max[high[[All, 2]]]; > closing = FinancialData[company, {startDate, endDate}]; > low = FinancialData[company, "Low", {startDate, endDate}]; > lowest = Min[low[[All, 2]]]; > volume = FinancialData[company, "Volume", {startDate, endDate}]; > maxVolume = Max[volume[[All, 2]]]; > minVolume = Min[volume[[All, 2]]]; > adjustedVolume = {#[[1]], ((3*lowest - highest) + > (highest - lowest) (#[[2]] - minVolume)/ > (maxVolume - minVolume))/2} & /@ volume; > > DateListPlot[{high, closing, low, adjustedVolume}, > Filling -> {1 -> {{3}, Red}, > 4 -> {(3*lowest - highest)/2, {{Thick, Darker[Green, .6]}}}}, > GridLines -> Automatic, > PlotMarkers -> {"", Style["-", {Bold, Black}], "", ""}, > FrameLabel -> {None, "Price in Dollars ($)"}, > PlotLabel -> > FinancialData[company, "StandardName"] <> " (" <> > > FinancialData[company, "Symbol"] <> > ") Common Stock, " <> > DateString[startDate, dateForm] <> > " - " <> > DateString[endDate, dateForm], > ImageSize -> 500]]; > > financialChart["LLL", DatePlus[-90]] > > > Bob Hanlon > > ---- tomtim20 <tomtim20 at gmail.com> wrote: > > are there examples to plot such chart ? > > http://www.wolfram.com/solutions/finance/images/fibonarcs.gif > > > > (the picture is from here: http://www.wolfram.com/solutions/finance/features.html > > ) > >