quantproject-developers Mailing List for QuantProject (Page 89)
Brought to you by:
glauco_1
You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(7) |
Nov
(103) |
Dec
(67) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(52) |
Feb
(9) |
Mar
(69) |
Apr
(53) |
May
(80) |
Jun
(23) |
Jul
(24) |
Aug
(112) |
Sep
(9) |
Oct
|
Nov
(58) |
Dec
(93) |
| 2005 |
Jan
(90) |
Feb
(93) |
Mar
(61) |
Apr
(56) |
May
(37) |
Jun
(61) |
Jul
(55) |
Aug
(68) |
Sep
(25) |
Oct
(46) |
Nov
(41) |
Dec
(37) |
| 2006 |
Jan
(33) |
Feb
(7) |
Mar
(19) |
Apr
(27) |
May
(73) |
Jun
(49) |
Jul
(83) |
Aug
(66) |
Sep
(45) |
Oct
(16) |
Nov
(15) |
Dec
(7) |
| 2007 |
Jan
(14) |
Feb
(33) |
Mar
|
Apr
(21) |
May
|
Jun
(34) |
Jul
(18) |
Aug
(100) |
Sep
(39) |
Oct
(55) |
Nov
(12) |
Dec
(2) |
| 2008 |
Jan
(120) |
Feb
(133) |
Mar
(129) |
Apr
(104) |
May
(42) |
Jun
(2) |
Jul
(52) |
Aug
(99) |
Sep
(134) |
Oct
|
Nov
(137) |
Dec
(48) |
| 2009 |
Jan
(48) |
Feb
(55) |
Mar
(61) |
Apr
(3) |
May
(2) |
Jun
(1) |
Jul
|
Aug
(51) |
Sep
|
Oct
(7) |
Nov
|
Dec
|
| 2010 |
Jan
(7) |
Feb
(1) |
Mar
(145) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(8) |
Dec
|
| 2011 |
Jan
(78) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(88) |
Sep
(6) |
Oct
(1) |
Nov
|
Dec
|
| 2012 |
Jan
|
Feb
(1) |
Mar
|
Apr
(6) |
May
(5) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2013 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
| 2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Marco M. <mar...@po...> - 2006-05-17 16:53:34
|
Con vs.net i resx servono a poco (vs net se li ricrea automaticamente, se= =20 non sbaglio, e poi =E8 facile eliminare il riferimento al resx dal file d= i=20 progetto). Con sharpdevelop ... non lo so ancora ... devo vedere (per=F2 se non c'e'= il=20 resx e il file di progetto punta a un resx, non si compila niente. Con=20 vs.net non mi sembra sia cos=EC). Non sono stato molto cristallino, me ne rendo conto. Per il momento, per=F2, direi di eliminare quei pochi resx che sono stati= =20 aggiunti (fin'ora siamo stati bene senza, quindi ...). Se serviranno (allo #develop, soprattutto, intendo), al limite, li aggiungeremo (semprech=E9 non si crei il casino tra i resx che si crea= =20 vs.net e quelli che si crea #develop ...). ----- Original Message -----=20 From: "Glauco Siliprandi" <gl...@my...> To: <qua...@li...> Sent: Wednesday, May 17, 2006 11:52 AM Subject: [Quantproject-developers] Re: [Quantproject-developers]=20 QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag/WFLagDebugger=20 WFLagDebugGenome.resx,NONE,1.1 WFLagDebugGenome.cs,NONE,1.1 At 05:35 PM 5/16/2006 +0200, you wrote: >Non mi ricordo pi=F9: non avevamo detto di lasciar fuori i resx? Non ricordo piu' nemmeno io ... eliminiamo? >------------------------------------------------------- >Using Tomcat but need to do more? Need to support web services, security= ? >Get stuff done quickly with pre-integrated technology to make your job=20 >easier >Download IBM WebSphere Application Server v.1.0.1 based on Apache Geroni= mo >http://sel.as-us.falkag.net/sel?cmd_____________________________________= __________ >Quantproject-developers mailing list >Qua...@li... >https://lists.sourceforge.net/lists/listinfo/quantproject-developers ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job=20 easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronim= o http://sel.as-us.falkag.net/sel?cmd=3Dk&kid=120709&bid&3057&dat=121642 _______________________________________________ Quantproject-developers mailing list Qua...@li... https://lists.sourceforge.net/lists/listinfo/quantproject-developers=20 |
|
From: Glauco S. <gl...@my...> - 2006-05-17 09:58:08
|
At 05:35 PM 5/16/2006 +0200, you wrote: >Non mi ricordo pi=F9: non avevamo detto di lasciar fuori i resx? Non ricordo piu' nemmeno io ... eliminiamo? >------------------------------------------------------- >Using Tomcat but need to do more? Need to support web services, security? >Get stuff done quickly with pre-integrated technology to make your job= easier >Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo >http://sel.as-us.falkag.net/sel?cmd________________________________________= _______ >Quantproject-developers mailing list >Qua...@li... >https://lists.sourceforge.net/lists/listinfo/quantproject-developers |
|
From: Marco M. <mi...@us...> - 2006-05-16 15:50:51
|
Update of /cvsroot/quantproject/QuantProject/b91_QuantProject In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv15388/b91_QuantProject Modified Files: QuantProject.prjx Log Message: Updated sharpdevelop files Index: QuantProject.prjx =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b91_QuantProject/QuantProject.prjx,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** QuantProject.prjx 17 Nov 2005 21:41:39 -0000 1.5 --- QuantProject.prjx 16 May 2006 15:50:43 -0000 1.6 *************** *** 6,10 **** <File name=".\app.config" subtype="Code" buildaction="Nothing" dependson="" data="" /> <File name=".\App.ico" subtype="Code" buildaction="Nothing" dependson="" data="" /> - <File name=".\QuantProject.Principale.Principale.resources" subtype="Code" buildaction="EmbedAsResource" dependson="" data="" /> </Contents> <References> --- 6,9 ---- |
|
From: Marco M. <mi...@us...> - 2006-05-16 15:50:50
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv15388/b7_Scripts Modified Files: Scripts.prjx Log Message: Updated sharpdevelop files Index: Scripts.prjx =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/Scripts.prjx,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** Scripts.prjx 14 May 2006 08:38:16 -0000 1.19 --- Scripts.prjx 16 May 2006 15:50:43 -0000 1.20 *************** *** 124,128 **** <File name=".\ArbitrageTesting\PairTrading\SimplePairTrading\InSample\GenomeRepresentation.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> <File name=".\ArbitrageTesting\PairTrading\SimplePairTrading\InSample\OptimizationOutput.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> - <File name=".\QuantProject.Scripts.ArbitrageTesting.PairTrading.SimplePairTrading.InSample.OutputDisplayer.resources" subtype="Code" buildaction="EmbedAsResource" dependson="" data="" /> <File name=".\TechnicalAnalysisTesting\Oscillators\ExtremeCounterTrend" subtype="Directory" buildaction="Compile" dependson="" data="" /> <File name=".\TechnicalAnalysisTesting\Oscillators\ExtremeCounterTrend\RunExtremeCounterTrend.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> --- 124,127 ---- *************** *** 131,135 **** <File name=".\WalkForwardTesting\LinearCombination\ExtremeCounterTrendStrategy.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> <File name=".\WalkForwardTesting\LinearCombination\FixedPeriodOscillatorStrategy.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> ! <File name=".\QuantProject.Scripts.WalkForwardTesting.LinearCombination.TestDisplayer.resources" subtype="Code" buildaction="EmbedAsResource" dependson="" data="" /> </Contents> <References> --- 130,134 ---- <File name=".\WalkForwardTesting\LinearCombination\ExtremeCounterTrendStrategy.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> <File name=".\WalkForwardTesting\LinearCombination\FixedPeriodOscillatorStrategy.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> ! <File name=".\WalkForwardTesting\WalkForwardLag\WFLagDebugger\WFLagDebugGenome.cs" subtype="Code" buildaction="Compile" dependson="" data="" /> </Contents> <References> |
|
From: Marco M. <mar...@po...> - 2006-05-16 15:35:50
|
----- Original Message -----=20 From: "Glauco Siliprandi" <gla...@us...> To: <Qua...@li...> Sent: Sunday, May 14, 2006 11:00 PM Subject: [Quantproject-developers]=20 QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag/WFLagDebugger=20 WFLagDebugGenome.resx,NONE,1.1 WFLagDebugGenome.cs,NONE,1.1 > Update of=20 > /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkFo= rwardLag/WFLagDebugger > In directory=20 > sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv18694/b7_Scripts/WalkForwardTe= sting/WalkForwardLag/WFLagDebugger > > Added Files: > WFLagDebugGenome.resx WFLagDebugGenome.cs > Log Message: > Form to select different parameters and debug a WFLag strategy genome > > --- NEW FILE: WFLagDebugGenome.resx --- > <?xml version=3D"1.0" encoding=3D"utf-8"?> > <root> Non mi ricordo pi=F9: non avevamo detto di lasciar fuori i resx?=20 |
|
From: Glauco S. <gla...@us...> - 2006-05-14 23:00:20
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv27010/b7_Scripts/WalkForwardTesting/WalkForwardLag Modified Files: RunWalkForwardLag.cs Log Message: - the default log file name has been improved Index: RunWalkForwardLag.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag/RunWalkForwardLag.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** RunWalkForwardLag.cs 8 Apr 2006 18:35:36 -0000 1.2 --- RunWalkForwardLag.cs 14 May 2006 23:00:17 -0000 1.3 *************** *** 43,48 **** private string tickerGroupID; private int numberEligibleTickers; - private int numberOfPortfolioPositions; private int numberOfDrivingPositions; private int numberDaysForInSampleOptimization; private int numDaysBetweenEachOptimization; --- 43,48 ---- private string tickerGroupID; private int numberEligibleTickers; private int numberOfDrivingPositions; + private int numberOfPortfolioPositions; private int numberDaysForInSampleOptimization; private int numDaysBetweenEachOptimization; *************** *** 67,72 **** string tickerGroupID , int numberEligibleTickers , - int numberOfPortfolioPositions , int numberOfDrivingPositions , int numberDaysForInSampleOptimization , int numDaysBetweenEachOptimization , --- 67,72 ---- string tickerGroupID , int numberEligibleTickers , int numberOfDrivingPositions , + int numberOfPortfolioPositions , int numberDaysForInSampleOptimization , int numDaysBetweenEachOptimization , *************** *** 80,85 **** this.tickerGroupID = tickerGroupID; this.numberEligibleTickers = numberEligibleTickers; - this.numberOfPortfolioPositions = numberOfPortfolioPositions; this.numberOfDrivingPositions = numberOfDrivingPositions; this.numberDaysForInSampleOptimization = numberDaysForInSampleOptimization; this.numDaysBetweenEachOptimization = numDaysBetweenEachOptimization; --- 80,85 ---- this.tickerGroupID = tickerGroupID; this.numberEligibleTickers = numberEligibleTickers; this.numberOfDrivingPositions = numberOfDrivingPositions; + this.numberOfPortfolioPositions = numberOfPortfolioPositions; this.numberDaysForInSampleOptimization = numberDaysForInSampleOptimization; this.numDaysBetweenEachOptimization = numDaysBetweenEachOptimization; *************** *** 165,187 **** Console.WriteLine( progress ); } ! private string nowToString() { ! string returnValue = ! DateTime.Now.Year.ToString() + "_" + ! DateTime.Now.Month.ToString() + "_" + ! DateTime.Now.Day.ToString(); ! return returnValue; } ! private string getDefaultLogFileName() { string defaultFileName = ! nowToString() + "_" + ! "DrivingPositions_" + this.numberOfDrivingPositions + "_" + ! "DrivingPositions_" + this.numberOfPortfolioPositions + "_" + ! "From_" + this.nowToString() + "_" + ! "To_" + this.nowToString(); return defaultFileName; } ! private void saveLog() { this.wFLagLog.TransactionHistory = this.account.Transactions; --- 165,204 ---- Console.WriteLine( progress ); } ! private string getLongStringForDateTime( DateTime dateTime ) { ! string stringForFileName = ! dateTime.Year.ToString() + "_" + ! dateTime.Month.ToString().PadLeft( 2 , '0' ) + "_" + ! dateTime.Day.ToString().PadLeft( 2 , '0' ) + "_" + ! dateTime.Hour.ToString().PadLeft( 2 , '0' ) + "_" + ! dateTime.Minute.ToString().PadLeft( 2 , '0' ) + "_" + ! dateTime.Second.ToString().PadLeft( 2 , '0' ); ! return stringForFileName; } ! private string getShortStringForDateTime( DateTime dateTime ) ! { ! string stringForFileName = ! dateTime.Year.ToString() + "_" + ! dateTime.Month.ToString().PadLeft( 2 , '0' ) + "_" + ! dateTime.Day.ToString().PadLeft( 2 , '0' ); ! return stringForFileName; ! } ! private string getDefaultLogFileName( DateTime currentTime ) { string defaultFileName = ! this.getLongStringForDateTime( DateTime.Now ) + "_" + ! "Group_" + this.tickerGroupID + "_" + ! "DrvPstns_" + this.numberOfDrivingPositions + "_" + ! "PrtfPstns_" + this.numberOfPortfolioPositions + "_" + ! "GenNum_" + this.generationNumberForGeneticOptimizer + "_" + ! "PopSize_" + this.populationSizeForGeneticOptimizer + "_" + ! "From_" + this.getShortStringForDateTime( ! (DateTime)this.account.Transactions.GetKey( 0 ) ) + "_" + ! "To_" + this.getShortStringForDateTime( currentTime ) + "_" + ! "inSample_" + this.numberDaysForInSampleOptimization.ToString() + "_" + ! "dysBtwnEachOptmzn_" + this.numDaysBetweenEachOptimization.ToString(); return defaultFileName; } ! private void saveLog( DateTime currentTime ) { this.wFLagLog.TransactionHistory = this.account.Transactions; *************** *** 191,195 **** new VisualObjectArchiver(); visualObjectArchiver.Save( this.wFLagLog , "qPWFLagLog" , ! this.getDefaultLogFileName() , defaultFolderPath ); } private void showReport( object sender ) --- 208,212 ---- new VisualObjectArchiver(); visualObjectArchiver.Save( this.wFLagLog , "qPWFLagLog" , ! this.getDefaultLogFileName( currentTime ) , defaultFolderPath ); } private void showReport( object sender ) *************** *** 210,214 **** Object sender , EndOfDayTimingEventArgs endOfDayTimingEventArgs ) { ! if ( ( ( ( IEndOfDayTimer )sender ).GetCurrentTime().DateTime > this.lastDateTime ) || ( DateTime.Now >= --- 227,233 ---- Object sender , EndOfDayTimingEventArgs endOfDayTimingEventArgs ) { ! DateTime currentTime = ! ( ( IEndOfDayTimer )sender ).GetCurrentTime().DateTime; ! if ( ( currentTime > this.lastDateTime ) || ( DateTime.Now >= *************** *** 221,225 **** // ObjectArchiver.Archive( this.account , // @"C:\Documents and Settings\Glauco\Desktop\reports\final.qP" ); ! this.saveLog(); this.showReport( sender ); // WFMultiOneRankReportDebugger wFMultiOneRankReportDebugger = --- 240,244 ---- // ObjectArchiver.Archive( this.account , // @"C:\Documents and Settings\Glauco\Desktop\reports\final.qP" ); ! this.saveLog( currentTime ); this.showReport( sender ); // WFMultiOneRankReportDebugger wFMultiOneRankReportDebugger = |
|
From: Glauco S. <gla...@us...> - 2006-05-14 22:58:33
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv26364/b7_Scripts/WalkForwardTesting/WalkForwardLag Modified Files: WFLagMain.cs Log Message: - the default file name for the log has been improved Index: WFLagMain.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag/WFLagMain.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** WFLagMain.cs 8 Apr 2006 18:42:29 -0000 1.2 --- WFLagMain.cs 14 May 2006 22:58:27 -0000 1.3 *************** *** 117,129 **** { // new RunWalkForwardLag( "millo" , 500 , ! // 3 , 3 , 90 , 7 , 15 , 30000 , "MSFT" , // new DateTime( 2002 , 1 , 1 ) , ! // new DateTime( 2002 , 3 , 31 ) , ! // 7 ).Run(); ! new RunWalkForwardLag( "SP500" , 500 , ! 3 , 3 , 90 , 7 , 1 , 30000 , "MSFT" , ! new DateTime( 2002 , 1 , 30 ) , ! new DateTime( 2002 , 2 , 3 ) , ! 1 ).Run(); } --- 117,144 ---- { // new RunWalkForwardLag( "millo" , 500 , ! // 3 , 3 , 90 , 7 , 1 , 5000 , "MSFT" , // new DateTime( 2002 , 1 , 1 ) , ! // new DateTime( 2002 , 1 , 8 ) , ! // 0.01 ).Run(); ! new RunWalkForwardLag( "ib_etf" , 500 , ! 3 , 1 , 200 , 15 , 50 , 90000 , "EWQ" , ! new DateTime( 2003 , 1 , 1 ) , ! new DateTime( 2003 , 12 , 31 ) , ! 13 ).Run(); ! // new RunWalkForwardLag( "ib_etf" , 500 , ! // 4 , 4 , 250 , 2 , 15 , 30000 , "EWQ" , ! // new DateTime( 2003 , 1 , 1 ) , ! // new DateTime( 2003 , 12 , 31 ) , ! // 13 ).Run(); ! // new RunWalkForwardLag( "SP500" , 500 , ! // 4 , 4 , 400 , 2 , 15 , 30000 , "MSFT" , ! // new DateTime( 2002 , 6 , 30 ) , ! // new DateTime( 2003 , 6 , 30 ) , ! // 8 ).Run(); ! // new RunWalkForwardLag( "SP500" , 500 , ! // 1 , 1 , 400 , 2 , 5 , 5000 , "MSFT" , ! // new DateTime( 2002 , 6 , 30 ) , ! // new DateTime( 2003 , 6 , 30 ) , ! // 3 ).Run(); } |
|
From: Glauco S. <gla...@us...> - 2006-05-14 21:30:05
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv28243/b7_Scripts/WalkForwardTesting/WalkForwardLag Modified Files: WFLagCandidates.cs Log Message: Equity line for driving positions is computed, now. Index: WFLagCandidates.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag/WFLagCandidates.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** WFLagCandidates.cs 8 Apr 2006 18:38:31 -0000 1.2 --- WFLagCandidates.cs 14 May 2006 21:30:01 -0000 1.3 *************** *** 53,57 **** /// <param name="signedTickers">tickers</param> /// <returns></returns> ! public float[][] GetTickersReturns( ICollection tickers ) { if ( this.closeToCloseReturns == null ) --- 53,57 ---- /// <param name="signedTickers">tickers</param> /// <returns></returns> ! public float[][] GetTickersReturns( ArrayList tickers ) { if ( this.closeToCloseReturns == null ) |
|
From: Glauco S. <gla...@us...> - 2006-05-14 21:23:59
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag/WFLagDebugger/WFLagDebugPositions In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv26352/b7_Scripts/WalkForwardTesting/WalkForwardLag/WFLagDebugger/WFLagDebugPositions Modified Files: WFLagDebugPositions.cs Log Message: Equity line for driving positions is computed, now. Index: WFLagDebugPositions.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag/WFLagDebugger/WFLagDebugPositions/WFLagDebugPositions.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** WFLagDebugPositions.cs 8 Apr 2006 18:15:38 -0000 1.1 --- WFLagDebugPositions.cs 14 May 2006 21:23:56 -0000 1.2 *************** *** 22,29 **** --- 22,32 ---- using System; + using System.Collections; using QuantProject.Business.DataProviders; using QuantProject.Business.Financial.Accounting; using QuantProject.Business.Financial.Ordering; + using QuantProject.Business.Financial.Accounting.Reporting; + using QuantProject.Business.Strategies; using QuantProject.Business.Timing; using QuantProject.Presentation.Reporting.WindowsForm; *************** *** 110,113 **** --- 113,179 ---- this.account.AddCash( 30000 ); } + #region getEquityLineForDrivingPositions + + /// <summary> + /// Returns a virtual amount of quantities for each virtual ticker. + /// Non integer values can be returned also, that's why we call + /// them virtual quantities + /// </summary> + /// <returns></returns> + private Hashtable getDrivingTickersVirtualQuantities( + DateTime dateTime ) + { + Hashtable drivingTickersVirtualQuantities = new Hashtable(); + double valueForEachPosition = 30000 / + this.wFLagChosenPositions.DrivingPositions.Count; + foreach( string signedTicker in + this.wFLagChosenPositions.DrivingPositions.Keys ) + { + string ticker = SignedTicker.GetTicker( signedTicker ); + EndOfDayDateTime endOfDayDateTime = + new EndOfDayDateTime( dateTime , EndOfDaySpecificTime.MarketClose ); + double tickerQuote = + this.historicalQuoteProvider.GetMarketValue( + ticker , endOfDayDateTime ); + double virtualQuantity = valueForEachPosition / tickerQuote; + drivingTickersVirtualQuantities.Add( ticker , virtualQuantity ); + } + return drivingTickersVirtualQuantities; + } + private double getEquityLineForDrivingPositions( DateTime dateTime , + Hashtable tickerVirtualQuantities ) + { + double equityValueForDrivingPositions = 30000; + foreach( string ticker in tickerVirtualQuantities ) + { + EndOfDayDateTime endOfDayDateTime = new EndOfDayDateTime( + dateTime , EndOfDaySpecificTime.MarketClose ); + double tickerQuote = this.historicalQuoteProvider.GetMarketValue( + ticker , endOfDayDateTime ); + double virtualQuantity = (double)tickerVirtualQuantities[ ticker ]; + equityValueForDrivingPositions += virtualQuantity * tickerQuote; + } + return equityValueForDrivingPositions; + } + private EquityLine getEquityLineForDrivingPositions( + Report report ) + { + EquityLine equityLineForPortfolioPositions = + report.AccountReport.EquityLine; + EquityLine equityLineForDrivingPositions = + new EquityLine(); + Hashtable drivingTickerQuantities = + this.getDrivingTickersVirtualQuantities( + (DateTime)equityLineForPortfolioPositions.GetKey( 0 ) ); + foreach( DateTime dateTime in equityLineForPortfolioPositions ) + equityLineForDrivingPositions.Add( dateTime , + this.getEquityLineForDrivingPositions( dateTime , + drivingTickerQuantities ) ); + // double normalizingFactor = + // ( double )equityLineForPortfolioPositions.GetByIndex( 0 ) / + // ( double )equityLineForDrivingPositions.GetByIndex( 0 ); + return equityLineForDrivingPositions; + } + #endregion public void oneHourAfterMarketCloseEventHandler( Object sender , EndOfDayTimingEventArgs endOfDayTimingEventArgs ) *************** *** 123,126 **** --- 189,195 ---- EndOfDaySpecificTime.OneHourAfterMarketClose ) , this.benchmark ); + EquityLine equityLineForDrivingPositions = + this.getEquityLineForDrivingPositions( report ); + // report.AddEquityLine( equityLineForDrivingPositions ); report.Show(); } |
|
From: Glauco S. <gla...@us...> - 2006-05-14 21:16:54
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv23906/b7_Scripts/WalkForwardTesting/WalkForwardLag Modified Files: WFLagGenomeManager.cs Log Message: Changed code to change fitness function easily. Index: WFLagGenomeManager.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag/WFLagGenomeManager.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** WFLagGenomeManager.cs 14 Mar 2006 15:04:51 -0000 1.1 --- WFLagGenomeManager.cs 14 May 2006 21:16:51 -0000 1.2 *************** *** 91,130 **** this.wFLagCandidates = new WFLagCandidates( this.eligibleTickers , this.firstQuoteDate , this.lastQuoteDate ); - - // this.retrieveData(); } - // #region retrieveData - // private float[] getArrayOfRatesOfReturn( string ticker ) - // { - // float[] returnValue = null; - // Quotes tickerQuotes = - // new Quotes( ticker , this.firstQuoteDate , this.lastQuoteDate ); - // float[] allAdjValues = - // QuantProject.Data.ExtendedDataTable.GetArrayOfFloatFromColumn( - // tickerQuotes , "quAdjustedClose"); - // returnValue = new float[ allAdjValues.Length ]; - // int i = 0; //index for ratesOfReturns array - // for( int idx = 0 ; idx < allAdjValues.Length - 1 ; idx++ ) - // { - // returnValue[ i ] = allAdjValues[ idx + 1 ] / allAdjValues[ idx ] - 1; - // i++; - // } - // return returnValue; - // } - // private void retrieveData() - // { - // this.closeToCloseReturns = - // new double[ this.eligibleTickers.Rows.Count ]; - // for(int i = 0; i<this.eligibleTickers.Rows.Count; i++) - // { - // string ticker = (string)this.eligibleTickers.Rows[i][0]; - // this.closeToCloseReturns[i] = new WFLagCandidate( ticker, - // this.getArrayOfRatesOfReturn( ticker ) ); - //// this.closeToCloseReturns[i] = new CandidateProperties( ticker, - //// this.getArrayOfRatesOfReturn( ticker ) ); - // } - // } - // #endregion public static string GetTicker( string signedTicker ) --- 91,96 ---- *************** *** 140,151 **** #region GetFitnessValue #region getFitnessValue_getLinearCombinationReturns ! private Hashtable getTickers( ICollection signedTickers ) { ! Hashtable tickers = new Hashtable(); foreach ( string signedTicker in signedTickers ) ! tickers.Add( WFLagGenomeManager.GetTicker( signedTicker ) , null ); return tickers; } ! private float[] getMultipliers( ICollection signedTickers ) { float[] multipliers = new float[ signedTickers.Count ]; --- 106,125 ---- #region GetFitnessValue #region getFitnessValue_getLinearCombinationReturns ! private ArrayList getEnumeratedSignedTickers( ! ICollection signedTickers ) { ! ArrayList enumeratedSignedTickers = new ArrayList(); foreach ( string signedTicker in signedTickers ) ! enumeratedSignedTickers.Add( signedTicker ); ! return enumeratedSignedTickers; ! } ! private ArrayList getTickers( ICollection signedTickers ) ! { ! ArrayList tickers = new ArrayList(); ! foreach ( string signedTicker in signedTickers ) ! tickers.Add( WFLagGenomeManager.GetTicker( signedTicker ) ); return tickers; } ! private float[] getMultipliers( ArrayList signedTickers ) { float[] multipliers = new float[ signedTickers.Count ]; *************** *** 164,173 **** ICollection signedTickers ) { ! int numberOfSignedTickers = signedTickers.Count; ! Hashtable tickers = this.getTickers( signedTickers ); ! float[] multipliers = this.getMultipliers( signedTickers ); // arrays of close to close returns, one for each signed ticker float[][] tickersReturns = ! this.wFLagCandidates.GetTickersReturns( tickers.Keys ); double[] linearCombinationReturns = new double[ tickersReturns[ 0 ].Length ]; --- 138,149 ---- ICollection signedTickers ) { ! ArrayList enumeratedSignedTicker = ! this.getEnumeratedSignedTickers( signedTickers ); ! int numberOfSignedTickers = enumeratedSignedTicker.Count; ! ArrayList tickers = this.getTickers( enumeratedSignedTicker ); ! float[] multipliers = this.getMultipliers( enumeratedSignedTicker ); // arrays of close to close returns, one for each signed ticker float[][] tickersReturns = ! this.wFLagCandidates.GetTickersReturns( tickers ); double[] linearCombinationReturns = new double[ tickersReturns[ 0 ].Length ]; *************** *** 212,215 **** --- 188,240 ---- } + private double[] getFinalReturns( double[] strategyReturns , + int finalLength ) + { + double[] finalReturns = new double[ finalLength ]; + for ( int i = strategyReturns.Length - finalLength ; + i < strategyReturns.Length ; i++ ) + finalReturns[ i - ( strategyReturns.Length - finalLength ) ] = + strategyReturns[ i ]; + return finalReturns; + } + private double getFitnessValue_sharpeRatio( + double[] returns ) + { + double fitnessValue = + AdvancedFunctions.GetSharpeRatio( + returns ); + return fitnessValue; + } + private double getFitnessValue_withGoodFinal( + double[] strategyReturns ) + { + double[] secondHalfStrategyReturns = + this.getFinalReturns( strategyReturns , + strategyReturns.Length/2 ); + double[] fourthQuorterStrategyReturns = + this.getFinalReturns( strategyReturns , + strategyReturns.Length/4 ); + double fitnessValue = + this.getFitnessValue_sharpeRatio( strategyReturns ) * + this.getFitnessValue_sharpeRatio( secondHalfStrategyReturns ) * + this.getFitnessValue_sharpeRatio( fourthQuorterStrategyReturns ); + return fitnessValue; + } + + private double getFitnessValue( double[] strategyReturns ) + { + double fitnessValue = + AdvancedFunctions.GetSharpeRatio( + strategyReturns ); + // double fitnessValue = + // AdvancedFunctions.GetExpectancyScore( + // strategyReturns ); + // double fitnessValue = + // this.getFitnessValue_withGoodFinal( strategyReturns ); + // double fitnessValue = + // BasicFunctions.GetSimpleAverage( strategyReturns ) / + // ( Math.Pow( BasicFunctions.GetStdDev( strategyReturns ) , 1.3 ) ); + return fitnessValue; + } private double getFitnessValue( WFLagSignedTickers wFLagSignedTickers ) { *************** *** 223,229 **** this.getFitnessValue_getStrategyReturn( drivingPositionsReturns , portfolioPositionsReturns ); ! double fitnessValue = ! AdvancedFunctions.GetSharpeRatio( ! strategyReturns ); return fitnessValue; } --- 248,252 ---- this.getFitnessValue_getStrategyReturn( drivingPositionsReturns , portfolioPositionsReturns ); ! double fitnessValue = this.getFitnessValue( strategyReturns ); return fitnessValue; } *************** *** 297,301 **** position = Math.Abs( geneValue ) - 1; initialCharForTickerCode = "-"; ! } return initialCharForTickerCode + ( string )this.eligibleTickers.Rows[ position ][ 0 ]; --- 320,324 ---- position = Math.Abs( geneValue ) - 1; initialCharForTickerCode = "-"; ! } return initialCharForTickerCode + ( string )this.eligibleTickers.Rows[ position ][ 0 ]; |
|
From: Glauco S. <gla...@us...> - 2006-05-14 21:14:55
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag/WFLagDebugger In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv23246/b7_Scripts/WalkForwardTesting/WalkForwardLag/WFLagDebugger Modified Files: WFLagReportDebugger.cs Log Message: WFLagDebugGenome is used now. Index: WFLagReportDebugger.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag/WFLagDebugger/WFLagReportDebugger.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** WFLagReportDebugger.cs 8 Apr 2006 18:13:00 -0000 1.1 --- WFLagReportDebugger.cs 14 May 2006 21:14:50 -0000 1.2 *************** *** 59,91 **** return dateTime; } ! private void rightClickEventHandler_withRowNumber( DataGrid dataGrid , ! int rowNumber ) ! { ! DateTime transactionDateTime = ! this.getRowDateTime( dataGrid , rowNumber ); ! WFLagChosenPositions wFLagChosenPositions = ! this.wFLagLog.GetChosenPositions( transactionDateTime ); ! WFLagDebugPositions wFLagDebugPositions = ! new WFLagDebugPositions( wFLagChosenPositions , ! transactionDateTime , 30 , ! this.wFLagLog.InSampleDays , 30 , ! this.wFLagLog.Benchmark ); ! wFLagDebugPositions.Run(); ! // WFMultiOneRankDebugInSample wFMultiOneRankDebugInSample = ! // new WFMultiOneRankDebugInSample( signedTickers , firstDateTime , ! // lastDateTime , ! // this.benchmark ); ! // wFMultiOneRankDebugInSample.Run(); ! } private void rightClickEventHandler( object sender , MouseEventArgs eventArgs ) { ! // rightClickEventHandler_checkExceptions( sender , ! // eventArgs ); int rowNumber = rightClickEventHandler_getRowNumber( sender , eventArgs ); ! rightClickEventHandler_withRowNumber( ! (DataGrid)sender , rowNumber ); ! // MessageBox.Show( dataRow[ "DateTime" ].ToString() ); } public void MouseClickEventHandler( object sender , --- 59,97 ---- return dateTime; } ! // private void rightClickEventHandler_withRowNumber( DataGrid dataGrid , ! // int rowNumber ) ! // { ! // DateTime transactionDateTime = ! // this.getRowDateTime( dataGrid , rowNumber ); ! // WFLagChosenPositions wFLagChosenPositions = ! // this.wFLagLog.GetChosenPositions( transactionDateTime ); ! // WFLagDebugPositions wFLagDebugPositions = ! // new WFLagDebugPositions( wFLagChosenPositions , ! // transactionDateTime , 30 , ! // this.wFLagLog.InSampleDays , 30 , ! // this.wFLagLog.Benchmark ); ! // wFLagDebugPositions.Run(); ! // // WFMultiOneRankDebugInSample wFMultiOneRankDebugInSample = ! // // new WFMultiOneRankDebugInSample( signedTickers , firstDateTime , ! // // lastDateTime , ! // // this.benchmark ); ! // // wFMultiOneRankDebugInSample.Run(); ! // } private void rightClickEventHandler( object sender , MouseEventArgs eventArgs ) { ! // int rowNumber = rightClickEventHandler_getRowNumber( ! // sender , eventArgs ); ! // rightClickEventHandler_withRowNumber( ! // (DataGrid)sender , rowNumber ); ! int rowNumber = rightClickEventHandler_getRowNumber( sender , eventArgs ); ! DateTime transactionDateTime = ! this.getRowDateTime( (DataGrid)sender , rowNumber ); ! WFLagDebugGenome wFLagDebugGenome = ! new WFLagDebugGenome( transactionDateTime , ! this.wFLagLog ); ! wFLagDebugGenome.Show(); } public void MouseClickEventHandler( object sender , |
|
From: Glauco S. <gla...@us...> - 2006-05-14 21:00:18
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag/WFLagDebugger In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv18694/b7_Scripts/WalkForwardTesting/WalkForwardLag/WFLagDebugger Added Files: WFLagDebugGenome.resx WFLagDebugGenome.cs Log Message: Form to select different parameters and debug a WFLag strategy genome --- NEW FILE: WFLagDebugGenome.resx --- <?xml version="1.0" encoding="utf-8"?> <root> <!-- Microsoft ResX Schema Version 1.3 The primary goals of this format is to allow a simple XML format that is mostly human readable. The generation and parsing of the various data types are done through the TypeConverter classes associated with the data types. Example: ... ado.net/XML headers & schema ... <resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="version">1.3</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> <data name="Name1">this is my long string</data> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> [base64 mime encoded serialized .NET Framework object] </data> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> [base64 mime encoded string representing a byte array form of the .NET Framework object] </data> There are any number of "resheader" rows that contain simple name/value pairs. Each data row contains a name, and value. The row also contains a type or mimetype. Type corresponds to a .NET class that support text/value conversion through the TypeConverter architecture. Classes that don't support this are serialized and stored with the mimetype set. The mimetype is used for serialized objects, and tells the ResXResourceReader how to depersist the object. This is currently not extensible. For a given mimetype the value must be set accordingly: Note - application/x-microsoft.net.object.binary.base64 is the format that the ResXResourceWriter will generate, however the reader can read any of the formats listed below. mimetype: application/x-microsoft.net.object.binary.base64 value : The object must be serialized with : System.Serialization.Formatters.Binary.BinaryFormatter : and then encoded with base64 encoding. mimetype: application/x-microsoft.net.object.soap.base64 value : The object must be serialized with : System.Runtime.Serialization.Formatters.Soap.SoapFormatter : and then encoded with base64 encoding. mimetype: application/x-microsoft.net.object.bytearray.base64 value : The object must be serialized into a byte array : using a System.ComponentModel.TypeConverter : and then encoded with base64 encoding. --> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:element name="root" msdata:IsDataSet="true"> <xsd:complexType> <xsd:choice maxOccurs="unbounded"> <xsd:element name="data"> <xsd:complexType> <xsd:sequence> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> </xsd:complexType> </xsd:element> <xsd:element name="resheader"> <xsd:complexType> <xsd:sequence> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required" /> </xsd:complexType> </xsd:element> </xsd:choice> </xsd:complexType> </xsd:element> </xsd:schema> <resheader name="resmimetype"> <value>text/microsoft-resx</value> </resheader> <resheader name="version"> <value>1.3</value> </resheader> <resheader name="reader"> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <resheader name="writer"> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <data name="$this.Name"> <value>WFLagDebugGenome</value> </data> </root> --- NEW FILE: WFLagDebugGenome.cs --- using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using QuantProject.Data.DataProviders.Caching; namespace QuantProject.Scripts.WalkForwardTesting.WalkForwardLag.WFLagDebugger { /// <summary> /// Form to select different parameters and debug /// a WFLag strategy genome /// </summary> public class WFLagDebugGenome : System.Windows.Forms.Form { DateTime transactionDateTime; WFLagLog wFLagLog; WFLagChosenPositions wFLagChosenPositions; private System.Windows.Forms.Button TestPreInSampleAndPost; private System.Windows.Forms.Button TestInSample; private System.Windows.Forms.Button TestPostSample; private System.Windows.Forms.TextBox PostSampleDays; private System.Windows.Forms.Button testPreSample; private System.Windows.Forms.TextBox PreSampleDays; private System.Windows.Forms.Label labelDrivingPositions; private System.Windows.Forms.Label labelPortfolioPositions; private System.Windows.Forms.Label labelDrivingPositionsContent; private System.Windows.Forms.Label labelPortfolioPositionsContent; /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null; public WFLagDebugGenome( DateTime transactionDateTime , WFLagLog wFLagLog ) { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // this.transactionDateTime = transactionDateTime; this.wFLagLog = wFLagLog; } /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.TestPreInSampleAndPost = new System.Windows.Forms.Button(); this.TestInSample = new System.Windows.Forms.Button(); this.TestPostSample = new System.Windows.Forms.Button(); this.PostSampleDays = new System.Windows.Forms.TextBox(); this.testPreSample = new System.Windows.Forms.Button(); this.PreSampleDays = new System.Windows.Forms.TextBox(); this.labelDrivingPositions = new System.Windows.Forms.Label(); this.labelPortfolioPositions = new System.Windows.Forms.Label(); this.labelDrivingPositionsContent = new System.Windows.Forms.Label(); this.labelPortfolioPositionsContent = new System.Windows.Forms.Label(); this.SuspendLayout(); // // TestPreInSampleAndPost // this.TestPreInSampleAndPost.Location = new System.Drawing.Point(32, 64); this.TestPreInSampleAndPost.Name = "TestPreInSampleAndPost"; this.TestPreInSampleAndPost.Size = new System.Drawing.Size(160, 40); this.TestPreInSampleAndPost.TabIndex = 0; this.TestPreInSampleAndPost.Text = "Test pre, in sample and post"; this.TestPreInSampleAndPost.Click += new System.EventHandler(this.TestPreInSampleAndPost_Click); // // TestInSample // this.TestInSample.Location = new System.Drawing.Point(32, 8); this.TestInSample.Name = "TestInSample"; this.TestInSample.Size = new System.Drawing.Size(160, 32); this.TestInSample.TabIndex = 1; this.TestInSample.Text = "Test in Sample"; this.TestInSample.Click += new System.EventHandler(this.TestInSample_Click); // // TestPostSample // this.TestPostSample.Location = new System.Drawing.Point(32, 144); this.TestPostSample.Name = "TestPostSample"; this.TestPostSample.Size = new System.Drawing.Size(160, 32); this.TestPostSample.TabIndex = 2; this.TestPostSample.Text = "Test post sample"; this.TestPostSample.Click += new System.EventHandler(this.TestPostSample_Click); // // PostSampleDays // this.PostSampleDays.Location = new System.Drawing.Point(256, 152); this.PostSampleDays.Name = "PostSampleDays"; this.PostSampleDays.TabIndex = 3; this.PostSampleDays.Text = "30"; // // testPreSample // this.testPreSample.Location = new System.Drawing.Point(32, 216); this.testPreSample.Name = "testPreSample"; this.testPreSample.Size = new System.Drawing.Size(160, 32); this.testPreSample.TabIndex = 4; this.testPreSample.Text = "Test pre sample"; this.testPreSample.Click += new System.EventHandler(this.testPreSample_Click); // // PreSampleDays // this.PreSampleDays.Location = new System.Drawing.Point(256, 224); this.PreSampleDays.Name = "PreSampleDays"; this.PreSampleDays.TabIndex = 5; this.PreSampleDays.Text = "30"; // // labelDrivingPositions // this.labelDrivingPositions.Location = new System.Drawing.Point(272, 16); this.labelDrivingPositions.Name = "labelDrivingPositions"; this.labelDrivingPositions.TabIndex = 6; this.labelDrivingPositions.Text = "Driving Pos."; this.labelDrivingPositions.TextAlign = System.Drawing.ContentAlignment.MiddleRight; // // labelPortfolioPositions // this.labelPortfolioPositions.Location = new System.Drawing.Point(272, 64); this.labelPortfolioPositions.Name = "labelPortfolioPositions"; this.labelPortfolioPositions.TabIndex = 7; this.labelPortfolioPositions.Text = "Portfolio Pos."; this.labelPortfolioPositions.TextAlign = System.Drawing.ContentAlignment.MiddleRight; // // labelDrivingPositionsContent // this.labelDrivingPositionsContent.Location = new System.Drawing.Point(384, 16); this.labelDrivingPositionsContent.Name = "labelDrivingPositionsContent"; this.labelDrivingPositionsContent.TabIndex = 8; this.labelDrivingPositionsContent.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // labelPortfolioPositionsContent // this.labelPortfolioPositionsContent.Location = new System.Drawing.Point(384, 64); this.labelPortfolioPositionsContent.Name = "labelPortfolioPositionsContent"; this.labelPortfolioPositionsContent.TabIndex = 9; this.labelPortfolioPositionsContent.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // WFLagDebugGenome // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(616, 365); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.labelPortfolioPositionsContent, this.labelDrivingPositionsContent, this.labelPortfolioPositions, this.labelDrivingPositions, this.PreSampleDays, this.testPreSample, this.PostSampleDays, this.TestPostSample, this.TestInSample, this.TestPreInSampleAndPost}); this.Name = "WFLagDebugGenome"; this.Text = "WFLagDebugGenome"; this.Load += new System.EventHandler(this.WFLagDebugGenome_Load); this.ResumeLayout(false); } #endregion private DateTime getInSampleLastDateTime() { DateTime inSampleLastDateTime = this.transactionDateTime.AddDays( - 1 ); return inSampleLastDateTime; } private DateTime getPreSampleLastDateTime() { DateTime preSampleLastDateTime = this.getInSampleLastDateTime().AddDays( -this.wFLagLog.InSampleDays ); return preSampleLastDateTime; } private int getPostSampleDays() { int postSampleDays = Convert.ToInt32( this.PostSampleDays.Text ); return postSampleDays; } private int getPreSampleDays() { int preSampleDays = Convert.ToInt32( this.PreSampleDays.Text ); return preSampleDays; } private void run( DateTime inSampleLastDateTime , int preSampleDays , int inSampleDays , int postSampleDays ) { // WFLagChosenPositions wFLagChosenPositions = // this.wFLagLog.GetChosenPositions( // this.transactionDateTime ); WFLagDebugPositions wFLagDebugPositions = new WFLagDebugPositions( this.wFLagChosenPositions , inSampleLastDateTime , preSampleDays , inSampleDays , postSampleDays , this.wFLagLog.Benchmark ); wFLagDebugPositions.Run(); } private void TestPreInSampleAndPost_Click(object sender, System.EventArgs e) { WFLagChosenPositions wFLagChosenPositions = this.wFLagLog.GetChosenPositions( this.transactionDateTime ); WFLagDebugPositions wFLagDebugPositions = new WFLagDebugPositions( wFLagChosenPositions , this.transactionDateTime.AddDays( - 1 ) , 30 , this.wFLagLog.InSampleDays , Convert.ToInt32( this.PostSampleDays.Text ) , this.wFLagLog.Benchmark ); wFLagDebugPositions.Run(); } private void TestInSample_Click(object sender, System.EventArgs e) { WFLagChosenPositions wFLagChosenPositions = this.wFLagLog.GetChosenPositions( this.transactionDateTime ); WFLagDebugPositions wFLagDebugPositions = new WFLagDebugPositions( wFLagChosenPositions , this.transactionDateTime.AddDays( - 1 ) , 0 , this.wFLagLog.InSampleDays , 0 , this.wFLagLog.Benchmark ); wFLagDebugPositions.Run(); } private void TestPostSample_Click(object sender, System.EventArgs e) { this.run( this.getInSampleLastDateTime() , 0 , 0 , this.getPostSampleDays() ); } private void testPreSample_Click(object sender, System.EventArgs e) { try { this.run( this.getPreSampleLastDateTime() , 0 , this.getPreSampleDays() , 0 ); } catch( MissingQuoteException ex ) { MessageBox.Show( "The pre sample backtest cannot be " + "performed, because there are missing quotes.\n" + ex.Message ); } } private void WFLagDebugGenome_Load(object sender, System.EventArgs e) { this.wFLagChosenPositions = this.wFLagLog.GetChosenPositions( this.transactionDateTime ); this.labelDrivingPositionsContent.Text = this.wFLagChosenPositions.DrivingPositions.KeyConcat; this.labelPortfolioPositionsContent.Text = this.wFLagChosenPositions.PortfolioPositions.KeyConcat; } } } |
|
From: Glauco S. <gla...@us...> - 2006-05-14 20:50:59
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv15487/b7_Scripts Modified Files: b7_Scripts.csproj Log Message: - WalkForwardTesting\WalkForwardLag\WFLagDebugger\WFLagDebugGenome.cs has been added - WalkForwardTesting\WalkForwardLag\WFLagDebugger\WFLagDebugGenome.resx has been added Index: b7_Scripts.csproj =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/b7_Scripts.csproj,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -d -r1.52 -r1.53 *** b7_Scripts.csproj 14 May 2006 18:43:53 -0000 1.52 --- b7_Scripts.csproj 14 May 2006 20:50:54 -0000 1.53 *************** *** 629,632 **** --- 629,642 ---- /> <File + RelPath = "WalkForwardTesting\WalkForwardLag\WFLagDebugger\WFLagDebugGenome.cs" + SubType = "Form" + BuildAction = "Compile" + /> + <File + RelPath = "WalkForwardTesting\WalkForwardLag\WFLagDebugger\WFLagDebugGenome.resx" + DependentUpon = "WFLagDebugGenome.cs" + BuildAction = "EmbeddedResource" + /> + <File RelPath = "WalkForwardTesting\WalkForwardLag\WFLagDebugger\WFLagLog.cs" SubType = "Code" |
|
From: Marco M. <mi...@us...> - 2006-05-14 18:43:56
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7053/b7_Scripts Modified Files: b7_Scripts.csproj Log Message: Added SimplePairTrading, FixedPeriodOscillator and ExtremeCounterTrend strategies Index: b7_Scripts.csproj =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/b7_Scripts.csproj,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -d -r1.51 -r1.52 *** b7_Scripts.csproj 8 Apr 2006 18:33:06 -0000 1.51 --- b7_Scripts.csproj 14 May 2006 18:43:53 -0000 1.52 *************** *** 118,121 **** --- 118,186 ---- /> <File + RelPath = "ArbitrageTesting\PairTrading\PairTradingCandidate.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "ArbitrageTesting\PairTrading\RunPairTrading.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "ArbitrageTesting\PairTrading\SimplePairTrading\EndOfDayTimerHandlerSimplePT.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "ArbitrageTesting\PairTrading\SimplePairTrading\GenomeManagerForSimplePT.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "ArbitrageTesting\PairTrading\SimplePairTrading\GenomeMeaningSimplePT.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "ArbitrageTesting\PairTrading\SimplePairTrading\RunSimplePairTrading.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "ArbitrageTesting\PairTrading\SimplePairTrading\SimplePTGenomeManipulator.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "ArbitrageTesting\PairTrading\SimplePairTrading\InSample\EndOfDayTimerHandlerSimplePTIS.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "ArbitrageTesting\PairTrading\SimplePairTrading\InSample\GenomeRepresentation.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "ArbitrageTesting\PairTrading\SimplePairTrading\InSample\OptimizationOutput.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "ArbitrageTesting\PairTrading\SimplePairTrading\InSample\OutputDisplayer.cs" + SubType = "Form" + BuildAction = "Compile" + /> + <File + RelPath = "ArbitrageTesting\PairTrading\SimplePairTrading\InSample\OutputDisplayer.resx" + DependentUpon = "OutputDisplayer.cs" + BuildAction = "EmbeddedResource" + /> + <File + RelPath = "ArbitrageTesting\PairTrading\SimplePairTrading\InSample\RunSimplePairTradingIS.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "CallingReportsForRunScripts\ShowReportFromFile.cs" SubType = "Code" *************** *** 137,140 **** --- 202,210 ---- BuildAction = "Compile" /> + <File + RelPath = "EvaluatingOptimizationTechnique\EfficientPortfolio\RunTestingOptimizationOpenToCloseFitnessCombined.cs" + SubType = "Code" + BuildAction = "Compile" + /> <Folder RelPath = "MultiTesting\MultiTestOneRank\" /> <File *************** *** 179,182 **** --- 249,282 ---- /> <File + RelPath = "TechnicalAnalysisTesting\Oscillators\ExtremeCounterTrend\EndOfDayTimerHandlerECT.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "TechnicalAnalysisTesting\Oscillators\ExtremeCounterTrend\GenomeManagerECT.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "TechnicalAnalysisTesting\Oscillators\ExtremeCounterTrend\RunExtremeCounterTrend.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "TechnicalAnalysisTesting\Oscillators\FixedPeriodOscillators\EndOfDayTimerHandlerFPOscillatorCTC.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "TechnicalAnalysisTesting\Oscillators\FixedPeriodOscillators\GenomeManagerForFPOscillatorCTC.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "TechnicalAnalysisTesting\Oscillators\FixedPeriodOscillators\RunFPOscillatorCTC.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "TickerSelectionTesting\CandidateProperties.cs" SubType = "Code" *************** *** 394,397 **** --- 494,507 ---- /> <File + RelPath = "WalkForwardTesting\LinearCombination\ExtremeCounterTrendStrategy.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "WalkForwardTesting\LinearCombination\FixedPeriodOscillatorStrategy.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "WalkForwardTesting\LinearCombination\GenomeRepresentation.cs" SubType = "Code" |
|
From: Marco M. <mi...@us...> - 2006-05-14 18:42:05
|
Update of /cvsroot/quantproject/QuantProject/b3_Data In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv6403/b3_Data Modified Files: b3_Data.csproj Log Message: Added MissingQuotesException class Index: b3_Data.csproj =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b3_Data/b3_Data.csproj,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** b3_Data.csproj 8 Apr 2006 14:24:28 -0000 1.37 --- b3_Data.csproj 14 May 2006 18:42:02 -0000 1.38 *************** *** 153,156 **** --- 153,161 ---- /> <File + RelPath = "MissingQuotesException.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "DataProviders\HistoricalDataProvider.cs" SubType = "Code" |
|
From: Marco M. <mi...@us...> - 2006-05-14 18:40:27
|
Update of /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv6069/b4_Business/a2_Strategies Modified Files: SignedTicker.cs Log Message: Added GetCloseToClosePortfolioReturn and ChangeSignOfEachTicker static methods Index: SignedTicker.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/SignedTicker.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SignedTicker.cs 8 Apr 2006 18:18:47 -0000 1.1 --- SignedTicker.cs 14 May 2006 18:40:24 -0000 1.2 *************** *** 27,30 **** --- 27,33 ---- using QuantProject.Business.Financial.Ordering; using QuantProject.Business.Timing; + using QuantProject.Data; + using QuantProject.Data.DataTables; + namespace QuantProject.Business.Strategies *************** *** 117,120 **** --- 120,221 ---- return dailyReturn; } + + #region getCloseToClosePortfolioReturn_setReturns + + private static double getCloseToClosePortfolioReturn_setReturns_getReturn(int returnDay, + string[] signedTickers,double[] tickersWeights,Quotes[] tickersQuotes ) + { + double returnValue = 0.0; + float signOfTicker = 1.0f; + for(int indexForTicker = 0; indexForTicker<signedTickers.Length; indexForTicker++) + { + if(SignedTicker.IsLong(signedTickers[indexForTicker])) + signOfTicker = 1.0f; + else + signOfTicker = -1.0f; + + returnValue += + signOfTicker * + ((float)tickersQuotes[indexForTicker].Rows[returnDay][Quotes.AdjustedCloseToCloseRatio] - 1.0f)* + (float)tickersWeights[indexForTicker]; + } + return returnValue; + } + + private static void getCloseToClosePortfolioReturn_setReturns(double[] returnsToSet, + string[] signedTickers, + double[] tickersWeights, + Quotes[] tickersQuotes ) + { + for(int i = 0; i < returnsToSet.Length; i++) + { + returnsToSet[i] = + getCloseToClosePortfolioReturn_setReturns_getReturn( + i,signedTickers,tickersWeights,tickersQuotes); + } + } + + #endregion + + /// <summary> + /// Gets portfolio's return for a given period, for given tickers + /// </summary> + /// <param name="signedTickers">Array of signed tickers that compose the portfolio</param> + /// <param name="tickersWeights">Array of weights for tickers - the same order has to be provided!</param> + /// <param name="startDate">Start date for the period for which return has to be computed</param> + /// <param name="endDate">End date for the period for which return has to be computed</param> + public static double GetCloseToClosePortfolioReturn(string[] signedTickers, + double[] tickersWeights, + DateTime startDate, + DateTime endDate ) + { + double returnValue = 0.0; + Quotes[] tickersQuotes = new Quotes[signedTickers.Length]; + for(int i = 0; i<signedTickers.Length; i++) + { + tickersQuotes[i] = new Quotes(SignedTicker.GetTicker(signedTickers[i]), + startDate, endDate); + if(tickersQuotes[i].Rows.Count == 0) + //no quotes are available at the given period + throw new MissingQuotesException(SignedTicker.GetTicker(signedTickers[i]), + startDate, endDate); + } + double[] returns = new double[tickersQuotes[0].Rows.Count]; + getCloseToClosePortfolioReturn_setReturns(returns,signedTickers, + tickersWeights, tickersQuotes); + for(int i = 0; i < returns.Length; i++) + returnValue = (1.0+returnValue) * returns[i]; + + return returnValue; + } + + /// <summary> + /// Gets portfolio's return for a given period, for given tickers + /// </summary> + /// <param name="signedTickers">Array of signed tickers that compose the portfolio (each ticker has the same weight)</param> + /// <param name="startDate">Start date for the period for which return has to be computed</param> + /// <param name="endDate">End date for the period for which return has to be computed</param> + public static double GetCloseToClosePortfolioReturn(string[] signedTickers, + DateTime startDate, + DateTime endDate ) + { + double[] tickersWeights = new double[signedTickers.Length]; + for(int i = 0; i<signedTickers.Length; i++) + tickersWeights[i] = 1.0/signedTickers.Length; + + return GetCloseToClosePortfolioReturn( + signedTickers,tickersWeights, startDate, endDate); + + } + + /// <summary> + /// Changes sign of each ticker contained in the given + /// array of signed tickers + /// </summary> + public static void ChangeSignOfEachTicker( string[] signedTickers ) + { + for(int i = 0; i<signedTickers.Length; i++) + signedTickers[i] = GetOppositeSignedTicker(signedTickers[i]); + } } } |
|
From: Marco M. <mi...@us...> - 2006-05-14 18:39:21
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv5688/b7_Scripts/TickerSelectionTesting Modified Files: EndOfDayTimerHandlerOTC.cs EndOfDayTimerHandlerCTC.cs Log Message: Updated EODHandlers for the Open to Close and Close to Open scripts Index: EndOfDayTimerHandlerOTC.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/EndOfDayTimerHandlerOTC.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** EndOfDayTimerHandlerOTC.cs 7 Jan 2006 10:35:39 -0000 1.1 --- EndOfDayTimerHandlerOTC.cs 14 May 2006 18:39:14 -0000 1.2 *************** *** 142,146 **** protected DataTable getSetOfTickersToBeOptimized(DateTime currentDate) { ! SelectorByGroup temporizedGroup = new SelectorByGroup(this.tickerGroupID, currentDate); --- 142,172 ---- protected DataTable getSetOfTickersToBeOptimized(DateTime currentDate) { ! SelectorByGroup temporizedGroup = new SelectorByGroup(this.tickerGroupID, currentDate); ! SelectorByOpenCloseCorrelationToBenchmark lessCorrelatedFromTemporizedGroup = ! new SelectorByOpenCloseCorrelationToBenchmark(temporizedGroup.GetTableOfSelectedTickers(), ! this.benchmark,true, ! currentDate.AddDays(-this.numDaysForOptimizationPeriod ), ! currentDate, ! this.numberOfEligibleTickers); ! ! this.eligibleTickers = lessCorrelatedFromTemporizedGroup.GetTableOfSelectedTickers(); ! SelectorByQuotationAtEachMarketDay quotedAtEachMarketDayFromEligible = ! new SelectorByQuotationAtEachMarketDay( this.eligibleTickers, ! false, currentDate.AddDays(-this.numDaysForOptimizationPeriod), ! currentDate, this.numberOfEligibleTickers, this.benchmark); ! //SelectorByWinningOpenToClose winners = ! // new SelectorByWinningOpenToClose(quotedAtEachMarketDayFromMostLiquid.GetTableOfSelectedTickers(), ! // false, currentDate.AddDays(-2), ! // currentDate, this.numberOfEligibleTickers/4); ! //return winners.GetTableOfSelectedTickers(); ! //SelectorByOpenCloseCorrelationToBenchmark lessCorrelated = ! // new SelectorByOpenCloseCorrelationToBenchmark(quotedAtEachMarketDayFromEligible.GetTableOfSelectedTickers(), ! // this.benchmark, true, ! // currentDate.AddDays(-this.numDaysForLiquidity), ! // currentDate, this.numberOfEligibleTickers/2); ! return quotedAtEachMarketDayFromEligible.GetTableOfSelectedTickers(); ! ! ! /* SelectorByGroup temporizedGroup = new SelectorByGroup(this.tickerGroupID, currentDate); *************** *** 183,186 **** --- 209,213 ---- //return lessCorrelated.GetTableOfSelectedTickers(); //return selectorByOpenPriceFromMostLiquid.GetTableOfSelectedTickers(); + */ } *************** *** 196,206 **** { IGenomeManager genManEfficientOTCPortfolio = ! new GenomeManagerForEfficientOTCPortfolio(setOfTickersToBeOptimized, ! currentDate.AddDays(-this.numDaysForOptimizationPeriod), ! currentDate, ! this.numberOfTickersToBeChosen, ! this.targetReturn, ! this.portfolioType); ! GeneticOptimizer GO = new GeneticOptimizer(genManEfficientOTCPortfolio, this.populationSizeForGeneticOptimizer, --- 223,239 ---- { IGenomeManager genManEfficientOTCPortfolio = ! // new GenomeManagerForEfficientOTCPortfolio(setOfTickersToBeOptimized, ! // currentDate.AddDays(-this.numDaysForOptimizationPeriod), ! // currentDate, ! // this.numberOfTickersToBeChosen, ! // this.targetReturn, ! // this.portfolioType); ! new GenomeManagerForEfficientOTCTypes (setOfTickersToBeOptimized, ! currentDate.AddDays(-this.numDaysForOptimizationPeriod), ! currentDate, ! this.numberOfTickersToBeChosen, ! this.targetReturn, ! this.portfolioType); ! GeneticOptimizer GO = new GeneticOptimizer(genManEfficientOTCPortfolio, this.populationSizeForGeneticOptimizer, Index: EndOfDayTimerHandlerCTC.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/EndOfDayTimerHandlerCTC.cs,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** EndOfDayTimerHandlerCTC.cs 28 Dec 2005 23:29:40 -0000 1.19 --- EndOfDayTimerHandlerCTC.cs 14 May 2006 18:39:14 -0000 1.20 *************** *** 164,182 **** this.eligibleTickers = quotedAtEachMarketFromTemporized.GetTableOfSelectedTickers(); ! SelectorByCloseToCloseCorrelationToBenchmark lessCorrelatedFromEligible = ! new SelectorByCloseToCloseCorrelationToBenchmark(this.eligibleTickers, ! this.benchmark,true, ! currentDate.AddDays(-this.numDaysForOptimizationPeriod ), ! currentDate, ! this.numberOfEligibleTickers/2, ! this.numDaysForReturnCalculation); ! SelectorByAbsolutePerformance mostQuietFromLessCorrelated = ! new SelectorByAbsolutePerformance(lessCorrelatedFromEligible.GetTableOfSelectedTickers(), ! true,currentDate.AddDays(-this.numDaysForOptimizationPeriod ), ! currentDate, ! this.numberOfEligibleTickers/4, ! 0.01f, 0.10f); ! ! return mostQuietFromLessCorrelated.GetTableOfSelectedTickers(); } --- 164,184 ---- this.eligibleTickers = quotedAtEachMarketFromTemporized.GetTableOfSelectedTickers(); ! // SelectorByCloseToCloseCorrelationToBenchmark lessCorrelatedFromEligible = ! // new SelectorByCloseToCloseCorrelationToBenchmark(this.eligibleTickers, ! // this.benchmark,true, ! // currentDate.AddDays(-this.numDaysForOptimizationPeriod ), ! // currentDate, ! // this.numberOfEligibleTickers/2, ! // this.numDaysForReturnCalculation); ! // SelectorByAbsolutePerformance mostQuietFromLessCorrelated = ! // new SelectorByAbsolutePerformance(lessCorrelatedFromEligible.GetTableOfSelectedTickers(), ! // true,currentDate.AddDays(-this.numDaysForOptimizationPeriod ), ! // currentDate, ! // this.numberOfEligibleTickers/4, ! // 0.01f, 0.10f); ! // ! // return mostQuietFromLessCorrelated.GetTableOfSelectedTickers(); ! ! return this.eligibleTickers; } *************** *** 211,216 **** GO.Run(false); ! this.addGenomeToBestGenomes(GO.BestGenome,currentDate.AddDays(-this.numDaysForOptimizationPeriod), ! currentDate); this.chosenTickers = ((GenomeMeaning)GO.BestGenome.Meaning).Tickers; this.chosenTickersPortfolioWeights = ((GenomeMeaning)GO.BestGenome.Meaning).TickersPortfolioWeights; --- 213,218 ---- GO.Run(false); ! this.addGenomeToBestGenomes(GO.BestGenome,((GenomeManagerForEfficientCTCPortfolio)genManEfficientCTCPortfolio).FirstQuoteDate, ! ((GenomeManagerForEfficientCTCPortfolio)genManEfficientCTCPortfolio).LastQuoteDate); this.chosenTickers = ((GenomeMeaning)GO.BestGenome.Meaning).Tickers; this.chosenTickersPortfolioWeights = ((GenomeMeaning)GO.BestGenome.Meaning).TickersPortfolioWeights; |
|
From: Marco M. <mi...@us...> - 2006-05-14 18:38:07
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/SimpleSelection In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv5128/b7_Scripts/TickerSelectionTesting/SimpleSelection Modified Files: CandidatePropertiesForSimpleSelection.cs Log Message: Fitness is now computed through sharpe ratio formula Index: CandidatePropertiesForSimpleSelection.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/SimpleSelection/CandidatePropertiesForSimpleSelection.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CandidatePropertiesForSimpleSelection.cs 21 Oct 2005 17:54:11 -0000 1.1 --- CandidatePropertiesForSimpleSelection.cs 14 May 2006 18:38:03 -0000 1.2 *************** *** 44,53 **** } public override void setFitness() { ! NormalDistribution normal = ! new NormalDistribution(BasicFunctions.SimpleAverage(this.ArrayOfRatesOfReturn), ! BasicFunctions.StdDev(this.ArrayOfRatesOfReturn)); ! this.fitness = 1-normal.GetProbability(this.targetPerformance); } } --- 44,59 ---- } + // public override void setFitness() + // { + // NormalDistribution normal = + // new NormalDistribution(BasicFunctions.SimpleAverage(this.ArrayOfRatesOfReturn), + // BasicFunctions.StdDev(this.ArrayOfRatesOfReturn)); + // this.fitness = 1-normal.GetProbability(this.targetPerformance); + // } + //sharpe ratio as fitness public override void setFitness() { ! this.fitness = BasicFunctions.SimpleAverage(this.ArrayOfRatesOfReturn)/ ! BasicFunctions.StdDev(this.ArrayOfRatesOfReturn); } } |
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv4734/b7_Scripts/TickerSelectionTesting Modified Files: GenomeManagerForEfficientOTCPortfolio.cs GenomeManagerForEfficientCTOPortfolio.cs GenomeManagerForEfficientCTCPortfolio.cs Log Message: Updated genome managers for Open to Close and Close to Open strategies Index: GenomeManagerForEfficientCTOPortfolio.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/GenomeManagerForEfficientCTOPortfolio.cs,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** GenomeManagerForEfficientCTOPortfolio.cs 7 Jan 2006 10:35:39 -0000 1.17 --- GenomeManagerForEfficientCTOPortfolio.cs 14 May 2006 18:36:37 -0000 1.18 *************** *** 40,44 **** public class GenomeManagerForEfficientCTOPortfolio : GenomeManagerForEfficientPortfolio { ! public GenomeManagerForEfficientCTOPortfolio(DataTable setOfInitialTickers, DateTime firstQuoteDate, --- 40,44 ---- public class GenomeManagerForEfficientCTOPortfolio : GenomeManagerForEfficientPortfolio { ! private GenomeManagerForEfficientOTCPortfolio genManOTC; public GenomeManagerForEfficientCTOPortfolio(DataTable setOfInitialTickers, DateTime firstQuoteDate, *************** *** 56,59 **** --- 56,65 ---- { this.retrieveData(); + this.genManOTC = new GenomeManagerForEfficientOTCPortfolio(setOfInitialTickers, + firstQuoteDate, + lastQuoteDate, + numberOfTickersInPortfolio, + targetPerformance, + portfolioType); } private float[] getArrayOfRatesOfReturn_getCloseToOpenRates(Quotes tickerQuotes) *************** *** 79,82 **** --- 85,119 ---- return returnValue; } + public override double GetFitnessValue(Genome genome) + { + double returnValue = 0; + this.portfolioRatesOfReturn = this.getPortfolioRatesOfReturn(genome.Genes()); + double averagePortfolioRateOfReturn = + BasicFunctions.SimpleAverage(this.portfolioRatesOfReturn); + + double portfolioVariance = + BasicFunctions.Variance(this.portfolioRatesOfReturn); + + if(!Double.IsInfinity(portfolioVariance) && + !Double.IsInfinity(averagePortfolioRateOfReturn) && + !Double.IsNaN(portfolioVariance) && + !Double.IsNaN(averagePortfolioRateOfReturn) && + portfolioVariance > 0.0) + //both variance and rate of return are + //double values computed in the right way: + // so it's possible to assign fitness + { + this.variance = portfolioVariance; + this.rateOfReturn = averagePortfolioRateOfReturn; + //returnValue = this.getFitnessValue_calculate(); + returnValue = this.getFitnessValue_calculate() - + this.genManOTC.GetFitnessValue(genome); + + } + + return returnValue; + } + + /*using LPM protected override double getFitnessValue_calculate() Index: GenomeManagerForEfficientOTCPortfolio.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/GenomeManagerForEfficientOTCPortfolio.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** GenomeManagerForEfficientOTCPortfolio.cs 7 Jan 2006 10:35:39 -0000 1.1 --- GenomeManagerForEfficientOTCPortfolio.cs 14 May 2006 18:36:37 -0000 1.2 *************** *** 38,42 **** /// </summary> [Serializable] ! public class GenomeManagerForEfficientOTCPortfolio : GenomeManagerForWeightedEfficientPortfolio { --- 38,42 ---- /// </summary> [Serializable] ! public class GenomeManagerForEfficientOTCPortfolio : GenomeManagerForEfficientPortfolio { *************** *** 96,105 **** } */ ! /* protected override double getFitnessValue_calculate() { return this.RateOfReturn/Math.Sqrt(this.Variance); } ! */ } --- 96,105 ---- } */ ! protected override double getFitnessValue_calculate() { return this.RateOfReturn/Math.Sqrt(this.Variance); } ! } Index: GenomeManagerForEfficientCTCPortfolio.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/GenomeManagerForEfficientCTCPortfolio.cs,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** GenomeManagerForEfficientCTCPortfolio.cs 28 Dec 2005 23:29:39 -0000 1.12 --- GenomeManagerForEfficientCTCPortfolio.cs 14 May 2006 18:36:37 -0000 1.13 *************** *** 108,112 **** returnValue = QuantProject.Data.DataTables.Quotes.GetArrayOfCloseToCloseRatios(ticker, ! this.firstQuoteDate, this.lastQuoteDate, this.numDaysForReturnCalculation); --- 108,112 ---- returnValue = QuantProject.Data.DataTables.Quotes.GetArrayOfCloseToCloseRatios(ticker, ! ref this.firstQuoteDate, this.lastQuoteDate, this.numDaysForReturnCalculation); *************** *** 151,155 **** try { ! float[] closeToCloseRatios = Quotes.GetArrayOfCloseToCloseRatios(ticker, this.firstQuoteDate, this.lastQuoteDate, this.numDaysForReturnCalculation, --- 151,155 ---- try { ! float[] closeToCloseRatios = Quotes.GetArrayOfCloseToCloseRatios(ticker, ref this.firstQuoteDate, this.lastQuoteDate, this.numDaysForReturnCalculation, *************** *** 169,175 **** protected override double getFitnessValue_calculate() { ! return (this.RateOfReturn/Math.Sqrt(this.Variance))* ! -this.shiftedPortfolioRateOfReturn * ! -this.ShiftedPortfolioRatesOfReturn[this.ShiftedPortfolioRatesOfReturn.Length -1]; } --- 169,182 ---- protected override double getFitnessValue_calculate() { ! // return (this.RateOfReturn/Math.Sqrt(this.Variance))* ! // -this.shiftedPortfolioRateOfReturn * ! // -this.ShiftedPortfolioRatesOfReturn[this.ShiftedPortfolioRatesOfReturn.Length -1]; ! double sharpeRatioWaveUp = this.RateOfReturn/ ! Math.Sqrt(this.Variance); ! double sharpeRatioWaveDown = this.shiftedPortfolioRateOfReturn/ ! Math.Sqrt(BasicFunctions.Variance(this.shiftedPortfolioRatesOfReturn)); ! ! return sharpeRatioWaveUp - sharpeRatioWaveDown; ! } |
|
From: Marco M. <mi...@us...> - 2006-05-14 18:36:40
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/TestingOTCTypes In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv4734/b7_Scripts/TickerSelectionTesting/TestingOTCTypes Modified Files: GenomeManagerForEfficientOTCTypes.cs Log Message: Updated genome managers for Open to Close and Close to Open strategies Index: GenomeManagerForEfficientOTCTypes.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/TestingOTCTypes/GenomeManagerForEfficientOTCTypes.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** GenomeManagerForEfficientOTCTypes.cs 7 Jan 2006 10:26:10 -0000 1.1 --- GenomeManagerForEfficientOTCTypes.cs 14 May 2006 18:36:37 -0000 1.2 *************** *** 38,44 **** /// </summary> [Serializable] ! public class GenomeManagerForEfficientOTCTypes : GenomeManagerForWeightedEfficientPortfolio { ! // private GenomeManagerForEfficientCTOPortfolio genManCTO; public GenomeManagerForEfficientOTCTypes(DataTable setOfInitialTickers, DateTime firstQuoteDate, --- 38,44 ---- /// </summary> [Serializable] ! public class GenomeManagerForEfficientOTCTypes : GenomeManagerForEfficientPortfolio { ! private GenomeManagerForEfficientCTOPortfolio genManCTO; public GenomeManagerForEfficientOTCTypes(DataTable setOfInitialTickers, DateTime firstQuoteDate, *************** *** 56,65 **** { this.retrieveData(); ! // this.genManCTO = new GenomeManagerForEfficientCTOPortfolio(setOfInitialTickers, ! // firstQuoteDate, ! // lastQuoteDate, ! // numberOfTickersInPortfolio, ! // targetPerformance, ! // portfolioType); } //rate of return = rawClose/rawOpen - 1 --- 56,65 ---- { this.retrieveData(); ! this.genManCTO = new GenomeManagerForEfficientCTOPortfolio(setOfInitialTickers, ! firstQuoteDate, ! lastQuoteDate, ! numberOfTickersInPortfolio, ! targetPerformance, ! portfolioType); } //rate of return = rawClose/rawOpen - 1 *************** *** 95,101 **** this.variance = portfolioVariance; this.rateOfReturn = averagePortfolioRateOfReturn; ! returnValue = this.getFitnessValue_calculate(); ! // returnValue = this.getFitnessValue_calculate() - ! // this.genManCTO.GetFitnessValue(genome); } --- 95,101 ---- this.variance = portfolioVariance; this.rateOfReturn = averagePortfolioRateOfReturn; ! //returnValue = this.getFitnessValue_calculate(); ! returnValue = this.getFitnessValue_calculate() - ! this.genManCTO.GetFitnessValue(genome); } |
|
From: Marco M. <mi...@us...> - 2006-05-14 18:35:50
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv4422/b7_Scripts/TickerSelectionTesting Modified Files: GenomeManagerForEfficientPortfolio.cs Log Message: Added FirstQuoteDate and LastQuoteDate properties Index: GenomeManagerForEfficientPortfolio.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/GenomeManagerForEfficientPortfolio.cs,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** GenomeManagerForEfficientPortfolio.cs 7 Jan 2006 10:30:00 -0000 1.22 --- GenomeManagerForEfficientPortfolio.cs 14 May 2006 18:35:46 -0000 1.23 *************** *** 110,113 **** --- 110,122 ---- } + public DateTime FirstQuoteDate + { + get{return this.firstQuoteDate;} + } + + public DateTime LastQuoteDate + { + get{return this.lastQuoteDate;} + } //setOfInitialTickers has to contain the //ticker's symbol in the first column ! |
|
From: Marco M. <mi...@us...> - 2006-05-14 18:28:29
|
Update of /cvsroot/quantproject/QuantProject/b3_Data/DataTables In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv2195/b3_Data/DataTables Modified Files: Quotes.cs Log Message: Added GetArrayCloseToCloseRatios, to be used by the fixed period oscillator strategy (this method will be re-organized soon, yet) Index: Quotes.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b3_Data/DataTables/Quotes.cs,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** Quotes.cs 19 Feb 2006 17:58:13 -0000 1.24 --- Quotes.cs 14 May 2006 18:28:24 -0000 1.25 *************** *** 533,536 **** --- 533,558 ---- return tableToReturn; } + + private static float[] getArrayOfCloseToCloseRatios_getAdjustedValues(Quotes sourceQuotes, + int numDaysForHalfPeriod, + ref DateTime firstQuoteDate) + { + float[] returnValue = ExtendedDataTable.GetArrayOfFloatFromColumn(sourceQuotes, "quAdjustedClose"); + //in order to be alligned at the following market day, + //allAdjValues has to be long n, where n is such that + //n%2 * hp + 1 = 2 * hp (hp = half period) + //if some quotes are deleted, first quote day has to be updated + while(returnValue.Length % (2*numDaysForHalfPeriod) + 1 != 2*numDaysForHalfPeriod) + { + float[] newReturnValue = new float[returnValue.Length - 1]; + for(int k = 0;k<returnValue.Length - 1;k++) + newReturnValue[k] = returnValue[k + 1]; + returnValue = newReturnValue; + firstQuoteDate = firstQuoteDate.AddDays(1); + firstQuoteDate = sourceQuotes.GetQuoteDateOrFollowing(firstQuoteDate); + } + return returnValue; + } + /// <summary> /// Gets an array containing close to close ratios *************** *** 544,548 **** /// <returns></returns> public static float[] GetArrayOfCloseToCloseRatios(string ticker, ! DateTime firstQuoteDate, DateTime lastQuoteDate, int numDaysBetweenEachClose, --- 566,570 ---- /// <returns></returns> public static float[] GetArrayOfCloseToCloseRatios(string ticker, ! ref DateTime firstQuoteDate, DateTime lastQuoteDate, int numDaysBetweenEachClose, *************** *** 551,569 **** float[] returnValue = null; Quotes tickerQuotes = new Quotes(ticker, firstQuoteDate, lastQuoteDate); ! float[] allAdjValues = ExtendedDataTable.GetArrayOfFloatFromColumn(tickerQuotes, "quAdjustedClose"); float[] adjValuesMinusInitialMarketDays = new float[allAdjValues.Length - numOfInitialMarketDaysToJump]; for(int k = 0;k<allAdjValues.Length - numOfInitialMarketDaysToJump;k++) adjValuesMinusInitialMarketDays[k] = allAdjValues[k + numOfInitialMarketDaysToJump]; ! ! returnValue = new float[adjValuesMinusInitialMarketDays.Length/(numDaysBetweenEachClose + 1)]; int i = 0; //index for ratesOfReturns array int lastIdxAccessed = 0; for(int idx = 0; ! (idx + numDaysBetweenEachClose) < adjValuesMinusInitialMarketDays.Length; idx += numDaysBetweenEachClose ) { if(idx-lastIdxAccessed>numDaysBetweenEachClose || idx == 0) ! //there is a discontinuity, as wanted { returnValue[i] = (adjValuesMinusInitialMarketDays[idx+numDaysBetweenEachClose]/ --- 573,594 ---- float[] returnValue = null; Quotes tickerQuotes = new Quotes(ticker, firstQuoteDate, lastQuoteDate); ! //float[] allAdjValues = ExtendedDataTable.GetArrayOfFloatFromColumn(tickerQuotes, "quAdjustedClose"); ! float[] allAdjValues = getArrayOfCloseToCloseRatios_getAdjustedValues(tickerQuotes, numDaysBetweenEachClose, ref firstQuoteDate); float[] adjValuesMinusInitialMarketDays = new float[allAdjValues.Length - numOfInitialMarketDaysToJump]; + //fill adjValuesMinusInitialMarketDays array for(int k = 0;k<allAdjValues.Length - numOfInitialMarketDaysToJump;k++) adjValuesMinusInitialMarketDays[k] = allAdjValues[k + numOfInitialMarketDaysToJump]; ! // ! returnValue = new float[adjValuesMinusInitialMarketDays.Length/(numDaysBetweenEachClose * 2)]; int i = 0; //index for ratesOfReturns array int lastIdxAccessed = 0; for(int idx = 0; ! (idx + numDaysBetweenEachClose) < adjValuesMinusInitialMarketDays.Length && i<returnValue.Length; idx += numDaysBetweenEachClose ) { if(idx-lastIdxAccessed>numDaysBetweenEachClose || idx == 0) ! //the current ratio is computed only if the first close, pointed by idx, is ! //not the second close of the previous ratio { returnValue[i] = (adjValuesMinusInitialMarketDays[idx+numDaysBetweenEachClose]/ *************** *** 577,585 **** public static float[] GetArrayOfCloseToCloseRatios(string ticker, ! DateTime firstQuoteDate, DateTime lastQuoteDate, int numDaysBetweenEachClose) { ! return GetArrayOfCloseToCloseRatios(ticker, firstQuoteDate, lastQuoteDate, numDaysBetweenEachClose, 0); } --- 602,610 ---- public static float[] GetArrayOfCloseToCloseRatios(string ticker, ! ref DateTime firstQuoteDate, DateTime lastQuoteDate, int numDaysBetweenEachClose) { ! return GetArrayOfCloseToCloseRatios(ticker, ref firstQuoteDate, lastQuoteDate, numDaysBetweenEachClose, 0); } *************** *** 596,604 **** if(!setOfTickers.Columns.Contains("CloseToCloseCorrelationToBenchmark")) setOfTickers.Columns.Add("CloseToCloseCorrelationToBenchmark", System.Type.GetType("System.Double")); ! float[] benchmarkRatios = GetArrayOfCloseToCloseRatios(benchmark, firstQuoteDate, lastQuoteDate, numDaysBetweenEachClose); foreach(DataRow row in setOfTickers.Rows) { float[] tickerRatios = GetArrayOfCloseToCloseRatios((string)row[0], ! firstQuoteDate, lastQuoteDate, numDaysBetweenEachClose ); if(tickerRatios.Length == benchmarkRatios.Length) row["CloseToCloseCorrelationToBenchmark"] = --- 621,629 ---- if(!setOfTickers.Columns.Contains("CloseToCloseCorrelationToBenchmark")) setOfTickers.Columns.Add("CloseToCloseCorrelationToBenchmark", System.Type.GetType("System.Double")); ! float[] benchmarkRatios = GetArrayOfCloseToCloseRatios(benchmark, ref firstQuoteDate, lastQuoteDate, numDaysBetweenEachClose); foreach(DataRow row in setOfTickers.Rows) { float[] tickerRatios = GetArrayOfCloseToCloseRatios((string)row[0], ! ref firstQuoteDate, lastQuoteDate, numDaysBetweenEachClose ); if(tickerRatios.Length == benchmarkRatios.Length) row["CloseToCloseCorrelationToBenchmark"] = |
|
From: Marco M. <mi...@us...> - 2006-05-14 18:23:41
|
Update of /cvsroot/quantproject/QuantProject/b4_Business/a05_Timing In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv588/b4_Business/a05_Timing Modified Files: IndexBasedEndOfDayTimer.cs Log Message: Added new constructor for the IndexBasedEndOfDayTimer Index: IndexBasedEndOfDayTimer.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a05_Timing/IndexBasedEndOfDayTimer.cs,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** IndexBasedEndOfDayTimer.cs 30 Apr 2006 14:51:15 -0000 1.7 --- IndexBasedEndOfDayTimer.cs 14 May 2006 18:23:38 -0000 1.8 *************** *** 54,76 **** } public IndexBasedEndOfDayTimer( EndOfDayDateTime startDateTime, string marketIndex): base(startDateTime) { ! this.marketIndex = marketIndex; ! this.indexQuotes = new Quotes(marketIndex,startDateTime.DateTime,DateTime.Now); ! if ( this.indexQuotes.Rows.Count == 0 ) ! { ! string errorMessage = "IndexBasedEndOfDayTimer error: the given " + ! "index (" + marketIndex + ") has no quotes in the interval."; ! throw new Exception( errorMessage ); ! } ! this.StartDateTime = ! new EndOfDayDateTime(this.indexQuotes.GetQuoteDateOrFollowing(this.StartDateTime.DateTime), ! EndOfDaySpecificTime.MarketOpen); ! this.tickers = new Hashtable(); ! this.currentDateArrayPosition = 0; } ! ! /// <summary> /// Starts the time walking simulation, based on index's dates /// </summary> --- 54,90 ---- } + private void indexBasedEndOfDayTimer( EndOfDayDateTime startDateTime, + string marketIndex) + { + this.marketIndex = marketIndex; + if ( this.indexQuotes.Rows.Count == 0 ) + { + string errorMessage = "IndexBasedEndOfDayTimer error: the given " + + "index (" + marketIndex + ") has no quotes in the interval."; + throw new Exception( errorMessage ); + } + this.StartDateTime = + new EndOfDayDateTime(this.indexQuotes.GetQuoteDateOrFollowing(this.StartDateTime.DateTime), + EndOfDaySpecificTime.MarketOpen); + this.tickers = new Hashtable(); + this.currentDateArrayPosition = 0; + } + public IndexBasedEndOfDayTimer( EndOfDayDateTime startDateTime, string marketIndex): base(startDateTime) { ! this.indexQuotes = new Quotes(marketIndex,startDateTime.DateTime,DateTime.Now); ! this.indexBasedEndOfDayTimer(startDateTime, marketIndex); } ! ! public IndexBasedEndOfDayTimer( EndOfDayDateTime startDateTime, ! EndOfDayDateTime endDateTime, ! string marketIndex): base(startDateTime) ! { ! this.indexQuotes = new Quotes(marketIndex,startDateTime.DateTime,endDateTime.DateTime.AddDays(10)); ! this.indexBasedEndOfDayTimer(startDateTime, marketIndex); ! } ! ! /// <summary> /// Starts the time walking simulation, based on index's dates /// </summary> |
|
From: Marco M. <mi...@us...> - 2006-05-14 18:23:41
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv588/b7_Scripts/TickerSelectionTesting Modified Files: RunEfficientPortfolio.cs Log Message: Added new constructor for the IndexBasedEndOfDayTimer Index: RunEfficientPortfolio.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/RunEfficientPortfolio.cs,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** RunEfficientPortfolio.cs 28 Dec 2005 23:29:39 -0000 1.18 --- RunEfficientPortfolio.cs 14 May 2006 18:23:38 -0000 1.19 *************** *** 174,178 **** //default endOfDayTimer this.endOfDayTimer = ! new IndexBasedEndOfDayTimer( this.startDateTime, this.benchmark ); } --- 174,179 ---- //default endOfDayTimer this.endOfDayTimer = ! new IndexBasedEndOfDayTimer( this.startDateTime, this.endDateTime, ! this.benchmark ); } |
|
From: Marco M. <mi...@us...> - 2006-05-14 18:21:50
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/TestingOTCTypes In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv32410/b7_Scripts/TickerSelectionTesting/TestingOTCTypes Modified Files: RunEfficientOTCTypes.cs Log Message: Minor changes for some RunScript files Index: RunEfficientOTCTypes.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/TestingOTCTypes/RunEfficientOTCTypes.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** RunEfficientOTCTypes.cs 7 Jan 2006 10:28:56 -0000 1.2 --- RunEfficientOTCTypes.cs 14 May 2006 18:21:47 -0000 1.3 *************** *** 72,76 **** portfolioType, maxRunningHours) { ! this.ScriptName = "OTC_Types_SharpeRatioWithCoeff"; this.numDaysBetweenEachOptimization = numDaysBetweenEachOptimization; this.accounts = new Account[4]; --- 72,76 ---- portfolioType, maxRunningHours) { ! this.ScriptName = "OTC_Types_SharpeRatioCombinedNoCoeff"; this.numDaysBetweenEachOptimization = numDaysBetweenEachOptimization; this.accounts = new Account[4]; |