File tree Expand file tree Collapse file tree 3 files changed +24
-2
lines changed
investing_algorithm_framework Expand file tree Collapse file tree 3 files changed +24
-2
lines changed Original file line number Diff line number Diff line change @@ -342,7 +342,7 @@ def from_dict(data):
342342 Order .from_dict (order )
343343 for order in data ["orders" ]
344344 ]
345-
345+ print ( data )
346346 return Trade (
347347 id = data .get ("id" , None ),
348348 orders = orders ,
@@ -357,7 +357,7 @@ def from_dict(data):
357357 remaining = data .get ("remaining" , 0 ),
358358 net_gain = data .get ("net_gain" , 0 ),
359359 last_reported_price = data .get ("last_reported_price" ),
360- status = data ["status" ],
360+ status = TradeStatus . from_value ( data ["status" ]). value ,
361361 cost = data .get ("cost" , 0 ),
362362 updated_at = updated_at ,
363363 stop_losses = stop_losses ,
Original file line number Diff line number Diff line change @@ -410,6 +410,16 @@ def create_vector_backtest(
410410 )
411411 )
412412
413+ unique_symbols = set ()
414+ for trade in trades :
415+ unique_symbols .add (trade .target_symbol )
416+
417+ number_of_trades_closed = len (
418+ [t for t in trades if TradeStatus .CLOSED .equals (t .status )]
419+ )
420+ number_of_trades_open = len (
421+ [t for t in trades if TradeStatus .OPEN .equals (t .status )]
422+ )
413423 # Create a backtest run object
414424 run = BacktestRun (
415425 trading_symbol = trading_symbol ,
@@ -423,6 +433,14 @@ def create_vector_backtest(
423433 backtest_start_date = backtest_date_range .start_date ,
424434 backtest_end_date = backtest_date_range .end_date ,
425435 backtest_date_range_name = backtest_date_range .name ,
436+ number_of_days = (
437+ backtest_date_range .end_date - backtest_date_range .end_date
438+ ).days ,
439+ number_of_trades = len (trades ),
440+ number_of_orders = len (orders ),
441+ number_of_trades_closed = number_of_trades_closed ,
442+ number_of_trades_open = number_of_trades_open ,
443+ number_of_positions = len (unique_symbols ),
426444 symbols = list (buy_signals .keys ())
427445 )
428446
Original file line number Diff line number Diff line change @@ -52,9 +52,13 @@ def get_win_rate(trades: List[Trade]) -> float:
5252 Returns:
5353 float: The win rate as a percentage (e.g., o.75 for 75% win rate).
5454 """
55+ for trade in trades :
56+ print (trade .status )
57+
5558 trades = [
5659 trade for trade in trades if TradeStatus .CLOSED .equals (trade .status )
5760 ]
61+ print (len (trades ))
5862 positive_trades = sum (1 for trade in trades if trade .net_gain > 0 )
5963 total_trades = len (trades )
6064
You can’t perform that action at this time.
0 commit comments