[Quantproject-developers] QuantProject/b3_Data/DataTables Quotes.cs,1.4,1.5
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2004-08-02 23:19:11
|
Update of /cvsroot/quantproject/QuantProject/b3_Data/DataTables In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27950/b3_Data/DataTables Modified Files: Quotes.cs Log Message: Added new selection types (Volatility and AverageCloseToClosePerformance) to the TickerSelector class. Updated the classes (Quotes, both in DataAccess and Data) that provide these selections. Index: Quotes.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b3_Data/DataTables/Quotes.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Quotes.cs 25 Jul 2004 12:08:53 -0000 1.4 --- Quotes.cs 2 Aug 2004 23:19:02 -0000 1.5 *************** *** 49,52 **** --- 49,101 ---- } + /// <summary> + /// returns tickers ordered by volatility computed with Standard deviation of adjusted + /// close to close ratio, within the given set of tickers + /// </summary> + public static DataTable GetTickersByVolatility( bool orderByASC, + DataTable setOfTickers, + DateTime firstQuoteDate, + DateTime lastQuoteDate, + long maxNumOfReturnedTickers) + { + if(!setOfTickers.Columns.Contains("AdjCloseToCloseStandDev")) + setOfTickers.Columns.Add("AdjCloseToCloseStandDev", System.Type.GetType("System.Double")); + foreach(DataRow row in setOfTickers.Rows) + { + row["AdjCloseToCloseStandDev"] = + QuantProject.DataAccess.Tables.Quotes.GetAdjustedCloseToCloseStandardDeviation((string)row[0], + firstQuoteDate, + lastQuoteDate); + } + DataTable getTickersByVolatility = ExtendedDataTable.CopyAndSort(setOfTickers,"AdjCloseToCloseStandDev", orderByASC); + ExtendedDataTable.DeleteRows(getTickersByVolatility, maxNumOfReturnedTickers); + return getTickersByVolatility; + } + + /// <summary> + /// returns tickers by average close to close performance within the given set of tickers + /// </summary> + + public static DataTable GetTickersByAverageCloseToClosePerformance( bool orderByASC, + DataTable setOfTickers, + DateTime firstQuoteDate, + DateTime lastQuoteDate, + long maxNumOfReturnedTickers) + { + if(!setOfTickers.Columns.Contains("AverageCloseToClosePerformance")) + setOfTickers.Columns.Add("AverageCloseToClosePerformance", System.Type.GetType("System.Double")); + foreach(DataRow row in setOfTickers.Rows) + { + row["AverageCloseToClosePerformance"] = + QuantProject.DataAccess.Tables.Quotes.GetAverageCloseToClosePerformance((string)row[0], + firstQuoteDate, + lastQuoteDate); + } + DataTable tableToReturn = ExtendedDataTable.CopyAndSort(setOfTickers,"AverageCloseToClosePerformance", orderByASC); + ExtendedDataTable.DeleteRows(tableToReturn, maxNumOfReturnedTickers); + return tableToReturn; + } + + private History history; |