From: robert prince-wright on 31 Dec 2009 03:18 Does anyone know how to get the names corresponding to the currencies available from FinancialData? If you use the command below you get a list of 153 currencies - some of which are obscure so i was hoping to generate the names! currencyTickers = FinancialData["Currencies"] Also, why does FinancialData not give historical data for say GBP/USD? EUR/USD works, albeit over a limited time span, so you would think the data would be there for sterling. Several others don't work either.... perhaps this is a data server issue? R
From: Chris Degnen on 1 Jan 2010 05:33 On 31 Dec, 08:18, robert prince-wright <robertprincewri...(a)yahoo.com> wrote: > Does anyone know how to get the names corresponding to the currencies available from FinancialData? If you use the command below you get a list of 153 currencies - some of which are obscure so i was hoping to generate the names! > > currencyTickers = FinancialData["Currencies"] > > Also, why does FinancialData not give historical data for say GBP/USD? EUR/USD works, albeit over a limited time span, so you would think the data would be there for sterling. Several others don't work either.... perhaps this is a data server issue? > > R Here's some code for getting exchange rate history. Note the pages on the Fed have slightly differing formats and are parsed accordingly. Fortunately they don't change over time. (If you're reading this post on the MathGroup beware the posting program may have inserted semi-colons after the URLs. If so, they should be deleted.) (* Extract EUR/USD exhange rate *) euData1=Import["http://www.federalreserve.gov/releases/h10/hist/ dat00_eu.txt","Data"]; euData2={StringReplace[#," "<>" "..->","]}&/@euData1; euData3=Select[euData2,StringLength[#]=={16}&]; euData4=First[StringSplit[#,","]]&/@euData3; euData5={DateList[#[[1]]],ToExpression[#[[2]]]}&/@euData4; (* Extract GBP/USD exhange rate *) ukData1=Import["http://www.federalreserve.gov/releases/h10/hist/ dat00_uk.txt","Data"]; ukData2={StringReplace[#[[1]]," "<>" "..->","]}&/@ukData1; ukData3=Select[ukData2,StringLength[#]=={17}&]; ukData4=First[StringSplit[#,", "]]&/@ukData3; ukData5={DateList[#[[1]]],ToExpression[#[[2]]]}&/@ukData4; (* Plot exchange rates *) Print[DateListPlot[{euData5,ukData5},ImageSize->600,PlotLabel->Style ["\nExchange Rate History",20],Joined->True,Epilog->{Inset[Style["GBP/ USD",12,Bold,Hue[106/117,0.6,0.6]],Automatic,{6,-7}], Inset[Style["EUR/GBP",12,Bold,Hue[0.67,0.6,0.6]],Automatic,{-4,1}]}]];
From: Bob Hanlon on 1 Jan 2010 05:34 cd[x_] := CountryData[x, #] & /@ {"Name", "CurrencyName", "CurrencyCode"} Module[ {data = cd /@ CountryData[]}, Manipulate[ Grid[ SortBy[ Select[data, StringTake[#[[sb]], 1] == sel &], #[[sb]] &], Alignment -> Left], {{sb, 1, SortBy}, {1 -> "Country", 2 -> "Currency", 3 -> "Code"}}, {{sel, "A", "Select"}, CharacterRange["A", "Z"]}]] Bob Hanlon ---- robert prince-wright <robertprincewright(a)yahoo.com> wrote: ============= Does anyone know how to get the names corresponding to the currencies available from FinancialData? If you use the command below you get a list of 153 currencies - some of which are obscure so i was hoping to generate the names! currencyTickers = FinancialData["Currencies"] Also, why does FinancialData not give historical data for say GBP/USD? EUR/USD works, albeit over a limited time span, so you would think the data would be there for sterling. Several others don't work either.... perhaps this is a data server issue? R
From: E. Martin-Serrano on 1 Jan 2010 05:36 Hi, Three years span (* It works for several years span. See a good example from the David Park's "Presentation" package *) ClearAll[GetFinancialData]; GetFinancialData::usage = "GetFinancialData[name, {property1,property2...},iterator] will generate a data set where each record will contain {datelist, propertyvalues..}. The iterator is the standard {start,end, period} used in FinancialData. This is basically a method of retrieving a number of property values at once."; SyntaxInformation[ GetFinancialData] = {"ArgumentsPattern" -> {_, {_, __}, _}}; GetFinancialData[name_String, {first_String, rest__String}, iterator_List] := Module[{work, other}, work = Transpose(a)FinancialData[name, first, iterator]; other = FinancialData[name, #, iterator, "Value"] & /@ {rest}; Transpose[Join[work, other]] ] (* Test *) GetFinancialData["EUR/USD", {"Open", "Close", "Low", "High"}, {"Dec 1 2006", "Dec 30 2009", "Day"}] (* Remark *) Works perfect. Anyway, the data so obtained does not seem to be reliable, I mean the source does not seem to be reliable. It does not coincide with other series that I got fromm other sources. Does anyone know how these series are being generated? E. Martin-SErrano _________________________________________ -----Original Message----- From: robert prince-wright [mailto:robertprincewright(a)yahoo.com] Sent: Thursday, December 31, 2009 9:19 AM Subject: Financial Data - Currencies Does anyone know how to get the names corresponding to the currencies available from FinancialData? If you use the command below you get a list of 153 currencies - some of which are obscure so i was hoping to generate the names! currencyTickers = FinancialData["Currencies"] Also, why does FinancialData not give historical data for say GBP/USD? EUR/USD works, albeit over a limited time span, so you would think the data would be there for sterling. Several others don't work either.... perhaps this is a data server issue? R
From: DrMajorBob on 2 Jan 2010 05:06
> (* It works for several years span. See a good example from the David > Park's "Presentation" package *) Yes, it works... if you don't mind most of the data being missing, including a gap of 297 days: data = FinancialData["EUR/USD", {2000, 1, 1}]; dates = data[[All, 1]]; differences = DateDifference @@@ Partition[dates, 2, 1]; Length(a)dates DateDifference @@ dates[[{1, -1}]] {Median@#, Length@#} & /@ Split[differences, Max[##] < 6 &] 339 789 {{1, 102}, {297, 1}, {1, 235}} DateListPlot(a)data First(a)data {{2007, 9, 27}, 1.42} Your code attempts to get data beginning Dec 1 2006, but there isn't any until Sept 27 2007... this for a currency about which Wiki says: "The name euro was officially adopted on 16 December 1995. The euro was introduced to world financial markets as an accounting currency on 1 January 1999..." and "As of November 2008, with more than �751 billion in circulation, the euro is the currency with the highest combined value of cash in circulation in the world, having surpassed the U.S. dollar." Bobby On Fri, 01 Jan 2010 04:37:07 -0600, E. Martin-Serrano <eMartinSerrano(a)telefonica.net> wrote: > Hi, > > Three years span > > (* It works for several years span. See a good example from the David > Park's > "Presentation" package *) > ClearAll[GetFinancialData]; > GetFinancialData::usage = > "GetFinancialData[name, {property1,property2...},iterator] will > generate a data set where each record will contain {datelist, > propertyvalues..}. The iterator is the standard {start,end, period} > used in FinancialData. This is basically a method of retrieving a > number of property values at once."; > SyntaxInformation[ > GetFinancialData] = {"ArgumentsPattern" -> {_, {_, __}, _}}; > GetFinancialData[name_String, {first_String, rest__String}, > iterator_List] := > Module[{work, other}, > work = Transpose(a)FinancialData[name, first, iterator]; > other = FinancialData[name, #, iterator, "Value"] & /@ {rest}; > Transpose[Join[work, other]] > ] > > (* Test *) > > GetFinancialData["EUR/USD", {"Open", "Close", "Low", > "High"}, {"Dec 1 2006", "Dec 30 2009", "Day"}] > > > (* Remark *) > > > Works perfect. Anyway, the data so obtained does not seem to be > reliable, I > mean the source does not seem to be reliable. It does not coincide with > other series that I got fromm other sources. Does anyone know how these > series are being generated? > > > E. Martin-SErrano > _________________________________________ > > -----Original Message----- > From: robert prince-wright [mailto:robertprincewright(a)yahoo.com] > Sent: Thursday, December 31, 2009 9:19 AM > To: mathgroup(a)smc.vnet.net > Subject: Financial Data - Currencies > > Does anyone know how to get the names corresponding to the currencies > available from FinancialData? If you use the command below you get a > list of > 153 currencies - some of which are obscure so i was hoping to generate > the > names! > > currencyTickers = FinancialData["Currencies"] > > Also, why does FinancialData not give historical data for say GBP/USD? > EUR/USD works, albeit over a limited time span, so you would think the > data > would be there for sterling. Several others don't work either.... perhaps > this is a data server issue? > > > > R > > > -- DrMajorBob(a)yahoo.com |