portfolio-performance / portfolio

Track and evaluate the performance of your investment portfolio across stocks, cryptocurrencies, and other assets.
http://www.portfolio-performance.info
Eclipse Public License 1.0
2.85k stars 588 forks source link

Unterstützung von Währungen #14

Closed buchen closed 8 years ago

buchen commented 12 years ago

Ziel: Fremdwährungen unterstützen.

Status Quo (Dezember 2015)

Offene Punkte

buchen commented 11 years ago

Währungen hier: http://openexchangerates.org/

Nicht nur Konten, sondern auch Papiere in anderen Währungen notiert.

rfbrooks commented 11 years ago

Also die FX-Kurse bitet Yahoo ebenfalls an, z.B. Umrechunung EUR-USD Symbol ist ^EURUSD

buchen commented 11 years ago

Mal wieder im Forum:

Waehrungen: Arbeitet da schon jemand dran oder habt ihr euch dazu schon Gedanken gemacht? Ich habe den Code noch nicht angeschaut, aber vermutlich sind dazu ein paar groessere Aenderungen zu machen, die fast alle Bereiche der Applikation betreffen.

buchen commented 10 years ago

Siehe auch #133

buchen commented 9 years ago

Siehe auch branch "feature_currencies": https://github.com/buchen/portfolio/tree/feature_currencies

buchen commented 9 years ago

Notizen zu Wechselkursen

Yahoo -> tagesaktuelle Wechselkurse

https://developer.yahoo.com/yql/console/ select * from yahoo.finance.xchange where pair in (“EURUSD”,“GBPUSD”)

über YQL nur aktuelle Kurse, keine Historie http://www.codereye.com/2009/03/java-currency-converter-using-yahoo.html

http://download.finance.yahoo.com/d/quotes.csv?s=GBPEUR=X,EURCHF=X,EURCAD=X,USDEUR=X,EURJPY=X&f=sl1d1t1ba&e=.csv

sebasbaumh commented 9 years ago

Ich denke auch, dass Wechselkurse eine gute Idee sind. Eigentlich wollte ich selber eine kleine Anwendung erstellen, um ein Portfolio auch in anderen Währungen darzustellen. Damit könnte man Währungsschwankungen ausblenden und nur die Performance des Basiswertes betrachten. Aber Deine Anwendung sieht (bis auf das Währungsthema) sehr vielversprechend aus.

Deswegen hier meine bisherigen Recherche-Ergebnisse:

Währungskurse der ECB gibt es hier: https://www.ecb.europa.eu/stats/exchange/eurofxref/html/index.en.html Dabei gibt es nur einen Wert pro Tag, aber mit einfacher Abfrage über den Webdienst.

Manuell kann man z.B. hier historische Forex-Daten downloaden: http://www.histdata.com/download-free-forex-data/?/ascii/1-minute-bar-quotes

Und wenn dann ein Import z.B. im Metastock-Format integriert wird, könnte man sicher auch andere Quellen importieren.

Beschreibung der Datenformate: http://www.histdata.com/f-a-q/data-files-detailed-specification/ http://www.stockhistoricaldata.com/historical-data-formats/metastock-data-format

buchen commented 9 years ago

Aktuelle lade ich "nur" die Kurse von der ECB. Es soll aber möglich sein dann weitere Forex Quellen hinzufügen. Dafür sehen die Downloads von www.histdata.com gar nicht schlecht aus. Kannte ich nicht.

Und wenn dann ein Import z.B. im Metastock-Format integriert wird, könnte man sicher auch andere Quellen importieren.

Bei einem kurzen Blick auf stockhistoricaldata.com bezieht sich das Metastock-Format auf Wertpapiere. Meinst Du man könnte/sollte das in die automatische Kursaktualisierung mit aufnehmen? Gibt es da stabile URLs?

sebasbaumh commented 9 years ago

Das klingt schon mal gut. Für mich interessant wäre ja das normale Portfolio zu führen, wie bisher und dann die Darstellung/Auswertung auf eine andere Währung umzuschalten. Prinzipiell könnte man auch an einen Rundumschlag mit Fremdwährungskonten denken - das ist vielleicht auch für einige interessant, aber dann aufwendiger.

Anscheinend nutzt stockhistoricaldata.com auch Yahoo Finance als Backend (http://www.stockhistoricaldata.com/faq#TOC-I-m-trying-to-download-data-back-to-1980-but-the-spreadsheet-will-only-download-data-back-to-2003). Aber prinzipiell wäre ein Metastock-Importer/-Exporter eine gute Sache und steht auch auf meiner TODO-Liste ;-)

Der Payload des Daily-Downloaders auf der Webseite sieht in etwa so aus:

7|0|9|http://dailydownload.stockhistoricaldata.com/downloader/|3CC74DE27E7597F7987A799C48F53924|com.google.gwt.sample.Downloader.client.DownloadPriceService|getPrices|java.lang.String/2004016611|Z|I|http://ichart.finance.yahoo.com/table.csv?s=GOOG&d=5&e=11&f=2015&g=d&a=5&b=01&c=2015&ignore=.csv|D|1|2|3|4|5|5|6|7|6|5|8|0|3|0|9|

Scheint, als wird GWT für das Web-Frontend benutzt. Das ist dann eher schwierig das von außen anzusteuern. Das Spreadsheet wird eventuell stabilere URLs oder Yahoo Finance direkt nutzen. Aber das hast Du ja bereits integriert - insofern vielleicht weniger relevant.

buchen commented 9 years ago

Für mich interessant wäre ja das normale Portfolio zu führen, wie bisher und dann die Darstellung/Auswertung auf eine andere Währung umzuschalten.

Das sollte schon funktionieren. Einfach Deine bestehende Datei mit dem Build aus dem Branch öffnen. Dann die neue Basiswährung wählen, z.B. EUR. In der Vermögensaufstellung oben rechts kannst Du dann auf eine andere Währung umstellen. Vermögensaufstellung, Performance, Bestände, etc. sollten umgestellt sein.

Da sind sicherlich noch Lücken. Zum Beispiel weiß ich, dass ich die FIFO Einstandpreise erst in Basiswährung errechne und erst zum Schluss in die Zielwährung umrechne. Das ist natürlich falsch weil ich bei jeder Kauf/Verkaufstransaktion den dann gültigen Wechselkurs nehmen muss. Wenn Dir weitere Sachen auffallen, dann nur her damit.

Prinzipiell könnte man auch an einen Rundumschlag mit Fremdwährungskonten denken - das ist vielleicht auch für einige interessant, aber dann aufwendiger.

An dem Teil bin ich noch dran. Die Konten sollten funktionieren, allerdings kann man die meisten Buchungen noch nicht richtig über das UI anlegen. Bei allen Experimenten auf jeden Fall auf einer Kopie der XML Datei arbeiten.

Das Spreadsheet wird eventuell stabilere URLs oder Yahoo Finance direkt nutzen. Aber das hast Du ja bereits integriert - insofern vielleicht weniger relevant.

Wenn die Daten nicht mehr sind als was man von Yahoo Finance direkt bekommt, dann ist der Mehrwert erst mal nicht so groß. Und das Format kann man ja manuell per CSV importieren.

buchen commented 8 years ago

Siehe #382