[Quantproject-developers] QuantProject/b3_Data/DataTables TickerDataTable.cs, 1.9, 1.10
Brought to you by:
glauco_1
|
From: Glauco S. <gla...@us...> - 2008-01-19 19:29:37
|
Update of /cvsroot/quantproject/QuantProject/b3_Data/DataTables In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv25961/b3_Data/DataTables Modified Files: TickerDataTable.cs Log Message: - The method public static DataTable GetTickersQuotedInEachMarketDay( History marketDays, DataTable setOfTickers, DateTime firstQuoteDate, DateTime lastQuoteDate, long maxNumOfReturnedTickers) has been added Index: TickerDataTable.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b3_Data/DataTables/TickerDataTable.cs,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** TickerDataTable.cs 26 Sep 2007 22:01:44 -0000 1.9 --- TickerDataTable.cs 19 Jan 2008 19:29:34 -0000 1.10 *************** *** 191,195 **** #endregion ! private static void addColumnNumberOfQuotes(DataTable tableToAnalyze) { --- 191,195 ---- #endregion ! #region GetTickersQuotedInEachMarketDay private static void addColumnNumberOfQuotes(DataTable tableToAnalyze) { *************** *** 197,210 **** tableToAnalyze.Columns.Add("NumberOfQuotes", System.Type.GetType("System.Int32")); } ! ! private static int getNumberOfTradingDays(string marketIndex, ! DateTime firstQuoteDate, ! DateTime lastQuoteDate) ! { ! QuantProject.Data.DataTables.Quotes marketQuotes = ! new QuantProject.Data.DataTables.Quotes(marketIndex, firstQuoteDate, lastQuoteDate); ! return marketQuotes.Rows.Count; ! } ! private static void getTickersQuotedInEachMarketDay_addRow(DataRow rowToBeAdded, int numberOfTradingDays, DataTable tableToWhichRowIsToBeAdded) --- 197,201 ---- tableToAnalyze.Columns.Add("NumberOfQuotes", System.Type.GetType("System.Int32")); } ! private static void getTickersQuotedInEachMarketDay_addRow(DataRow rowToBeAdded, int numberOfTradingDays, DataTable tableToWhichRowIsToBeAdded) *************** *** 214,316 **** newRow["NumberOfQuotes"] = numberOfTradingDays; tableToWhichRowIsToBeAdded.Rows.Add(newRow); } ! //new implementation ! public static DataTable GetTickersQuotedInEachMarketDay(string marketIndex, string groupID, DateTime firstQuoteDate, DateTime lastQuoteDate, long maxNumOfReturnedTickers) { ! History marketDaysForIndex = Quotes.GetMarketDays(marketIndex, firstQuoteDate , lastQuoteDate); ! DataTable groupOfTicker = QuantProject.DataAccess.Tables.Tickers_tickerGroups.GetTickers(groupID); ! TickerDataTable.addColumnNumberOfQuotes(groupOfTicker); ! QuantProject.Data.DataTables.GroupQuotes tickerQuotes = ! new QuantProject.Data.DataTables.GroupQuotes( ! groupID, firstQuoteDate, lastQuoteDate); ! DataTable returnValue = groupOfTicker.Clone(); ! History marketDaysForTicker; ! foreach(DataRow row in groupOfTicker.Rows) ! { ! marketDaysForTicker = Quotes.GetMarketDays( (string)row[0], ! firstQuoteDate , lastQuoteDate); ! if( marketDaysForTicker.ContainsAllTheDatesIn(marketDaysForIndex) ) ! //the current ticker has been effectively traded in each market day ! TickerDataTable.getTickersQuotedInEachMarketDay_addRow( ! row, marketDaysForTicker.Count, returnValue); ! } ! ExtendedDataTable.DeleteRows(returnValue, maxNumOfReturnedTickers); ! return returnValue; } ! //new implementation ! public static DataTable GetTickersQuotedInEachMarketDay(string marketIndex, DataTable setOfTickers, DateTime firstQuoteDate, DateTime lastQuoteDate, long maxNumOfReturnedTickers) { ! History marketDaysForIndex = Quotes.GetMarketDays(marketIndex, ! firstQuoteDate , lastQuoteDate); ! TickerDataTable.addColumnNumberOfQuotes(setOfTickers); ! DataTable returnValue = setOfTickers.Clone(); ! History marketDaysForTicker; ! foreach(DataRow row in setOfTickers.Rows) ! { ! marketDaysForTicker = Quotes.GetMarketDays( (string)row[0], ! firstQuoteDate , lastQuoteDate); ! if( marketDaysForTicker.ContainsAllTheDatesIn(marketDaysForIndex) ) ! //the current ticker has been effectively traded in each market day ! TickerDataTable.getTickersQuotedInEachMarketDay_addRow( ! row, marketDaysForTicker.Count, returnValue); ! } ! ExtendedDataTable.DeleteRows(returnValue, maxNumOfReturnedTickers); ! return returnValue; } - - //OLD IMPLEMENTATION OF GetTickersQuotedInEachMarketDay - // public static DataTable GetTickersQuotedInEachMarketDay(string marketIndex, string groupID, - // DateTime firstQuoteDate, - // DateTime lastQuoteDate, - // long maxNumOfReturnedTickers) - // { - // int marketDaysForTheGivenMarket = - // TickerDataTable.getNumberOfTradingDays(marketIndex, firstQuoteDate, lastQuoteDate); - // DataTable groupOfTicker = QuantProject.DataAccess.Tables.Tickers_tickerGroups.GetTickers(groupID); - // TickerDataTable.addColumnNumberOfQuotes(groupOfTicker); - // QuantProject.Data.DataTables.GroupQuotes tickerQuotes = - // new QuantProject.Data.DataTables.GroupQuotes( - // groupID, firstQuoteDate, lastQuoteDate); - // DataTable returnValue = groupOfTicker.Clone(); - // foreach(DataRow row in groupOfTicker.Rows) - // { - // if(tickerQuotes.GetNumberOfDaysWithEffectiveTrades((string)row[0]) == marketDaysForTheGivenMarket) - // //the current ticker has been effectively traded in each market day - // TickerDataTable.getTickersQuotedInEachMarketDay_addRow(row, marketDaysForTheGivenMarket, - // returnValue); - // } - // ExtendedDataTable.DeleteRows(returnValue, maxNumOfReturnedTickers); - // return returnValue; - // - // } - // - // public static DataTable GetTickersQuotedInEachMarketDay(string marketIndex, DataTable setOfTickers, - // DateTime firstQuoteDate, - // DateTime lastQuoteDate, - // long maxNumOfReturnedTickers) - // { - // int marketDaysForTheGivenMarket = - // TickerDataTable.getNumberOfTradingDays(marketIndex, firstQuoteDate, lastQuoteDate); - // TickerDataTable.addColumnNumberOfQuotes(setOfTickers); - // DataTable returnValue = setOfTickers.Clone(); - // foreach(DataRow row in setOfTickers.Rows) - // { - // if(QuantProject.DataAccess.Tables.Quotes.GetNumberOfDaysWithEffectiveTrades((string)row[0],firstQuoteDate,lastQuoteDate) == marketDaysForTheGivenMarket) - // //the current ticker has the same number of quotes as the market index - // TickerDataTable.getTickersQuotedInEachMarketDay_addRow(row, marketDaysForTheGivenMarket, - // returnValue); - // } - // ExtendedDataTable.DeleteRows(returnValue, maxNumOfReturnedTickers); - // return returnValue; - // } private static void getTickersQuotedNotAtEachMarketDay_addRow(DataRow rowToBeAdded, int numberOfTradingDays, --- 205,263 ---- newRow["NumberOfQuotes"] = numberOfTradingDays; tableToWhichRowIsToBeAdded.Rows.Add(newRow); + } + + private static void getTickersQuotedInEachMarketDay_handleRow( + DataRow row , History marketDays , + DateTime firstQuoteDate , DateTime lastQuoteDate , + DataTable tableToWhichRowIsToBeAdded ) + { + History marketDaysForTicker = Quotes.GetMarketDays( (string)row[0], + firstQuoteDate , lastQuoteDate); + if( marketDaysForTicker.ContainsAllTheDatesIn( marketDays ) ) + //the current ticker has been effectively traded in each market day + TickerDataTable.getTickersQuotedInEachMarketDay_addRow( + row , marketDaysForTicker.Count , tableToWhichRowIsToBeAdded ); } ! public static DataTable GetTickersQuotedInEachMarketDay( ! History marketDays, DataTable setOfTickers, ! DateTime firstQuoteDate, DateTime lastQuoteDate, ! long maxNumOfReturnedTickers) ! { ! TickerDataTable.addColumnNumberOfQuotes(setOfTickers); ! DataTable returnValue = setOfTickers.Clone(); ! foreach(DataRow row in setOfTickers.Rows) ! getTickersQuotedInEachMarketDay_handleRow( ! row , marketDays , ! firstQuoteDate , lastQuoteDate , returnValue ); ! ExtendedDataTable.DeleteRows(returnValue, maxNumOfReturnedTickers); ! return returnValue; ! } ! #endregion GetTickersQuotedInEachMarketDay ! ! public static DataTable GetTickersQuotedInEachMarketDay(string marketIndex, DataTable setOfTickers, DateTime firstQuoteDate, DateTime lastQuoteDate, long maxNumOfReturnedTickers) { ! History marketDaysForIndex = Quotes.GetMarketDays(marketIndex, firstQuoteDate , lastQuoteDate); ! return GetTickersQuotedInEachMarketDay( ! marketDaysForIndex , setOfTickers , ! firstQuoteDate , lastQuoteDate , maxNumOfReturnedTickers ); } ! public static DataTable GetTickersQuotedInEachMarketDay(string marketIndex, string groupID, DateTime firstQuoteDate, DateTime lastQuoteDate, long maxNumOfReturnedTickers) { ! DataTable groupOfTicker = ! QuantProject.DataAccess.Tables.Tickers_tickerGroups.GetTickers(groupID); ! return GetTickersQuotedInEachMarketDay( ! marketIndex , groupOfTicker , ! firstQuoteDate , lastQuoteDate , maxNumOfReturnedTickers ); } + private static void getTickersQuotedNotAtEachMarketDay_addRow(DataRow rowToBeAdded, int numberOfTradingDays, *************** *** 345,351 **** } public static DataTable GetTickersNotQuotedAtEachMarketDay(string marketIndex, DataTable setOfTickers, ! DateTime firstQuoteDate, ! DateTime lastQuoteDate, long maxNumOfReturnedTickers) { --- 292,306 ---- } + private static int getNumberOfTradingDays(string marketIndex, + DateTime firstQuoteDate, + DateTime lastQuoteDate) + { + QuantProject.Data.DataTables.Quotes marketQuotes = + new QuantProject.Data.DataTables.Quotes(marketIndex, firstQuoteDate, lastQuoteDate); + return marketQuotes.Rows.Count; + } public static DataTable GetTickersNotQuotedAtEachMarketDay(string marketIndex, DataTable setOfTickers, ! DateTime firstQuoteDate, ! DateTime lastQuoteDate, long maxNumOfReturnedTickers) { |