Closed rorymac closed 3 years ago
I've removed the try: catch from reporting so if you update and run this it will still fail but with a more verbose error.
Here you go, truncated some of the output:
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 482, in get_position_at_timestamp_df_for_instrument_code_list
position_list = [
File "/home/rorym/pysystemtrade/sysproduction/strategy_code/report_system_classic.py", line 483, in <listcomp>
get_position_for_instrument_code_at_timestamp(
File "/home/rorym/pysystemtrade/sysproduction/strategy_code/report_system_classic.py", line 503, in get_position_for_instrument_code_at_timestamp
positions_over_time[:datetime_cutoff].ffill().values[-1]
TypeError: '_named_object' object is not subscriptable
OK it's a classic start up from cold issue; there are no positions in the database before the backtest was run and it doesn't handle it gracefully.
Try the latest commit.
Unfortunately an error
rorym@mintserverone:~/pysystemtrade$ git pull origin master
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 10 (delta 4), reused 7 (delta 4), pack-reused 0
Unpacking objects: 100% (10/10), 9.82 KiB | 1.09 MiB/s, done.
From https://github.com/robcarver17/pysystemtrade
* branch master -> FETCH_HEAD
f9f5dee..dea0b9a master -> origin/master
Updating f9f5dee..dea0b9a
Fast-forward
sysproduction/interactive_order_stack.py | 2 +-
sysproduction/strategy_code/report_system_classic.py | 10 ++++++----
2 files changed, 7 insertions(+), 5 deletions(-)
Output ..truncated
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 482, in get_position_at_timestamp_df_for_instrument_code_list
position_list = [
File "/home/rorym/pysystemtrade/sysproduction/strategy_code/report_system_classic.py", line 483, in <listcomp>
get_position_for_instrument_code_at_timestamp(
File "/home/rorym/pysystemtrade/sysproduction/strategy_code/report_system_classic.py", line 501, in get_position_for_instrument_code_at_timestamp
positions_over_time_ffill = positions_over_time.ffill()
AttributeError: '_named_object' object has no attribute 'ffill'
Try again with latest commit
Worked Like a charm lets close this down! Again thank you Rob.
here is the output: