Skip to content

Commit 38a7c63

Browse files
author
rob
committed
Merge branch 'develop' of https://github.com/robcarver17/pysystemtrade into develop
2 parents f3a0fa3 + 21b1940 commit 38a7c63

File tree

3 files changed

+20
-17
lines changed

3 files changed

+20
-17
lines changed

syscore/fileutils.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -287,9 +287,13 @@ def get_relative_pathname_from_list(path_as_list: List[str]) -> str:
287287
paths_or_files = path_as_list[1:]
288288

289289
if len(paths_or_files) == 0:
290-
directory_name_of_package = os.path.dirname(
291-
import_module(package_name).__file__
292-
)
290+
base_dir = os.getenv("PYSYS_CODE")
291+
if base_dir is not None:
292+
directory_name_of_package = os.path.join(base_dir, package_name)
293+
else:
294+
directory_name_of_package = os.path.dirname(
295+
import_module(package_name).__file__
296+
)
293297
return directory_name_of_package
294298

295299
last_item_in_list = path_as_list.pop()

sysproduction/reporting/data/duplicate_remove_markets.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
import pandas as pd
33
from dataclasses import dataclass
44

5-
from syscore.constants import named_object, missing_data
5+
from syscore.constants import named_object
6+
from syscore.exceptions import missingData
67
from sysdata.config.instruments import generate_matching_duplicate_dict
78
from sysdata.config.production_config import get_production_config
89
from sysproduction.reporting.data.constants import (
@@ -401,10 +402,11 @@ def get_data_for_markets(data):
401402
def get_existing_bad_markets(data):
402403
production_config = data.config
403404

404-
excluded_markets_config_element = production_config.get_element_or_missing_data(
405-
"exclude_instrument_lists"
406-
)
407-
if excluded_markets_config_element is missing_data:
405+
try:
406+
excluded_markets_config_element = production_config.get_element(
407+
"exclude_instrument_lists"
408+
)
409+
except missingData:
408410
print("NO BAD MARKETS IN CONFIG!")
409411
existing_bad_markets = []
410412
else:

sysproduction/reporting/data/pandl.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -222,11 +222,11 @@ def _get_pandl_for_instrument_across_contracts(
222222

223223
def get_period_perc_pandl_for_strategy_in_date_range(self, strategy_name: str):
224224
print("Getting p&l for %s" % strategy_name)
225-
pandl_df = self.get_df_of_perc_pandl_series_for_strategy_all_instruments(
226-
strategy_name
227-
)
228-
229-
if pandl_df is missing_data:
225+
try:
226+
pandl_df = self.get_df_of_perc_pandl_series_for_strategy_all_instruments(
227+
strategy_name
228+
)
229+
except missingData:
230230
return 0.0
231231

232232
pandl_df = pandl_df[self.start_date : self.end_date]
@@ -245,9 +245,6 @@ def get_df_of_perc_pandl_series_for_strategy_all_instruments(
245245
strategy_name
246246
)
247247

248-
if instrument_list is missing_data:
249-
return missing_data
250-
251248
pandl_df = pd.concat(pandl_list, axis=1)
252249
pandl_df.columns = instrument_list
253250

@@ -260,7 +257,7 @@ def get_list_of_perc_pandl_series_for_strategy_all_instruments(
260257
self.data, strategy_name
261258
)
262259
if len(instrument_list) == 0:
263-
return missing_data, missing_data
260+
raise missingData
264261

265262
pandl_list = [
266263
self.perc_pandl_series_for_strategy_instrument_vs_total_capital(

0 commit comments

Comments
 (0)