Esempio n. 1
0
 public static bool IsEquals(this OptionQuoteInfo optionQuote1, OptionQuoteInfo optionQuote2)
 {
     foreach (PropertyInfo significantProperty in SignificantProperties)
     {
         if (!significantProperty.GetValue(optionQuote1).Equals(significantProperty.GetValue(optionQuote2)))
         {
             return(false);
         }
     }
     return(true);
 }
Esempio n. 2
0
        public static List <OptionQuoteInfo> ParseTxtFile(byte[] fileData)
        {
            List <OptionQuoteInfo> result = new List <OptionQuoteInfo>();

            try
            {
                string fileString = Encoding.UTF8.GetString(fileData);
                //string fileString=System.Text.Encoding.UTF8.GetString(System.Text.Encoding.Convert(System.Text.Encoding.Unicode, System.Text.Encoding.UTF8, fileData));
                List <string> lines = fileString.Split(new[] { "\n" }, StringSplitOptions.RemoveEmptyEntries).ToList();
                // delete header line
                //lines.RemoveAt(0);
                // delete footer line
                Logger.Debug("lines count: " + lines.Count);
                lines.RemoveAt(lines.Count - 1);
                foreach (string line in lines)
                {
                    List <string> data = line.Split('|').Select(m => m.Trim()).ToList();

                    OptionQuoteInfo optionQuoteInfo = new OptionQuoteInfo();
                    for (int i = 0; i < data.Count; i++)
                    {
                        PropertyInfo prop;
                        bool         success = TxtFileMapping.TryGetValue(i, out prop);
                        if (!success)
                        {
                            continue;
                        }

                        string currentData = data[i];
                        Type   propType    = prop.PropertyType;
                        if (currentData == string.Empty && propType.IsNumericType())
                        {
                            currentData = "0";
                        }
                        object value = Convert.ChangeType(currentData, prop.PropertyType);
                        prop.SetValue(optionQuoteInfo, value, null);
                    }
                    result.Add(optionQuoteInfo);
                }
                return(result);
            }
            catch (Exception ex)
            {
                Logger.Debug("file parsing error:" + ex.StackTrace);
                return(result);
            }
        }
Esempio n. 3
0
        private static OptionQuotation ConvertToOptionQuotation(OptionQuoteInfo info)
        {
            OptionQuotation result = new OptionQuotation(info.OptionNumber)
            {
                PreviousSettlementPrice   = (double)info.PreviousSettlementPrice,
                UncoveredPositionQuantity = info.UncoveredPositionQuantity,
                Turnover                 = (double)info.Turnover,
                OpeningPrice             = (double)info.OpeningPrice,
                AuctionReferencePrice    = (double)info.AuctionReferencePrice,
                AuctionReferenceQuantity = info.AuctionReferenceQuantity,
                HighestPrice             = (double)info.HighestPrice,
                LowestPrice              = (double)info.LowestPrice,
                LatestTradedPrice        = (double)info.LatestTradedPrice,

                Volume = info.TradeQuantity,

                Ask       = (double)info.SellPrice1,
                AskVolume = info.SellQuantity1,
                Bid       = (double)info.BuyPrice1,
                BidVolume = info.BuyQuantity1,

                Ask2       = (double)info.SellPrice2,
                AskVolume2 = info.SellQuantity2,
                Bid2       = (double)info.BuyPrice2,
                BidVolume2 = info.BuyQuantity2,

                Ask3       = (double)info.SellPrice3,
                AskVolume3 = info.SellQuantity3,
                Bid3       = (double)info.BuyPrice3,
                BidVolume3 = info.BuyQuantity3,

                Ask4       = (double)info.SellPrice4,
                AskVolume4 = info.SellQuantity4,
                Bid4       = (double)info.BuyPrice4,
                BidVolume4 = info.BuyQuantity4,

                Ask5       = (double)info.SellPrice5,
                AskVolume5 = info.SellQuantity5,
                Bid5       = (double)info.BuyPrice5,
                BidVolume5 = info.BuyQuantity5,

                TradeDate = info.TradeDate,
            };

            return(result);
        }
Esempio n. 4
0
        public OptionQuotationInformationViewModel GetOptionQuotationInformation(string optionNo)
        {
            OptionQuoteInfo res = _marketDataService.GetOption5LevelQuotation(optionNo);

            return(AutoMapper.Mapper.Map <OptionQuotationInformationViewModel>(res));
        }
Esempio n. 5
0
        private EntityResponse <OptionQuoteInfo> GetOptionQuote(string optionNumber)
        {
            OptionQuoteInfo result = _uow.OptionQuotesInfo.GetAll().FirstOrDefault(item => item.OptionNumber.Equals(optionNumber));

            return(result);
        }