The new approach will be to use Fidelity Website as a source. Unfortunately there’s no public API according to their customer service so this data has to be crawled.
❗
|
This README will be updated in the next days if there’s a plan on how to tackle the challenge of the crawler for Fidelity. |
Import ETF .xlsx
-files provided by Vanguard and receive the distribution of their shares grouped by Global Industry Classification Standard (GICS) Industries by MSCI.
This tool lets you import the positions Excel files for ETFs provided by Vanguard (see section Aufschlüsselung der Positionen e.g. of the Vanguard FTSE Developed World ETF). After importing, it will match the given data of the "Sektor" column against the Industries of the GICS.
The goal is to make this tool available to get better data quality for custom excel sheets or for tools like Parqet.
-
Download ETF positions excel from Vanguard (see Description for an exapmle link)
-
Check out this tool via Git
-
Run
yarn install
in root dir -
Place your downloaded files in
data
folder -
Change path in
index.ts
(will be removed, see TODO) -
Run
npx ts-node index.ts
in root dir
Using the given data example representing the Vanguard FTSE Developed World ETF this tool will print the following JSON output:
{
"suggestion": {
"jsonpatchFormat": true,
"security": "REPLACEME",
"diff": [
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "452020",
"share": 5.118
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "451030",
"share": 7.302
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "251020",
"share": 2.535
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "402010",
"share": 1.12
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "352020",
"share": 5.667
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "303020",
"share": 1.507
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "302020",
"share": 1.494
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "401010",
"share": 5.108
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "502020",
"share": 0.929
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "502010",
"share": 0.609
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "252030",
"share": 0.574
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "551010",
"share": 1.685
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "151010",
"share": 1.061
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "252010",
"share": 0.337
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "203010",
"share": 0.483
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "302030",
"share": 0.595
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "201050",
"share": 1.537
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "352010",
"share": 1.21
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "402030",
"share": 1.047
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "201010",
"share": 1.217
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "451020",
"share": 1.241
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "302010",
"share": 0.622
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "255040",
"share": 0.535
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "151040",
"share": 1.1
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "202020",
"share": 0.194
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "551030",
"share": 0.557
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "201030",
"share": 0.23
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "251010",
"share": 0.419
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "601010",
"share": 0.137
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "151030",
"share": 0.212
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "151020",
"share": 0.067
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "253010",
"share": 0.302
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "551050",
"share": 0.085
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "203020",
"share": 0.073
}
},
{
"op": "add",
"path": "/industries/-",
"value": {
"id": "101020",
"share": 0.013
}
}
]
}
}
❗
|
I’m still adding the mapping of descriptions used by Vanguard to the GICS Industry descriptions, so the output at this time is just a fraction of the final result. |