2016-12-23 3 views
0

ich derzeit Währungspaare von Oanda ist Download getSymbols verwenden und hier ist mein Code:getSymbols mehrere Währungspaare von oanda in einem einzigen Datenrahmen Download

Currency.Pairs <- as_tibble(c("EUR/USD", "USD/JPY", "GBP/USD", "EUR/GBP")) 

colnames(Currency.Pairs) <- "Pairs" 

getSymbols(Currency.Pairs$Pairs, src = "oanda", from = "2012-01-01", to = "2016-12-20") 

Ausgang:

[1] "EURUSD" "USDJPY" "GBPUSD" "EURGBP" 

Gibt es ein So, dass ich alle Preise von Währungspreisen in einer einzigen Liste oder Datenrahmen herunterladen kann, anstatt Datenrahmen für jedes Währungspaar? Danke im Voraus!

+0

Oh du armes dears –

+0

Es ist nicht sinnvoll ist, alle Sicherheitsdaten zu haben, in eine Liste oder ein data.frame. Ich würde vorschlagen, eine neue Umgebung zu schaffen, einzelne Serien zu beschaffen und sie als letzten Schritt zusammenzufassen. 'newEnv = new.env(); getSymbols (Symbole = Currency.Pairs $ Pairs, env = newEnv, ...); allTimeSeries = do.call (merge.xts, as.list (newEnv)) ' – OdeToMyFiddle

Antwort

0

Die env (Umwelt) Parameter von getSymbols ermöglicht die Erstellung eines sicheren Ort zu speichern und wie unten die Preisdaten zu manipulieren:

#tibble library is not required (tibble::as_tibble) 

Currency.Pairs <- c("EUR/USD", "USD/JPY", "GBP/USD", "EUR/GBP") 

#create new environment to house all price data 
newEnv = new.env() 

#source data 
getSymbols(Currency.Pairs, src = "oanda",env=newEnv, from = "2012-01-01", to = "2016-12-20") 

#merge all price series 
allTimeSeries = do.call(merge.xts,as.list(newEnv)) 

#convert column names to original form EUR.USD => EUR/USD 
colnames(allTimeSeries) = gsub("[.]","\\/",colnames(allTimeSeries)) 

#reorder columns as per original order 
allTimeSeries = allTimeSeries[,Currency.Pairs] 

head(allTimeSeries) 
#   EUR/USD USD/JPY GBP/USD EUR/GBP 
#2012-01-01 1.29590 76.8892 1.55384 0.833490 
#2012-01-02 1.29375 76.9584 1.55049 0.834425 
#2012-01-03 1.30038 76.7861 1.55779 0.834755 
#2012-01-04 1.30036 76.6969 1.56310 0.831920 
#2012-01-05 1.28717 76.8753 1.55586 0.827300 
#2012-01-06 1.27698 77.1381 1.54737 0.825255 

tail(allTimeSeries) 
#   EUR/USD USD/JPY GBP/USD EUR/GBP 
#2016-12-15 1.04682 117.772 1.25015 0.837350 
#2016-12-16 1.04349 118.106 1.24366 0.839055 
#2016-12-17 1.04510 117.915 1.24884 0.836935 
#2016-12-18 1.04512 117.913 1.24887 0.836930 
#2016-12-19 1.04458 117.339 1.24500 0.839030 
#2016-12-20 1.03906 117.695 1.23718 0.839870 
+0

das ist so cool! Danke vielmals –

Verwandte Themen