[Quantproject-developers] QuantProject/b2_DataAccess/Tables Quotes.cs,1.27,1.28
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2006-01-07 10:56:22
|
Update of /cvsroot/quantproject/QuantProject/b2_DataAccess/Tables In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7476/b2_DataAccess/Tables Modified Files: Quotes.cs Log Message: Methods have been properly renamed. Added new methods for Close To Open data management. Fixed some bugs (tickers without quotes are now excluded from selection). Index: Quotes.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b2_DataAccess/Tables/Quotes.cs,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** Quotes.cs 18 Sep 2005 21:03:43 -0000 1.27 --- Quotes.cs 7 Jan 2006 10:56:09 -0000 1.28 *************** *** 483,491 **** return SqlExecutor.GetDataTable( sql ); } ! /// <summary> ! /// Returns tickers ordered by a close to open volatility index (stdDev of Close To Open ratio) /// </summary> ! public static DataTable GetTickersByCloseToOpenVolatility( bool orderInASCMode, string groupID, DateTime firstQuoteDate, DateTime lastQuoteDate, --- 483,491 ---- return SqlExecutor.GetDataTable( sql ); } ! /// <summary> ! /// Returns tickers ordered by the open to close volatility index (stdDev of OTC ratio) /// </summary> ! public static DataTable GetTickersByOpenToCloseVolatility( bool orderInASCMode, string groupID, DateTime firstQuoteDate, DateTime lastQuoteDate, *************** *** 493,497 **** { string sql = "SELECT TOP " + maxNumOfReturnedTickers + " tickers.tiTicker, tickers.tiCompanyName, " + ! "StDev(quotes.quClose/quotes.quOpen) AS CloseToOpenStandDev " + "FROM quotes INNER JOIN (tickers INNER JOIN tickers_tickerGroups " + "ON tickers.tiTicker = tickers_tickerGroups.ttTiId) " + --- 493,497 ---- { string sql = "SELECT TOP " + maxNumOfReturnedTickers + " tickers.tiTicker, tickers.tiCompanyName, " + ! "StDev(quotes.quClose/quotes.quOpen - 1) AS OpenToCloseStandDev " + "FROM quotes INNER JOIN (tickers INNER JOIN tickers_tickerGroups " + "ON tickers.tiTicker = tickers_tickerGroups.ttTiId) " + *************** *** 502,506 **** SQLBuilder.GetDateConstant(lastQuoteDate) + "GROUP BY tickers.tiTicker, tickers.tiCompanyName " + ! "ORDER BY StDev(quotes.quClose/quotes.quOpen)"; string sortDirection = " DESC"; if(orderInASCMode) --- 502,506 ---- SQLBuilder.GetDateConstant(lastQuoteDate) + "GROUP BY tickers.tiTicker, tickers.tiCompanyName " + ! "ORDER BY StDev(quotes.quClose/quotes.quOpen - 1)"; string sortDirection = " DESC"; if(orderInASCMode) *************** *** 537,543 **** /// <summary> ! /// Returns tickers ordered by average close to open performance (in the same bar) /// </summary> ! public static DataTable GetTickersByAverageCloseToOpenPerformance( bool orderInASCMode, string groupID, DateTime firstQuoteDate, DateTime lastQuoteDate, --- 537,543 ---- /// <summary> ! /// Returns tickers ordered by average open to close performance (in the same bar) /// </summary> ! public static DataTable GetTickersByAverageOpenToClosePerformance( bool orderInASCMode, string groupID, DateTime firstQuoteDate, DateTime lastQuoteDate, *************** *** 545,549 **** { string sql = "SELECT TOP " + maxNumOfReturnedTickers + " tickers.tiTicker, tickers.tiCompanyName, " + ! "Avg(quotes.quClose/quotes.quOpen) AS AverageCloseToOpenPerformance " + "FROM quotes INNER JOIN (tickers INNER JOIN tickers_tickerGroups " + "ON tickers.tiTicker = tickers_tickerGroups.ttTiId) " + --- 545,549 ---- { string sql = "SELECT TOP " + maxNumOfReturnedTickers + " tickers.tiTicker, tickers.tiCompanyName, " + ! "Avg(quotes.quClose/quotes.quOpen - 1) AS AverageOpenToClosePerformance " + "FROM quotes INNER JOIN (tickers INNER JOIN tickers_tickerGroups " + "ON tickers.tiTicker = tickers_tickerGroups.ttTiId) " + *************** *** 667,680 **** /// <summary> ! /// returns the average close to open performance value for the given ticker in the specified interval /// </summary> ! public static double GetAverageCloseToOpenPerformance( string ticker, ! DateTime firstQuoteDate, ! DateTime lastQuoteDate) { DataTable dt; string sql = "SELECT quotes.quTicker, " + ! "Avg([quClose]/[quOpen]) AS AverageCloseToOpenPerformance " + "FROM quotes WHERE quTicker ='" + ticker + "' " + --- 667,681 ---- /// <summary> ! /// returns the average open to close performance ! /// for the given ticker in the specified interval /// </summary> ! public static double GetAverageOpenToClosePerformance(string ticker, ! DateTime firstQuoteDate, ! DateTime lastQuoteDate) { DataTable dt; string sql = "SELECT quotes.quTicker, " + ! "Avg([quClose]/[quOpen] - 1) AS AverageOpenToClosePerformance " + "FROM quotes WHERE quTicker ='" + ticker + "' " + *************** *** 683,690 **** " GROUP BY quotes.quTicker"; dt = SqlExecutor.GetDataTable( sql ); ! if(dt.Rows.Count==0) ! return 0; ! else ! return (double)dt.Rows[0]["AverageCloseToOpenPerformance"]; } --- 684,688 ---- " GROUP BY quotes.quTicker"; dt = SqlExecutor.GetDataTable( sql ); ! return (double)dt.Rows[0]["AverageOpenToClosePerformance"]; } *************** *** 715,718 **** --- 713,737 ---- /// <summary> + /// returns the standard deviation of the open to close ratio + /// for the given ticker in the specified interval + /// </summary> + public static double GetOpenToCloseStandardDeviation( string ticker, + DateTime firstQuoteDate, + DateTime lastQuoteDate) + + { + DataTable dt; + string sql = "SELECT quotes.quTicker, " + + "StDev(quotes.quClose/quotes.quOpen - 1) AS OpenToCloseStandDev " + + "FROM quotes WHERE quTicker ='" + + ticker + "' " + + "AND quotes.quDate BETWEEN " + SQLBuilder.GetDateConstant(firstQuoteDate) + + " AND " + SQLBuilder.GetDateConstant(lastQuoteDate) + + " GROUP BY quotes.quTicker"; + dt = SqlExecutor.GetDataTable( sql ); + return (double)dt.Rows[0]["OpenToCloseStandDev"]; + } + + /// <summary> /// returns the standard deviation of the adjusted close to open ratio /// for the given ticker in the specified interval |