Lean  $LEAN_TAG$
EarningReports.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 EarningReports class
28  /// </summary>
30  {
31  /// <summary>
32  /// The exact date that is given in the financial statements for each quarter's end.
33  /// </summary>
34  /// <remarks>
35  /// Morningstar DataId: 20001
36  /// </remarks>
37  [JsonProperty("20001")]
39  private EarningReportsPeriodEndingDate _periodEndingDate;
40 
41  /// <summary>
42  /// Specific date on which a company released its filing to the public.
43  /// </summary>
44  /// <remarks>
45  /// Morningstar DataId: 20002
46  /// </remarks>
47  [JsonProperty("20002")]
49  private EarningReportsFileDate _fileDate;
50 
51  /// <summary>
52  /// The accession number is a unique number that EDGAR assigns to each submission as the submission is received.
53  /// </summary>
54  /// <remarks>
55  /// Morningstar DataId: 20003
56  /// </remarks>
57  [JsonProperty("20003")]
59  private EarningReportsAccessionNumber _accessionNumber;
60 
61  /// <summary>
62  /// The type of filing of the report: for instance, 10-K (annual report) or 10-Q (quarterly report).
63  /// </summary>
64  /// <remarks>
65  /// Morningstar DataId: 20004
66  /// </remarks>
67  [JsonProperty("20004")]
69  private EarningReportsFormType _formType;
70 
71  /// <summary>
72  /// The nature of the period covered by an individual set of financial results. The output can be: Quarter, Semi-annual or Annual. Assuming a 12-month fiscal year, quarter typically covers a three-month period, semi-annual a six-month period, and annual a twelve-month period. Annual could cover results collected either from preliminary results or an annual report
73  /// </summary>
74  /// <remarks>
75  /// Morningstar DataId: 28006
76  /// </remarks>
77  [JsonProperty("28006")]
79  private EarningReportsPeriodType _periodType;
80 
81  /// <summary>
82  /// Basic EPS from Continuing Operations is the earnings from continuing operations reported by the company divided by the weighted average number of common shares outstanding.
83  /// </summary>
84  /// <remarks>
85  /// Morningstar DataId: 29000
86  /// </remarks>
87  [JsonProperty("29000")]
89  private BasicContinuousOperations _basicContinuousOperations;
90 
91  /// <summary>
92  /// Basic EPS from Discontinued Operations is the earnings from discontinued operations reported by the company divided by the weighted average number of common shares outstanding. This only includes gain or loss from discontinued operations.
93  /// </summary>
94  /// <remarks>
95  /// Morningstar DataId: 29001
96  /// </remarks>
97  [JsonProperty("29001")]
99  private BasicDiscontinuousOperations _basicDiscontinuousOperations;
100 
101  /// <summary>
102  /// Basic EPS from the Extraordinary Gains/Losses is the earnings attributable to the gains or losses (during the reporting period) from extraordinary items divided by the weighted average number of common shares outstanding.
103  /// </summary>
104  /// <remarks>
105  /// Morningstar DataId: 29002
106  /// </remarks>
107  [JsonProperty("29002")]
109  private BasicExtraordinary _basicExtraordinary;
110 
111  /// <summary>
112  /// Basic EPS from the Cumulative Effect of Accounting Change is the earnings attributable to the accounting change (during the reporting period) divided by the weighted average number of common shares outstanding.
113  /// </summary>
114  /// <remarks>
115  /// Morningstar DataId: 29003
116  /// </remarks>
117  [JsonProperty("29003")]
119  private BasicAccountingChange _basicAccountingChange;
120 
121  /// <summary>
122  /// Basic EPS is the bottom line net income divided by the weighted average number of common shares outstanding.
123  /// </summary>
124  /// <remarks>
125  /// Morningstar DataId: 29004
126  /// </remarks>
127  [JsonProperty("29004")]
128  public BasicEPS BasicEPS => _basicEPS ??= new(_timeProvider, _securityIdentifier);
129  private BasicEPS _basicEPS;
130 
131  /// <summary>
132  /// Diluted EPS from Continuing Operations is the earnings from continuing operations divided by the common shares outstanding adjusted for the assumed conversion of all potentially dilutive securities. Securities having a dilutive effect may include convertible debentures, warrants, options, and convertible preferred stock.
133  /// </summary>
134  /// <remarks>
135  /// Morningstar DataId: 29005
136  /// </remarks>
137  [JsonProperty("29005")]
139  private DilutedContinuousOperations _dilutedContinuousOperations;
140 
141  /// <summary>
142  /// Diluted EPS from Discontinued Operations is the earnings from discontinued operations divided by the common shares outstanding adjusted for the assumed conversion of all potentially dilutive securities. Securities having a dilutive effect may include convertible debentures, warrants, options, and convertible preferred stock. This only includes gain or loss from discontinued operations.
143  /// </summary>
144  /// <remarks>
145  /// Morningstar DataId: 29006
146  /// </remarks>
147  [JsonProperty("29006")]
149  private DilutedDiscontinuousOperations _dilutedDiscontinuousOperations;
150 
151  /// <summary>
152  /// Diluted EPS from Extraordinary Gain/Losses is the gain or loss from extraordinary items divided by the common shares outstanding adjusted for the assumed conversion of all potentially dilutive securities. Securities having a dilutive effect may include convertible debentures, warrants, options, and convertible preferred stock.
153  /// </summary>
154  /// <remarks>
155  /// Morningstar DataId: 29007
156  /// </remarks>
157  [JsonProperty("29007")]
159  private DilutedExtraordinary _dilutedExtraordinary;
160 
161  /// <summary>
162  /// Diluted EPS from Cumulative Effect Accounting Changes is the earnings from accounting changes (in the reporting period) divided by the common shares outstanding adjusted for the assumed conversion of all potentially dilutive securities. Securities having a dilutive effect may include convertible debentures, warrants, options, and convertible preferred stock.
163  /// </summary>
164  /// <remarks>
165  /// Morningstar DataId: 29008
166  /// </remarks>
167  [JsonProperty("29008")]
169  private DilutedAccountingChange _dilutedAccountingChange;
170 
171  /// <summary>
172  /// Diluted EPS is the bottom line net income divided by the common shares outstanding adjusted for the assumed conversion of all potentially dilutive securities. Securities having a dilutive effect may include convertible debentures, warrants, options, and convertible preferred stock. This value will be derived when not reported for the fourth quarter and will be less than or equal to Basic EPS.
173  /// </summary>
174  /// <remarks>
175  /// Morningstar DataId: 29009
176  /// </remarks>
177  [JsonProperty("29009")]
178  public DilutedEPS DilutedEPS => _dilutedEPS ??= new(_timeProvider, _securityIdentifier);
179  private DilutedEPS _dilutedEPS;
180 
181  /// <summary>
182  /// The shares outstanding used to calculate Basic EPS, which is the weighted average common share outstanding through the whole accounting period. Note: If Basic Average Shares are not presented by the firm in the Income Statement, this data point will be null.
183  /// </summary>
184  /// <remarks>
185  /// Morningstar DataId: 29010
186  /// </remarks>
187  [JsonProperty("29010")]
189  private BasicAverageShares _basicAverageShares;
190 
191  /// <summary>
192  /// The shares outstanding used to calculate the diluted EPS, assuming the conversion of all convertible securities and the exercise of warrants or stock options. It is the weighted average diluted share outstanding through the whole accounting period. Note: If Diluted Average Shares are not presented by the firm in the Income Statement and Basic Average Shares are presented, Diluted Average Shares will equal Basic Average Shares. However, if neither value is presented by the firm, Diluted Average Shares will be null.
193  /// </summary>
194  /// <remarks>
195  /// Morningstar DataId: 29011
196  /// </remarks>
197  [JsonProperty("29011")]
199  private DilutedAverageShares _dilutedAverageShares;
200 
201  /// <summary>
202  /// The amount of dividend that a stockholder will receive for each share of stock held. It can be calculated by taking the total amount of dividends paid and dividing it by the total shares outstanding. Dividend per share = total dividend payment/total number of outstanding shares
203  /// </summary>
204  /// <remarks>
205  /// Morningstar DataId: 29012
206  /// </remarks>
207  [JsonProperty("29012")]
209  private DividendPerShare _dividendPerShare;
210 
211  /// <summary>
212  /// Basic EPS from the Other Gains/Losses is the earnings attributable to the other gains/losses (during the reporting period) divided by the weighted average number of common shares outstanding.
213  /// </summary>
214  /// <remarks>
215  /// Morningstar DataId: 29013
216  /// </remarks>
217  [JsonProperty("29013")]
219  private BasicEPSOtherGainsLosses _basicEPSOtherGainsLosses;
220 
221  /// <summary>
222  /// Basic EPS from Continuing Operations plus Basic EPS from Discontinued Operations.
223  /// </summary>
224  /// <remarks>
225  /// Morningstar DataId: 29014
226  /// </remarks>
227  [JsonProperty("29014")]
229  private ContinuingAndDiscontinuedBasicEPS _continuingAndDiscontinuedBasicEPS;
230 
231  /// <summary>
232  /// The earnings attributable to the tax loss carry forward (during the reporting period).
233  /// </summary>
234  /// <remarks>
235  /// Morningstar DataId: 29015
236  /// </remarks>
237  [JsonProperty("29015")]
239  private TaxLossCarryforwardBasicEPS _taxLossCarryforwardBasicEPS;
240 
241  /// <summary>
242  /// The earnings from gains and losses (in the reporting period) divided by the common shares outstanding adjusted for the assumed conversion of all potentially dilutive securities. Securities having a dilutive effect may include convertible debentures, warrants, options, convertible preferred stock, etc.
243  /// </summary>
244  /// <remarks>
245  /// Morningstar DataId: 29016
246  /// </remarks>
247  [JsonProperty("29016")]
249  private DilutedEPSOtherGainsLosses _dilutedEPSOtherGainsLosses;
250 
251  /// <summary>
252  /// Diluted EPS from Continuing Operations plus Diluted EPS from Discontinued Operations.
253  /// </summary>
254  /// <remarks>
255  /// Morningstar DataId: 29017
256  /// </remarks>
257  [JsonProperty("29017")]
259  private ContinuingAndDiscontinuedDilutedEPS _continuingAndDiscontinuedDilutedEPS;
260 
261  /// <summary>
262  /// The earnings from any tax loss carry forward (in the reporting period).
263  /// </summary>
264  /// <remarks>
265  /// Morningstar DataId: 29018
266  /// </remarks>
267  [JsonProperty("29018")]
269  private TaxLossCarryforwardDilutedEPS _taxLossCarryforwardDilutedEPS;
270 
271  /// <summary>
272  /// The basic normalized earnings per share. Normalized EPS removes onetime and unusual items from EPS, to provide investors with a more accurate measure of the company's true earnings. Normalized Earnings / Basic Weighted Average Shares Outstanding.
273  /// </summary>
274  /// <remarks>
275  /// Morningstar DataId: 29019
276  /// </remarks>
277  [JsonProperty("29019")]
279  private NormalizedBasicEPS _normalizedBasicEPS;
280 
281  /// <summary>
282  /// The diluted normalized earnings per share. Normalized EPS removes onetime and unusual items from EPS, to provide investors with a more accurate measure of the company's true earnings. Normalized Earnings / Diluted Weighted Average Shares Outstanding.
283  /// </summary>
284  /// <remarks>
285  /// Morningstar DataId: 29020
286  /// </remarks>
287  [JsonProperty("29020")]
289  private NormalizedDilutedEPS _normalizedDilutedEPS;
290 
291  /// <summary>
292  /// Total Dividend Per Share is cash dividends and special cash dividends paid per share over a certain period of time.
293  /// </summary>
294  /// <remarks>
295  /// Morningstar DataId: 29021
296  /// </remarks>
297  [JsonProperty("29021")]
299  private TotalDividendPerShare _totalDividendPerShare;
300 
301  /// <summary>
302  /// Normalized Basic EPS as reported by the company in the financial statements.
303  /// </summary>
304  /// <remarks>
305  /// Morningstar DataId: 29022
306  /// </remarks>
307  [JsonProperty("29022")]
309  private ReportedNormalizedBasicEPS _reportedNormalizedBasicEPS;
310 
311  /// <summary>
312  /// Normalized Diluted EPS as reported by the company in the financial statements.
313  /// </summary>
314  /// <remarks>
315  /// Morningstar DataId: 29023
316  /// </remarks>
317  [JsonProperty("29023")]
319  private ReportedNormalizedDilutedEPS _reportedNormalizedDilutedEPS;
320 
321  /// <summary>
322  /// Reflects a firm's capacity to pay a dividend, and is defined as Earnings Per Share / Dividend Per Share
323  /// </summary>
324  /// <remarks>
325  /// Morningstar DataId: 29024
326  /// </remarks>
327  [JsonProperty("29024")]
329  private DividendCoverageRatio _dividendCoverageRatio;
330 
331  /// <summary>
332  /// Creates a new instance for the given time and security
333  /// </summary>
334  public EarningReports(ITimeProvider timeProvider, SecurityIdentifier securityIdentifier)
335  : base(timeProvider, securityIdentifier)
336  {
337  }
338 
339  /// <summary>
340  /// Clones this instance
341  /// </summary>
343  {
344  return new EarningReports(timeProvider, _securityIdentifier);
345  }
346  }
347 }