stocks/scr/set fixes and error catching changes. (#3614)

* fixes to set

* test fixes

* fixing finviz_view

* removing \n to match styleguide

* removing \n to match styleguide

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
This commit is contained in:
James Simmons
2022-11-28 08:26:43 -06:00
committed by GitHub
parent 24d19030ed
commit caf2f853c3
4 changed files with 43 additions and 10 deletions

View File

@@ -250,4 +250,7 @@ def screener(
return list(df_screen.head(n=limit)["Ticker"].values)
console.print(
"The preset selected did not return a sufficient number of tickers. Two or more tickers are needed."
)
return []

View File

@@ -78,7 +78,7 @@ class ScreenerController(BaseController):
"""Constructor"""
super().__init__(queue)
self.preset = "top_gainers"
self.preset = "top_gainers.ini"
self.screen_tickers: List = list()
if session and obbff.USE_PROMPT_TOOLKIT:
@@ -228,8 +228,12 @@ class ScreenerController(BaseController):
parser, other_args, EXPORT_BOTH_RAW_DATA_AND_FIGURES
)
if ns_parser:
if self.preset.strip(".ini") in finviz_model.d_signals:
preset = self.preset.strip(".ini")
else:
preset = self.preset
self.screen_tickers = yahoofinance_view.historical(
self.preset,
preset,
ns_parser.limit,
ns_parser.start,
ns_parser.type_candle,
@@ -370,9 +374,13 @@ class ScreenerController(BaseController):
)
if ns_parser:
if self.preset.strip(".ini") in finviz_model.d_signals:
preset = self.preset.strip(".ini")
else:
preset = self.preset
sort_map = screener_helper.finviz_map("valuation")
self.screen_tickers = finviz_view.screener(
loaded_preset=self.preset,
loaded_preset=preset,
data_type="valuation",
limit=ns_parser.limit,
ascend=ns_parser.reverse,
@@ -439,9 +447,13 @@ class ScreenerController(BaseController):
)
if ns_parser:
if self.preset.strip(".ini") in finviz_model.d_signals:
preset = self.preset.strip(".ini")
else:
preset = self.preset
sort_map = screener_helper.finviz_map("financial")
self.screen_tickers = finviz_view.screener(
loaded_preset=self.preset,
loaded_preset=preset,
data_type="financial",
limit=ns_parser.limit,
ascend=ns_parser.reverse,
@@ -508,10 +520,13 @@ class ScreenerController(BaseController):
)
if ns_parser:
if self.preset.strip(".ini") in finviz_model.d_signals:
preset = self.preset.strip(".ini")
else:
preset = self.preset
sort_map = screener_helper.finviz_map("ownership")
self.screen_tickers = finviz_view.screener(
loaded_preset=self.preset,
loaded_preset=preset,
data_type="ownership",
limit=ns_parser.limit,
ascend=ns_parser.reverse,
@@ -579,8 +594,12 @@ class ScreenerController(BaseController):
sort_map = screener_helper.finviz_map("performance")
if ns_parser:
if self.preset.strip(".ini") in finviz_model.d_signals:
preset = self.preset.strip(".ini")
else:
preset = self.preset
self.screen_tickers = finviz_view.screener(
loaded_preset=self.preset,
loaded_preset=preset,
data_type="performance",
limit=ns_parser.limit,
ascend=ns_parser.reverse,
@@ -646,9 +665,13 @@ class ScreenerController(BaseController):
)
if ns_parser:
if self.preset.strip(".ini") in finviz_model.d_signals:
preset = self.preset.strip(".ini")
else:
preset = self.preset
sort_map = screener_helper.finviz_map("technical")
self.screen_tickers = finviz_view.screener(
loaded_preset=self.preset,
loaded_preset=preset,
data_type="technical",
limit=ns_parser.limit,
ascend=ns_parser.reverse,

View File

@@ -115,7 +115,9 @@ def historical(
if l_stocks:
if len(l_stocks) < 2:
console.print("Please select two or more tickers.\n")
console.print(
"The preset selected did not return a sufficient number of tickers. Two or more tickers are needed."
)
return pd.DataFrame(), [], False
if len(l_stocks) > limit:
random.shuffle(l_stocks)
@@ -150,5 +152,10 @@ def historical(
columns=final_screener.columns,
index=final_screener.index,
)
else:
console.print(
"The preset selected did not return a sufficient number of tickers. Two or more tickers are needed."
)
return pd.DataFrame(), [], False
return final_screener, l_stocks, limit_random_stocks

View File

@@ -1,7 +1,7 @@
view view available presets (defaults and customs)
set set one of the available presets
Preset: top_gainers
Preset: top_gainers.ini
historical view historical price [YahooFinance]
overview overview (e.g. Sector, Industry, Market Cap, Volume) [Finviz]