[Quantproject-developers] QuantProject/b2_DataAccess/Tables Quotes.cs,1.8,1.9
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2004-06-13 11:10:13
|
Update of /cvsroot/quantproject/QuantProject/b2_DataAccess/Tables In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19367/b2_DataAccess/Tables Modified Files: Quotes.cs Log Message: Changed max differences tolerated for new adjusted values and simplified computation Index: Quotes.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b2_DataAccess/Tables/Quotes.cs,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Quotes.cs 26 May 2004 15:30:09 -0000 1.8 --- Quotes.cs 13 Jun 2004 11:10:03 -0000 1.9 *************** *** 207,211 **** { float adjustedCloseInDatabase; ! double absoluteRelativeDifference; DataTable tableOfSingleRow = SqlExecutor.GetDataTable("SELECT * FROM quotes WHERE quTicker='" + --- 207,211 ---- { float adjustedCloseInDatabase; ! double absoluteDifference; DataTable tableOfSingleRow = SqlExecutor.GetDataTable("SELECT * FROM quotes WHERE quTicker='" + *************** *** 213,219 **** SQLBuilder.GetDateConstant(dateToCheck)); adjustedCloseInDatabase = (float)(tableOfSingleRow.Rows[0]["quAdjustedClose"]); ! absoluteRelativeDifference = ! Math.Abs((currentAdjustedValueFromSource - adjustedCloseInDatabase)/currentAdjustedValueFromSource); ! if(absoluteRelativeDifference>ConstantsProvider.MaxRelativeDifferenceForAdjustedValues) isAdjustedCloseChanged = true; return isAdjustedCloseChanged; --- 213,218 ---- SQLBuilder.GetDateConstant(dateToCheck)); adjustedCloseInDatabase = (float)(tableOfSingleRow.Rows[0]["quAdjustedClose"]); ! absoluteDifference = Math.Abs(currentAdjustedValueFromSource - adjustedCloseInDatabase); ! if(absoluteDifference>ConstantsProvider.MaxDifferenceForAdjustedValues) isAdjustedCloseChanged = true; return isAdjustedCloseChanged; *************** *** 237,241 **** double adjCTCInDatabase; double adjCTCInSource; ! double absoluteRelativeDifference; DataRow rowToCheck; for(int i = 0;i != numRows;i++) --- 236,240 ---- double adjCTCInDatabase; double adjCTCInSource; ! double absoluteDifference; DataRow rowToCheck; for(int i = 0;i != numRows;i++) *************** *** 247,269 **** { adjCTCInSource = (double)rowToCheck[Quotes.AdjustedCloseToCloseRatio]; ! if(adjCTCInSource != 0) ! { ! absoluteRelativeDifference = Math.Abs((adjCTCInDatabase - adjCTCInSource)/adjCTCInSource); ! if(absoluteRelativeDifference > ConstantsProvider.MaxRelativeDifferenceForCloseToCloseRatios ) ! { ! Quotes.DateWithDifferentCloseToClose = date; ! return true; ! } ! } ! else if(adjCTCInSource == 0) ! { ! absoluteRelativeDifference = Math.Abs(adjCTCInDatabase - adjCTCInSource); ! if(absoluteRelativeDifference > ConstantsProvider.MaxRelativeDifferenceForCloseToCloseRatios ) ! { ! Quotes.DateWithDifferentCloseToClose = date; ! return true; ! } ! ! } } } --- 246,255 ---- { adjCTCInSource = (double)rowToCheck[Quotes.AdjustedCloseToCloseRatio]; ! absoluteDifference = Math.Abs(adjCTCInDatabase - adjCTCInSource); ! if(absoluteDifference > ConstantsProvider.MaxDifferenceForCloseToCloseRatios ) ! { ! Quotes.DateWithDifferentCloseToClose = date; ! return true; ! } } } *************** *** 274,278 **** } return false; - } --- 260,263 ---- *************** *** 290,294 **** float previousClose; float currentClose; - double currentCloseToCloseRatio; DateTime date; DataRow rowToBeChanged; --- 275,278 ---- *************** *** 298,317 **** rowToBeChanged = tableOfAllQuotesOfAGivenTicker.Rows.Find(date); if(i == 0) ! //the first available quote has 0 as closeToClose ratio { rowToBeChanged[Quotes.AdjustedCloseToCloseRatio] = 0; } else { previousClose = (float)orderedDyDate[i-1].Row[Quotes.AdjustedClose]; currentClose = (float)orderedDyDate[i].Row[Quotes.AdjustedClose]; ! currentCloseToCloseRatio = (double)orderedDyDate[i].Row[Quotes.AdjustedCloseToCloseRatio]; ! ! if(previousClose != 0 && (currentCloseToCloseRatio == 0 && ! (previousClose != currentClose))) ! // if the previouse adj close is not 0 and the current CTC should not be 0 ! // because previous and current are not equal ! rowToBeChanged[Quotes.AdjustedCloseToCloseRatio] = ! (currentClose - previousClose)/previousClose; } --- 282,300 ---- rowToBeChanged = tableOfAllQuotesOfAGivenTicker.Rows.Find(date); if(i == 0) ! //the first available quote ... ! { + // ... has no closeToClose valid ratio rowToBeChanged[Quotes.AdjustedCloseToCloseRatio] = 0; } else { + //the other quotes have a previous and a current close previousClose = (float)orderedDyDate[i-1].Row[Quotes.AdjustedClose]; currentClose = (float)orderedDyDate[i].Row[Quotes.AdjustedClose]; ! ! if(previousClose != 0) ! // if the previouse adj close is not 0 the CTC value has to be computed ! rowToBeChanged[Quotes.AdjustedCloseToCloseRatio] = currentClose/previousClose; } |