[Quantproject-developers] QuantProject/b3_Data/DataTables TickerDataTable.cs, 1.8, 1.9
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2007-09-26 22:01:58
|
Update of /cvsroot/quantproject/QuantProject/b3_Data/DataTables In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv1863/DataTables Modified Files: TickerDataTable.cs Log Message: Changed implementation of GetTickersQuotedInEachMarketDay: now the method returns the tickers that are effectively traded at each market day (for a given benchmark). Index: TickerDataTable.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b3_Data/DataTables/TickerDataTable.cs,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** TickerDataTable.cs 28 Aug 2007 09:35:52 -0000 1.8 --- TickerDataTable.cs 26 Sep 2007 22:01:44 -0000 1.9 *************** *** 23,27 **** --- 23,29 ---- using System; using System.Data; + using QuantProject.ADT; + using QuantProject.ADT.Histories; using QuantProject.DataAccess.Tables; *************** *** 214,217 **** --- 216,220 ---- } + //new implementation public static DataTable GetTickersQuotedInEachMarketDay(string marketIndex, string groupID, DateTime firstQuoteDate, *************** *** 219,225 **** 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 = --- 222,228 ---- 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 = *************** *** 227,242 **** 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, --- 230,247 ---- 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, *************** *** 244,261 **** 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, --- 249,315 ---- 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, |