Lean
$LEAN_TAG$
UniverseSelectionModel.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
using
System;
17
using
System.Collections.Generic;
18
using
QuantConnect
.
Data
.
UniverseSelection
;
19
using
QuantConnect
.
Interfaces
;
20
21
namespace
QuantConnect.Algorithm.Framework.Selection
22
{
23
/// <summary>
24
/// Provides a base class for universe selection models.
25
/// </summary>
26
public
class
UniverseSelectionModel
:
IUniverseSelectionModel
27
{
28
/// <summary>
29
/// Gets the next time the framework should invoke the `CreateUniverses` method to refresh the set of universes.
30
/// </summary>
31
public
virtual
DateTime
GetNextRefreshTimeUtc
()
32
{
33
return
DateTime.MaxValue;
34
}
35
36
/// <summary>
37
/// Creates the universes for this algorithm. Called once after <see cref="IAlgorithm.Initialize"/>
38
/// </summary>
39
/// <param name="algorithm">The algorithm instance to create universes for</param>
40
/// <returns>The universes to be used by the algorithm</returns>
41
public
virtual
IEnumerable<Universe>
CreateUniverses
(
QCAlgorithm
algorithm)
42
{
43
throw
new
System.NotImplementedException(
"Types deriving from 'UniverseSelectionModel' must implement the 'IEnumerable<Universe> CreateUniverses(QCAlgorithm) method."
);
44
}
45
}
46
}
Algorithm
Selection
UniverseSelectionModel.cs
Generated by
1.8.17