kensho-kfinance 1.0.0__py3-none-any.whl

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.

Potentially problematic release.


This version of kensho-kfinance might be problematic. Click here for more details.

kfinance/constants.py ADDED
@@ -0,0 +1,1689 @@
1
+ from datetime import date
2
+ from itertools import chain
3
+ from typing import TypedDict
4
+
5
+ from strenum import StrEnum
6
+
7
+
8
+ class LineItemType(TypedDict):
9
+ name: str
10
+ aliases: set[str]
11
+ dataitemid: int
12
+ spgi_name: str
13
+
14
+
15
+ class HistoryMetadata(TypedDict):
16
+ currency: str
17
+ symbol: str
18
+ exchange_name: str
19
+ instrument_type: str
20
+ first_trade_date: date
21
+
22
+
23
+ class IdentificationTriple(TypedDict):
24
+ trading_item_id: int
25
+ security_id: int
26
+ company_id: int
27
+
28
+
29
+ class BusinessRelationshipType(StrEnum):
30
+ supplier = "supplier"
31
+ customer = "customer"
32
+ distributor = "distributor"
33
+ franchisor = "franchisor"
34
+ franchisee = "franchisee"
35
+ landlord = "landlord"
36
+ tenant = "tenant"
37
+ licensor = "licensor"
38
+ licensee = "licensee"
39
+ creditor = "creditor"
40
+ borrower = "borrower"
41
+ lessor = "lessor"
42
+ lessee = "lessee"
43
+ strategic_alliance = "strategic_alliance"
44
+ investor_relations_firm = "investor_relations_firm"
45
+ investor_relations_client = "investor_relations_client"
46
+ transfer_agent = "transfer_agent"
47
+ transfer_agent_client = "transfer_agent_client"
48
+ vendor = "vendor"
49
+ client_services = "client_services"
50
+
51
+
52
+ class YearAndQuarter(TypedDict):
53
+ year: int
54
+ quarter: int
55
+
56
+
57
+ class LatestAnnualPeriod(TypedDict):
58
+ latest_year: int
59
+
60
+
61
+ class LatestQuarterlyPeriod(TypedDict):
62
+ latest_quarter: int
63
+ latest_year: int
64
+
65
+
66
+ class CurrentPeriod(TypedDict):
67
+ current_year: int
68
+ current_quarter: int
69
+ current_month: int
70
+ current_date: str
71
+
72
+
73
+ class LatestPeriods(TypedDict):
74
+ annual: LatestAnnualPeriod
75
+ quarterly: LatestQuarterlyPeriod
76
+ now: CurrentPeriod
77
+
78
+
79
+ # all of these values must be lower case keys
80
+ LINE_ITEMS: list[LineItemType] = [
81
+ {
82
+ "name": "revenue",
83
+ "aliases": {"normal_revenue", "regular_revenue"},
84
+ "dataitemid": 112,
85
+ "spgi_name": "Revenue",
86
+ },
87
+ {
88
+ "name": "finance_division_revenue",
89
+ "aliases": set(),
90
+ "dataitemid": 52,
91
+ "spgi_name": "Finance Div. Revenue",
92
+ },
93
+ {
94
+ "name": "insurance_division_revenue",
95
+ "aliases": set(),
96
+ "dataitemid": 70,
97
+ "spgi_name": "Insurance Div. Revenue",
98
+ },
99
+ {
100
+ "name": "revenue_from_sale_of_assets",
101
+ "aliases": set(),
102
+ "dataitemid": 104,
103
+ "spgi_name": "Gain(Loss) on Sale Of Assets (Rev)",
104
+ },
105
+ {
106
+ "name": "revenue_from_sale_of_investments",
107
+ "aliases": set(),
108
+ "dataitemid": 106,
109
+ "spgi_name": "Gain(Loss) on Sale Of Invest. (Rev)",
110
+ },
111
+ {
112
+ "name": "revenue_from_interest_and_investment_income",
113
+ "aliases": set(),
114
+ "dataitemid": 110,
115
+ "spgi_name": "Interest And Invest. Income (Rev)",
116
+ },
117
+ {"name": "other_revenue", "aliases": set(), "dataitemid": 90, "spgi_name": "Other Revenue"},
118
+ {
119
+ "name": "total_other_revenue",
120
+ "aliases": set(),
121
+ "dataitemid": 357,
122
+ "spgi_name": "Other Revenue, Total",
123
+ },
124
+ {
125
+ "name": "fees_and_other_income",
126
+ "aliases": set(),
127
+ "dataitemid": 168,
128
+ "spgi_name": "Fees and Other Income",
129
+ },
130
+ {"name": "total_revenue", "aliases": set(), "dataitemid": 28, "spgi_name": "Total Revenue"},
131
+ {
132
+ "name": "cost_of_goods_sold",
133
+ "aliases": {"cogs"},
134
+ "dataitemid": 34,
135
+ "spgi_name": "Cost Of Goods Sold",
136
+ },
137
+ {
138
+ "name": "finance_division_operating_expense",
139
+ "aliases": {"operating_expense_finance_division"},
140
+ "dataitemid": 51,
141
+ "spgi_name": "Finance Div. Operating Exp.",
142
+ },
143
+ {
144
+ "name": "insurance_division_operating_expense",
145
+ "aliases": {"operating_expense_insurance_division"},
146
+ "dataitemid": 69,
147
+ "spgi_name": "Insurance Div. Operating Exp.",
148
+ },
149
+ {
150
+ "name": "finance_division_interest_expense",
151
+ "aliases": {"interest_expense_finance_division"},
152
+ "dataitemid": 50,
153
+ "spgi_name": "Interest Expense - Finance Division",
154
+ },
155
+ {
156
+ "name": "cost_of_revenue",
157
+ "aliases": {"cor"},
158
+ "dataitemid": 1,
159
+ "spgi_name": "Cost Of Revenue",
160
+ },
161
+ {"name": "gross_profit", "aliases": set(), "dataitemid": 10, "spgi_name": "Gross Profit"},
162
+ {
163
+ "name": "selling_general_and_admin_expense",
164
+ "aliases": {
165
+ "selling_general_and_admin_cost",
166
+ "selling_general_and_admin",
167
+ "sg_and_a",
168
+ "sga",
169
+ },
170
+ "dataitemid": 102,
171
+ "spgi_name": "Selling General & Admin Exp.",
172
+ },
173
+ {
174
+ "name": "exploration_and_drilling_costs",
175
+ "aliases": {
176
+ "exploration_and_drilling_expense",
177
+ },
178
+ "dataitemid": 49,
179
+ "spgi_name": "Exploration/Drilling Costs",
180
+ },
181
+ {
182
+ "name": "provision_for_bad_debts",
183
+ "aliases": {
184
+ "provision_for_bad_debt",
185
+ },
186
+ "dataitemid": 95,
187
+ "spgi_name": "Provision for Bad Debts",
188
+ },
189
+ {
190
+ "name": "pre_opening_costs",
191
+ "aliases": {
192
+ "pre_opening_expense",
193
+ },
194
+ "dataitemid": 96,
195
+ "spgi_name": "Pre-Opening Costs",
196
+ },
197
+ {
198
+ "name": "total_selling_general_and_admin_expense",
199
+ "aliases": {
200
+ "total_selling_general_and_admin_cost",
201
+ "total_selling_general_and_admin",
202
+ "total_sga",
203
+ },
204
+ "dataitemid": 23,
205
+ "spgi_name": "SG&A Exp., Total",
206
+ },
207
+ {
208
+ "name": "research_and_development_expense",
209
+ "aliases": {
210
+ "research_and_development_cost",
211
+ "r_and_d_expense",
212
+ "r_and_d_cost",
213
+ "rnd_expense",
214
+ "rnd_cost",
215
+ },
216
+ "dataitemid": 100,
217
+ "spgi_name": "R & D Exp.",
218
+ },
219
+ {
220
+ "name": "depreciation_and_amortization",
221
+ "aliases": {
222
+ "d_and_a",
223
+ "dna",
224
+ },
225
+ "dataitemid": 41,
226
+ "spgi_name": "Depreciation & Amort.",
227
+ },
228
+ {
229
+ "name": "amortization_of_goodwill_and_intangibles",
230
+ "aliases": set(),
231
+ "dataitemid": 31,
232
+ "spgi_name": "Amort. of Goodwill and Intangibles",
233
+ },
234
+ {
235
+ "name": "impairment_of_oil_gas_and_mineral_properties",
236
+ "aliases": {
237
+ "impairment_of_oil_and_gas",
238
+ "impairment_o_and_g",
239
+ },
240
+ "dataitemid": 71,
241
+ "spgi_name": "Impair. of Oil, Gas & Mineral Prop.",
242
+ },
243
+ {
244
+ "name": "total_depreciation_and_amortization",
245
+ "aliases": {
246
+ "total_d_and_a",
247
+ "total_dna",
248
+ },
249
+ "dataitemid": 2,
250
+ "spgi_name": "Depreciation & Amort., Total",
251
+ },
252
+ {
253
+ "name": "other_operating_expense",
254
+ "aliases": set(),
255
+ "dataitemid": 260,
256
+ "spgi_name": "Other Operating Expense/(Income)",
257
+ },
258
+ {
259
+ "name": "total_other_operating_expense",
260
+ "aliases": set(),
261
+ "dataitemid": 380,
262
+ "spgi_name": "Other Operating Exp., Total",
263
+ },
264
+ {
265
+ "name": "total_operating_expense",
266
+ "aliases": {
267
+ "operating_expense",
268
+ },
269
+ "dataitemid": 373,
270
+ "spgi_name": "Total Operating Expenses",
271
+ },
272
+ {
273
+ "name": "operating_income",
274
+ "aliases": set(),
275
+ "dataitemid": 21,
276
+ "spgi_name": "Operating Income",
277
+ },
278
+ {
279
+ "name": "interest_expense",
280
+ "aliases": set(),
281
+ "dataitemid": 82,
282
+ "spgi_name": "Interest Expense",
283
+ },
284
+ {
285
+ "name": "interest_and_investment_income",
286
+ "aliases": set(),
287
+ "dataitemid": 65,
288
+ "spgi_name": "Interest and Invest. Income",
289
+ },
290
+ {
291
+ "name": "net_interest_expense",
292
+ "aliases": set(),
293
+ "dataitemid": 368,
294
+ "spgi_name": "Net Interest Exp.",
295
+ },
296
+ {
297
+ "name": "income_from_affiliates",
298
+ "aliases": set(),
299
+ "dataitemid": 47,
300
+ "spgi_name": "Income / (Loss) from Affiliates",
301
+ },
302
+ {
303
+ "name": "currency_exchange_gains",
304
+ "aliases": set(),
305
+ "dataitemid": 38,
306
+ "spgi_name": "Currency Exchange Gains (Loss)",
307
+ },
308
+ {
309
+ "name": "other_non_operating_income",
310
+ "aliases": set(),
311
+ "dataitemid": 85,
312
+ "spgi_name": "Other Non-Operating Inc. (Exp.)",
313
+ },
314
+ {
315
+ "name": "total_other_non_operating_income",
316
+ "aliases": set(),
317
+ "dataitemid": 371,
318
+ "spgi_name": "Other Non-Operating Exp., Total",
319
+ },
320
+ {
321
+ "name": "ebt_excluding_unusual_items",
322
+ "aliases": {
323
+ "earnings_before_taxes_excluding_unusual_items",
324
+ },
325
+ "dataitemid": 4,
326
+ "spgi_name": "EBT Excl Unusual Items",
327
+ },
328
+ {
329
+ "name": "restructuring_charges",
330
+ "aliases": set(),
331
+ "dataitemid": 98,
332
+ "spgi_name": "Restructuring Charges",
333
+ },
334
+ {
335
+ "name": "merger_charges",
336
+ "aliases": set(),
337
+ "dataitemid": 80,
338
+ "spgi_name": "Merger & Related Restruct. Charges",
339
+ },
340
+ {
341
+ "name": "merger_and_restructuring_charges",
342
+ "aliases": set(),
343
+ "dataitemid": 363,
344
+ "spgi_name": "Merger & Restruct. Charges",
345
+ },
346
+ {
347
+ "name": "impairment_of_goodwill",
348
+ "aliases": set(),
349
+ "dataitemid": 209,
350
+ "spgi_name": "Impairment of Goodwill",
351
+ },
352
+ {
353
+ "name": "gain_from_sale_of_assets",
354
+ "aliases": set(),
355
+ "dataitemid": 62,
356
+ "spgi_name": "Gain (Loss) On Sale Of Invest.",
357
+ },
358
+ {
359
+ "name": "gain_from_sale_of_investments",
360
+ "aliases": set(),
361
+ "dataitemid": 56,
362
+ "spgi_name": "Gain (Loss) On Sale Of Assets",
363
+ },
364
+ {"name": "asset_writedown", "aliases": set(), "dataitemid": 32, "spgi_name": "Asset Writedown"},
365
+ {
366
+ "name": "in_process_research_and_development_expense",
367
+ "aliases": {
368
+ "in_process_research_and_development_cost",
369
+ "in_process_r_and_d_expense",
370
+ "in_process_r_and_d_cost",
371
+ "in_process_rnd_expense",
372
+ "in_process_rnd_cost",
373
+ },
374
+ "dataitemid": 72,
375
+ "spgi_name": "In Process R & D Exp.",
376
+ },
377
+ {
378
+ "name": "insurance_settlements",
379
+ "aliases": set(),
380
+ "dataitemid": 73,
381
+ "spgi_name": "Insurance Settlements",
382
+ },
383
+ {
384
+ "name": "legal_settlements",
385
+ "aliases": set(),
386
+ "dataitemid": 77,
387
+ "spgi_name": "Legal Settlements",
388
+ },
389
+ {
390
+ "name": "other_unusual_items",
391
+ "aliases": set(),
392
+ "dataitemid": 87,
393
+ "spgi_name": "Other Unusual Items",
394
+ },
395
+ {
396
+ "name": "total_other_unusual_items",
397
+ "aliases": set(),
398
+ "dataitemid": 374,
399
+ "spgi_name": "Other Unusual Items, Total",
400
+ },
401
+ {
402
+ "name": "total_unusual_items",
403
+ "aliases": {
404
+ "unusual_items",
405
+ },
406
+ "dataitemid": 19,
407
+ "spgi_name": "Total Unusual Items",
408
+ },
409
+ {
410
+ "name": "ebt_including_unusual_items",
411
+ "aliases": {
412
+ "earnings_before_taxes_including_unusual_items",
413
+ },
414
+ "dataitemid": 139,
415
+ "spgi_name": "EBT Incl. Unusual Items",
416
+ },
417
+ {
418
+ "name": "income_tax_expense",
419
+ "aliases": {
420
+ "income_taxes",
421
+ "income_tax",
422
+ },
423
+ "dataitemid": 75,
424
+ "spgi_name": "Income Tax Expense",
425
+ },
426
+ {
427
+ "name": "earnings_from_continued_operations",
428
+ "aliases": {
429
+ "continued_operations_earnings",
430
+ },
431
+ "dataitemid": 7,
432
+ "spgi_name": "Earnings from Cont. Ops.",
433
+ },
434
+ {
435
+ "name": "earnings_from_discontinued_operations",
436
+ "aliases": {
437
+ "discontinued_operations_earnings",
438
+ },
439
+ "dataitemid": 40,
440
+ "spgi_name": "Earnings of Discontinued Ops.",
441
+ },
442
+ {
443
+ "name": "extraordinary_item_and_accounting_change",
444
+ "aliases": set(),
445
+ "dataitemid": 42,
446
+ "spgi_name": "Extraord. Item & Account. Change",
447
+ },
448
+ {
449
+ "name": "net_income_to_company",
450
+ "aliases": set(),
451
+ "dataitemid": 41571,
452
+ "spgi_name": "Net Income to Company",
453
+ },
454
+ {
455
+ "name": "minority_interest_in_earnings",
456
+ "aliases": {
457
+ "net_income_to_minority_interest",
458
+ },
459
+ "dataitemid": 83,
460
+ "spgi_name": "Minority Int. in Earnings",
461
+ },
462
+ {"name": "net_income", "aliases": set(), "dataitemid": 15, "spgi_name": "Net Income"},
463
+ {
464
+ "name": "premium_on_redemption_of_preferred_stock",
465
+ "aliases": set(),
466
+ "dataitemid": 279,
467
+ "spgi_name": "Premium on Redemption of Pref. Stock",
468
+ },
469
+ {
470
+ "name": "preferred_stock_dividend",
471
+ "aliases": set(),
472
+ "dataitemid": 280,
473
+ "spgi_name": "Preferred Stock Dividend",
474
+ },
475
+ {
476
+ "name": "other_preferred_stock_adjustments",
477
+ "aliases": set(),
478
+ "dataitemid": 281,
479
+ "spgi_name": "Other Pref. Stock Adjustments",
480
+ },
481
+ {
482
+ "name": "other_adjustments_to_net_income",
483
+ "aliases": set(),
484
+ "dataitemid": 259,
485
+ "spgi_name": "Other Adjustments to Net Income",
486
+ },
487
+ {
488
+ "name": "preferred_dividends_and_other_adjustments",
489
+ "aliases": set(),
490
+ "dataitemid": 97,
491
+ "spgi_name": "Pref. Dividends and Other Adj.",
492
+ },
493
+ {
494
+ "name": "net_income_allocable_to_general_partner",
495
+ "aliases": set(),
496
+ "dataitemid": 249,
497
+ "spgi_name": "Net Income Allocable to General Partner",
498
+ },
499
+ {
500
+ "name": "net_income_to_common_shareholders_including_extra_items",
501
+ "aliases": set(),
502
+ "dataitemid": 16,
503
+ "spgi_name": "NI to Common Incl. Extra Items",
504
+ },
505
+ {
506
+ "name": "net_income_to_common_shareholders_excluding_extra_items",
507
+ "aliases": set(),
508
+ "dataitemid": 379,
509
+ "spgi_name": "NI to Common Excl. Extra Items",
510
+ },
511
+ {
512
+ "name": "cash_and_equivalents",
513
+ "aliases": {
514
+ "cash",
515
+ "cash_and_cash_equivalents",
516
+ },
517
+ "dataitemid": 1096,
518
+ "spgi_name": "Cash And Equivalents",
519
+ },
520
+ {
521
+ "name": "short_term_investments",
522
+ "aliases": set(),
523
+ "dataitemid": 1069,
524
+ "spgi_name": "Short Term Investments",
525
+ },
526
+ {
527
+ "name": "trading_asset_securities",
528
+ "aliases": set(),
529
+ "dataitemid": 1244,
530
+ "spgi_name": "Trading Asset Securities",
531
+ },
532
+ {
533
+ "name": "total_cash_and_short_term_investments",
534
+ "aliases": {
535
+ "cash_and_short_term_investments",
536
+ },
537
+ "dataitemid": 1002,
538
+ "spgi_name": "Total Cash & ST Investments",
539
+ },
540
+ {
541
+ "name": "accounts_receivable",
542
+ "aliases": {
543
+ "short_term_accounts_receivable",
544
+ "current_accounts_receivable",
545
+ },
546
+ "dataitemid": 1021,
547
+ "spgi_name": "Accounts Receivable",
548
+ },
549
+ {
550
+ "name": "other_receivables",
551
+ "aliases": {
552
+ "short_term_other_receivables",
553
+ "current_other_receivables",
554
+ },
555
+ "dataitemid": 1206,
556
+ "spgi_name": "Other Receivables",
557
+ },
558
+ {
559
+ "name": "notes_receivable",
560
+ "aliases": {
561
+ "short_term_notes_receivable",
562
+ "current_notes_receivable",
563
+ },
564
+ "dataitemid": 1048,
565
+ "spgi_name": "Notes Receivable",
566
+ },
567
+ {
568
+ "name": "total_receivables",
569
+ "aliases": {
570
+ "short_term_total_receivables",
571
+ "current_total_receivables",
572
+ "total_receivable",
573
+ "short_term_total_receivable",
574
+ "current_total_receivable",
575
+ },
576
+ "dataitemid": 1001,
577
+ "spgi_name": "Total Receivables",
578
+ },
579
+ {
580
+ "name": "inventory",
581
+ "aliases": {
582
+ "inventories",
583
+ },
584
+ "dataitemid": 1043,
585
+ "spgi_name": "Inventory",
586
+ },
587
+ {
588
+ "name": "prepaid_expense",
589
+ "aliases": {
590
+ "prepaid_expenses",
591
+ },
592
+ "dataitemid": 1212,
593
+ "spgi_name": "Prepaid Exp.",
594
+ },
595
+ {
596
+ "name": "finance_division_loans_and_leases_short_term",
597
+ "aliases": {
598
+ "finance_division_short_term_loans_and_leases",
599
+ "short_term_finance_division_loans_and_leases",
600
+ "short_term_loans_and_leases_of_the_finance_division",
601
+ },
602
+ "dataitemid": 1032,
603
+ "spgi_name": "Finance Div. Loans and Leases, ST",
604
+ },
605
+ {
606
+ "name": "finance_division_other_current_assets",
607
+ "aliases": {
608
+ "finance_division_other_short_term_assets",
609
+ "other_current_assets_of_the_finance_division",
610
+ "other_short_term_assets_of_the_finance_division",
611
+ },
612
+ "dataitemid": 1029,
613
+ "spgi_name": "Finance Div. Other Curr. Assets",
614
+ },
615
+ {
616
+ "name": "loans_held_for_sale",
617
+ "aliases": set(),
618
+ "dataitemid": 1185,
619
+ "spgi_name": "Loans Held For Sale",
620
+ },
621
+ {
622
+ "name": "deferred_tax_asset_current_portion",
623
+ "aliases": {
624
+ "current_deferred_tax_asset",
625
+ "short_term_deferred_tax_asset",
626
+ },
627
+ "dataitemid": 1117,
628
+ "spgi_name": "Deferred Tax Assets, Curr.",
629
+ },
630
+ {
631
+ "name": "restricted_cash",
632
+ "aliases": set(),
633
+ "dataitemid": 1104,
634
+ "spgi_name": "Restricted Cash",
635
+ },
636
+ {
637
+ "name": "other_current_assets",
638
+ "aliases": set(),
639
+ "dataitemid": 1055,
640
+ "spgi_name": "Other Current Assets",
641
+ },
642
+ {
643
+ "name": "total_current_assets",
644
+ "aliases": {
645
+ "current_assets",
646
+ "total_short_term_assets",
647
+ "short_term_assets",
648
+ },
649
+ "dataitemid": 1008,
650
+ "spgi_name": "Total Current Assets",
651
+ },
652
+ {
653
+ "name": "gross_property_plant_and_equipment",
654
+ "aliases": {
655
+ "gppe",
656
+ "gross_ppe",
657
+ },
658
+ "dataitemid": 1169,
659
+ "spgi_name": "Gross Property, Plant & Equipment",
660
+ },
661
+ {
662
+ "name": "accumulated_depreciation",
663
+ "aliases": set(),
664
+ "dataitemid": 1075,
665
+ "spgi_name": "Accumulated Depreciation",
666
+ },
667
+ {
668
+ "name": "net_property_plant_and_equipment",
669
+ "aliases": {
670
+ "property_plant_and_equipment",
671
+ "nppe",
672
+ "ppe",
673
+ "net_ppe",
674
+ },
675
+ "dataitemid": 1004,
676
+ "spgi_name": "Net Property, Plant & Equipment",
677
+ },
678
+ {
679
+ "name": "long_term_investments",
680
+ "aliases": {
681
+ "non_current_investments",
682
+ },
683
+ "dataitemid": 1054,
684
+ "spgi_name": "Long-term Investments",
685
+ },
686
+ {"name": "goodwill", "aliases": set(), "dataitemid": 1171, "spgi_name": "Goodwill"},
687
+ {
688
+ "name": "other_intangibles",
689
+ "aliases": set(),
690
+ "dataitemid": 1040,
691
+ "spgi_name": "Other Intangibles",
692
+ },
693
+ {
694
+ "name": "finance_division_loans_and_leases_long_term",
695
+ "aliases": {
696
+ "finance_division_long_term_loans_and_leases",
697
+ "long_term_finance_division_loans_and_leases",
698
+ "long_term_loans_and_leases_of_the_finance_division",
699
+ },
700
+ "dataitemid": 1033,
701
+ "spgi_name": "Finance Div. Loans and Leases, LT",
702
+ },
703
+ {
704
+ "name": "finance_division_other_non_current_assets",
705
+ "aliases": {
706
+ "finance_division_other_long_term_assets",
707
+ "other_non_current_assets_of_the_finance_division",
708
+ "other_long_term_assets_of_the_finance_division",
709
+ },
710
+ "dataitemid": 1034,
711
+ "spgi_name": "Finance Div. Other LT Assets",
712
+ },
713
+ {
714
+ "name": "long_term_accounts_receivable",
715
+ "aliases": {
716
+ "non_current_accounts_receivable",
717
+ },
718
+ "dataitemid": 1088,
719
+ "spgi_name": "Accounts Receivable Long-Term",
720
+ },
721
+ {
722
+ "name": "long_term_loans_receivable",
723
+ "aliases": {
724
+ "non_current_loans_receivable",
725
+ "loans_receivable",
726
+ },
727
+ "dataitemid": 1050,
728
+ "spgi_name": "Loans Receivable Long-Term",
729
+ },
730
+ {
731
+ "name": "long_term_deferred_tax_assets",
732
+ "aliases": {
733
+ "non_current_deferred_tax_assets",
734
+ },
735
+ "dataitemid": 1026,
736
+ "spgi_name": "Deferred Tax Assets, LT",
737
+ },
738
+ {
739
+ "name": "long_term_deferred_charges",
740
+ "aliases": {
741
+ "non_current_deferred_charges",
742
+ },
743
+ "dataitemid": 1025,
744
+ "spgi_name": "Deferred Charges, LT",
745
+ },
746
+ {
747
+ "name": "other_long_term_assets",
748
+ "aliases": {
749
+ "long_term_other_assets",
750
+ "other_non_current_assets",
751
+ "non_current_other_assets",
752
+ },
753
+ "dataitemid": 1060,
754
+ "spgi_name": "Other Long-Term Assets",
755
+ },
756
+ {
757
+ "name": "total_assets",
758
+ "aliases": {
759
+ "assets",
760
+ },
761
+ "dataitemid": 1007,
762
+ "spgi_name": "Total Assets",
763
+ },
764
+ {
765
+ "name": "accounts_payable",
766
+ "aliases": set(),
767
+ "dataitemid": 1018,
768
+ "spgi_name": "Accounts Payable",
769
+ },
770
+ {
771
+ "name": "accrued_expenses",
772
+ "aliases": set(),
773
+ "dataitemid": 1016,
774
+ "spgi_name": "Accrued Expenses",
775
+ },
776
+ {
777
+ "name": "short_term_borrowings",
778
+ "aliases": {
779
+ "current_borrowings",
780
+ "short_term_borrowing",
781
+ "current_borrowing",
782
+ },
783
+ "dataitemid": 1046,
784
+ "spgi_name": "Short-term Borrowings",
785
+ },
786
+ {
787
+ "name": "current_portion_of_long_term_debt",
788
+ "aliases": {
789
+ "current_portion_of_non_current_debt",
790
+ "current_portion_of_lt_debt",
791
+ },
792
+ "dataitemid": 1297,
793
+ "spgi_name": "Current Portion of Long Term Debt",
794
+ },
795
+ {
796
+ "name": "current_portion_of_capital_leases",
797
+ "aliases": {
798
+ "current_portion_of_capitalized_leases",
799
+ "current_portion_of_cap_leases",
800
+ "current_portion_of_leases",
801
+ },
802
+ "dataitemid": 1090,
803
+ "spgi_name": "Curr. Port. of Cap. Leases",
804
+ },
805
+ {
806
+ "name": "current_portion_of_long_term_debt_and_capital_leases",
807
+ "aliases": {
808
+ "current_portion_of_lt_debt_and_cap_leases",
809
+ "current_portion_of_long_term_debt_and_capitalized_leases",
810
+ "current_portion_of_non_current_debt_and_capital_leases",
811
+ "current_portion_of_non_current_debt_and_capitalized_leases",
812
+ "total_current_portion_of_long_term_debt_and_capital_leases",
813
+ "total_current_portion_of_lt_debt_and_cap_leases",
814
+ "total_current_portion_of_long_term_debt_and_capitalized_leases",
815
+ "total_current_portion_of_non_current_debt_and_capital_leases",
816
+ "total_current_portion_of_non_current_debt_and_capitalized_leases",
817
+ },
818
+ "dataitemid": 1279,
819
+ "spgi_name": "Curr. Port. of LT Debt/Cap. Leases",
820
+ },
821
+ {
822
+ "name": "finance_division_debt_current_portion",
823
+ "aliases": set(),
824
+ "dataitemid": 1030,
825
+ "spgi_name": "Finance Div. Debt Current",
826
+ },
827
+ {
828
+ "name": "finance_division_other_current_liabilities",
829
+ "aliases": set(),
830
+ "dataitemid": 1031,
831
+ "spgi_name": "Finance Div. Other Curr. Liab.",
832
+ },
833
+ {
834
+ "name": "current_income_taxes_payable",
835
+ "aliases": {
836
+ "current_portion_of_income_taxes_payable",
837
+ },
838
+ "dataitemid": 1094,
839
+ "spgi_name": "Curr. Income Taxes Payable",
840
+ },
841
+ {
842
+ "name": "current_unearned_revenue",
843
+ "aliases": {
844
+ "current_portion_of_unearned_revenue",
845
+ },
846
+ "dataitemid": 1074,
847
+ "spgi_name": "Unearned Revenue, Current",
848
+ },
849
+ {
850
+ "name": "current_deferred_tax_liability",
851
+ "aliases": set(),
852
+ "dataitemid": 1119,
853
+ "spgi_name": "Def. Tax Liability, Curr.",
854
+ },
855
+ {
856
+ "name": "other_current_liability",
857
+ "aliases": {
858
+ "other_current_liabilities",
859
+ },
860
+ "dataitemid": 1057,
861
+ "spgi_name": "Other Current Liabilities",
862
+ },
863
+ {
864
+ "name": "total_current_liabilities",
865
+ "aliases": {
866
+ "current_liabilities",
867
+ },
868
+ "dataitemid": 1009,
869
+ "spgi_name": "Total Current Liabilities",
870
+ },
871
+ {
872
+ "name": "long_term_debt",
873
+ "aliases": {
874
+ "non_current_debt",
875
+ },
876
+ "dataitemid": 1049,
877
+ "spgi_name": "Long-Term Debt",
878
+ },
879
+ {
880
+ "name": "capital_leases",
881
+ "aliases": {
882
+ "long_term_leases",
883
+ "capitalized_leases",
884
+ },
885
+ "dataitemid": 1183,
886
+ "spgi_name": "Capital Leases",
887
+ },
888
+ {
889
+ "name": "finance_division_debt_non_current_portion",
890
+ "aliases": {
891
+ "finance_division_debt_long_term_portion",
892
+ "finance_division_non_current_debt",
893
+ "finance_division_long_term_debt",
894
+ },
895
+ "dataitemid": 1035,
896
+ "spgi_name": "Finance Div. Debt Non-Curr.",
897
+ },
898
+ {
899
+ "name": "finance_division_other_non_current_liabilities",
900
+ "aliases": {
901
+ "finance_division_other_long_term_liabilities",
902
+ },
903
+ "dataitemid": 1036,
904
+ "spgi_name": "Finance Div. Other Non-Curr. Liab.",
905
+ },
906
+ {
907
+ "name": "non_current_unearned_revenue",
908
+ "aliases": {
909
+ "long_term_unearned_revenue",
910
+ },
911
+ "dataitemid": 1256,
912
+ "spgi_name": "Unearned Revenue, Non-Current",
913
+ },
914
+ {
915
+ "name": "pension_and_other_post_retirement_benefit",
916
+ "aliases": set(),
917
+ "dataitemid": 1213,
918
+ "spgi_name": "Pension & Other Post-Retire. Benefits",
919
+ },
920
+ {
921
+ "name": "non_current_deferred_tax_liability",
922
+ "aliases": set(),
923
+ "dataitemid": 1027,
924
+ "spgi_name": "Def. Tax Liability, Non-Curr.",
925
+ },
926
+ {
927
+ "name": "other_non_current_liabilities",
928
+ "aliases": {
929
+ "non_current_other_liabilities",
930
+ "other_long_term_liabilities",
931
+ "long_term_other_liabilities",
932
+ },
933
+ "dataitemid": 1062,
934
+ "spgi_name": "Other Non-Current Liabilities",
935
+ },
936
+ {
937
+ "name": "total_liabilities",
938
+ "aliases": {
939
+ "liabilities",
940
+ },
941
+ "dataitemid": 1276,
942
+ "spgi_name": "Total Liabilities",
943
+ },
944
+ {
945
+ "name": "preferred_stock_redeemable",
946
+ "aliases": {
947
+ "redeemable_preferred_stock",
948
+ },
949
+ "dataitemid": 1217,
950
+ "spgi_name": "Pref. Stock, Redeemable",
951
+ },
952
+ {
953
+ "name": "preferred_stock_non_redeemable",
954
+ "aliases": {
955
+ "non_redeemable_preferred_stock",
956
+ },
957
+ "dataitemid": 1216,
958
+ "spgi_name": "Pref. Stock, Non-Redeem.",
959
+ },
960
+ {
961
+ "name": "preferred_stock_convertible",
962
+ "aliases": {
963
+ "convertible_preferred_stock",
964
+ },
965
+ "dataitemid": 1214,
966
+ "spgi_name": "Pref. Stock, Convertible",
967
+ },
968
+ {
969
+ "name": "preferred_stock_other",
970
+ "aliases": {
971
+ "other_preferred_stock",
972
+ },
973
+ "dataitemid": 1065,
974
+ "spgi_name": "Pref. Stock, Other",
975
+ },
976
+ {
977
+ "name": "preferred_stock_additional_paid_in_capital",
978
+ "aliases": {
979
+ "additional_paid_in_capital_preferred_stock",
980
+ },
981
+ "dataitemid": 1085,
982
+ "spgi_name": "Additional Paid In Capital - Preferred Stock",
983
+ },
984
+ {
985
+ "name": "preferred_stock_equity_adjustment",
986
+ "aliases": {
987
+ "equity_adjustment_preferred_stock",
988
+ },
989
+ "dataitemid": 1215,
990
+ "spgi_name": "Equity Adjustment - Preferred Stock",
991
+ },
992
+ {
993
+ "name": "treasury_stock_preferred_stock_convertible",
994
+ "aliases": {
995
+ "treasury_preferred_stock_convertible",
996
+ "treasury_stock_convertible_preferred_stock",
997
+ "treasury_convertible_preferred_stock",
998
+ },
999
+ "dataitemid": 1249,
1000
+ "spgi_name": "Treasury Stock : Preferred Stock Convertible",
1001
+ },
1002
+ {
1003
+ "name": "treasury_stock_preferred_stock_non_redeemable",
1004
+ "aliases": {
1005
+ "treasury_preferred_stock_non_redeemable",
1006
+ "treasury_stock_non_redeemable_preferred_stock",
1007
+ "treasury_non_redeemable_preferred_stock",
1008
+ },
1009
+ "dataitemid": 1250,
1010
+ "spgi_name": "Treasury Stock : Preferred Stock Non Redeemable",
1011
+ },
1012
+ {
1013
+ "name": "treasury_stock_preferred_stock_redeemable",
1014
+ "aliases": {
1015
+ "treasury_preferred_stock_redeemable",
1016
+ "treasury_stock_redeemable_preferred_stock",
1017
+ "treasury_redeemable_preferred_stock",
1018
+ },
1019
+ "dataitemid": 1251,
1020
+ "spgi_name": "Treasury Stock : Preferred Stock Redeemable",
1021
+ },
1022
+ {
1023
+ "name": "total_preferred_equity",
1024
+ "aliases": {
1025
+ "total_preferred_stock",
1026
+ "preferred_equity",
1027
+ "preferred_stock",
1028
+ },
1029
+ "dataitemid": 1005,
1030
+ "spgi_name": "Total Pref. Equity",
1031
+ },
1032
+ {"name": "common_stock", "aliases": set(), "dataitemid": 1103, "spgi_name": "Common Stock"},
1033
+ {
1034
+ "name": "additional_paid_in_capital",
1035
+ "aliases": set(),
1036
+ "dataitemid": 1084,
1037
+ "spgi_name": "Additional Paid In Capital",
1038
+ },
1039
+ {
1040
+ "name": "retained_earnings",
1041
+ "aliases": set(),
1042
+ "dataitemid": 1222,
1043
+ "spgi_name": "Retained Earnings",
1044
+ },
1045
+ {"name": "treasury_stock", "aliases": set(), "dataitemid": 1248, "spgi_name": "Treasury Stock"},
1046
+ {
1047
+ "name": "other_equity",
1048
+ "aliases": set(),
1049
+ "dataitemid": 1028,
1050
+ "spgi_name": "Comprehensive Inc. and Other",
1051
+ },
1052
+ {
1053
+ "name": "total_common_equity",
1054
+ "aliases": {
1055
+ "common_equity",
1056
+ },
1057
+ "dataitemid": 1006,
1058
+ "spgi_name": "Total Common Equity",
1059
+ },
1060
+ {
1061
+ "name": "total_equity",
1062
+ "aliases": {
1063
+ "equity",
1064
+ "total_shareholders_equity",
1065
+ "shareholders_equity",
1066
+ },
1067
+ "dataitemid": 1275,
1068
+ "spgi_name": "Total Equity",
1069
+ },
1070
+ {
1071
+ "name": "total_liabilities_and_equity",
1072
+ "aliases": {
1073
+ "liabilities_and_equity",
1074
+ },
1075
+ "dataitemid": 1013,
1076
+ "spgi_name": "Total Liabilities And Equity",
1077
+ },
1078
+ {
1079
+ "name": "common_shares_outstanding",
1080
+ "aliases": set(),
1081
+ "dataitemid": 1100,
1082
+ "spgi_name": "Common Shares Outstanding",
1083
+ },
1084
+ {
1085
+ "name": "adjustments_to_cash_flow_net_income",
1086
+ "aliases": set(),
1087
+ "dataitemid": 21523,
1088
+ "spgi_name": "Adjustments to Cash Flow Net Income",
1089
+ },
1090
+ {
1091
+ "name": "other_amortization",
1092
+ "aliases": set(),
1093
+ "dataitemid": 2014,
1094
+ "spgi_name": "Other Amortization",
1095
+ },
1096
+ {
1097
+ "name": "total_other_non_cash_items",
1098
+ "aliases": set(),
1099
+ "dataitemid": 2179,
1100
+ "spgi_name": "Other Non-Cash Items, Total",
1101
+ },
1102
+ {
1103
+ "name": "net_decrease_in_loans_originated_and_sold",
1104
+ "aliases": set(),
1105
+ "dataitemid": 2033,
1106
+ "spgi_name": "Net (Increase)/Decrease in Loans Orig/Sold",
1107
+ },
1108
+ {
1109
+ "name": "provision_for_credit_losses",
1110
+ "aliases": set(),
1111
+ "dataitemid": 2112,
1112
+ "spgi_name": "Provision for Credit Losses",
1113
+ },
1114
+ {
1115
+ "name": "loss_on_equity_investments",
1116
+ "aliases": set(),
1117
+ "dataitemid": 2086,
1118
+ "spgi_name": "(Income) Loss on Equity Invest.",
1119
+ },
1120
+ {
1121
+ "name": "stock_based_compensation",
1122
+ "aliases": set(),
1123
+ "dataitemid": 2127,
1124
+ "spgi_name": "Stock-Based Compensation",
1125
+ },
1126
+ {
1127
+ "name": "tax_benefit_from_stock_options",
1128
+ "aliases": set(),
1129
+ "dataitemid": 2135,
1130
+ "spgi_name": "Tax Benefit from Stock Options",
1131
+ },
1132
+ {
1133
+ "name": "net_cash_from_discontinued_operation",
1134
+ "aliases": {
1135
+ "cash_from_discontinued_operation",
1136
+ },
1137
+ "dataitemid": 2081,
1138
+ "spgi_name": "Net Cash From Discontinued Ops.",
1139
+ },
1140
+ {
1141
+ "name": "other_operating_activities",
1142
+ "aliases": set(),
1143
+ "dataitemid": 2047,
1144
+ "spgi_name": "Other Operating Activities",
1145
+ },
1146
+ {
1147
+ "name": "change_in_trading_asset_securities",
1148
+ "aliases": set(),
1149
+ "dataitemid": 2134,
1150
+ "spgi_name": "Change in Trad. Asset Securities",
1151
+ },
1152
+ {
1153
+ "name": "change_in_accounts_receivable",
1154
+ "aliases": set(),
1155
+ "dataitemid": 2018,
1156
+ "spgi_name": "Change In Accounts Receivable",
1157
+ },
1158
+ {
1159
+ "name": "change_in_inventories",
1160
+ "aliases": set(),
1161
+ "dataitemid": 2099,
1162
+ "spgi_name": "Change In Inventories",
1163
+ },
1164
+ {
1165
+ "name": "change_in_accounts_payable",
1166
+ "aliases": set(),
1167
+ "dataitemid": 2017,
1168
+ "spgi_name": "Change in Acc. Payable",
1169
+ },
1170
+ {
1171
+ "name": "change_in_unearned_revenue",
1172
+ "aliases": set(),
1173
+ "dataitemid": 2139,
1174
+ "spgi_name": "Change in Unearned Rev.",
1175
+ },
1176
+ {
1177
+ "name": "change_in_income_taxes",
1178
+ "aliases": set(),
1179
+ "dataitemid": 2101,
1180
+ "spgi_name": "Change in Inc. Taxes",
1181
+ },
1182
+ {
1183
+ "name": "change_in_deferred_taxes",
1184
+ "aliases": set(),
1185
+ "dataitemid": 2084,
1186
+ "spgi_name": "Change in Def. Taxes",
1187
+ },
1188
+ {
1189
+ "name": "change_in_other_net_operating_assets",
1190
+ "aliases": set(),
1191
+ "dataitemid": 2045,
1192
+ "spgi_name": "Change in Other Net Operating Assets",
1193
+ },
1194
+ {
1195
+ "name": "change_in_net_operating_assets",
1196
+ "aliases": set(),
1197
+ "dataitemid": 2010,
1198
+ "spgi_name": "Change in Net Operating Assets ",
1199
+ },
1200
+ {
1201
+ "name": "cash_from_operations",
1202
+ "aliases": {
1203
+ "cash_from_operating_activities",
1204
+ "cash_flow_from_operations",
1205
+ },
1206
+ "dataitemid": 2006,
1207
+ "spgi_name": "Cash from Ops.",
1208
+ },
1209
+ {
1210
+ "name": "capital_expenditure",
1211
+ "aliases": {
1212
+ "capital_expenditures",
1213
+ "capex",
1214
+ },
1215
+ "dataitemid": 2021,
1216
+ "spgi_name": "Capital Expenditure",
1217
+ },
1218
+ {
1219
+ "name": "sale_of_property_plant_and_equipment",
1220
+ "aliases": {
1221
+ "sale_of_ppe",
1222
+ },
1223
+ "dataitemid": 2042,
1224
+ "spgi_name": "Sale of Property, Plant, and Equipment",
1225
+ },
1226
+ {
1227
+ "name": "cash_acquisitions",
1228
+ "aliases": set(),
1229
+ "dataitemid": 2057,
1230
+ "spgi_name": "Cash Acquisitions",
1231
+ },
1232
+ {"name": "divestitures", "aliases": set(), "dataitemid": 2077, "spgi_name": "Divestitures"},
1233
+ {
1234
+ "name": "sale_of_real_estate",
1235
+ "aliases": {
1236
+ "sale_of_real_properties",
1237
+ "sale_of_real_estate_properties",
1238
+ },
1239
+ "dataitemid": 2040,
1240
+ "spgi_name": "Sale (Purchase) of Real Estate properties",
1241
+ },
1242
+ {
1243
+ "name": "sale_of_intangible_assets",
1244
+ "aliases": {
1245
+ "sale_of_intangible_asset",
1246
+ "sale_of_intangibles",
1247
+ },
1248
+ "dataitemid": 2029,
1249
+ "spgi_name": "Sale (Purchase) of Intangible assets",
1250
+ },
1251
+ {
1252
+ "name": "net_cash_from_investments",
1253
+ "aliases": set(),
1254
+ "dataitemid": 2027,
1255
+ "spgi_name": "Net Cash from Investments",
1256
+ },
1257
+ {
1258
+ "name": "net_decrease_in_investment_loans_originated_and_sold",
1259
+ "aliases": set(),
1260
+ "dataitemid": 2032,
1261
+ "spgi_name": "Net (Increase)/Decrease in Loans Orig/Sold",
1262
+ },
1263
+ {
1264
+ "name": "other_investing_activities",
1265
+ "aliases": set(),
1266
+ "dataitemid": 2051,
1267
+ "spgi_name": "Other Investing Activities",
1268
+ },
1269
+ {
1270
+ "name": "total_other_investing_activities",
1271
+ "aliases": set(),
1272
+ "dataitemid": 2177,
1273
+ "spgi_name": "Other Investing Activities, Total",
1274
+ },
1275
+ {
1276
+ "name": "cash_from_investing",
1277
+ "aliases": {
1278
+ "cash_from_investing_activities",
1279
+ "cashflow_from_investing",
1280
+ "cashflow_from_investing_activities",
1281
+ },
1282
+ "dataitemid": 2005,
1283
+ "spgi_name": "Cash from Investing",
1284
+ },
1285
+ {
1286
+ "name": "short_term_debt_issued",
1287
+ "aliases": {
1288
+ "current_debt_issued",
1289
+ },
1290
+ "dataitemid": 2043,
1291
+ "spgi_name": "Short Term Debt Issued",
1292
+ },
1293
+ {
1294
+ "name": "long_term_debt_issued",
1295
+ "aliases": {
1296
+ "non_current_debt_issued",
1297
+ },
1298
+ "dataitemid": 2034,
1299
+ "spgi_name": "Long-Term Debt Issued",
1300
+ },
1301
+ {
1302
+ "name": "total_debt_issued",
1303
+ "aliases": set(),
1304
+ "dataitemid": 2161,
1305
+ "spgi_name": "Total Debt Issued",
1306
+ },
1307
+ {
1308
+ "name": "short_term_debt_repaid",
1309
+ "aliases": {
1310
+ "current_debt_repaid",
1311
+ },
1312
+ "dataitemid": 2044,
1313
+ "spgi_name": "Short Term Debt Repaid",
1314
+ },
1315
+ {
1316
+ "name": "long_term_debt_repaid",
1317
+ "aliases": {
1318
+ "non_current_debt_repaid",
1319
+ },
1320
+ "dataitemid": 2036,
1321
+ "spgi_name": "Long-Term Debt Repaid",
1322
+ },
1323
+ {
1324
+ "name": "total_debt_repaid",
1325
+ "aliases": set(),
1326
+ "dataitemid": 2166,
1327
+ "spgi_name": "Total Debt Repaid",
1328
+ },
1329
+ {
1330
+ "name": "issuance_of_common_stock",
1331
+ "aliases": set(),
1332
+ "dataitemid": 2169,
1333
+ "spgi_name": "Issuance of Common Stock",
1334
+ },
1335
+ {
1336
+ "name": "repurchase_of_common_stock",
1337
+ "aliases": set(),
1338
+ "dataitemid": 2164,
1339
+ "spgi_name": "Repurchase of Common Stock",
1340
+ },
1341
+ {
1342
+ "name": "issuance_of_preferred_stock",
1343
+ "aliases": set(),
1344
+ "dataitemid": 2181,
1345
+ "spgi_name": "Issuance of Preferred Stock",
1346
+ },
1347
+ {
1348
+ "name": "repurchase_of_preferred_stock",
1349
+ "aliases": set(),
1350
+ "dataitemid": 2172,
1351
+ "spgi_name": "Repurchase of Preferred Stock",
1352
+ },
1353
+ {
1354
+ "name": "common_dividends_paid",
1355
+ "aliases": set(),
1356
+ "dataitemid": 2074,
1357
+ "spgi_name": "Common Dividends Paid",
1358
+ },
1359
+ {
1360
+ "name": "preferred_dividends_paid",
1361
+ "aliases": set(),
1362
+ "dataitemid": 2116,
1363
+ "spgi_name": "Pref. Dividends Paid",
1364
+ },
1365
+ {
1366
+ "name": "total_dividends_paid",
1367
+ "aliases": {
1368
+ "dividends_paid",
1369
+ },
1370
+ "dataitemid": 2022,
1371
+ "spgi_name": "Total Dividends Paid",
1372
+ },
1373
+ {
1374
+ "name": "special_dividends_paid",
1375
+ "aliases": set(),
1376
+ "dataitemid": 2041,
1377
+ "spgi_name": "Special Dividend Paid",
1378
+ },
1379
+ {
1380
+ "name": "other_financing_activities",
1381
+ "aliases": set(),
1382
+ "dataitemid": 2050,
1383
+ "spgi_name": "Other Financing Activities",
1384
+ },
1385
+ {
1386
+ "name": "cash_from_financing",
1387
+ "aliases": {
1388
+ "cash_from_financing_activities",
1389
+ "cashflow_from_financing",
1390
+ "cashflow_from_financing_activities",
1391
+ },
1392
+ "dataitemid": 2004,
1393
+ "spgi_name": "Cash from Financing",
1394
+ },
1395
+ {
1396
+ "name": "foreign_exchange_rate_adjustments",
1397
+ "aliases": {
1398
+ "fx_adjustments",
1399
+ "foreign_exchange_adjustments",
1400
+ },
1401
+ "dataitemid": 2144,
1402
+ "spgi_name": "Foreign Exchange Rate Adj.",
1403
+ },
1404
+ {
1405
+ "name": "miscellaneous_cash_flow_adjustments",
1406
+ "aliases": {
1407
+ "misc_cash_flow_adj",
1408
+ },
1409
+ "dataitemid": 2149,
1410
+ "spgi_name": "Misc. Cash Flow Adj.",
1411
+ },
1412
+ {
1413
+ "name": "net_change_in_cash",
1414
+ "aliases": {
1415
+ "change_in_cash",
1416
+ },
1417
+ "dataitemid": 2093,
1418
+ "spgi_name": "Net Change in Cash",
1419
+ },
1420
+ {
1421
+ "name": "depreciation",
1422
+ "aliases": set(),
1423
+ "dataitemid": 2143,
1424
+ "spgi_name": "Depreciation (From Notes)",
1425
+ },
1426
+ {
1427
+ "name": "depreciation_of_rental_assets",
1428
+ "aliases": set(),
1429
+ "dataitemid": 42409,
1430
+ "spgi_name": "Depreciation of Rental Assets",
1431
+ },
1432
+ {
1433
+ "name": "sale_proceeds_from_rental_assets",
1434
+ "aliases": set(),
1435
+ "dataitemid": 42411,
1436
+ "spgi_name": "Sale Proceeds from Rental Assets",
1437
+ },
1438
+ {
1439
+ "name": "basic_eps",
1440
+ "aliases": {
1441
+ "basic_earning_per_share",
1442
+ "basic_eps_including_extra_items",
1443
+ "basic_earning_per_share_including_extra_items",
1444
+ },
1445
+ "dataitemid": 9,
1446
+ "spgi_name": "Basic EPS",
1447
+ },
1448
+ {
1449
+ "name": "basic_eps_excluding_extra_items",
1450
+ "aliases": {
1451
+ "basic_earning_per_share_excluding_extra_items",
1452
+ },
1453
+ "dataitemid": 3064,
1454
+ "spgi_name": "Basic EPS Excl. Extra Items",
1455
+ },
1456
+ {
1457
+ "name": "basic_eps_from_accounting_change",
1458
+ "aliases": {
1459
+ "basic_earning_per_share_from_accounting_change",
1460
+ },
1461
+ "dataitemid": 145,
1462
+ "spgi_name": "Basic EPS - Accounting Change",
1463
+ },
1464
+ {
1465
+ "name": "basic_eps_from_extraordinary_items",
1466
+ "aliases": {
1467
+ "basic_earning_per_share_from_extraordinary_items",
1468
+ },
1469
+ "dataitemid": 146,
1470
+ "spgi_name": "Basic EPS - Extraordinary Items",
1471
+ },
1472
+ {
1473
+ "name": "basic_eps_from_accounting_change_and_extraordinary_items",
1474
+ "aliases": {
1475
+ "basic_earning_per_share_from_accounting_change_and_extraordinary_items",
1476
+ },
1477
+ "dataitemid": 45,
1478
+ "spgi_name": "Basic EPS - Extraordinary Items & Accounting Change",
1479
+ },
1480
+ {
1481
+ "name": "weighted_average_basic_shares_outstanding",
1482
+ "aliases": set(),
1483
+ "dataitemid": 3217,
1484
+ "spgi_name": "Weighted Avg. Basic Shares Out.",
1485
+ },
1486
+ {
1487
+ "name": "diluted_eps",
1488
+ "aliases": {
1489
+ "diluted_earning_per_share",
1490
+ "diluted_eps_including_extra_items",
1491
+ "diluted_earning_per_share_including_extra_items",
1492
+ },
1493
+ "dataitemid": 8,
1494
+ "spgi_name": "Diluted EPS",
1495
+ },
1496
+ {
1497
+ "name": "diluted_eps_excluding_extra_items",
1498
+ "aliases": {
1499
+ "diluted_earning_per_share_excluding_extra_items",
1500
+ },
1501
+ "dataitemid": 142,
1502
+ "spgi_name": "Diluted EPS Excl. Extra Items",
1503
+ },
1504
+ {
1505
+ "name": "weighted_average_diluted_shares_outstanding",
1506
+ "aliases": set(),
1507
+ "dataitemid": 342,
1508
+ "spgi_name": "Weighted Avg. Diluted Shares Out.",
1509
+ },
1510
+ {
1511
+ "name": "normalized_basic_eps",
1512
+ "aliases": {
1513
+ "normalized_basic_earning_per_share",
1514
+ },
1515
+ "dataitemid": 4379,
1516
+ "spgi_name": "Normalized Basic EPS",
1517
+ },
1518
+ {
1519
+ "name": "normalized_diluted_eps",
1520
+ "aliases": {
1521
+ "normalized_diluted_earning_per_share",
1522
+ },
1523
+ "dataitemid": 4380,
1524
+ "spgi_name": "Normalized Diluted EPS",
1525
+ },
1526
+ {
1527
+ "name": "dividends_per_share",
1528
+ "aliases": set(),
1529
+ "dataitemid": 3058,
1530
+ "spgi_name": "Dividends per share",
1531
+ },
1532
+ {
1533
+ "name": "distributable_cash_per_share",
1534
+ "aliases": set(),
1535
+ "dataitemid": 23317,
1536
+ "spgi_name": "Distributable Cash per Share",
1537
+ },
1538
+ {
1539
+ "name": "diluted_eps_from_accounting_change_and_extraordinary_items",
1540
+ "aliases": {
1541
+ "diluted_earning_per_share_from_accounting_change_and_extraordinary_items",
1542
+ },
1543
+ "dataitemid": 44,
1544
+ "spgi_name": "Diluted EPS - Extraordinary Items & Accounting Change",
1545
+ },
1546
+ {
1547
+ "name": "diluted_eps_from_accounting_change",
1548
+ "aliases": {
1549
+ "diluted_earning_per_share_from_accounting_change",
1550
+ },
1551
+ "dataitemid": 141,
1552
+ "spgi_name": "Diluted EPS - Accounting Change",
1553
+ },
1554
+ {
1555
+ "name": "diluted_eps_from_extraordinary_items",
1556
+ "aliases": {
1557
+ "diluted_earning_per_share_from_extraordinary_items",
1558
+ },
1559
+ "dataitemid": 144,
1560
+ "spgi_name": "Diluted EPS - Extraordinary Items",
1561
+ },
1562
+ {
1563
+ "name": "diluted_eps_from_discontinued_operations",
1564
+ "aliases": {
1565
+ "diluted_earning_per_share_from_discontinued_operations",
1566
+ },
1567
+ "dataitemid": 143,
1568
+ "spgi_name": "Diluted EPS - Discontinued Operations",
1569
+ },
1570
+ {
1571
+ "name": "funds_from_operations",
1572
+ "aliases": {
1573
+ "ffo",
1574
+ },
1575
+ "dataitemid": 3074,
1576
+ "spgi_name": "FFO",
1577
+ },
1578
+ {
1579
+ "name": "ebitda",
1580
+ "aliases": {
1581
+ "earnings_before_interest_taxes_depreciation_and_amortization",
1582
+ },
1583
+ "dataitemid": 4051,
1584
+ "spgi_name": "EBITDA",
1585
+ },
1586
+ {
1587
+ "name": "ebita",
1588
+ "aliases": {
1589
+ "earnings_before_interest_taxes_and_amortization",
1590
+ },
1591
+ "dataitemid": 100689,
1592
+ "spgi_name": "EBITA",
1593
+ },
1594
+ {
1595
+ "name": "ebit",
1596
+ "aliases": {
1597
+ "earnings_before_interest_and_taxes",
1598
+ },
1599
+ "dataitemid": 400,
1600
+ "spgi_name": "EBIT",
1601
+ },
1602
+ {
1603
+ "name": "ebitdar",
1604
+ "aliases": {
1605
+ "earnings_before_interest_taxes_depreciation_amortization_and_rental_expense",
1606
+ },
1607
+ "dataitemid": 21674,
1608
+ "spgi_name": "EBITDAR",
1609
+ },
1610
+ {"name": "net_debt", "aliases": set(), "dataitemid": 4364, "spgi_name": "Net Debt"},
1611
+ {
1612
+ "name": "effective_tax_rate",
1613
+ "aliases": {
1614
+ "tax_rate",
1615
+ },
1616
+ "dataitemid": 4376,
1617
+ "spgi_name": "Effective Tax Rate %",
1618
+ },
1619
+ {"name": "current_ratio", "aliases": set(), "dataitemid": 4030, "spgi_name": "Current Ratio"},
1620
+ {"name": "quick_ratio", "aliases": set(), "dataitemid": 4121, "spgi_name": "Quick Ratio"},
1621
+ {
1622
+ "name": "total_debt_to_capital",
1623
+ "aliases": set(),
1624
+ "dataitemid": 43907,
1625
+ "spgi_name": "Total Debt to Capital (%)",
1626
+ },
1627
+ {
1628
+ "name": "net_working_capital",
1629
+ "aliases": set(),
1630
+ "dataitemid": 1311,
1631
+ "spgi_name": "Net Working Capital",
1632
+ },
1633
+ {
1634
+ "name": "working_capital",
1635
+ "aliases": set(),
1636
+ "dataitemid": 4165,
1637
+ "spgi_name": "Working Capital",
1638
+ },
1639
+ {
1640
+ "name": "change_in_net_working_capital",
1641
+ "aliases": set(),
1642
+ "dataitemid": 4421,
1643
+ "spgi_name": "Change In Net Working Capital",
1644
+ },
1645
+ {
1646
+ "name": "total_debt",
1647
+ "aliases": set(),
1648
+ "dataitemid": 4173,
1649
+ "spgi_name": "Total Debt",
1650
+ },
1651
+ {
1652
+ "name": "total_debt_to_equity_ratio",
1653
+ "aliases": {
1654
+ "debt_ratio",
1655
+ "total_debt_ratio",
1656
+ "total_debt_to_total_equity",
1657
+ "total_debt_to_equity",
1658
+ },
1659
+ "dataitemid": 4034,
1660
+ "spgi_name": "Total Debt/Equity",
1661
+ },
1662
+ ]
1663
+
1664
+ LINE_ITEMS_TO_DATA_ITEM_ID = {
1665
+ line_item["name"]: line_item["dataitemid"] for line_item in LINE_ITEMS
1666
+ }
1667
+
1668
+ LINE_ITEM_NAMES_AND_ALIASES = list(
1669
+ chain(*[[line_item["name"]] + list(line_item["aliases"]) for line_item in LINE_ITEMS])
1670
+ )
1671
+
1672
+ LINE_ITEM_SYNONYMS = {
1673
+ alias: line_item["dataitemid"] for line_item in LINE_ITEMS for alias in line_item["aliases"]
1674
+ }
1675
+
1676
+
1677
+ FINANCIAL_STATEMENTS: dict[str, int] = {
1678
+ "income_statement": 1,
1679
+ "balance_sheet": 2,
1680
+ "cash_flow": 3,
1681
+ }
1682
+
1683
+ FINANCIAL_STATEMENTS_SYNONYMS: dict[str, int] = {
1684
+ "is": 1,
1685
+ "bs": 2,
1686
+ "cf": 3,
1687
+ "income_stmt": 1,
1688
+ "cashflow": 3,
1689
+ }