Lean  $LEAN_TAG$
CompanyProfile.cs
1 /*
2  * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals.
3  * Lean Algorithmic Trading Engine v2.0. Copyright 2023 QuantConnect Corporation.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  *
15 */
16 
17 using System;
18 using System.Linq;
19 using Python.Runtime;
20 using Newtonsoft.Json;
21 using System.Collections.Generic;
23 
25 {
26  /// <summary>
27  /// Definition of the CompanyProfile class
28  /// </summary>
30  {
31  /// <summary>
32  /// The headquarter address as given in the latest report
33  /// </summary>
34  /// <remarks>
35  /// Morningstar DataId: 2100
36  /// </remarks>
37  [JsonProperty("2100")]
38  public string HeadquarterAddressLine1 => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_HeadquarterAddressLine1);
39 
40  /// <summary>
41  /// The headquarter address as given in the latest report
42  /// </summary>
43  /// <remarks>
44  /// Morningstar DataId: 2101
45  /// </remarks>
46  [JsonProperty("2101")]
47  public string HeadquarterAddressLine2 => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_HeadquarterAddressLine2);
48 
49  /// <summary>
50  /// The headquarter address as given in the latest report
51  /// </summary>
52  /// <remarks>
53  /// Morningstar DataId: 2102
54  /// </remarks>
55  [JsonProperty("2102")]
56  public string HeadquarterAddressLine3 => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_HeadquarterAddressLine3);
57 
58  /// <summary>
59  /// The headquarter address as given in the latest report
60  /// </summary>
61  /// <remarks>
62  /// Morningstar DataId: 2103
63  /// </remarks>
64  [JsonProperty("2103")]
65  public string HeadquarterAddressLine4 => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_HeadquarterAddressLine4);
66 
67  /// <summary>
68  /// The headquarter address as given in the latest report
69  /// </summary>
70  /// <remarks>
71  /// Morningstar DataId: 2104
72  /// </remarks>
73  [JsonProperty("2104")]
74  public string HeadquarterAddressLine5 => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_HeadquarterAddressLine5);
75 
76  /// <summary>
77  /// The headquarter city as given in the latest report
78  /// </summary>
79  /// <remarks>
80  /// Morningstar DataId: 2105
81  /// </remarks>
82  [JsonProperty("2105")]
83  public string HeadquarterCity => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_HeadquarterCity);
84 
85  /// <summary>
86  /// The headquarter state or province as given in the latest report
87  /// </summary>
88  /// <remarks>
89  /// Morningstar DataId: 2106
90  /// </remarks>
91  [JsonProperty("2106")]
92  public string HeadquarterProvince => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_HeadquarterProvince);
93 
94  /// <summary>
95  /// The headquarter country as given in the latest report
96  /// </summary>
97  /// <remarks>
98  /// Morningstar DataId: 2107
99  /// </remarks>
100  [JsonProperty("2107")]
101  public string HeadquarterCountry => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_HeadquarterCountry);
102 
103  /// <summary>
104  /// The headquarter postal code as given in the latest report
105  /// </summary>
106  /// <remarks>
107  /// Morningstar DataId: 2108
108  /// </remarks>
109  [JsonProperty("2108")]
110  public string HeadquarterPostalCode => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_HeadquarterPostalCode);
111 
112  /// <summary>
113  /// The headquarter phone number as given in the latest report
114  /// </summary>
115  /// <remarks>
116  /// Morningstar DataId: 2109
117  /// </remarks>
118  [JsonProperty("2109")]
119  public string HeadquarterPhone => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_HeadquarterPhone);
120 
121  /// <summary>
122  /// The headquarter fax number as given in the latest report
123  /// </summary>
124  /// <remarks>
125  /// Morningstar DataId: 2110
126  /// </remarks>
127  [JsonProperty("2110")]
128  public string HeadquarterFax => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_HeadquarterFax);
129 
130  /// <summary>
131  /// The headquarters' website address as given in the latest report
132  /// </summary>
133  /// <remarks>
134  /// Morningstar DataId: 2111
135  /// </remarks>
136  [JsonProperty("2111")]
137  public string HeadquarterHomepage => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_HeadquarterHomepage);
138 
139  /// <summary>
140  /// The number of employees as indicated on the latest Annual Report, 10-K filing, Form 20-F or equivalent report indicating the employee count at the end of latest fiscal year.
141  /// </summary>
142  /// <remarks>
143  /// Morningstar DataId: 2113
144  /// </remarks>
145  [JsonProperty("2113")]
146  public int TotalEmployeeNumber => FundamentalService.Get<int>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_TotalEmployeeNumber);
147 
148  /// <summary>
149  /// Company's contact email address
150  /// </summary>
151  /// <remarks>
152  /// Morningstar DataId: 2114
153  /// </remarks>
154  [JsonProperty("2114")]
155  public string ContactEmail => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_ContactEmail);
156 
157  /// <summary>
158  /// Average number of employees from Annual Report
159  /// </summary>
160  /// <remarks>
161  /// Morningstar DataId: 2115
162  /// </remarks>
163  [JsonProperty("2115")]
164  public int AverageEmployeeNumber => FundamentalService.Get<int>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_AverageEmployeeNumber);
165 
166  /// <summary>
167  /// Details for registered office contact information including address full details, phone and
168  /// </summary>
169  /// <remarks>
170  /// Morningstar DataId: 2116
171  /// </remarks>
172  [JsonProperty("2116")]
173  public string RegisteredAddressLine1 => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_RegisteredAddressLine1);
174 
175  /// <summary>
176  /// Address for registered office
177  /// </summary>
178  /// <remarks>
179  /// Morningstar DataId: 2117
180  /// </remarks>
181  [JsonProperty("2117")]
182  public string RegisteredAddressLine2 => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_RegisteredAddressLine2);
183 
184  /// <summary>
185  /// Address for registered office
186  /// </summary>
187  /// <remarks>
188  /// Morningstar DataId: 2118
189  /// </remarks>
190  [JsonProperty("2118")]
191  public string RegisteredAddressLine3 => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_RegisteredAddressLine3);
192 
193  /// <summary>
194  /// Address for registered office
195  /// </summary>
196  /// <remarks>
197  /// Morningstar DataId: 2119
198  /// </remarks>
199  [JsonProperty("2119")]
200  public string RegisteredAddressLine4 => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_RegisteredAddressLine4);
201 
202  /// <summary>
203  /// City for registered office
204  /// </summary>
205  /// <remarks>
206  /// Morningstar DataId: 2120
207  /// </remarks>
208  [JsonProperty("2120")]
209  public string RegisteredCity => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_RegisteredCity);
210 
211  /// <summary>
212  /// Province for registered office
213  /// </summary>
214  /// <remarks>
215  /// Morningstar DataId: 2121
216  /// </remarks>
217  [JsonProperty("2121")]
218  public string RegisteredProvince => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_RegisteredProvince);
219 
220  /// <summary>
221  /// Country for registered office
222  /// </summary>
223  /// <remarks>
224  /// Morningstar DataId: 2122
225  /// </remarks>
226  [JsonProperty("2122")]
227  public string RegisteredCountry => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_RegisteredCountry);
228 
229  /// <summary>
230  /// Postal Code for registered office
231  /// </summary>
232  /// <remarks>
233  /// Morningstar DataId: 2123
234  /// </remarks>
235  [JsonProperty("2123")]
236  public string RegisteredPostalCode => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_RegisteredPostalCode);
237 
238  /// <summary>
239  /// Phone number for registered office
240  /// </summary>
241  /// <remarks>
242  /// Morningstar DataId: 2124
243  /// </remarks>
244  [JsonProperty("2124")]
245  public string RegisteredPhone => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_RegisteredPhone);
246 
247  /// <summary>
248  /// Fax number for registered office
249  /// </summary>
250  /// <remarks>
251  /// Morningstar DataId: 2125
252  /// </remarks>
253  [JsonProperty("2125")]
254  public string RegisteredFax => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_RegisteredFax);
255 
256  /// <summary>
257  /// Flag to denote whether head and registered offices are the same
258  /// </summary>
259  /// <remarks>
260  /// Morningstar DataId: 2126
261  /// </remarks>
262  [JsonProperty("2126")]
263  public bool IsHeadOfficeSameWithRegisteredOfficeFlag => FundamentalService.Get<bool>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_IsHeadOfficeSameWithRegisteredOfficeFlag);
264 
265  /// <summary>
266  /// The latest total shares outstanding reported by the company; most common source of this information is from the cover of the 10K, 10Q, or 20F filing. This figure is an aggregated shares outstanding number for a company. It can be used to calculate the most accurate market cap, based on each individual share's trading price and the total aggregated shares outstanding figure.
267  /// </summary>
268  /// <remarks>
269  /// Morningstar DataId: 40000
270  /// </remarks>
271  [JsonProperty("40000")]
272  public long SharesOutstanding => FundamentalService.Get<long>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_SharesOutstanding);
273 
274  /// <summary>
275  /// Price * Total SharesOutstanding. The most current market cap for example, would be the most recent closing price x the most recent reported shares outstanding. For ADR share classes, market cap is price * (ordinary shares outstanding / adr ratio).
276  /// </summary>
277  /// <remarks>
278  /// Morningstar DataId: 40001
279  /// </remarks>
280  [JsonProperty("40001")]
281  public long MarketCap => FundamentalService.Get<long>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_MarketCap);
282 
283  /// <summary>
284  /// This number tells you what cash return you would get if you bought the entire company, including its debt. Enterprise Value = Market Cap + Preferred stock + Long-Term Debt And Capital Lease + Short Term Debt And Capital Lease + Securities Sold But Not Yet Repurchased - Cash, Cash Equivalent And Market Securities - Securities Purchased with Agreement to Resell - Securities Borrowed.
285  /// </summary>
286  /// <remarks>
287  /// Morningstar DataId: 40002
288  /// </remarks>
289  [JsonProperty("40002")]
290  public long EnterpriseValue => FundamentalService.Get<long>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_EnterpriseValue);
291 
292  /// <summary>
293  /// The latest shares outstanding reported by the company of a particular share class; most common source of this information is from the cover of the 10K, 10Q, or 20F filing. This figure is an aggregated shares outstanding number for a particular share class of the company.
294  /// </summary>
295  /// <remarks>
296  /// Morningstar DataId: 40003
297  /// </remarks>
298  [JsonProperty("40003")]
299  public long ShareClassLevelSharesOutstanding => FundamentalService.Get<long>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_ShareClassLevelSharesOutstanding);
300 
301  /// <summary>
302  /// Total shares outstanding reported by the company as of the balance sheet period ended date. The most common source of this information is from the 10K, 10Q, or 20F filing. This figure is an aggregated shares outstanding number for a company.
303  /// </summary>
304  /// <remarks>
305  /// Morningstar DataId: 40007
306  /// </remarks>
307  [JsonProperty("40007")]
308  public long SharesOutstandingWithBalanceSheetEndingDate => FundamentalService.Get<long>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_SharesOutstandingWithBalanceSheetEndingDate);
309 
310  /// <summary>
311  /// The reason for the change in a company's total shares outstanding from the previous record. Examples could be share issuances or share buy-back. This field will only be populated when total shares outstanding is collected from a press release.
312  /// </summary>
313  /// <remarks>
314  /// Morningstar DataId: 40010
315  /// </remarks>
316  [JsonProperty("40010")]
317  public string ReasonofSharesChange => FundamentalService.Get<string>(_timeProvider.GetUtcNow(), _securityIdentifier, FundamentalProperty.CompanyProfile_ReasonofSharesChange);
318 
319  /// <summary>
320  /// Creates a new instance for the given time and security
321  /// </summary>
322  public CompanyProfile(ITimeProvider timeProvider, SecurityIdentifier securityIdentifier)
323  : base(timeProvider, securityIdentifier)
324  {
325  }
326 
327  /// <summary>
328  /// Clones this instance
329  /// </summary>
331  {
332  return new CompanyProfile(timeProvider, _securityIdentifier);
333  }
334  }
335 }