[Quantproject-developers] QuantProject/b7_Scripts/WalkForwardTesting/LinearCombination OpenToClose
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2006-07-02 19:24:37
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/LinearCombination In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv1485/b7_Scripts/WalkForwardTesting/LinearCombination Modified Files: OpenToCloseDailyStrategy.cs Log Message: The strategy now keeps on count tickers' weights Index: OpenToCloseDailyStrategy.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/LinearCombination/OpenToCloseDailyStrategy.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** OpenToCloseDailyStrategy.cs 2 Aug 2005 23:08:32 -0000 1.1 --- OpenToCloseDailyStrategy.cs 2 Jul 2006 19:24:33 -0000 1.2 *************** *** 40,67 **** private Account account; private string[] signedTickers; public OpenToCloseDailyStrategy( Account account , ! string[] signedTickers) { this.account = account; this.signedTickers = signedTickers; } private long marketOpenEventHandler_addOrder_getQuantity( ! string ticker ) { double accountValue = this.account.GetMarketValue(); double currentTickerAsk = ! this.account.DataStreamer.GetCurrentAsk( ticker ); double maxPositionValueForThisTicker = ! accountValue/this.signedTickers.Length; long quantity = Convert.ToInt64( Math.Floor( maxPositionValueForThisTicker / currentTickerAsk ) ); return quantity; } ! private void marketOpenEventHandler_addOrder( string signedTicker ) { ! OrderType orderType = GenomeRepresentation.GetOrderType( signedTicker ); ! string ticker = GenomeRepresentation.GetTicker( signedTicker ); ! long quantity = marketOpenEventHandler_addOrder_getQuantity( ticker ); Order order = new Order( orderType , new Instrument( ticker ) , quantity ); --- 40,69 ---- private Account account; private string[] signedTickers; + private double[] weightsForSignedTickers; public OpenToCloseDailyStrategy( Account account , ! string[] signedTickers, double[] weightsForSignedTickers) { this.account = account; this.signedTickers = signedTickers; + this.weightsForSignedTickers = weightsForSignedTickers; } private long marketOpenEventHandler_addOrder_getQuantity( ! int indexForSignedTicker ) { double accountValue = this.account.GetMarketValue(); double currentTickerAsk = ! this.account.DataStreamer.GetCurrentAsk( SignedTicker.GetTicker(this.signedTickers[indexForSignedTicker]) ); double maxPositionValueForThisTicker = ! accountValue*this.weightsForSignedTickers[indexForSignedTicker]; long quantity = Convert.ToInt64( Math.Floor( maxPositionValueForThisTicker / currentTickerAsk ) ); return quantity; } ! private void marketOpenEventHandler_addOrder( int indexForSignedTicker ) { ! OrderType orderType = GenomeRepresentation.GetOrderType( this.signedTickers[indexForSignedTicker] ); ! string ticker = GenomeRepresentation.GetTicker( this.signedTickers[indexForSignedTicker] ); ! long quantity = marketOpenEventHandler_addOrder_getQuantity( indexForSignedTicker ); Order order = new Order( orderType , new Instrument( ticker ) , quantity ); *************** *** 70,75 **** private void marketOpenEventHandler_addOrders() { ! foreach ( string signedTicker in this.signedTickers ) ! marketOpenEventHandler_addOrder( signedTicker ); } public void MarketOpenEventHandler( --- 72,77 ---- private void marketOpenEventHandler_addOrders() { ! for(int i = 0; i<this.signedTickers.Length; i++) ! marketOpenEventHandler_addOrder( i ); } public void MarketOpenEventHandler( |