[Quantproject-developers] QuantProject/b2_DataAccess/Tables Quotes.cs,1.10,1.11
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2004-06-19 01:07:42
|
Update of /cvsroot/quantproject/QuantProject/b2_DataAccess/Tables In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11155/b2_DataAccess/Tables Modified Files: Quotes.cs Log Message: Added new method on overload that retrieves most liquid tickers from a given set of tickers Index: Quotes.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b2_DataAccess/Tables/Quotes.cs,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Quotes.cs 17 Jun 2004 19:54:42 -0000 1.10 --- Quotes.cs 19 Jun 2004 01:07:32 -0000 1.11 *************** *** 358,362 **** return SqlExecutor.GetDataTable( sql ); } ! #region GetHashValue --- 358,396 ---- return SqlExecutor.GetDataTable( sql ); } ! /// <summary> ! /// returns most liquid tickers within the given set of tickers ! /// </summary> ! ! public static DataTable GetMostLiquidTickers( DataTable setOfTickers, ! DateTime firstQuoteDate, ! DateTime lastQuoteDate, ! long maxNumOfReturnedTickers) ! { ! setOfTickers.Columns.Add("IndexOfLiquidity", System.Type.GetType("System.Double")); ! DataTable getMostLiquidTicker = setOfTickers.Clone(); ! DataTable dt; ! foreach(DataRow row in setOfTickers.Rows) ! { ! string sql = "SELECT quotes.quTicker, " + ! "Avg([quVolume]*[quAdjustedClose]) AS AverageTradedValue " + ! "FROM quotes WHERE quTicker ='" + ! (string)row[0] + "' " + ! "AND quotes.quDate BETWEEN " + SQLBuilder.GetDateConstant(firstQuoteDate) + ! " AND " + SQLBuilder.GetDateConstant(lastQuoteDate) + ! " GROUP BY quotes.quTicker"; ! dt = SqlExecutor.GetDataTable( sql ); ! row["IndexOfLiquidity"] = (double)dt.Rows[0]["AverageTradedValue"]; ! } ! DataRow[] orderedRows = setOfTickers.Select("", "IndexOfLiquidity DESC"); ! object[] valuesToAdd = new object[3]; ! for(long i = 0;i<maxNumOfReturnedTickers && i<setOfTickers.Rows.Count;i++) ! { ! valuesToAdd[0]=orderedRows[i][0]; ! valuesToAdd[1]=orderedRows[i][1]; ! valuesToAdd[2]=orderedRows[i][2]; ! getMostLiquidTicker.Rows.Add(valuesToAdd); ! } ! return getMostLiquidTicker; ! } #region GetHashValue |