The report works perfectly on a separate server with only the backtest on it.
There are no positions recorded in the database.
however on a server that has had trades and has positions recorded in the database the following error occurs.
All the trades have been added manually.
( I had not tried to run strategy report on that server previously)
latest version from github:
rorym@mintservertwo:~/pysystemtrade$ git rev-parse HEAD
55027f9f6c5c5df62243286af1f6b6802749910b
Running from . interactive_diagnostics :
10: Roll report
11: P&L report
12: Status report
13: Trade report
14: Reconcile report
15: Strategy report
16: Risk report
Your choice? <RETURN for Back> 15
0: live_300
1: ALL
Your choice? <RETURN for ALL> 0
Choose the backtest to load:
0: 20210202_102858
1: 20210202_113713
2: 20210203_092201
3: 20210203_093914
4: 20210204_084028
5: 20210204_121111
6: 20210204_173708
7: 20210205_155959
8: 20210208_163318
9: 20210208_235057
Your choice? <RETURN for 20210208_235057> 9
1: Email or 2: print? <RETURN for Print>
2021-02-09:0954.00 {'type': ''} Running report Strategy report sysproduction.diagnostic.strategies.strategy_report console {'strategy_name': 'live_300', 'timestamp': '20210208_235057'}
Library created, but couldn't enable sharding: no such command: 'enablesharding', full error: {'ok': 0.0, 'errmsg': "no such command: 'enablesharding'", 'code': 59, 'codeName': 'CommandNotFound'}. This is OK if you're not 'admin'
Library created, but couldn't enable sharding: no such command: 'enablesharding', full error: {'ok': 0.0, 'errmsg': "no such command: 'enablesharding'", 'code': 59, 'codeName': 'CommandNotFound'}. This is OK if you're not 'admin'
Library created, but couldn't enable sharding: no such command: 'enablesharding', full error: {'ok': 0.0, 'errmsg': "no such command: 'enablesharding'", 'code': 59, 'codeName': 'CommandNotFound'}. This is OK if you're not 'admin'
Calculating capped forecast for BOBL ewmac2_8
Calculating raw forecast BOBL for ewmac2_8
Calculating daily prices for BOBL
Calculating capped forecast for CORN ewmac2_8
Calculating raw forecast CORN for ewmac2_8
Calculating daily prices for CORN
Calculating capped forecast for EDOLLAR ewmac2_8
Calculating raw forecast EDOLLAR for ewmac2_8
Calculating daily prices for EDOLLAR
Calculating capped forecast for US2 ewmac2_8
Calculating raw forecast US2 for ewmac2_8
Calculating daily prices for US2
Calculating capped forecast for V2X ewmac2_8
Calculating raw forecast V2X for ewmac2_8
Calculating daily prices for V2X
Calculating capped forecast for EDOLLAR ewmac4_16
Calculating raw forecast EDOLLAR for ewmac4_16
Calculating daily prices for EDOLLAR
Calculating actual buffers for position for BOBL
Calculating pandl for portfolio
Calculating pandl for instrument for BOBL
Calculating buffered positions
Calculating pandl for instrument for CAC
Calculating buffered positions
Calculating pandl for instrument for COPPER
Calculating buffered positions
Calculating pandl for instrument for CORN
Calculating buffered positions
Calculating pandl for instrument for CRUDE_W
Calculating buffered positions
Calculating pandl for instrument for EDOLLAR
Calculating buffered positions
Calculating pandl for instrument for EUROSTX
Calculating buffered positions
Calculating pandl for instrument for GAS_US
Calculating buffered positions
Calculating pandl for instrument for GBP
Calculating buffered positions
Calculating pandl for instrument for LEANHOG
Calculating buffered positions
Calculating pandl for instrument for MXP
Calculating buffered positions
Calculating pandl for instrument for PLAT
Calculating buffered positions
Calculating pandl for instrument for US2
Calculating buffered positions
Calculating pandl for instrument for V2X
Calculating buffered positions
Calculating pandl for instrument for VIX
Calculating buffered positions
Calculating actual buffers for position for CAC
Calculating actual buffers for position for COPPER
Calculating actual buffers for position for CORN
Calculating actual buffers for position for CRUDE_W
Calculating actual buffers for position for EDOLLAR
Calculating actual buffers for position for EUROSTX
Calculating actual buffers for position for GAS_US
Calculating actual buffers for position for GBP
Calculating actual buffers for position for LEANHOG
Calculating actual buffers for position for MXP
Calculating actual buffers for position for PLAT
Calculating actual buffers for position for US2
Calculating actual buffers for position for V2X
Calculating actual buffers for position for VIX
Traceback (most recent call last):
File "run.py", line 64, in <module>
func(*args, **kwargs)
File "/home/rorym/pysystemtrade/sysproduction/interactive_diagnostics.py", line 64, in interactive_diagnostics
method_chosen(data)
File "/home/rorym/pysystemtrade/sysproduction/interactive_diagnostics.py", line 197, in strategy_report
run_report(report_config, data=data)
File "/home/rorym/pysystemtrade/sysproduction/diagnostic/reporting.py", line 23, in run_report
run_report_with_data_blob(report_config, data)
File "/home/rorym/pysystemtrade/sysproduction/diagnostic/reporting.py", line 37, in run_report_with_data_blob
report_results = report_function(data, **report_kwargs)
File "/home/rorym/pysystemtrade/sysproduction/diagnostic/strategies.py", line 35, in strategy_report
formatted_output = get_strategies_report_output(
File "/home/rorym/pysystemtrade/sysproduction/diagnostic/strategies.py", line 49, in get_strategies_report_output
strategy_format_output_list = get_output_for_single_strategy(
File "/home/rorym/pysystemtrade/sysproduction/diagnostic/strategies.py", line 70, in get_output_for_single_strategy
strategy_format_output_list = strategy_reporting_function(
File "/home/rorym/pysystemtrade/sysproduction/strategy_code/report_system_classic.py", line 139, in report_system_classic
timestamp_positions = get_position_at_timestamp_df_for_instrument_code_list(
File "/home/rorym/pysystemtrade/sysproduction/strategy_code/report_system_classic.py", line 488, in get_position_at_timestamp_df_for_instrument_code_list
position_df = pd.DataFrame(
File "/home/rorym/.local/lib/python3.8/site-packages/pandas/core/frame.py", line 450, in __init__
arrays, columns = to_arrays(data, columns, dtype=dtype)
File "/home/rorym/.local/lib/python3.8/site-packages/pandas/core/internals/construction.py", line 487, in to_arrays
data = [tuple(x) for x in data]
File "/home/rorym/.local/lib/python3.8/site-packages/pandas/core/internals/construction.py", line 487, in <listcomp>
data = [tuple(x) for x in data]
TypeError: 'float' object is not iterable
The report works perfectly on a separate server with only the backtest on it. There are no positions recorded in the database.
however on a server that has had trades and has positions recorded in the database the following error occurs. All the trades have been added manually.
( I had not tried to run strategy report on that server previously)
latest version from github:
Running from . interactive_diagnostics :