Lean  $LEAN_TAG$
EarningRatios.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 EarningRatios class
28  /// </summary>
30  {
31  /// <summary>
32  /// The growth in the company's diluted earnings per share (EPS) on a percentage basis. Morningstar calculates the annualized growth percentage based on the underlying diluted EPS reported in the Income Statement within the company filings or reports.
33  /// </summary>
34  /// <remarks>
35  /// Morningstar DataId: 13015
36  /// </remarks>
37  [JsonProperty("13015")]
38  public DilutedEPSGrowth DilutedEPSGrowth => _dilutedEPSGrowth ??= new(_timeProvider, _securityIdentifier);
39  private DilutedEPSGrowth _dilutedEPSGrowth;
40 
41  /// <summary>
42  /// The growth in the company's diluted EPS from continuing operations on a percentage basis. Morningstar calculates the annualized growth percentage based on the underlying diluted EPS from continuing operations reported in the Income Statement within the company filings or reports.
43  /// </summary>
44  /// <remarks>
45  /// Morningstar DataId: 13016
46  /// </remarks>
47  [JsonProperty("13016")]
49  private DilutedContEPSGrowth _dilutedContEPSGrowth;
50 
51  /// <summary>
52  /// The growth in the company's dividends per share (DPS) on a percentage basis. Morningstar calculates the annualized growth percentage based on the underlying DPS from its dividend database. Morningstar collects its DPS from company filings and reports, as well as from third party sources.
53  /// </summary>
54  /// <remarks>
55  /// Morningstar DataId: 13017
56  /// </remarks>
57  [JsonProperty("13017")]
58  public DPSGrowth DPSGrowth => _dPSGrowth ??= new(_timeProvider, _securityIdentifier);
59  private DPSGrowth _dPSGrowth;
60 
61  /// <summary>
62  /// The growth in the company's book value per share on a percentage basis. Morningstar calculates the annualized growth percentage based on the underlying equity and end of period shares outstanding reported in the company filings or reports.
63  /// </summary>
64  /// <remarks>
65  /// Morningstar DataId: 13018
66  /// </remarks>
67  [JsonProperty("13018")]
69  private EquityPerShareGrowth _equityPerShareGrowth;
70 
71  /// <summary>
72  /// The five-year growth rate of dividends per share, calculated using regression analysis.
73  /// </summary>
74  /// <remarks>
75  /// Morningstar DataId: 13019
76  /// </remarks>
77  [JsonProperty("13019")]
79  private RegressionGrowthofDividends5Years _regressionGrowthofDividends5Years;
80 
81  /// <summary>
82  /// The growth in the company's free cash flow per share on a percentage basis. Morningstar calculates the growth percentage based on the free cash flow divided by average diluted shares outstanding reported in the Financial Statements within the company filings or reports.
83  /// </summary>
84  /// <remarks>
85  /// Morningstar DataId: 13020
86  /// </remarks>
87  [JsonProperty("13020")]
88  public FCFPerShareGrowth FCFPerShareGrowth => _fCFPerShareGrowth ??= new(_timeProvider, _securityIdentifier);
89  private FCFPerShareGrowth _fCFPerShareGrowth;
90 
91  /// <summary>
92  /// The growth in the company's book value per share on a percentage basis. Morningstar calculates the growth percentage based on the common shareholder's equity reported in the Balance Sheet divided by the diluted shares outstanding within the company filings or reports.
93  /// </summary>
94  /// <remarks>
95  /// Morningstar DataId: 13021
96  /// </remarks>
97  [JsonProperty("13021")]
99  private BookValuePerShareGrowth _bookValuePerShareGrowth;
100 
101  /// <summary>
102  /// The growth in the company's Normalized Diluted EPS on a percentage basis.
103  /// </summary>
104  /// <remarks>
105  /// Morningstar DataId: 13022
106  /// </remarks>
107  [JsonProperty("13022")]
109  private NormalizedDilutedEPSGrowth _normalizedDilutedEPSGrowth;
110 
111  /// <summary>
112  /// The growth in the company's Normalized Basic EPS on a percentage basis.
113  /// </summary>
114  /// <remarks>
115  /// Morningstar DataId: 13023
116  /// </remarks>
117  [JsonProperty("13023")]
119  private NormalizedBasicEPSGrowth _normalizedBasicEPSGrowth;
120 
121  /// <summary>
122  /// Creates a new instance for the given time and security
123  /// </summary>
124  public EarningRatios(ITimeProvider timeProvider, SecurityIdentifier securityIdentifier)
125  : base(timeProvider, securityIdentifier)
126  {
127  }
128 
129  /// <summary>
130  /// Clones this instance
131  /// </summary>
133  {
134  return new EarningRatios(timeProvider, _securityIdentifier);
135  }
136  }
137 }