Open Fabioni opened 4 years ago
@Fabioni Ich kann dein Problem nicht nachvollziehen, du kannst doch jedem Wertpapier beliebig viele Kategorien anteilsmäßig zuordnen?
Was den Download aus dem Internet betrifft, wenn du eine kostenlose Quelle je Wertpapiere kennst...
Guten Tag,
Wie funktioniert es ein Wertpapier gleichzeitig in "Welt" zu haben und zu 66% in USA und zu 7,5% in Japan und so weiter? Ich kann doch nur das Wertpapier komplett in verschiedene Ordner ziehen. Bitte erklärs mir :-)
Ich weiß nicht wie das rechtlich damit ist Websites so auszuwerten (würde mich aber interessiert), aber die Information könnte man ziemlich einfach hier abgreifen: https://docs.extraetf.com/etf-profile/IE00B3WJKG14?tab=components
Die ISIN in der URL natürlich ersetzen.
Wenn man bei den historischen Werten eine URL angibt und du diese nach einer Tabelle durchsuchst und daraus die Werte nimmst ist es ja aber ziemlich das gleiche.
Lg Fabian
Der Download der Daten von justETF ist rechtlich geschützt und kann nicht verwendet werden.
Was die Aufteilung/ Gewichtung betrifft, du kannst diese entweder direkt in den Einstellungen des Wertpapiers oder in der Asset Allokation ändern. Wenn du nichts angibst ist die Gewichtung immer 100% für eine Kategorie.
Okay vielen Dank für die Erklärung :-)
Bei dem Link handelt sich um extraETF, nicht justETF.
Der Download der historischen Kurse von OnVista, wie es z.b. auch in dem offiziellen Einführungsvideo auf YouTube gezeigt wird, ist doch eigentlich genau das gleiche Prinzip. Wo erkennt man da rechtlich den Unterschied? (Nicht weil ichs dir nicht glaube, sondern weil ich es lernen möchte)
Lg Fabian
Ungeachtet der rechtlichen Thematik, ob der Anbieter von INet-Inhalten erlaubt oder einschränkt oder erlaubt, ergibt sich eine weitere Problematik die nicht unerheblich ist.
Bspw https://de.extraetf.com/etf-profile/IE00B3RBWM25 enthält mehr als 50 Länder, aber (hier extraETF) agregiert die Länder nach eigenen Kriterien. Es wäre zwar (mit erheblichen Aufwand) realisierbar, die Allokation herunterzuladen, können aber nicht treffsicher bestehenden Einträgen automatisch zugeordnet werden. Jede Änderung (bspw Schreibweise) würde neue Kategorien erzeugen.
Darüber hinaus, einige ETFs weisen Deutschland, Frankreich und Co getrennt aus, andere werden als Europäer zusammengefasst. Das macht die Klassifizierung nicht einfacher.
Ergo, automatisch an dieser Stelle würde mehr Fragezeichen erzeugen als eine einheitliche Klassifizierung erstellen.
VG Marco
Ich hab ein ähnliches Feature hier vorgeschlagen: https://github.com/buchen/portfolio/issues/1665 - mein ursprünglicher Ansatz war, aus den ETF-Bestandslisten (downloadbar vom Emittenten) die Länder/Währungen/Branchen der Einzelaktien zu extrahieren und dann zu beliebigen Regionen "aufzusummieren".
Das würde das von @Ragas13 erwähnte "Regionenproblem" lösen, benötigt aber auch einigen Programmieraufwand, da jeder ETF-Anbieter seine Bestandslisten anders strukturiert und man die Spaltenüberschriften/Datentransformationen ständig pflegen müsste.
Sollte ich mal über zuviel Tagesfreizeit verfügen, könnte ich mir vorstellen, ein Python-Skript zu schreiben, dass einen/mehrere ETFs anhand der Bestandlisten in die Einzelaktien zerlegt. Die könnte man dann mit Länder/Währungsinformationen angereichert in eine PP .xml Datei schreiben -> Ergebnis wär eine ziemlich akkurate Länder/Währungs/Branchenaufteilung.
@Fabioni der automatisierte Download von Websitedaten sollte immer mit Bedacht umgesetzt werden. Dazu im Zweifel mal die AGB der entsprechenden Seite kurz lesen. Nur weil es technisch möglich ist, heißt das nicht, dass es auch erlaubt ist. So oder so gibt es auch elegantere (und legalere) Wege, an die Daten zu kommen: z.B. https://etf-data.com. Mit ETF-Data kommt man zumindest strukturiert an Länder und Branchen (z.B. https://api.etf-data.com/product/DE000A0F5UG3).
Um mal zu der ursprünglichen Frage zurück zu kommen: du kannst bei jedem Wertpapier via Rechtsklick/Editieren unter Klassifizierungen die Prozente ändern. Alternativ kannst du das auch direkt bei den Klassifizierungen machen indem du doppelt auf die Gewichtung klickst und einen anderen Anteil eingibst.
@Ragas13 @fbuchinger ich glaube, dass man eher versuchen sollte, eine Quelle für alles zu finden damit zumindest die Grundstruktur bei allen Fonds gleich ist. Für die unterschiedliche Benennung von z.B. Ländern zwischen den ETF (USA vs Vereinigte Staaten von Amerika) kann ich mir ein Mapping ganz gut vorstellen. Das erschlägt sicher nicht alle Varianten und Schreibweisen, aber 100%ige Präzision ist aus meiner Sicht auch gar nicht notwendig. Mit persönlich geht es weniger um eine Zehntel-% genaue Übersicht meiner Asset-Allocation sondern eher einen guten Überblick ohne, dass ich viel Zeit investieren muss, um alles erst einmal mühsam per Hand zu klassifizieren.
@bosix @fbuchinger Ok, für ETF's top und bei Aktien würde sich bspw Finnhub.io anbieten.
Jetzt stellt sich mir jedoch das nächste Problem, denn die Benennung und Zuordnung der Kategorien soll ja automatisch erfolgen. Technisch sucht PP nach der Benennung der Kategorie, ändert der Anwender diese würde automatisch die Soll-Schreibweise wiederhergestellt werden. Da die Branchen in Englisch übertragen werden, bietet sich auch die Länder immer/ausschließlich in Englisch zu benennen. Wäre das bspw. für deutsche oder spanische Anwender ok?
Andere Punkt betrifft den Zyklus der Aktualisierung, bei jedem Programmstart oder manuell?
Hier ein paar Beispiele zu Aktien und ETF's:
https://finnhub.io/docs/api#company-profile2
Aktie DE0007164600 https://finnhub.io/api/v1/stock/profile2?isin=DE0007164600&token=
{
"country":"DE",
"currency":"EUR",
"exchange":"XETRA",
"finnhubIndustry":"Technology",
"ipo":"1988-11-04",
"logo":"https://static.finnhub.io/logo/4899d8b4-80e6-11ea-a2b5-00000000092a.png",
"marketCapitalization":125405.7,
"name":"SAP SE",
"phone":"496227747474",
"shareOutstanding":1193.649878,
"ticker":"SAP.DE",
"weburl":"https://www.sap.com/"
}
Aktie DE0005190003 https://finnhub.io/api/v1/stock/profile2?isin=DE0005190003&token=
{
"country":"DE",
"currency":"EUR",
"exchange":"XETRA",
"finnhubIndustry":"Automobiles",
"ipo":"1926-01-01",
"logo":"https://static.finnhub.io/logo/1c89169a-80e6-11ea-83c5-00000000092a.png",
"marketCapitalization":47082.21,
"name":"Bayerische Motoren Werke AG",
"phone":"49893820",
"shareOutstanding":658.8625,
"ticker":"BMW.DE",
"weburl":"https://www.bmwgroup.com/"
}
ETF IE00B3RBWM25 https://api.etf-data.com/product/IE00B3RBWM25
{
"totalFee":0.22,
"indexName":"FTSE All World Index",
"name":"Vanguard FTSE All-World UCITS ETF",
"isin":"IE00B3RBWM25",
"provider":"Vanguard",
"domicile":"IRL",
"baseCurrency":"USD",
"assetClass":"EQUITY",
"replicationMethod":"PHYSICAL",
"distributionFrequency":"QUARTERLY",
"distributionType":"DISTRIBUTING",
"listings":[
{
"currency":"USD",
"exchange":"LSE",
"ticker":"VWRD",
"reutersTicker":null,
"bloombergTicker":null
},
{
"currency":null,
"exchange":"BORSA_ITALIANA",
"ticker":"VWRL",
"reutersTicker":"VWRL.MI",
"bloombergTicker":"VWRL IM"
},
{
"currency":"GBP",
"exchange":"LSE",
"ticker":"VWRL",
"reutersTicker":null,
"bloombergTicker":null
},
{
"currency":"EUR",
"exchange":"EURONEXT",
"ticker":"VWRL",
"reutersTicker":null,
"bloombergTicker":null
},
{
"currency":"EUR",
"exchange":"XETRA",
"ticker":"VGWL",
"reutersTicker":"VGWL.DE",
"bloombergTicker":"VGWL GY"
},
{
"currency":"CHF",
"exchange":"SIX",
"ticker":"VWRL",
"reutersTicker":"VWRL.S",
"bloombergTicker":"VWRL SE"
}
],
"regions":[
{
"country":"USA",
"percentage":56.8
},
{
"country":"JPN",
"percentage":7.5
},
{
"country":"CHN",
"percentage":5.6
},
{
"country":"GBR",
"percentage":3.7
},
{
"country":"FRA",
"percentage":2.7
},
{
"country":"CHE",
"percentage":2.6
},
{
"country":"DEU",
"percentage":2.4
},
{
"country":"CAN",
"percentage":2.3
},
{
"country":"AUS",
"percentage":2.0
},
{
"country":"TWN",
"percentage":1.7
},
{
"country":"KOR",
"percentage":1.5
},
{
"country":"NLD",
"percentage":1.2
},
{
"country":"IND",
"percentage":1.2
},
{
"country":"HKG",
"percentage":1.0
},
{
"country":"SWE",
"percentage":0.9
},
{
"country":"DNK",
"percentage":0.7
},
{
"country":"ITA",
"percentage":0.6
},
{
"country":"BRA",
"percentage":0.6
},
{
"country":"ESP",
"percentage":0.6
},
{
"country":"ZAF",
"percentage":0.5
},
{
"country":"SAU",
"percentage":0.4
},
{
"country":"FIN",
"percentage":0.4
},
{
"country":"THA",
"percentage":0.3
},
{
"country":"RUS",
"percentage":0.3
},
{
"country":"SGP",
"percentage":0.3
},
{
"country":"BEL",
"percentage":0.3
},
{
"country":"MYS",
"percentage":0.2
},
{
"country":"IDN",
"percentage":0.2
},
{
"country":"MEX",
"percentage":0.2
},
{
"country":"NOR",
"percentage":0.2
},
{
"country":"ISR",
"percentage":0.1
},
{
"country":"IRL",
"percentage":0.1
},
{
"country":"CHL",
"percentage":0.1
},
{
"country":"NZL",
"percentage":0.1
},
{
"country":"KWT",
"percentage":0.1
}
],
"sectors":[
{
"sector":"INFORMATION_TECHNOLOGY",
"percentage":22.2
},
{
"sector":"CONSUMER_DISCRETIONARY",
"percentage":16.0
},
{
"sector":"INDUSTRIALS",
"percentage":13.0
},
{
"sector":"FINANCIALS",
"percentage":13.0
},
{
"sector":"HEALTH_CARE",
"percentage":11.9
},
{
"sector":"CONSUMER_STAPLES",
"percentage":6.9
},
{
"sector":"MATERIALS",
"percentage":4.0
},
{
"sector":"COMMUNICATION_SERVICES",
"percentage":3.8
},
{
"sector":"UTILITIES",
"percentage":3.3
},
{
"sector":"ENERGY",
"percentage":3.0
},
{
"sector":"REAL_ESTATE",
"percentage":2.8
}
]
}
@Ragas13 in #1665 hatten @fbuchinger und ich bereits über das Problem des Eingriffs durch den Nutzer geschrieben. Aus meiner Sicht sollte eine automatisch erstellte Klassifikation markiert werden sodass der Nutzer weiß, dass er daran nichts ändern soll. Besser wäre noch, wenn PP das in diesem Fall direkt blockiert. So oder so werden alle Änderungen, die manuell vom Nutzer gemacht wurden, beim nächsten Anwenden der automatischen Klassifikation überschrieben.
Für den Update-Zyklus schlage ich erstmal einen manuellen Button vor. Je nachdem, wie viele Aktien in PP hinterlegt sind, können das sonst ne ganze Menge Requests werden und gerade kostenfreie APIs finden das selten spaßig und so oft ändert sich ja auch nichts nennenswert an den Verteilungen.
Sprachlich spricht aus meiner Sicht nichts gegen Englisch. Vielleicht kann man sogar die Übersetzungsmöglichkeiten, die bereits in PP eingebaut sind, nutzen und die Länder etc. automatisch übersetzen.
@Ragas13 @bosix Danke für Euren Input! Wenn ich euch richtig verstehe, plant ihr die Auto-Klassifizierung von ETFs direkt in PP einzubauen?
Für den Fall hätte ich folgendes Feedback: Idealerweise sollte die Auto-Klassifizierung sowohl für Aktien als auch ETFs funktionieren. Die finnhub.io-API liefert ja für beide Wertpapierarten Länder, Industrie und Währungsinformationen.
Als User aktiviere ich die Auto-Klassifizierung für jedes Wertpapier im "Wertpapier editieren"-Dialog. Dort könnte man im Reiter "Klassifizierung" eine neue Sektion "Auto-Klassifzierung" einfügen, wo ich den Datenlieferant (finnhub.io oder etf-data.com) einstelle und welche Klassifizierungen generiert werden sollen (Länder/Währung/Branchen).
Leider liegt die Tücke im Detail: die "finnhubIndustry":"Automobiles"
für DE0005190003 (BMW) hat keine Top-Level-Entsprechung in den GICS bzw ICB
Methologien, die MSCI und FTSE zur Industrieklassifizierung verwenden
(Korrekt wäre "CONSUMER_DISCRETIONARY/AUTOMOBILES AND PARTS"). Im ersten
Wurf würde ich mich daher auf ETFs beschränken. Aktien könnte man
hinzufügen, wenn der User die richtige Kategorie manuell ausgewählt hat.
Hat ein User sowohl MSCI als auch FTSE-ETFs im Portfolio, bräuchte man auch bei ETFs Fall ein Data Mapping, da z.B. die MSCI-GICS-Kategorie "Materials" bei FTSE - ICB "Basic Materials" heißt. Das sollte aber machbar sein.
Zum Refresh-Zyklus: vielleicht soll man für die Klassifizierungen ganz allgemein ein Aktualisierungsdatum/Intervall einstellen können? Im Falle von Auto-Klassifizierungen werden dann einfach die Daten neu geholt, bei manuell erstellen Klassifizierungen könnte man einen Warnhinweis einblenden, dass sie veraltet sind. (ETFs rebalancen meistens zwei Mal pro Jahr).
Am Mo., 21. Dez. 2020 um 00:14 Uhr schrieb Florian Bosdorff < notifications@github.com>:
@Ragas13 https://github.com/Ragas13 in #1665 https://github.com/buchen/portfolio/issues/1665 hatten @fbuchinger https://github.com/fbuchinger und ich bereits über das Problem des Eingriffs durch den Nutzer geschrieben. Aus meiner Sicht sollte eine automatisch erstellte Klassifikation markiert werden sodass der Nutzer weiß, dass er daran nichts ändern soll. Besser wäre noch, wenn PP das in diesem Fall direkt blockiert. So oder so werden alle Änderungen, die manuell vom Nutzer gemacht wurden, beim nächsten Anwenden der automatischen Klassifikation überschrieben.
Für den Update-Zyklus schlage ich erstmal einen manuellen Button vor. Je nachdem, wie viele Aktien in PP hinterlegt sind, können das sonst ne ganze Menge Requests werden und gerade kostenfreie APIs finden das selten spaßig und so oft ändert sich ja auch nichts nennenswert an den Verteilungen.
Sprachlich spricht aus meiner Sicht nichts gegen Englisch. Vielleicht kann man sogar die Übersetzungsmöglichkeiten, die bereits in PP eingebaut sind, nutzen und die Länder etc. automatisch übersetzen.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/buchen/portfolio/issues/1775#issuecomment-748685046, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACGFSSC7JWYEHFS22O5GLLSV2AM7ANCNFSM4SFDLN2Q .
Equally to #1665
The bad news: ETF data is rather incomplete, I was unable to get industry/country info for the following ETFs: IUSN, EUNL, IS3N, EUNK and CEMR
I've just tried with the Ishares ENUK one, which is ISIN IE00B4K48X80. And gathering the ISIN via finnhhb API with the API key I get the following response:
https://finnhub.io/api/v1/etf/country?isin=IE00B4K48X80&token=xxxxxxxxxxx
{
"countryExposure":[
{
"country":"United Kingdom of Great Britain and Northern Ireland (the)",
"exposure":20.72
},
{
"country":"France",
"exposure":16.56
},
{
"country":"Switzerland",
"exposure":15.84
},
{
"country":"Germany",
"exposure":14.81
},
{
"country":"Netherlands (the)",
"exposure":8.51
},
{
"country":"Sweden",
"exposure":5.08
},
{
"country":"Denmark",
"exposure":3.95
},
{
"country":"Spain",
"exposure":3.91
},
{
"country":"Italy",
"exposure":3.32
},
{
"country":"Finland",
"exposure":1.95
},
{
"country":"Ireland",
"exposure":1.55
},
{
"country":"Belgium",
"exposure":1.47
},
{
"country":"Norway",
"exposure":0.95
},
{
"country":"Luxembourg",
"exposure":0.44
},
{
"country":"Austria",
"exposure":0.28
},
{
"country":"Portugal",
"exposure":0.27
},
{
"country":"Isle of Man",
"exposure":0.09
},
{
"country":"Mexico",
"exposure":0.03
}
],
"symbol":"SMEA.L"
}
https://finnhub.io/api/v1/etf/country?isin=IE00B4K48X80&token=xxxxxxxxxxx
{
"sectorExposure":[
{
"exposure":10.45,
"industry":"Pharmaceuticals"
},
{
"exposure":6.66,
"industry":"Banks"
},
{
"exposure":5.27,
"industry":"Insurance"
},
{
"exposure":4.77,
"industry":"Textiles, Apparel \u0026 Luxury Goods"
},
{
"exposure":4.47,
"industry":"Food Products"
},
{
"exposure":4.14,
"industry":"Chemicals"
},
{
"exposure":3.78,
"industry":"Oil, Gas \u0026 Consumable Fuels"
},
{
"exposure":2.97,
"industry":"Electric Utilities"
},
{
"exposure":2.79,
"industry":"Semiconductors \u0026 Semiconductor Equipment"
},
{
"exposure":2.76,
"industry":"Beverages"
},
{
"exposure":2.72,
"industry":"Capital Markets"
},
{
"exposure":2.69,
"industry":"Metals \u0026 Mining"
},
{
"exposure":2.63,
"industry":"Personal Products"
},
{
"exposure":2.37,
"industry":"Electrical Equipment"
},
{
"exposure":2.36,
"industry":"Machinery"
},
{
"exposure":2.25,
"industry":"Diversified Telecommunication Services"
},
{
"exposure":2.12,
"industry":"Automobiles"
},
{
"exposure":1.98,
"industry":"Software"
},
{
"exposure":1.97,
"industry":"Health Care Equipment \u0026 Supplies"
},
{
"exposure":1.82,
"industry":"Professional Services"
},
{
"exposure":1.74,
"industry":"Aerospace \u0026 Defense"
},
{
"exposure":1.72,
"industry":"Other"
},
{
"exposure":1.6,
"industry":"IT Services"
},
{
"exposure":1.44,
"industry":"Multi-Utilities"
},
{
"exposure":1.32,
"industry":"Hotels, Restaurants \u0026 Leisure"
},
{
"exposure":1.3,
"industry":"Internet \u0026 Direct Marketing Retail"
},
{
"exposure":1.3,
"industry":"Industrial Conglomerates"
},
{
"exposure":1.21,
"industry":"Tobacco"
},
{
"exposure":1.06,
"industry":"Construction \u0026 Engineering"
},
{
"exposure":1.04,
"industry":"Food \u0026 Staples Retailing"
},
{
"exposure":1.03,
"industry":"Household Products"
},
{
"exposure":0.97,
"industry":"Building Products"
},
{
"exposure":0.85,
"industry":"Air Freight \u0026 Logistics"
},
{
"exposure":0.8,
"industry":"Diversified Financial Services"
},
{
"exposure":0.8,
"industry":"Life Sciences Tools \u0026 Services"
},
{
"exposure":0.79,
"industry":"Real Estate Management \u0026 Development"
},
{
"exposure":0.73,
"industry":"Construction Materials"
},
{
"exposure":0.71,
"industry":"Trading Companies \u0026 Distributors"
},
{
"exposure":0.67,
"industry":"Specialty Retail"
},
{
"exposure":0.59,
"industry":"Communications Equipment"
},
{
"exposure":0.57,
"industry":"Equity Real Estate Investment Trusts (REITs)"
},
{
"exposure":0.54,
"industry":"Paper \u0026 Forest Products"
},
{
"exposure":0.53,
"industry":"Auto Components"
},
{
"exposure":0.53,
"industry":"Wireless Telecommunication Services"
},
{
"exposure":0.53,
"industry":"Biotechnology"
},
{
"exposure":0.51,
"industry":"Household Durables"
},
{
"exposure":0.51,
"industry":"Health Care Providers \u0026 Services"
},
{
"exposure":0.5,
"industry":"Media"
},
{
"exposure":0.4,
"industry":"Entertainment"
},
{
"exposure":0.38,
"industry":"Electronic Equipment, Instruments \u0026 Components"
},
{
"exposure":0.33,
"industry":"Transportation Infrastructure"
},
{
"exposure":0.26,
"industry":"Marine"
},
{
"exposure":0.21,
"industry":"Gas Utilities"
},
{
"exposure":0.21,
"industry":"Interactive Media \u0026 Services"
},
{
"exposure":0.18,
"industry":"Commercial Services \u0026 Supplies"
},
{
"exposure":0.17,
"industry":"Water Utilities"
},
{
"exposure":0.16,
"industry":"Technology Hardware, Storage \u0026 Peripherals"
},
{
"exposure":0.13,
"industry":"Multiline Retail"
},
{
"exposure":0.12,
"industry":"Containers \u0026 Packaging"
},
{
"exposure":0.08,
"industry":"Independent Power and Renewable Electricity Producers"
},
{
"exposure":0.04,
"industry":"Airlines"
},
{
"exposure":0.04,
"industry":"Energy Equipment \u0026 Services"
}
],
"symbol":"SMEA.L"
}
Regular stocks are available via:
https://finnhub.io/api/v1/stock/profile2?isin=IE00B4K48X80&token=bvob9c748v6rbvas2gsg
Is your feature request related to a problem? Please describe. Ich finde es schade, dass ich nicht aussagekräftig sehen kann wieviel nun eigentlich in den einzelnen Regionen wie USA, Deutschland, China steckt. Die Klassifizierung mit Regionen ist dafür ja eigentlich gedacht, aber es ist nur ein trügerisches Bild.
Describe the solution you'd like Es wäre schön, wenn es die Möglichkeit gäbe den MSCI World zum Beispiel anteilsmäßig den einzelnen Ländern zu zu ordnen oder diese Information sogar automatisch aus dem Internet zu ziehen.
Somit wäre die Aufschlüsselung nach Regionen, oder natürlich auch bei anderer Klassifikation (Stichwort Multi Asset Fonds), viel aussagekräftiger.