pp-portfolio-classifier 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/.github/workflows/npm-publish.yml +45 -0
  2. package/.prettierignore +6 -0
  3. package/.prettierrc.json +11 -0
  4. package/.vscode/settings.json +30 -0
  5. package/BLUEPRINT.md +28 -0
  6. package/config/default.json +1121 -0
  7. package/dist/classifier.js +195 -0
  8. package/dist/index.js +88 -0
  9. package/dist/morningstar-api.js +137 -0
  10. package/dist/types.js +2 -0
  11. package/dist/xml-helper.js +244 -0
  12. package/docs/img/autoclassified-regions.png +0 -0
  13. package/docs/img/autoclassified-sectors.png +0 -0
  14. package/docs/img/autoclassified-stock-style.png +0 -0
  15. package/docs/img/top-10-holdings.png +0 -0
  16. package/docs/taxonomy-json-templates/AllTaxonomies.json +1313 -0
  17. package/docs/taxonomy-json-templates/Asset_Type.json +45 -0
  18. package/docs/taxonomy-json-templates/Bond_Sector.json +38 -0
  19. package/docs/taxonomy-json-templates/Bond_Style.json +42 -0
  20. package/docs/taxonomy-json-templates/Country.json +214 -0
  21. package/docs/taxonomy-json-templates/Holding.json +302 -0
  22. package/docs/taxonomy-json-templates/Region.json +72 -0
  23. package/docs/taxonomy-json-templates/Region_Country.json +280 -0
  24. package/docs/taxonomy-json-templates/Stock_Sector.json +50 -0
  25. package/docs/taxonomy-json-templates/Stock_Style.json +42 -0
  26. package/docs/taxonomy-json-templates/info.txt +1 -0
  27. package/docs/taxonomy-json-templates/views.xml +45 -0
  28. package/eslint.config.mjs +65 -0
  29. package/package.json +38 -0
  30. package/readme.md +156 -0
  31. package/src/classifier.ts +242 -0
  32. package/src/index.ts +64 -0
  33. package/src/morningstar-api.ts +155 -0
  34. package/src/types.ts +28 -0
  35. package/src/xml-helper.ts +240 -0
  36. package/test/multifaktortest.xml +3983 -0
  37. package/tsconfig.json +15 -0
