Lean
$LEAN_TAG$
BuyingPowerParameters.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
QuantConnect
.
Orders
;
17
18
namespace
QuantConnect.Securities
19
{
20
/// <summary>
21
/// Defines the parameters for <see cref="IBuyingPowerModel.GetBuyingPower"/>
22
/// </summary>
23
public
class
BuyingPowerParameters
24
{
25
/// <summary>
26
/// Gets the security
27
/// </summary>
28
public
Security
Security
{
get
; }
29
30
/// <summary>
31
/// Gets the algorithm's portfolio
32
/// </summary>
33
public
SecurityPortfolioManager
Portfolio
{
get
; }
34
35
/// <summary>
36
/// Gets the direction in which buying power is to be computed
37
/// </summary>
38
public
OrderDirection
Direction
{
get
; }
39
40
/// <summary>
41
/// Initializes a new instance of the <see cref="BuyingPowerParameters"/> class
42
/// </summary>
43
/// <param name="portfolio">The algorithm's portfolio</param>
44
/// <param name="security">The security</param>
45
/// <param name="direction">The direction to compute buying power in</param>
46
public
BuyingPowerParameters
(
SecurityPortfolioManager
portfolio,
Security
security,
OrderDirection
direction)
47
{
48
Portfolio
= portfolio;
49
Security
= security;
50
Direction
= direction;
51
}
52
53
/// <summary>
54
/// Creates the result using the specified buying power
55
/// </summary>
56
/// <param name="buyingPower">The buying power</param>
57
/// <param name="currency">The units the buying power is denominated in</param>
58
/// <returns>The buying power</returns>
59
public
BuyingPower
Result
(decimal buyingPower,
string
currency)
60
{
61
// TODO: Properly account for 'currency' - not accounted for currently as only performing mechanical refactoring
62
return
new
BuyingPower
(buyingPower);
63
}
64
65
/// <summary>
66
/// Creates the result using the specified buying power in units of the account currency
67
/// </summary>
68
/// <param name="buyingPower">The buying power</param>
69
/// <returns>The buying power</returns>
70
public
BuyingPower
ResultInAccountCurrency
(decimal buyingPower)
71
{
72
return
new
BuyingPower
(buyingPower);
73
}
74
}
75
}
Common
Securities
BuyingPowerParameters.cs
Generated by
1.8.17