Lean
$LEAN_TAG$
OptionSymbolProperties.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
namespace
QuantConnect.Securities.Option
17
{
18
/// <summary>
19
/// Represents common properties for a specific option contract
20
/// </summary>
21
public
class
OptionSymbolProperties
:
SymbolProperties
22
{
23
/// <summary>
24
/// When the holder of an equity option exercises one contract, or when the writer of an equity option is assigned
25
/// an exercise notice on one contract, this unit of trade, usually 100 shares of the underlying security, changes hands.
26
/// </summary>
27
public
int
ContractUnitOfTrade
28
{
29
get
;
protected
set
;
30
}
31
32
/// <summary>
33
/// Overridable minimum price variation, required for index options contracts with
34
/// variable sized quoted prices depending on the premium of the option.
35
/// </summary>
36
public
override
decimal
MinimumPriceVariation
37
{
38
get
;
39
protected
set
;
40
}
41
42
/// <summary>
43
/// Creates an instance of the <see cref="OptionSymbolProperties"/> class
44
/// </summary>
45
public
OptionSymbolProperties
(
string
description,
string
quoteCurrency, decimal contractMultiplier, decimal pipSize, decimal lotSize)
46
: base(description, quoteCurrency, contractMultiplier, pipSize, lotSize, string.Empty)
47
{
48
ContractUnitOfTrade
= (int)contractMultiplier;
49
}
50
51
/// <summary>
52
/// Creates an instance of the <see cref="OptionSymbolProperties"/> class from <see cref="SymbolProperties"/> class
53
/// </summary>
54
public
OptionSymbolProperties
(
SymbolProperties
properties)
55
: base(properties.
Description
,
56
properties.
QuoteCurrency
,
57
properties.
ContractMultiplier
,
58
properties.
MinimumPriceVariation
,
59
properties.
LotSize
,
60
properties.
MarketTicker
,
61
properties.
MinimumOrderSize
,
62
properties.
PriceMagnifier
,
63
properties.
StrikeMultiplier
)
64
{
65
ContractUnitOfTrade
= (int)properties.
ContractMultiplier
;
66
}
67
68
internal
void
SetContractUnitOfTrade(
int
unitOfTrade)
69
{
70
ContractUnitOfTrade
= unitOfTrade;
71
}
72
73
internal
void
SetContractMultiplier(decimal multiplier)
74
{
75
ContractMultiplier
= multiplier;
76
}
77
}
78
}
Common
Securities
Option
OptionSymbolProperties.cs
Generated by
1.8.17