/* * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals. * Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ //------------------------------------------------------------------------------ // This code was generated by a tool. // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. //------------------------------------------------------------------------------ // To get up to date fundamental definition files for your hedgefund contact sales@quantconnect.com using System; using Newtonsoft.Json; namespace QuantConnect.Data.Fundamental { /// /// Definition of the SecurityReference class /// public class SecurityReference { /// /// An arrangement of characters (often letters) representing a particular security listed on an exchange or otherwise traded publicly. /// Note: Morningstar's multi-share class symbols will often contain a "period" within the symbol; e.g. BRK.B for Berkshire Hathaway /// Class B. /// /// /// Morningstar DataId: 1001 /// [JsonProperty("1001")] public string SecuritySymbol { get; set; } /// /// The Id representing the stock exchange that the particular share class is trading. See separate reference document for Exchange /// Mappings. /// /// /// Morningstar DataId: 1002 /// [JsonProperty("1002")] public string ExchangeId { get; set; } /// /// 3 Character ISO code of the currency that the exchange price is denominated in; i.e. the trading currency of the security. See /// separate reference document for Currency Mappings. /// /// /// Morningstar DataId: 1004 /// [JsonProperty("1004")] public string CurrencyId { get; set; } /// /// /// /// Morningstar DataId: 1005 /// [JsonProperty("1005")] public string Valoren { get; set; } /// /// The initial day that the share begins trading on a public exchange. /// /// /// Morningstar DataId: 1009 /// [JsonProperty("1009")] public DateTime IPODate { get; set; } /// /// Indicator to denote if the share class is a depository receipt. 1 denotes it is an ADR or GDR; otherwise 0. /// /// /// Morningstar DataId: 1010 /// [JsonProperty("1010")] public bool IsDepositaryReceipt { get; set; } /// /// The number of underlying common shares backing each American Depository Receipt traded. /// /// /// Morningstar DataId: 1011 /// [JsonProperty("1011")] public decimal DepositaryReceiptRatio { get; set; } /// /// Each security will be assigned to one of the below security type classifications; /// - Common Stock (ST00000001) /// - Preferred Stock (ST00000002) /// - Units (ST000000A1) /// /// /// Morningstar DataId: 1012 /// [JsonProperty("1012")] public string SecurityType { get; set; } /// /// Provides information when applicable such as whether the share class is Class A or Class B, an ADR, GDR, or a business /// development company (BDC). For preferred stocks, this field provides more detail about the preferred share class. /// /// /// Morningstar DataId: 1013 /// [JsonProperty("1013")] public string ShareClassDescription { get; set; } /// /// At the ShareClass level; each share is assigned to 1 of 4 possible status classifications; (A) Active, (D) Deactive, (I) Inactive, or (O) /// Obsolete: /// - Active-Share class is currently trading in a public market, and we have fundamental data available. /// - Deactive-Share class was once Active, but is no longer trading due to share being delisted from the exchange. /// - Inactive-Share class is currently trading in a public market, but no fundamental data is available. /// - Obsolete-Share class was once Inactive, but is no longer trading due to share being delisted from the exchange. /// /// /// Morningstar DataId: 1014 /// [JsonProperty("1014")] public string ShareClassStatus { get; set; } /// /// This indicator will denote if the indicated share is the primary share for the company. A "1" denotes the primary share, a "0" /// denotes a share that is not the primary share. The primary share is defined as the first share that a company IPO'd with and is still /// actively trading. If this share is no longer trading, we will denote the primary share as the share with the highest volume. /// /// /// Morningstar DataId: 1015 /// [JsonProperty("1015")] public bool IsPrimaryShare { get; set; } /// /// Shareholder election plan to re-invest cash dividend into additional shares. /// /// /// Morningstar DataId: 1016 /// [JsonProperty("1016")] public bool IsDividendReinvest { get; set; } /// /// A plan to make it possible for individual investors to invest in public companies without going through a stock broker. /// /// /// Morningstar DataId: 1017 /// [JsonProperty("1017")] public bool IsDirectInvest { get; set; } /// /// Identifier assigned to each security Morningstar covers. /// /// /// Morningstar DataId: 1018 /// [JsonProperty("1018")] public string InvestmentId { get; set; } /// /// IPO offer price indicates the price at which an issuer sells its shares under an initial public offering (IPO). The offer price is set by /// issuer and its underwriters. /// /// /// Morningstar DataId: 1019 /// [JsonProperty("1019")] public decimal IPOOfferPrice { get; set; } /// /// The date on which an inactive security was delisted from an exchange. /// /// /// Morningstar DataId: 1020 /// [JsonProperty("1020")] public DateTime DelistingDate { get; set; } /// /// The reason for an inactive security's delisting from an exchange. The full list of Delisting Reason codes can be found within the Data /// Definitions- Appendix A DelistingReason Codes tab. /// /// /// Morningstar DataId: 1021 /// [JsonProperty("1021")] public string DelistingReason { get; set; } /// /// The MIC (market identifier code) of the related shareclass of the company. See Data Appendix A for the relevant MIC to exchange /// name mapping. /// /// /// Morningstar DataId: 1022 /// [JsonProperty("1022")] public string MIC { get; set; } /// /// Refers to the type of securities that can be found within the equity database. For the vast majority, this value will populate as null /// for regular common shares. For a minority of shareclasses, this will populate as either "Participating Preferred", "Closed-End Fund", /// "Foreign Share", or "Foreign Participated Preferred" which reflects our limited coverage of these types of securities within our /// equity database. /// /// /// Morningstar DataId: 1023 /// [JsonProperty("1023")] public string CommonShareSubType { get; set; } /// /// The estimated offer price range (low-high) for a new IPO. The field should be used until the final IPO price becomes available, as /// populated in the data field "IPOPrice". /// /// /// Morningstar DataId: 1024 /// [JsonProperty("1024")] public string IPOOfferPriceRange { get; set; } /// /// Classification to denote different Marketplace or Market tiers within a stock exchange. /// /// /// Morningstar DataId: 1025 /// [JsonProperty("1025")] public string ExchangeSubMarketGlobalId { get; set; } /// /// The relationship between the chosen share class and the primary share class. /// /// /// Morningstar DataId: 1026 /// [JsonProperty("1026")] public decimal ConversionRatio { get; set; } /// /// Nominal value of a security determined by the issuing company. /// /// /// Morningstar DataId: 1027 /// [JsonProperty("1027")] public decimal ParValue { get; set; } /// /// /// /// Morningstar DataId: 1028 /// [JsonProperty("1028")] public bool TradingStatus { get; set; } /// /// /// /// Morningstar DataId: 1029 /// [JsonProperty("1029")] public string MarketDataID { get; set; } /// /// Creates an instance of the SecurityReference class /// public SecurityReference() { } /// /// Applies updated values from to this instance /// /// Used to apply data updates to the current instance. This WILL overwrite existing values. Default update values are ignored. /// The next data update for this instance public void UpdateValues(SecurityReference update) { if (update == null) return; if (!string.IsNullOrWhiteSpace(update.SecuritySymbol)) SecuritySymbol = update.SecuritySymbol; if (!string.IsNullOrWhiteSpace(update.ExchangeId)) ExchangeId = update.ExchangeId; if (!string.IsNullOrWhiteSpace(update.CurrencyId)) CurrencyId = update.CurrencyId; if (!string.IsNullOrWhiteSpace(update.Valoren)) Valoren = update.Valoren; if (update.IPODate != default(DateTime)) IPODate = update.IPODate; if (update.IsDepositaryReceipt != default(bool)) IsDepositaryReceipt = update.IsDepositaryReceipt; if (update.DepositaryReceiptRatio != default(decimal)) DepositaryReceiptRatio = update.DepositaryReceiptRatio; if (!string.IsNullOrWhiteSpace(update.SecurityType)) SecurityType = update.SecurityType; if (!string.IsNullOrWhiteSpace(update.ShareClassDescription)) ShareClassDescription = update.ShareClassDescription; if (!string.IsNullOrWhiteSpace(update.ShareClassStatus)) ShareClassStatus = update.ShareClassStatus; if (update.IsPrimaryShare != default(bool)) IsPrimaryShare = update.IsPrimaryShare; if (update.IsDividendReinvest != default(bool)) IsDividendReinvest = update.IsDividendReinvest; if (update.IsDirectInvest != default(bool)) IsDirectInvest = update.IsDirectInvest; if (!string.IsNullOrWhiteSpace(update.InvestmentId)) InvestmentId = update.InvestmentId; if (update.IPOOfferPrice != default(decimal)) IPOOfferPrice = update.IPOOfferPrice; if (update.DelistingDate != default(DateTime)) DelistingDate = update.DelistingDate; if (!string.IsNullOrWhiteSpace(update.DelistingReason)) DelistingReason = update.DelistingReason; if (!string.IsNullOrWhiteSpace(update.MIC)) MIC = update.MIC; if (!string.IsNullOrWhiteSpace(update.CommonShareSubType)) CommonShareSubType = update.CommonShareSubType; if (!string.IsNullOrWhiteSpace(update.IPOOfferPriceRange)) IPOOfferPriceRange = update.IPOOfferPriceRange; if (!string.IsNullOrWhiteSpace(update.ExchangeSubMarketGlobalId)) ExchangeSubMarketGlobalId = update.ExchangeSubMarketGlobalId; if (update.ConversionRatio != default(decimal)) ConversionRatio = update.ConversionRatio; if (update.ParValue != default(decimal)) ParValue = update.ParValue; if (update.TradingStatus != default(bool)) TradingStatus = update.TradingStatus; if (!string.IsNullOrWhiteSpace(update.MarketDataID)) MarketDataID = update.MarketDataID; } } }