@@ -0,0 +1,1313 @@
1
+ [
2
+ {
3
+ "name": "Greater Regions (not updated)",
4
+ "color": "#89afee",
5
+ "categories": [
6
+ {
7
+ "name": "Americas",
8
+ "color": "#1a5fb4"
9
+ },
10
+ {
11
+ "name": "Greater Europe",
12
+ "color": "#26a269"
13
+ },
14
+ {
15
+ "name": "Greater Asia",
16
+ "color": "#ed333b"
17
+ }
18
+ ],
19
+ "instruments": [
20
+ {
21
+ "identifiers": {
22
+ "name": "Stock: Microsoft Corp.",
23
+ "isin": "US5949181045",
24
+ "wkn": "870747",
25
+ "ticker": "MSF.DE"
26
+ },
27
+ "categories": [
28
+ {
29
+ "path": ["Americas"],
30
+ "weight": 100.0
31
+ }
32
+ ]
33
+ },
34
+ {
35
+ "identifiers": {
36
+ "name": "iShares Core MSCI World UCITS ETF",
37
+ "isin": "IE00B4L5Y983",
38
+ "wkn": "A0RPWH",
39
+ "ticker": "EUNL.DE"
40
+ },
41
+ "categories": [
42
+ {
43
+ "path": ["Americas"],
44
+ "weight": 76.57
45
+ },
46
+ {
47
+ "path": ["Greater Europe"],
48
+ "weight": 15.34
49
+ },
50
+ {
51
+ "path": ["Greater Asia"],
52
+ "weight": 7.72
53
+ }
54
+ ]
55
+ },
56
+ {
57
+ "identifiers": {
58
+ "name": "iShares Edge MSCI World Multifactor UCITS ETF USD (Acc)",
59
+ "isin": "IE00BZ0PKT83",
60
+ "wkn": "A14YPA",
61
+ "ticker": "IBCZ.DE"
62
+ },
63
+ "categories": [
64
+ {
65
+ "path": ["Americas"],
66
+ "weight": 75.05
67
+ },
68
+ {
69
+ "path": ["Greater Europe"],
70
+ "weight": 13.52
71
+ },
72
+ {
73
+ "path": ["Greater Asia"],
74
+ "weight": 10.3
75
+ }
76
+ ]
77
+ },
78
+ {
79
+ "identifiers": {
80
+ "name": "L\u0026G Gerd Kommer Multifactor Equity UCITS ETF",
81
+ "isin": "IE0001UQQ933",
82
+ "wkn": "WELT0A",
83
+ "ticker": "GERD.DE"
84
+ },
85
+ "categories": [
86
+ {
87
+ "path": ["Americas"],
88
+ "weight": 54.21
89
+ },
90
+ {
91
+ "path": ["Greater Europe"],
92
+ "weight": 24.05
93
+ },
94
+ {
95
+ "path": ["Greater Asia"],
96
+ "weight": 21.47
97
+ }
98
+ ]
99
+ },
100
+ {
101
+ "identifiers": {
102
+ "name": "VanEck Morningstar Developed Markets Dividend Leaders UCITS ETF",
103
+ "isin": "NL0011683594",
104
+ "wkn": "A2JAHJ",
105
+ "ticker": "VDIV.DE"
106
+ },
107
+ "categories": [
108
+ {
109
+ "path": ["Americas"],
110
+ "weight": 28.0
111
+ },
112
+ {
113
+ "path": ["Greater Europe"],
114
+ "weight": 59.09
115
+ },
116
+ {
117
+ "path": ["Greater Asia"],
118
+ "weight": 12.26
119
+ }
120
+ ]
121
+ },
122
+ {
123
+ "identifiers": {
124
+ "name": "Amundi S\u0026P 500 II UCITS ETF EUR Dist",
125
+ "isin": "LU0496786574",
126
+ "wkn": "LYX0FS",
127
+ "ticker": "LYPS.DE"
128
+ },
129
+ "categories": [
130
+ {
131
+ "path": ["Americas"],
132
+ "weight": 100.0
133
+ }
134
+ ]
135
+ },
136
+ {
137
+ "identifiers": {
138
+ "name": "HSBC MSCI Europe UCITS ETF",
139
+ "isin": "IE00B5BD5K76",
140
+ "wkn": "A1CY17",
141
+ "ticker": "H4ZE.DE"
142
+ },
143
+ "categories": [
144
+ {
145
+ "path": ["Greater Europe"],
146
+ "weight": 100.0
147
+ }
148
+ ]
149
+ },
150
+ {
151
+ "identifiers": {
152
+ "name": "Stock: NOVO-NORDISK AS B",
153
+ "isin": "DK0062498333",
154
+ "wkn": "A3EU6F",
155
+ "ticker": "NOV.DE"
156
+ },
157
+ "categories": [
158
+ {
159
+ "path": ["Greater Europe"],
160
+ "weight": 100.0
161
+ }
162
+ ]
163
+ },
164
+ {
165
+ "identifiers": {
166
+ "name": "Stock: SAP SE",
167
+ "isin": "DE0007164600",
168
+ "wkn": "716460",
169
+ "ticker": "SAP.DE"
170
+ },
171
+ "categories": [
172
+ {
173
+ "path": ["Greater Europe"],
174
+ "weight": 100.0
175
+ }
176
+ ]
177
+ },
178
+ {
179
+ "identifiers": {
180
+ "name": "Xtrackers DAX UCITS ETF",
181
+ "isin": "LU1349386927",
182
+ "wkn": "DBX0QB",
183
+ "ticker": "XDDA.DE"
184
+ },
185
+ "categories": [
186
+ {
187
+ "path": ["Greater Europe"],
188
+ "weight": 100.0
189
+ }
190
+ ]
191
+ },
192
+ {
193
+ "identifiers": {
194
+ "name": "Franklin FTSE India UCITS ETF ",
195
+ "isin": "IE00BHZRQZ17",
196
+ "wkn": "A2PB5W",
197
+ "ticker": "FLXI.DE"
198
+ },
199
+ "categories": [
200
+ {
201
+ "path": ["Greater Asia"],
202
+ "weight": 100.0
203
+ }
204
+ ]
205
+ },
206
+ {
207
+ "identifiers": {
208
+ "name": "Stock: Taiwan Semiconductor Manufacturing",
209
+ "isin": "US8740391003",
210
+ "wkn": "909800",
211
+ "ticker": "TSM"
212
+ },
213
+ "categories": [
214
+ {
215
+ "path": ["Greater Asia"],
216
+ "weight": 100.0
217
+ }
218
+ ]
219
+ }
220
+ ]
221
+ },
222
+ {
223
+ "name": "Asset Type",
224
+ "color": "#89afee",
225
+ "categories": [
226
+ {
227
+ "name": "Other",
228
+ "color": "#6bb773"
229
+ },
230
+ {
231
+ "name": "Cash",
232
+ "color": "#6bafb7"
233
+ },
234
+ {
235
+ "name": "Preferred",
236
+ "color": "#736bb7"
237
+ },
238
+ {
239
+ "name": "Bond",
240
+ "color": "#b76baf"
241
+ },
242
+ {
243
+ "name": "Equity",
244
+ "color": "#b7736b"
245
+ },
246
+ {
247
+ "name": "Stock",
248
+ "color": "#afb76b"
249
+ }
250
+ ],
251
+ "instruments": [
252
+ {
253
+ "identifiers": {
254
+ "name": "Deposit Account"
255
+ },
256
+ "categories": [
257
+ {
258
+ "path": ["Cash"],
259
+ "weight": 100.0
260
+ }
261
+ ]
262
+ }
263
+ ]
264
+ },
265
+ {
266
+ "name": "Bond Style",
267
+ "color": "#89afee",
268
+ "categories": [
269
+ {
270
+ "name": "High Quality - Short Term",
271
+ "color": "#8ff0a4"
272
+ },
273
+ {
274
+ "name": "High Quality - Intermediate Term",
275
+ "color": "#33d17a"
276
+ },
277
+ {
278
+ "name": "High Quality - Long Term",
279
+ "color": "#26a269"
280
+ },
281
+ {
282
+ "name": "Medium Quality - Short Term",
283
+ "color": "#99c1f1"
284
+ },
285
+ {
286
+ "name": "Medium Quality - Intermediate Term",
287
+ "color": "#3584e4"
288
+ },
289
+ {
290
+ "name": "Medium Quality - Long Term",
291
+ "color": "#1a5fb4"
292
+ },
293
+ {
294
+ "name": "Low Quality - Short Term",
295
+ "color": "#ffbe6f"
296
+ },
297
+ {
298
+ "name": "Low Quality - Intermediate Term",
299
+ "color": "#ff7800"
300
+ },
301
+ {
302
+ "name": "Low Quality - Long Term",
303
+ "color": "#c64600"
304
+ }
305
+ ],
306
+ "instruments": []
307
+ },
308
+ {
309
+ "name": "Country",
310
+ "color": "#89afee",
311
+ "categories": [
312
+ {
313
+ "name": "Cameroon",
314
+ "color": "#ac9d3b"
315
+ },
316
+ {
317
+ "name": "MarshallIslands",
318
+ "color": "#acaa3b"
319
+ },
320
+ {
321
+ "name": "Egypt",
322
+ "color": "#a0ac3b"
323
+ },
324
+ {
325
+ "name": "Macao",
326
+ "color": "#93ac3b"
327
+ },
328
+ {
329
+ "name": "Guatemala",
330
+ "color": "#86ac3b"
331
+ },
332
+ {
333
+ "name": "PuertoRico",
334
+ "color": "#79ac3b"
335
+ },
336
+ {
337
+ "name": "Colombia",
338
+ "color": "#6cac3b"
339
+ },
340
+ {
341
+ "name": "Czech Republic",
342
+ "color": "#5fac3b"
343
+ },
344
+ {
345
+ "name": "Hungary",
346
+ "color": "#52ac3b"
347
+ },
348
+ {
349
+ "name": "Luxembourg",
350
+ "color": "#45ac3b"
351
+ },
352
+ {
353
+ "name": "Philippines",
354
+ "color": "#3bac3e"
355
+ },
356
+ {
357
+ "name": "New Zealand",
358
+ "color": "#3bac4b"
359
+ },
360
+ {
361
+ "name": "Portugal",
362
+ "color": "#3bac58"
363
+ },
364
+ {
365
+ "name": "Türkiye",
366
+ "color": "#3bac65"
367
+ },
368
+ {
369
+ "name": "Greece",
370
+ "color": "#3bac72"
371
+ },
372
+ {
373
+ "name": "Qatar",
374
+ "color": "#3bac7f"
375
+ },
376
+ {
377
+ "name": "Kuwait",
378
+ "color": "#3bac8c"
379
+ },
380
+ {
381
+ "name": "Chile",
382
+ "color": "#3bac99"
383
+ },
384
+ {
385
+ "name": "Indonesia",
386
+ "color": "#3baca6"
387
+ },
388
+ {
389
+ "name": "Malaysia",
390
+ "color": "#3ba4ac"
391
+ },
392
+ {
393
+ "name": "Austria",
394
+ "color": "#3b97ac"
395
+ },
396
+ {
397
+ "name": "Thailand",
398
+ "color": "#3b8aac"
399
+ },
400
+ {
401
+ "name": "Poland",
402
+ "color": "#3b7dac"
403
+ },
404
+ {
405
+ "name": "Ireland",
406
+ "color": "#3b70ac"
407
+ },
408
+ {
409
+ "name": "Norway",
410
+ "color": "#3b63ac"
411
+ },
412
+ {
413
+ "name": "United Arab Emirates",
414
+ "color": "#3b56ac"
415
+ },
416
+ {
417
+ "name": "Mexico",
418
+ "color": "#3b49ac"
419
+ },
420
+ {
421
+ "name": "Saudi Arabia",
422
+ "color": "#3b3cac"
423
+ },
424
+ {
425
+ "name": "Finland",
426
+ "color": "#473bac"
427
+ },
428
+ {
429
+ "name": "South Africa",
430
+ "color": "#543bac"
431
+ },
432
+ {
433
+ "name": "Belgium",
434
+ "color": "#613bac"
435
+ },
436
+ {
437
+ "name": "Israel",
438
+ "color": "#6e3bac"
439
+ },
440
+ {
441
+ "name": "Hong Kong",
442
+ "color": "#7b3bac"
443
+ },
444
+ {
445
+ "name": "Brazil",
446
+ "color": "#883bac"
447
+ },
448
+ {
449
+ "name": "Singapore",
450
+ "color": "#953bac"
451
+ },
452
+ {
453
+ "name": "Sweden",
454
+ "color": "#a23bac"
455
+ },
456
+ {
457
+ "name": "Italy",
458
+ "color": "#ac3ba9"
459
+ },
460
+ {
461
+ "name": "South Korea",
462
+ "color": "#ac3b9c"
463
+ },
464
+ {
465
+ "name": "Netherlands",
466
+ "color": "#ac3b8f"
467
+ },
468
+ {
469
+ "name": "Spain",
470
+ "color": "#ac3b82"
471
+ },
472
+ {
473
+ "name": "Denmark",
474
+ "color": "#ac3b75"
475
+ },
476
+ {
477
+ "name": "Australia",
478
+ "color": "#ac3b68"
479
+ },
480
+ {
481
+ "name": "Switzerland",
482
+ "color": "#ac3b5b"
483
+ },
484
+ {
485
+ "name": "Canada",
486
+ "color": "#ac3b4e"
487
+ },
488
+ {
489
+ "name": "China",
490
+ "color": "#ac3b41"
491
+ },
492
+ {
493
+ "name": "France",
494
+ "color": "#ac423b"
495
+ },
496
+ {
497
+ "name": "United Kingdom",
498
+ "color": "#ac4f3b"
499
+ },
500
+ {
501
+ "name": "Japan",
502
+ "color": "#ac5c3b"
503
+ },
504
+ {
505
+ "name": "Taiwan",
506
+ "color": "#ac693b"
507
+ },
508
+ {
509
+ "name": "Germany",
510
+ "color": "#ac763b"
511
+ },
512
+ {
513
+ "name": "India",
514
+ "color": "#ac833b"
515
+ },
516
+ {
517
+ "name": "United States",
518
+ "color": "#ac903b"
519
+ }
520
+ ],
521
+ "instruments": []
522
+ },
523
+ {
524
+ "name": "Holding",
525
+ "color": "#89afee",
526
+ "categories": [
527
+ {
528
+ "name": "NVIDIA Corp",
529
+ "color": "#89afee"
530
+ },
531
+ {
532
+ "name": "Apple Inc",
533
+ "color": "#89afee"
534
+ },
535
+ {
536
+ "name": "Microsoft Corp",
537
+ "color": "#89afee"
538
+ },
539
+ {
540
+ "name": "Amazon.com Inc",
541
+ "color": "#89afee"
542
+ },
543
+ {
544
+ "name": "Alphabet Inc Class A",
545
+ "color": "#89afee"
546
+ },
547
+ {
548
+ "name": "Broadcom Inc",
549
+ "color": "#89afee"
550
+ },
551
+ {
552
+ "name": "Alphabet Inc Class C",
553
+ "color": "#89afee"
554
+ },
555
+ {
556
+ "name": "Meta Platforms Inc Class A",
557
+ "color": "#89afee"
558
+ },
559
+ {
560
+ "name": "Tesla Inc",
561
+ "color": "#89afee"
562
+ },
563
+ {
564
+ "name": "Berkshire Hathaway Inc Class B",
565
+ "color": "#89afee"
566
+ },
567
+ {
568
+ "name": "JPMorgan Chase \u0026 Co",
569
+ "color": "#89afee"
570
+ },
571
+ {
572
+ "name": "UniCredit SpA",
573
+ "color": "#89afee"
574
+ },
575
+ {
576
+ "name": "McKesson Corp",
577
+ "color": "#89afee"
578
+ },
579
+ {
580
+ "name": "Trane Technologies PLC Class A",
581
+ "color": "#89afee"
582
+ },
583
+ {
584
+ "name": "Manulife Financial Corp",
585
+ "color": "#89afee"
586
+ },
587
+ {
588
+ "name": "HDFC Bank Ltd",
589
+ "color": "#89afee"
590
+ },
591
+ {
592
+ "name": "Reliance Industries Ltd",
593
+ "color": "#89afee"
594
+ },
595
+ {
596
+ "name": "ICICI Bank Ltd",
597
+ "color": "#89afee"
598
+ },
599
+ {
600
+ "name": "Bharti Airtel Ltd",
601
+ "color": "#89afee"
602
+ },
603
+ {
604
+ "name": "Infosys Ltd",
605
+ "color": "#89afee"
606
+ },
607
+ {
608
+ "name": "Mahindra \u0026 Mahindra Ltd",
609
+ "color": "#89afee"
610
+ },
611
+ {
612
+ "name": "Axis Bank Ltd",
613
+ "color": "#89afee"
614
+ },
615
+ {
616
+ "name": "Larsen \u0026 Toubro Ltd",
617
+ "color": "#89afee"
618
+ },
619
+ {
620
+ "name": "Bajaj Finance Ltd",
621
+ "color": "#89afee"
622
+ },
623
+ {
624
+ "name": "Tata Consultancy Services Ltd",
625
+ "color": "#89afee"
626
+ },
627
+ {
628
+ "name": "ASML Holding NV",
629
+ "color": "#89afee"
630
+ },
631
+ {
632
+ "name": "Roche Holding AG",
633
+ "color": "#89afee"
634
+ },
635
+ {
636
+ "name": "AstraZeneca PLC",
637
+ "color": "#89afee"
638
+ },
639
+ {
640
+ "name": "Novartis AG Registered Shares",
641
+ "color": "#89afee"
642
+ },
643
+ {
644
+ "name": "HSBC Holdings PLC",
645
+ "color": "#89afee"
646
+ },
647
+ {
648
+ "name": "Nestle SA",
649
+ "color": "#89afee"
650
+ },
651
+ {
652
+ "name": "Siemens AG",
653
+ "color": "#89afee"
654
+ },
655
+ {
656
+ "name": "Shell PLC",
657
+ "color": "#89afee"
658
+ },
659
+ {
660
+ "name": "SAP SE",
661
+ "color": "#89afee"
662
+ },
663
+ {
664
+ "name": "Banco Santander SA",
665
+ "color": "#89afee"
666
+ },
667
+ {
668
+ "name": "Taiwan Semiconductor Manufacturing Co Ltd",
669
+ "color": "#89afee"
670
+ },
671
+ {
672
+ "name": "Micron Technology Inc",
673
+ "color": "#89afee"
674
+ },
675
+ {
676
+ "name": "Deutsche Telekom AG",
677
+ "color": "#89afee"
678
+ },
679
+ {
680
+ "name": "Mastercard Inc Class A",
681
+ "color": "#89afee"
682
+ },
683
+ {
684
+ "name": "Visa Inc Class A",
685
+ "color": "#89afee"
686
+ },
687
+ {
688
+ "name": "Eli Lilly and Co",
689
+ "color": "#89afee"
690
+ },
691
+ {
692
+ "name": "Exxon Mobil Corp",
693
+ "color": "#89afee"
694
+ },
695
+ {
696
+ "name": "Verizon Communications Inc",
697
+ "color": "#89afee"
698
+ },
699
+ {
700
+ "name": "Pfizer Inc",
701
+ "color": "#89afee"
702
+ },
703
+ {
704
+ "name": "TotalEnergies SE",
705
+ "color": "#89afee"
706
+ },
707
+ {
708
+ "name": "PepsiCo Inc",
709
+ "color": "#89afee"
710
+ },
711
+ {
712
+ "name": "Allianz SE",
713
+ "color": "#89afee"
714
+ },
715
+ {
716
+ "name": "Novo Nordisk AS Class B",
717
+ "color": "#89afee"
718
+ },
719
+ {
720
+ "name": "Airbus SE",
721
+ "color": "#89afee"
722
+ },
723
+ {
724
+ "name": "Siemens Energy AG Ordinary Shares",
725
+ "color": "#89afee"
726
+ },
727
+ {
728
+ "name": "Munchener Ruckversicherungs-Gesellschaft AG",
729
+ "color": "#89afee"
730
+ },
731
+ {
732
+ "name": "Rheinmetall AG",
733
+ "color": "#89afee"
734
+ },
735
+ {
736
+ "name": "Deutsche Bank AG",
737
+ "color": "#89afee"
738
+ },
739
+ {
740
+ "name": "Infineon Technologies AG",
741
+ "color": "#89afee"
742
+ },
743
+ {
744
+ "name": "Taiwan Semiconductor Manufacturing Co Ltd ADR",
745
+ "color": "#89afee"
746
+ },
747
+ {
748
+ "name": "Barclays PLC 8%",
749
+ "color": "#89afee"
750
+ },
751
+ {
752
+ "name": "Banco Santander SA 8%",
753
+ "color": "#89afee"
754
+ },
755
+ {
756
+ "name": "Banco Santander SA 9.625%",
757
+ "color": "#89afee"
758
+ },
759
+ {
760
+ "name": "Barclays PLC 9.625%",
761
+ "color": "#89afee"
762
+ },
763
+ {
764
+ "name": "Lloyds Banking Group PLC 8%",
765
+ "color": "#89afee"
766
+ },
767
+ {
768
+ "name": "Deutsche Bank AG 8.13011%",
769
+ "color": "#89afee"
770
+ },
771
+ {
772
+ "name": "Credit Agricole S.A. 7.125%",
773
+ "color": "#89afee"
774
+ },
775
+ {
776
+ "name": "Sumitomo Mitsui Financial Group Inc. 6.45%",
777
+ "color": "#89afee"
778
+ },
779
+ {
780
+ "name": "Credit Agricole SA VAR 23/12/74",
781
+ "color": "#89afee"
782
+ },
783
+ {
784
+ "name": "JPMorgan Chase \u0026 Co 6% PRF PERPETUAL USD 25 - Dep rep 1/400 Ser EE",
785
+ "color": "#89afee"
786
+ },
787
+ {
788
+ "name": "JPMorgan Chase \u0026 Co Pfd",
789
+ "color": "#89afee"
790
+ },
791
+ {
792
+ "name": "Wells Fargo \u0026 Co 4.75% PRF PERPETUAL USD 25 Series Z Class A",
793
+ "color": "#89afee"
794
+ },
795
+ {
796
+ "name": "JPMorgan Chase \u0026 Co PRF PERPETUAL USD - Ser MM 1/400th",
797
+ "color": "#89afee"
798
+ },
799
+ {
800
+ "name": "JPMorgan Chase \u0026 Co PRF PERPETUAL USD - Ser LL 1/400th Int",
801
+ "color": "#89afee"
802
+ },
803
+ {
804
+ "name": "Bank of America Corp 6% PRF PERPETUAL USD 25 - Ser GG 1/1000th int",
805
+ "color": "#89afee"
806
+ },
807
+ {
808
+ "name": "AT\u0026T Inc 4.75% PRF PERPETUAL USD 25 - 1/1000th Int Ser C",
809
+ "color": "#89afee"
810
+ },
811
+ {
812
+ "name": "Bank of America Corp Pfd",
813
+ "color": "#89afee"
814
+ },
815
+ {
816
+ "name": "Capital One Financial Corp Series I",
817
+ "color": "#89afee"
818
+ },
819
+ {
820
+ "name": "AT\u0026T Inc 5.35% NT REDEEM 01/11/2066 USD 25",
821
+ "color": "#89afee"
822
+ }
823
+ ],
824
+ "instruments": []
825
+ },
826
+ {
827
+ "name": "Region / Country",
828
+ "color": "#89afee",
829
+ "categories": [
830
+ {
831
+ "name": "Europe Emerging",
832
+ "color": "#a57e58",
833
+ "children": [
834
+ {
835
+ "name": "Poland",
836
+ "color": "#bf9b79"
837
+ },
838
+ {
839
+ "name": "Greece",
840
+ "color": "#bf9b79"
841
+ },
842
+ {
843
+ "name": "Türkiye",
844
+ "color": "#bf9b79"
845
+ },
846
+ {
847
+ "name": "Hungary",
848
+ "color": "#bf9b79"
849
+ },
850
+ {
851
+ "name": "Czech Republic",
852
+ "color": "#bf9b79"
853
+ }
854
+ ]
855
+ },
856
+ {
857
+ "name": "Africa",
858
+ "color": "#99a558",
859
+ "children": [
860
+ {
861
+ "name": "South Africa",
862
+ "color": "#b3bf79"
863
+ },
864
+ {
865
+ "name": "Cameroon",
866
+ "color": "#b3bf79"
867
+ }
868
+ ]
869
+ },
870
+ {
871
+ "name": "Latin America",
872
+ "color": "#66a558",
873
+ "children": [
874
+ {
875
+ "name": "Brazil",
876
+ "color": "#85bf79"
877
+ },
878
+ {
879
+ "name": "Mexico",
880
+ "color": "#85bf79"
881
+ },
882
+ {
883
+ "name": "Chile",
884
+ "color": "#85bf79"
885
+ },
886
+ {
887
+ "name": "Colombia",
888
+ "color": "#85bf79"
889
+ },
890
+ {
891
+ "name": "Puerto Rico",
892
+ "color": "#85bf79"
893
+ },
894
+ {
895
+ "name": "Guatemala",
896
+ "color": "#85bf79"
897
+ }
898
+ ]
899
+ },
900
+ {
901
+ "name": "Middle East",
902
+ "color": "#58a57e",
903
+ "children": [
904
+ {
905
+ "name": "Israel",
906
+ "color": "#79bf9b"
907
+ },
908
+ {
909
+ "name": "Saudi Arabia",
910
+ "color": "#79bf9b"
911
+ },
912
+ {
913
+ "name": "United Arab Emirates",
914
+ "color": "#79bf9b"
915
+ },
916
+ {
917
+ "name": "Kuwait",
918
+ "color": "#79bf9b"
919
+ },
920
+ {
921
+ "name": "Qatar",
922
+ "color": "#79bf9b"
923
+ },
924
+ {
925
+ "name": "Egypt",
926
+ "color": "#79bf9b"
927
+ }
928
+ ]
929
+ },
930
+ {
931
+ "name": "Australasia",
932
+ "color": "#5899a5",
933
+ "children": [
934
+ {
935
+ "name": "Australia",
936
+ "color": "#79b3bf"
937
+ },
938
+ {
939
+ "name": "New Zealand",
940
+ "color": "#79b3bf"
941
+ },
942
+ {
943
+ "name": "Marshall Islands",
944
+ "color": "#79b3bf"
945
+ }
946
+ ]
947
+ },
948
+ {
949
+ "name": "Asia Emerging",
950
+ "color": "#5866a5",
951
+ "children": [
952
+ {
953
+ "name": "India",
954
+ "color": "#7985bf"
955
+ },
956
+ {
957
+ "name": "China",
958
+ "color": "#7985bf"
959
+ },
960
+ {
961
+ "name": "South Korea",
962
+ "color": "#7985bf"
963
+ },
964
+ {
965
+ "name": "Thailand",
966
+ "color": "#7985bf"
967
+ },
968
+ {
969
+ "name": "Malaysia",
970
+ "color": "#7985bf"
971
+ },
972
+ {
973
+ "name": "Indonesia",
974
+ "color": "#7985bf"
975
+ },
976
+ {
977
+ "name": "Philippines",
978
+ "color": "#7985bf"
979
+ }
980
+ ]
981
+ },
982
+ {
983
+ "name": "Asia Developed",
984
+ "color": "#7e58a5",
985
+ "children": [
986
+ {
987
+ "name": "Taiwan",
988
+ "color": "#9b79bf"
989
+ },
990
+ {
991
+ "name": "Japan",
992
+ "color": "#9b79bf"
993
+ },
994
+ {
995
+ "name": "Singapore",
996
+ "color": "#9b79bf"
997
+ },
998
+ {
999
+ "name": "Hong Kong",
1000
+ "color": "#9b79bf"
1001
+ },
1002
+ {
1003
+ "name": "Macao",
1004
+ "color": "#9b79bf"
1005
+ }
1006
+ ]
1007
+ },
1008
+ {
1009
+ "name": "Europe Developed",
1010
+ "color": "#a55899",
1011
+ "children": [
1012
+ {
1013
+ "name": "EMU",
1014
+ "color": "#bf79b3",
1015
+ "children": [
1016
+ {
1017
+ "name": "Germany",
1018
+ "color": "#d89fcf"
1019
+ },
1020
+ {
1021
+ "name": "France",
1022
+ "color": "#d89fcf"
1023
+ },
1024
+ {
1025
+ "name": "Spain",
1026
+ "color": "#d89fcf"
1027
+ },
1028
+ {
1029
+ "name": "Netherlands",
1030
+ "color": "#d89fcf"
1031
+ },
1032
+ {
1033
+ "name": "Italy",
1034
+ "color": "#d89fcf"
1035
+ },
1036
+ {
1037
+ "name": "Belgium",
1038
+ "color": "#d89fcf"
1039
+ },
1040
+ {
1041
+ "name": "Finland",
1042
+ "color": "#d89fcf"
1043
+ },
1044
+ {
1045
+ "name": "Ireland",
1046
+ "color": "#d89fcf"
1047
+ },
1048
+ {
1049
+ "name": "Austria",
1050
+ "color": "#d89fcf"
1051
+ },
1052
+ {
1053
+ "name": "Portugal",
1054
+ "color": "#d89fcf"
1055
+ },
1056
+ {
1057
+ "name": "Luxembourg",
1058
+ "color": "#d89fcf"
1059
+ }
1060
+ ]
1061
+ },
1062
+ {
1063
+ "name": "Ex-EMU",
1064
+ "color": "#bf79b3",
1065
+ "children": [
1066
+ {
1067
+ "name": "United Kingdom",
1068
+ "color": "#d89fcf"
1069
+ },
1070
+ {
1071
+ "name": "Switzerland",
1072
+ "color": "#d89fcf"
1073
+ },
1074
+ {
1075
+ "name": "Danemark",
1076
+ "color": "#d89fcf"
1077
+ },
1078
+ {
1079
+ "name": "Sweden",
1080
+ "color": "#d89fcf"
1081
+ },
1082
+ {
1083
+ "name": "Norway",
1084
+ "color": "#d89fcf"
1085
+ }
1086
+ ]
1087
+ }
1088
+ ]
1089
+ },
1090
+ {
1091
+ "name": "North America",
1092
+ "color": "#a55866",
1093
+ "children": [
1094
+ {
1095
+ "name": "United States",
1096
+ "color": "#bf7985"
1097
+ },
1098
+ {
1099
+ "name": "Canada",
1100
+ "color": "#bf7985"
1101
+ }
1102
+ ]
1103
+ }
1104
+ ],
1105
+ "instruments": []
1106
+ },
1107
+ {
1108
+ "name": "Region",
1109
+ "color": "#89afee",
1110
+ "categories": [
1111
+ {
1112
+ "name": "North America",
1113
+ "color": "#968e25",
1114
+ "children": [
1115
+ {
1116
+ "name": "United States",
1117
+ "color": "#afa83d"
1118
+ },
1119
+ {
1120
+ "name": "Canada",
1121
+ "color": "#afa83d"
1122
+ }
1123
+ ]
1124
+ },
1125
+ {
1126
+ "name": "Europe Developed",
1127
+ "color": "#529625",
1128
+ "children": [
1129
+ {
1130
+ "name": "United Kingdom",
1131
+ "color": "#6baf3d"
1132
+ },
1133
+ {
1134
+ "name": "EMU",
1135
+ "color": "#6baf3d"
1136
+ },
1137
+ {
1138
+ "name": "Ex-EMU",
1139
+ "color": "#6baf3d"
1140
+ }
1141
+ ]
1142
+ },
1143
+ {
1144
+ "name": "Asia Emerging",
1145
+ "color": "#259643"
1146
+ },
1147
+ {
1148
+ "name": "Central \u0026 Latin America",
1149
+ "color": "#25968e"
1150
+ },
1151
+ {
1152
+ "name": "Europe Emerging",
1153
+ "color": "#255296"
1154
+ },
1155
+ {
1156
+ "name": "Middle East",
1157
+ "color": "#432596"
1158
+ },
1159
+ {
1160
+ "name": "Asia Developed",
1161
+ "color": "#8e2596",
1162
+ "children": [
1163
+ {
1164
+ "name": "Japan",
1165
+ "color": "#a83daf"
1166
+ }
1167
+ ]
1168
+ },
1169
+ {
1170
+ "name": "Australasia",
1171
+ "color": "#962552"
1172
+ },
1173
+ {
1174
+ "name": "Africa",
1175
+ "color": "#964325"
1176
+ }
1177
+ ],
1178
+ "instruments": []
1179
+ },
1180
+ {
1181
+ "name": "Bond Sector",
1182
+ "color": "#89afee",
1183
+ "categories": [
1184
+ {
1185
+ "name": "Government Related",
1186
+ "color": "#9fa04c"
1187
+ },
1188
+ {
1189
+ "name": "Non-Agency Residential Mortgage Backed",
1190
+ "color": "#60a04c"
1191
+ },
1192
+ {
1193
+ "name": "Covered Bond",
1194
+ "color": "#4ca076"
1195
+ },
1196
+ {
1197
+ "name": "Government",
1198
+ "color": "#4c8aa0"
1199
+ },
1200
+ {
1201
+ "name": "Future/Forward",
1202
+ "color": "#4c4ca0"
1203
+ },
1204
+ {
1205
+ "name": "Corporate Bond",
1206
+ "color": "#8b4ca0"
1207
+ },
1208
+ {
1209
+ "name": "Preferred",
1210
+ "color": "#a04c75"
1211
+ },
1212
+ {
1213
+ "name": "Cash \u0026 Equivalents",
1214
+ "color": "#a0614c"
1215
+ }
1216
+ ],
1217
+ "instruments": []
1218
+ },
1219
+ {
1220
+ "name": "Stock Sector",
1221
+ "color": "#89afee",
1222
+ "categories": [
1223
+ {
1224
+ "name": "Real Estate",
1225
+ "color": "#46a1b3"
1226
+ },
1227
+ {
1228
+ "name": "Utilities",
1229
+ "color": "#4666b3"
1230
+ },
1231
+ {
1232
+ "name": "Energy",
1233
+ "color": "#6246b3"
1234
+ },
1235
+ {
1236
+ "name": "Basic Materials",
1237
+ "color": "#9d46b3"
1238
+ },
1239
+ {
1240
+ "name": "Consumer Defensive",
1241
+ "color": "#b3468d"
1242
+ },
1243
+ {
1244
+ "name": "Communication Services",
1245
+ "color": "#b34652"
1246
+ },
1247
+ {
1248
+ "name": "Consumer Cyclical",
1249
+ "color": "#b37546"
1250
+ },
1251
+ {
1252
+ "name": "Healthcare",
1253
+ "color": "#b3b146"
1254
+ },
1255
+ {
1256
+ "name": "Industrials",
1257
+ "color": "#7ab346"
1258
+ },
1259
+ {
1260
+ "name": "Financial Services",
1261
+ "color": "#46b34e"
1262
+ },
1263
+ {
1264
+ "name": "Technology",
1265
+ "color": "#46b389"
1266
+ }
1267
+ ],
1268
+ "instruments": []
1269
+ },
1270
+ {
1271
+ "name": "Stock Style",
1272
+ "color": "#89afee",
1273
+ "categories": [
1274
+ {
1275
+ "name": "Small Growth",
1276
+ "color": "#84c98d"
1277
+ },
1278
+ {
1279
+ "name": "Small Value",
1280
+ "color": "#84c9bb"
1281
+ },
1282
+ {
1283
+ "name": "Small Blend",
1284
+ "color": "#84a9c9"
1285
+ },
1286
+ {
1287
+ "name": "Mid Growth",
1288
+ "color": "#8d84c9"
1289
+ },
1290
+ {
1291
+ "name": "Mid Value",
1292
+ "color": "#bb84c9"
1293
+ },
1294
+ {
1295
+ "name": "Mid Blend",
1296
+ "color": "#c984a9"
1297
+ },
1298
+ {
1299
+ "name": "Large Value",
1300
+ "color": "#c98d84"
1301
+ },
1302
+ {
1303
+ "name": "Large Growth",
1304
+ "color": "#c9bb84"
1305
+ },
1306
+ {
1307
+ "name": "Large Blend",
1308
+ "color": "#a9c984"
1309
+ }
1310
+ ],
1311
+ "instruments": []
1312
+ }
1313
+ ]