Lean  $LEAN_TAG$
ConstituentUniverseDefinitions.cs
1 /*
2  * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals.
3  * Lean Algorithmic Trading Engine v2.0. Copyright 2014 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 
20 
21 namespace QuantConnect.Algorithm
22 {
23  /// <summary>
24  /// Provides helpers for defining constituent universes based on the Morningstar
25  /// asset classification <see cref="AssetClassification"/> https://www.morningstar.com/
26  /// </summary>
28  {
29  private readonly IAlgorithm _algorithm;
30 
31  /// <summary>
32  /// Universe which selects companies whose revenues and earnings have both been growing significantly faster than
33  /// the general economy.
34  /// </summary>
35  public Universe AggressiveGrowth(UniverseSettings universeSettings = null)
36  {
37  return new ConstituentsUniverse(
38  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-AggressiveGrowth", SecurityType.Equity, Market.USA), "constituents-universe-AggressiveGrowth"),
39  universeSettings ?? _algorithm.UniverseSettings);
40  }
41 
42  /// <summary>
43  /// Universe which selects companies that are growing respectably faster than the general economy, and often pay a
44  /// steady dividend. They tend to be mature and solidly profitable businesses.
45  /// </summary>
46  public Universe ClassicGrowth(UniverseSettings universeSettings = null)
47  {
48  return new ConstituentsUniverse(
49  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-ClassicGrowth", SecurityType.Equity, Market.USA), "constituents-universe-ClassicGrowth"),
50  universeSettings ?? _algorithm.UniverseSettings);
51  }
52 
53  /// <summary>
54  /// Universe which selects companies in the cyclicals and durables sectors, except those in the three types below.
55  /// The profits of cyclicals tend to rise and fall with the general economy.
56  /// </summary>
57  public Universe Cyclicals(UniverseSettings universeSettings = null)
58  {
59  return new ConstituentsUniverse(
60  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-Cyclicals", SecurityType.Equity, Market.USA), "constituents-universe-Cyclicals"),
61  universeSettings ?? _algorithm.UniverseSettings);
62  }
63 
64  /// <summary>
65  /// Universe which selects companies that have had consistently declining cash flows and earnings over the past
66  /// three years, and/or very high debt.
67  /// </summary>
68  public Universe Distressed(UniverseSettings universeSettings = null)
69  {
70  return new ConstituentsUniverse(
71  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-Distressed", SecurityType.Equity, Market.USA), "constituents-universe-Distressed"),
72  universeSettings ?? _algorithm.UniverseSettings);
73  }
74 
75  /// <summary>
76  /// Universe which selects companies that deal in assets such as oil, metals, and real estate, which tend to do
77  /// well in inflationary environments.
78  /// </summary>
79  public Universe HardAsset(UniverseSettings universeSettings = null)
80  {
81  return new ConstituentsUniverse(
82  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-HardAsset", SecurityType.Equity, Market.USA), "constituents-universe-HardAsset"),
83  universeSettings ?? _algorithm.UniverseSettings);
84  }
85 
86  /// <summary>
87  /// Universe which selects companies that have dividend yields at least twice the average for large-cap stocks.
88  /// They tend to be mature, slow-growing companies.
89  /// </summary>
90  public Universe HighYield(UniverseSettings universeSettings = null)
91  {
92  return new ConstituentsUniverse(
93  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-HighYield", SecurityType.Equity, Market.USA), "constituents-universe-HighYield"),
94  universeSettings ?? _algorithm.UniverseSettings);
95  }
96 
97  /// <summary>
98  /// Universe which selects companies that have shown slow revenue and earnings growth (typically less than the rate
99  /// of GDP growth) over at least three years.
100  /// </summary>
101  public Universe SlowGrowth(UniverseSettings universeSettings = null)
102  {
103  return new ConstituentsUniverse(
104  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-SlowGrowth", SecurityType.Equity, Market.USA), "constituents-universe-SlowGrowth"),
105  universeSettings ?? _algorithm.UniverseSettings);
106  }
107 
108  /// <summary>
109  /// Universe which selects companies that have shown strong revenue growth but slower or spotty earnings growth.
110  /// Very small or young companies also tend to fall into this class.
111  /// </summary>
112  public Universe SpeculativeGrowth(UniverseSettings universeSettings = null)
113  {
114  return new ConstituentsUniverse(
115  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-SpeculativeGrowth", SecurityType.Equity, Market.USA), "constituents-universe-SpeculativeGrowth"),
116  universeSettings ?? _algorithm.UniverseSettings);
117  }
118 
119  /// <summary>
120  /// Classifies securities according to market capitalization and growth and value factor
121  /// </summary>
122  /// <remarks>Please refer to http://www.morningstar.com/InvGlossary/morningstar_style_box.aspx </remarks>
123  public Universe LargeValue(UniverseSettings universeSettings = null)
124  {
125  return new ConstituentsUniverse(
126  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-LargeValue", SecurityType.Equity, Market.USA), "constituents-universe-LargeValue"),
127  universeSettings ?? _algorithm.UniverseSettings);
128  }
129 
130  /// <summary>
131  /// Classifies securities according to market capitalization and growth and value factor
132  /// </summary>
133  /// <remarks>Please refer to http://www.morningstar.com/InvGlossary/morningstar_style_box.aspx </remarks>
134  public Universe LargeCore(UniverseSettings universeSettings = null)
135  {
136  return new ConstituentsUniverse(
137  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-LargeCore", SecurityType.Equity, Market.USA), "constituents-universe-LargeCore"),
138  universeSettings ?? _algorithm.UniverseSettings);
139  }
140 
141  /// <summary>
142  /// Classifies securities according to market capitalization and growth and value factor
143  /// </summary>
144  /// <remarks>Please refer to http://www.morningstar.com/InvGlossary/morningstar_style_box.aspx </remarks>
145  public Universe LargeGrowth(UniverseSettings universeSettings = null)
146  {
147  return new ConstituentsUniverse(
148  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-LargeGrowth", SecurityType.Equity, Market.USA), "constituents-universe-LargeGrowth"),
149  universeSettings ?? _algorithm.UniverseSettings);
150  }
151 
152  /// <summary>
153  /// Classifies securities according to market capitalization and growth and value factor
154  /// </summary>
155  /// <remarks>Please refer to http://www.morningstar.com/InvGlossary/morningstar_style_box.aspx </remarks>
156  public Universe MidValue(UniverseSettings universeSettings = null)
157  {
158  return new ConstituentsUniverse(
159  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-MidValue", SecurityType.Equity, Market.USA), "constituents-universe-MidValue"),
160  universeSettings ?? _algorithm.UniverseSettings);
161  }
162 
163  /// <summary>
164  /// Classifies securities according to market capitalization and growth and value factor
165  /// </summary>
166  /// <remarks>Please refer to http://www.morningstar.com/InvGlossary/morningstar_style_box.aspx </remarks>
167  public Universe MidCore(UniverseSettings universeSettings = null)
168  {
169  return new ConstituentsUniverse(
170  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-MidCore", SecurityType.Equity, Market.USA), "constituents-universe-MidCore"),
171  universeSettings ?? _algorithm.UniverseSettings);
172  }
173 
174  /// <summary>
175  /// Classifies securities according to market capitalization and growth and value factor
176  /// </summary>
177  /// <remarks>Please refer to http://www.morningstar.com/InvGlossary/morningstar_style_box.aspx </remarks>
178  public Universe MidGrowth(UniverseSettings universeSettings = null)
179  {
180  return new ConstituentsUniverse(
181  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-MidGrowth", SecurityType.Equity, Market.USA), "constituents-universe-MidGrowth"),
182  universeSettings ?? _algorithm.UniverseSettings);
183  }
184 
185  /// <summary>
186  /// Classifies securities according to market capitalization and growth and value factor
187  /// </summary>
188  /// <remarks>Please refer to http://www.morningstar.com/InvGlossary/morningstar_style_box.aspx </remarks>
189  public Universe SmallValue(UniverseSettings universeSettings = null)
190  {
191  return new ConstituentsUniverse(
192  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-SmallValue", SecurityType.Equity, Market.USA), "constituents-universe-SmallValue"),
193  universeSettings ?? _algorithm.UniverseSettings);
194  }
195 
196  /// <summary>
197  /// Classifies securities according to market capitalization and growth and value factor
198  /// </summary>
199  /// <remarks>Please refer to http://www.morningstar.com/InvGlossary/morningstar_style_box.aspx </remarks>
200  public Universe SmallCore(UniverseSettings universeSettings = null)
201  {
202  return new ConstituentsUniverse(
203  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-SmallCore", SecurityType.Equity, Market.USA), "constituents-universe-SmallCore"),
204  universeSettings ?? _algorithm.UniverseSettings);
205  }
206 
207  /// <summary>
208  /// Classifies securities according to market capitalization and growth and value factor
209  /// </summary>
210  /// <remarks>Please refer to http://www.morningstar.com/InvGlossary/morningstar_style_box.aspx </remarks>
211  public Universe SmallGrowth(UniverseSettings universeSettings = null)
212  {
213  return new ConstituentsUniverse(
214  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-SmallGrowth", SecurityType.Equity, Market.USA), "constituents-universe-SmallGrowth"),
215  universeSettings ?? _algorithm.UniverseSettings);
216  }
217 
218  /// <summary>
219  /// Morningstar Agriculture industry group <see cref="MorningstarIndustryGroupCode"/>
220  /// </summary>
221  public Universe Agriculture(UniverseSettings universeSettings = null)
222  {
223  return new ConstituentsUniverse(
224  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-Agriculture", SecurityType.Equity, Market.USA), "constituents-universe-Agriculture"),
225  universeSettings ?? _algorithm.UniverseSettings);
226  }
227 
228  /// <summary>
229  /// Morningstar BuildingMaterials industry group <see cref="MorningstarIndustryGroupCode"/>
230  /// </summary>
231  public Universe BuildingMaterials(UniverseSettings universeSettings = null)
232  {
233  return new ConstituentsUniverse(
234  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-BuildingMaterials", SecurityType.Equity, Market.USA), "constituents-universe-BuildingMaterials"),
235  universeSettings ?? _algorithm.UniverseSettings);
236  }
237 
238  /// <summary>
239  /// Morningstar Chemicals industry group <see cref="MorningstarIndustryGroupCode"/>
240  /// </summary>
241  public Universe Chemicals(UniverseSettings universeSettings = null)
242  {
243  return new ConstituentsUniverse(
244  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-Chemicals", SecurityType.Equity, Market.USA), "constituents-universe-Chemicals"),
245  universeSettings ?? _algorithm.UniverseSettings);
246  }
247 
248  /// <summary>
249  /// Morningstar ForestProducts industry group <see cref="MorningstarIndustryGroupCode"/>
250  /// </summary>
251  public Universe ForestProducts(UniverseSettings universeSettings = null)
252  {
253  return new ConstituentsUniverse(
254  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-ForestProducts", SecurityType.Equity, Market.USA), "constituents-universe-ForestProducts"),
255  universeSettings ?? _algorithm.UniverseSettings);
256  }
257 
258  /// <summary>
259  /// Morningstar MetalsAndMining industry group <see cref="MorningstarIndustryGroupCode"/>
260  /// </summary>
261  public Universe MetalsAndMining(UniverseSettings universeSettings = null)
262  {
263  return new ConstituentsUniverse(
264  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-MetalsAndMining", SecurityType.Equity, Market.USA), "constituents-universe-MetalsAndMining"),
265  universeSettings ?? _algorithm.UniverseSettings);
266  }
267 
268  /// <summary>
269  /// Morningstar Steel industry group <see cref="MorningstarIndustryGroupCode"/>
270  /// </summary>
271  public Universe Steel(UniverseSettings universeSettings = null)
272  {
273  return new ConstituentsUniverse(
274  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-Steel", SecurityType.Equity, Market.USA), "constituents-universe-Steel"),
275  universeSettings ?? _algorithm.UniverseSettings);
276  }
277 
278  /// <summary>
279  /// Morningstar VehiclesAndParts industry group <see cref="MorningstarIndustryGroupCode"/>
280  /// </summary>
281  public Universe VehiclesAndParts(UniverseSettings universeSettings = null)
282  {
283  return new ConstituentsUniverse(
284  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-VehiclesAndParts", SecurityType.Equity, Market.USA), "constituents-universe-VehiclesAndParts"),
285  universeSettings ?? _algorithm.UniverseSettings);
286  }
287 
288  /// <summary>
289  /// Morningstar FixturesAndAppliances industry group <see cref="MorningstarIndustryGroupCode"/>
290  /// </summary>
291  public Universe FixturesAndAppliances(UniverseSettings universeSettings = null)
292  {
293  return new ConstituentsUniverse(
294  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-FixturesAndAppliances", SecurityType.Equity, Market.USA), "constituents-universe-FixturesAndAppliances"),
295  universeSettings ?? _algorithm.UniverseSettings);
296  }
297 
298  /// <summary>
299  /// Morningstar HomebuildingAndConstruction industry group <see cref="MorningstarIndustryGroupCode"/>
300  /// </summary>
301  public Universe HomebuildingAndConstruction(UniverseSettings universeSettings = null)
302  {
303  return new ConstituentsUniverse(
304  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-HomebuildingAndConstruction", SecurityType.Equity, Market.USA), "constituents-universe-HomebuildingAndConstruction"),
305  universeSettings ?? _algorithm.UniverseSettings);
306  }
307 
308  /// <summary>
309  /// Morningstar ManufacturingApparelAndAccessories industry group <see cref="MorningstarIndustryGroupCode"/>
310  /// </summary>
312  {
313  return new ConstituentsUniverse(
314  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-ManufacturingApparelAndAccessories", SecurityType.Equity, Market.USA), "constituents-universe-ManufacturingApparelAndAccessories"),
315  universeSettings ?? _algorithm.UniverseSettings);
316  }
317 
318  /// <summary>
319  /// Morningstar PackagingAndContainers industry group <see cref="MorningstarIndustryGroupCode"/>
320  /// </summary>
321  public Universe PackagingAndContainers(UniverseSettings universeSettings = null)
322  {
323  return new ConstituentsUniverse(
324  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-PackagingAndContainers", SecurityType.Equity, Market.USA), "constituents-universe-PackagingAndContainers"),
325  universeSettings ?? _algorithm.UniverseSettings);
326  }
327 
328  /// <summary>
329  /// Morningstar PersonalServices industry group <see cref="MorningstarIndustryGroupCode"/>
330  /// </summary>
331  public Universe PersonalServices(UniverseSettings universeSettings = null)
332  {
333  return new ConstituentsUniverse(
334  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-PersonalServices", SecurityType.Equity, Market.USA), "constituents-universe-PersonalServices"),
335  universeSettings ?? _algorithm.UniverseSettings);
336  }
337 
338  /// <summary>
339  /// Morningstar Restaurants industry group <see cref="MorningstarIndustryGroupCode"/>
340  /// </summary>
341  public Universe Restaurants(UniverseSettings universeSettings = null)
342  {
343  return new ConstituentsUniverse(
344  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-Restaurants", SecurityType.Equity, Market.USA), "constituents-universe-Restaurants"),
345  universeSettings ?? _algorithm.UniverseSettings);
346  }
347 
348  /// <summary>
349  /// Morningstar RetailCyclical industry group <see cref="MorningstarIndustryGroupCode"/>
350  /// </summary>
351  public Universe RetailCyclical(UniverseSettings universeSettings = null)
352  {
353  return new ConstituentsUniverse(
354  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-RetailCyclical", SecurityType.Equity, Market.USA), "constituents-universe-RetailCyclical"),
355  universeSettings ?? _algorithm.UniverseSettings);
356  }
357 
358  /// <summary>
359  /// Morningstar TravelAndLeisure industry group <see cref="MorningstarIndustryGroupCode"/>
360  /// </summary>
361  public Universe TravelAndLeisure(UniverseSettings universeSettings = null)
362  {
363  return new ConstituentsUniverse(
364  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-TravelAndLeisure", SecurityType.Equity, Market.USA), "constituents-universe-TravelAndLeisure"),
365  universeSettings ?? _algorithm.UniverseSettings);
366  }
367 
368  /// <summary>
369  /// Morningstar AssetManagement industry group <see cref="MorningstarIndustryGroupCode"/>
370  /// </summary>
371  public Universe AssetManagement(UniverseSettings universeSettings = null)
372  {
373  return new ConstituentsUniverse(
374  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-AssetManagement", SecurityType.Equity, Market.USA), "constituents-universe-AssetManagement"),
375  universeSettings ?? _algorithm.UniverseSettings);
376  }
377 
378  /// <summary>
379  /// Morningstar Banks industry group <see cref="MorningstarIndustryGroupCode"/>
380  /// </summary>
381  public Universe Banks(UniverseSettings universeSettings = null)
382  {
383  return new ConstituentsUniverse(
384  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-Banks", SecurityType.Equity, Market.USA), "constituents-universe-Banks"),
385  universeSettings ?? _algorithm.UniverseSettings);
386  }
387 
388  /// <summary>
389  /// Morningstar CapitalMarkets industry group <see cref="MorningstarIndustryGroupCode"/>
390  /// </summary>
391  public Universe CapitalMarkets(UniverseSettings universeSettings = null)
392  {
393  return new ConstituentsUniverse(
394  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-CapitalMarkets", SecurityType.Equity, Market.USA), "constituents-universe-CapitalMarkets"),
395  universeSettings ?? _algorithm.UniverseSettings);
396  }
397 
398  /// <summary>
399  /// Morningstar Insurance industry group <see cref="MorningstarIndustryGroupCode"/>
400  /// </summary>
401  public Universe Insurance(UniverseSettings universeSettings = null)
402  {
403  return new ConstituentsUniverse(
404  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-Insurance", SecurityType.Equity, Market.USA), "constituents-universe-Insurance"),
405  universeSettings ?? _algorithm.UniverseSettings);
406  }
407 
408  /// <summary>
409  /// Morningstar DiversifiedFinancialServices industry group <see cref="MorningstarIndustryGroupCode"/>
410  /// </summary>
412  {
413  return new ConstituentsUniverse(
414  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-DiversifiedFinancialServices", SecurityType.Equity, Market.USA), "constituents-universe-DiversifiedFinancialServices"),
415  universeSettings ?? _algorithm.UniverseSettings);
416  }
417 
418  /// <summary>
419  /// Morningstar CreditServices industry group <see cref="MorningstarIndustryGroupCode"/>
420  /// </summary>
421  public Universe CreditServices(UniverseSettings universeSettings = null)
422  {
423  return new ConstituentsUniverse(
424  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-CreditServices", SecurityType.Equity, Market.USA), "constituents-universe-CreditServices"),
425  universeSettings ?? _algorithm.UniverseSettings);
426  }
427 
428  /// <summary>
429  /// Morningstar RealEstate industry group <see cref="MorningstarIndustryGroupCode"/>
430  /// </summary>
431  public Universe RealEstate(UniverseSettings universeSettings = null)
432  {
433  return new ConstituentsUniverse(
434  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-RealEstate", SecurityType.Equity, Market.USA), "constituents-universe-RealEstate"),
435  universeSettings ?? _algorithm.UniverseSettings);
436  }
437 
438  /// <summary>
439  /// Morningstar REITs industry group <see cref="MorningstarIndustryGroupCode"/>
440  /// </summary>
441  public Universe REITs(UniverseSettings universeSettings = null)
442  {
443  return new ConstituentsUniverse(
444  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-REITs", SecurityType.Equity, Market.USA), "constituents-universe-REITs"),
445  universeSettings ?? _algorithm.UniverseSettings);
446  }
447 
448  /// <summary>
449  /// Morningstar BeveragesAlcoholic industry group <see cref="MorningstarIndustryGroupCode"/>
450  /// </summary>
451  public Universe BeveragesAlcoholic(UniverseSettings universeSettings = null)
452  {
453  return new ConstituentsUniverse(
454  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-BeveragesAlcoholic", SecurityType.Equity, Market.USA), "constituents-universe-BeveragesAlcoholic"),
455  universeSettings ?? _algorithm.UniverseSettings);
456  }
457 
458  /// <summary>
459  /// Morningstar BeveragesNonAlcoholic industry group <see cref="MorningstarIndustryGroupCode"/>
460  /// </summary>
461  public Universe BeveragesNonAlcoholic(UniverseSettings universeSettings = null)
462  {
463  return new ConstituentsUniverse(
464  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-BeveragesNonAlcoholic", SecurityType.Equity, Market.USA), "constituents-universe-BeveragesNonAlcoholic"),
465  universeSettings ?? _algorithm.UniverseSettings);
466  }
467 
468  /// <summary>
469  /// Morningstar ConsumerPackagedGoods industry group <see cref="MorningstarIndustryGroupCode"/>
470  /// </summary>
471  public Universe ConsumerPackagedGoods(UniverseSettings universeSettings = null)
472  {
473  return new ConstituentsUniverse(
474  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-ConsumerPackagedGoods", SecurityType.Equity, Market.USA), "constituents-universe-ConsumerPackagedGoods"),
475  universeSettings ?? _algorithm.UniverseSettings);
476  }
477 
478  /// <summary>
479  /// Morningstar Education industry group <see cref="MorningstarIndustryGroupCode"/>
480  /// </summary>
481  public Universe Education(UniverseSettings universeSettings = null)
482  {
483  return new ConstituentsUniverse(
484  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-Education", SecurityType.Equity, Market.USA), "constituents-universe-Education"),
485  universeSettings ?? _algorithm.UniverseSettings);
486  }
487 
488  /// <summary>
489  /// Morningstar RetailDefensive industry group <see cref="MorningstarIndustryGroupCode"/>
490  /// </summary>
491  public Universe RetailDefensive(UniverseSettings universeSettings = null)
492  {
493  return new ConstituentsUniverse(
494  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-RetailDefensive", SecurityType.Equity, Market.USA), "constituents-universe-RetailDefensive"),
495  universeSettings ?? _algorithm.UniverseSettings);
496  }
497 
498  /// <summary>
499  /// Morningstar TobaccoProducts industry group <see cref="MorningstarIndustryGroupCode"/>
500  /// </summary>
501  public Universe TobaccoProducts(UniverseSettings universeSettings = null)
502  {
503  return new ConstituentsUniverse(
504  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-TobaccoProducts", SecurityType.Equity, Market.USA), "constituents-universe-TobaccoProducts"),
505  universeSettings ?? _algorithm.UniverseSettings);
506  }
507 
508  /// <summary>
509  /// Morningstar Biotechnology industry group <see cref="MorningstarIndustryGroupCode"/>
510  /// </summary>
511  public Universe Biotechnology(UniverseSettings universeSettings = null)
512  {
513  return new ConstituentsUniverse(
514  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-Biotechnology", SecurityType.Equity, Market.USA), "constituents-universe-Biotechnology"),
515  universeSettings ?? _algorithm.UniverseSettings);
516  }
517 
518  /// <summary>
519  /// Morningstar DrugManufacturers industry group <see cref="MorningstarIndustryGroupCode"/>
520  /// </summary>
521  public Universe DrugManufacturers(UniverseSettings universeSettings = null)
522  {
523  return new ConstituentsUniverse(
524  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-DrugManufacturers", SecurityType.Equity, Market.USA), "constituents-universe-DrugManufacturers"),
525  universeSettings ?? _algorithm.UniverseSettings);
526  }
527 
528  /// <summary>
529  /// Morningstar HealthcarePlans industry group <see cref="MorningstarIndustryGroupCode"/>
530  /// </summary>
531  public Universe HealthcarePlans(UniverseSettings universeSettings = null)
532  {
533  return new ConstituentsUniverse(
534  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-HealthcarePlans", SecurityType.Equity, Market.USA), "constituents-universe-HealthcarePlans"),
535  universeSettings ?? _algorithm.UniverseSettings);
536  }
537 
538  /// <summary>
539  /// Morningstar HealthcareProvidersAndServices industry group <see cref="MorningstarIndustryGroupCode"/>
540  /// </summary>
542  {
543  return new ConstituentsUniverse(
544  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-HealthcareProvidersAndServices", SecurityType.Equity, Market.USA), "constituents-universe-HealthcareProvidersAndServices"),
545  universeSettings ?? _algorithm.UniverseSettings);
546  }
547 
548  /// <summary>
549  /// Morningstar MedicalDevicesAndInstruments industry group <see cref="MorningstarIndustryGroupCode"/>
550  /// </summary>
552  {
553  return new ConstituentsUniverse(
554  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-MedicalDevicesAndInstruments", SecurityType.Equity, Market.USA), "constituents-universe-MedicalDevicesAndInstruments"),
555  universeSettings ?? _algorithm.UniverseSettings);
556  }
557 
558  /// <summary>
559  /// Morningstar MedicalDiagnosticsAndResearch industry group <see cref="MorningstarIndustryGroupCode"/>
560  /// </summary>
562  {
563  return new ConstituentsUniverse(
564  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-MedicalDiagnosticsAndResearch", SecurityType.Equity, Market.USA), "constituents-universe-MedicalDiagnosticsAndResearch"),
565  universeSettings ?? _algorithm.UniverseSettings);
566  }
567 
568  /// <summary>
569  /// Morningstar MedicalDistribution industry group <see cref="MorningstarIndustryGroupCode"/>
570  /// </summary>
571  public Universe MedicalDistribution(UniverseSettings universeSettings = null)
572  {
573  return new ConstituentsUniverse(
574  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-MedicalDistribution", SecurityType.Equity, Market.USA), "constituents-universe-MedicalDistribution"),
575  universeSettings ?? _algorithm.UniverseSettings);
576  }
577 
578  /// <summary>
579  /// Morningstar UtilitiesIndependentPowerProducers industry group <see cref="MorningstarIndustryGroupCode"/>
580  /// </summary>
582  {
583  return new ConstituentsUniverse(
584  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-UtilitiesIndependentPowerProducers", SecurityType.Equity, Market.USA), "constituents-universe-UtilitiesIndependentPowerProducers"),
585  universeSettings ?? _algorithm.UniverseSettings);
586  }
587 
588  /// <summary>
589  /// Morningstar UtilitiesRegulated industry group <see cref="MorningstarIndustryGroupCode"/>
590  /// </summary>
591  public Universe UtilitiesRegulated(UniverseSettings universeSettings = null)
592  {
593  return new ConstituentsUniverse(
594  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-UtilitiesRegulated", SecurityType.Equity, Market.USA), "constituents-universe-UtilitiesRegulated"),
595  universeSettings ?? _algorithm.UniverseSettings);
596  }
597 
598  /// <summary>
599  /// Morningstar TelecommunicationServices industry group <see cref="MorningstarIndustryGroupCode"/>
600  /// </summary>
601  public Universe TelecommunicationServices(UniverseSettings universeSettings = null)
602  {
603  return new ConstituentsUniverse(
604  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-TelecommunicationServices", SecurityType.Equity, Market.USA), "constituents-universe-TelecommunicationServices"),
605  universeSettings ?? _algorithm.UniverseSettings);
606  }
607 
608  /// <summary>
609  /// Morningstar MediaDiversified industry group <see cref="MorningstarIndustryGroupCode"/>
610  /// </summary>
611  public Universe MediaDiversified(UniverseSettings universeSettings = null)
612  {
613  return new ConstituentsUniverse(
614  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-MediaDiversified", SecurityType.Equity, Market.USA), "constituents-universe-MediaDiversified"),
615  universeSettings ?? _algorithm.UniverseSettings);
616  }
617 
618  /// <summary>
619  /// Morningstar InteractiveMedia industry group <see cref="MorningstarIndustryGroupCode"/>
620  /// </summary>
621  public Universe InteractiveMedia(UniverseSettings universeSettings = null)
622  {
623  return new ConstituentsUniverse(
624  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-InteractiveMedia", SecurityType.Equity, Market.USA), "constituents-universe-InteractiveMedia"),
625  universeSettings ?? _algorithm.UniverseSettings);
626  }
627 
628  /// <summary>
629  /// Morningstar OilAndGas industry group <see cref="MorningstarIndustryGroupCode"/>
630  /// </summary>
631  public Universe OilAndGas(UniverseSettings universeSettings = null)
632  {
633  return new ConstituentsUniverse(
634  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-OilAndGas", SecurityType.Equity, Market.USA), "constituents-universe-OilAndGas"),
635  universeSettings ?? _algorithm.UniverseSettings);
636  }
637 
638  /// <summary>
639  /// Morningstar OtherEnergySources industry group <see cref="MorningstarIndustryGroupCode"/>
640  /// </summary>
641  public Universe OtherEnergySources(UniverseSettings universeSettings = null)
642  {
643  return new ConstituentsUniverse(
644  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-OtherEnergySources", SecurityType.Equity, Market.USA), "constituents-universe-OtherEnergySources"),
645  universeSettings ?? _algorithm.UniverseSettings);
646  }
647 
648  /// <summary>
649  /// Morningstar AerospaceAndDefense industry group <see cref="MorningstarIndustryGroupCode"/>
650  /// </summary>
651  public Universe AerospaceAndDefense(UniverseSettings universeSettings = null)
652  {
653  return new ConstituentsUniverse(
654  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-AerospaceAndDefense", SecurityType.Equity, Market.USA), "constituents-universe-AerospaceAndDefense"),
655  universeSettings ?? _algorithm.UniverseSettings);
656  }
657 
658  /// <summary>
659  /// Morningstar BusinessServices industry group <see cref="MorningstarIndustryGroupCode"/>
660  /// </summary>
661  public Universe BusinessServices(UniverseSettings universeSettings = null)
662  {
663  return new ConstituentsUniverse(
664  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-BusinessServices", SecurityType.Equity, Market.USA), "constituents-universe-BusinessServices"),
665  universeSettings ?? _algorithm.UniverseSettings);
666  }
667 
668  /// <summary>
669  /// Morningstar Conglomerates industry group <see cref="MorningstarIndustryGroupCode"/>
670  /// </summary>
671  public Universe Conglomerates(UniverseSettings universeSettings = null)
672  {
673  return new ConstituentsUniverse(
674  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-Conglomerates", SecurityType.Equity, Market.USA), "constituents-universe-Conglomerates"),
675  universeSettings ?? _algorithm.UniverseSettings);
676  }
677 
678  /// <summary>
679  /// Morningstar Construction industry group <see cref="MorningstarIndustryGroupCode"/>
680  /// </summary>
681  public Universe Construction(UniverseSettings universeSettings = null)
682  {
683  return new ConstituentsUniverse(
684  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-Construction", SecurityType.Equity, Market.USA), "constituents-universe-Construction"),
685  universeSettings ?? _algorithm.UniverseSettings);
686  }
687 
688  /// <summary>
689  /// Morningstar FarmAndHeavyConstructionMachinery industry group <see cref="MorningstarIndustryGroupCode"/>
690  /// </summary>
692  {
693  return new ConstituentsUniverse(
694  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-FarmAndHeavyConstructionMachinery", SecurityType.Equity, Market.USA), "constituents-universe-FarmAndHeavyConstructionMachinery"),
695  universeSettings ?? _algorithm.UniverseSettings);
696  }
697 
698  /// <summary>
699  /// Morningstar IndustrialDistribution industry group <see cref="MorningstarIndustryGroupCode"/>
700  /// </summary>
701  public Universe IndustrialDistribution(UniverseSettings universeSettings = null)
702  {
703  return new ConstituentsUniverse(
704  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-IndustrialDistribution", SecurityType.Equity, Market.USA), "constituents-universe-IndustrialDistribution"),
705  universeSettings ?? _algorithm.UniverseSettings);
706  }
707 
708  /// <summary>
709  /// Morningstar IndustrialProducts industry group <see cref="MorningstarIndustryGroupCode"/>
710  /// </summary>
711  public Universe IndustrialProducts(UniverseSettings universeSettings = null)
712  {
713  return new ConstituentsUniverse(
714  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-IndustrialProducts", SecurityType.Equity, Market.USA), "constituents-universe-IndustrialProducts"),
715  universeSettings ?? _algorithm.UniverseSettings);
716  }
717 
718  /// <summary>
719  /// Morningstar Transportation industry group <see cref="MorningstarIndustryGroupCode"/>
720  /// </summary>
721  public Universe Transportation(UniverseSettings universeSettings = null)
722  {
723  return new ConstituentsUniverse(
724  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-Transportation", SecurityType.Equity, Market.USA), "constituents-universe-Transportation"),
725  universeSettings ?? _algorithm.UniverseSettings);
726  }
727 
728  /// <summary>
729  /// Morningstar WasteManagement industry group <see cref="MorningstarIndustryGroupCode"/>
730  /// </summary>
731  public Universe WasteManagement(UniverseSettings universeSettings = null)
732  {
733  return new ConstituentsUniverse(
734  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-WasteManagement", SecurityType.Equity, Market.USA), "constituents-universe-WasteManagement"),
735  universeSettings ?? _algorithm.UniverseSettings);
736  }
737 
738  /// <summary>
739  /// Morningstar Software industry group <see cref="MorningstarIndustryGroupCode"/>
740  /// </summary>
741  public Universe Software(UniverseSettings universeSettings = null)
742  {
743  return new ConstituentsUniverse(
744  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-Software", SecurityType.Equity, Market.USA), "constituents-universe-Software"),
745  universeSettings ?? _algorithm.UniverseSettings);
746  }
747 
748  /// <summary>
749  /// Morningstar Hardware industry group <see cref="MorningstarIndustryGroupCode"/>
750  /// </summary>
751  public Universe Hardware(UniverseSettings universeSettings = null)
752  {
753  return new ConstituentsUniverse(
754  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-Hardware", SecurityType.Equity, Market.USA), "constituents-universe-Hardware"),
755  universeSettings ?? _algorithm.UniverseSettings);
756  }
757 
758  /// <summary>
759  /// Morningstar Semiconductors industry group <see cref="MorningstarIndustryGroupCode"/>
760  /// </summary>
761  public Universe Semiconductors(UniverseSettings universeSettings = null)
762  {
763  return new ConstituentsUniverse(
764  new Symbol(SecurityIdentifier.GenerateConstituentIdentifier("constituents-universe-Semiconductors", SecurityType.Equity, Market.USA), "constituents-universe-Semiconductors"),
765  universeSettings ?? _algorithm.UniverseSettings);
766  }
767 
768  /// <summary>
769  /// Initializes a new instance of the <see cref="ConstituentUniverseDefinitions"/> class
770  /// </summary>
771  /// <param name="algorithm">The algorithm instance, used for obtaining the default <see cref="UniverseSettings"/></param>
773  {
774  _algorithm = algorithm;
775  }
776  }
777 }