Lean
$LEAN_TAG$
IndexedBasedData.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
18
namespace
QuantConnect.Data
19
{
20
/// <summary>
21
/// Abstract indexed base data class of QuantConnect.
22
/// It is intended to be extended to define customizable data types which are stored
23
/// using an intermediate index source
24
/// </summary>
25
public
abstract
class
IndexedBaseData
:
BaseData
26
{
27
/// <summary>
28
/// Returns the source for a given index value
29
/// </summary>
30
/// <param name="config">Configuration object</param>
31
/// <param name="date">Date of this source file</param>
32
/// <param name="index">The index value for which we want to fetch the source</param>
33
/// <param name="isLiveMode">true if we're in live mode, false for backtesting mode</param>
34
/// <returns>The <see cref="SubscriptionDataSource"/> instance to use</returns>
35
public
virtual
SubscriptionDataSource
GetSourceForAnIndex
(
SubscriptionDataConfig
config, DateTime date,
string
index,
bool
isLiveMode)
36
{
37
throw
new
NotImplementedException($
"{nameof(IndexedBaseData)} types should implement 'GetSourceForAnIndex'. "
+
38
"The implementation should determine the source to use for a given index value."
);
39
}
40
41
/// <summary>
42
/// Returns the index source for a date
43
/// </summary>
44
/// <param name="config">Configuration object</param>
45
/// <param name="date">Date of this source file</param>
46
/// <param name="isLiveMode">true if we're in live mode, false for backtesting mode</param>
47
/// <returns>The <see cref="SubscriptionDataSource"/> instance to use</returns>
48
public
override
SubscriptionDataSource
GetSource
(
SubscriptionDataConfig
config, DateTime date,
bool
isLiveMode)
49
{
50
throw
new
NotImplementedException($
"{nameof(IndexedBaseData)} types should implement 'GetSource'. "
+
51
"The implementation should determine the index source to use for a given date."
);
52
}
53
}
54
}
Common
Data
IndexedBasedData.cs
Generated by
1.8.17