Skip to content

Commit

Permalink
Issue #3882 Fixed (#3885)
Browse files Browse the repository at this point in the history
* Fix plot look when using eval and add query to choices (#3881)

* convert index to datetime and update choices

* uncomment economy integration test

* fix treasury concat bug

* fix datasets concat on duplciates

* Issue #3882 Fixed

* 2 files reformatted by black

* tests added

* Lock ruff version so that new lints dont break our CI (#3905)

* Lock ruff version so that new lints dont break our CI

* Bumped pre-commit ruff version

* fixed mypy errors

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
  • Loading branch information
4 people authored Jan 12, 2023
1 parent 6f473be commit 4303bdc
Show file tree
Hide file tree
Showing 21 changed files with 2,103 additions and 21 deletions.
27 changes: 16 additions & 11 deletions openbb_terminal/stocks/stocks_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -299,18 +299,16 @@ def load(

start_date = check_datetime(start_date)
end_date = check_datetime(end_date, start=False)
int_string = "Daily"
if weekly:
int_string = "Weekly"
if monthly:
int_string = "Monthly"

# Daily
if int(interval) == 1440:

int_string = "Daily"
if weekly:
int_string = "Weekly"
if monthly:
int_string = "Monthly"

if source == "AlphaVantage":
df_stock_candidate = load_stock_av(symbol, start_date, end_date)
df_stock_candidate = load_stock_av(symbol, int_string, start_date, end_date)

elif source == "YahooFinance":
df_stock_candidate = load_stock_yf(
Expand Down Expand Up @@ -338,11 +336,18 @@ def load(
df_stock_candidate.index.name = "date"
s_start = df_stock_candidate.index[0]
s_interval = f"{interval}min"
int_string = "Daily" if interval == 1440 else "Intraday"

else:

if source == "YahooFinance":
if source == "AlphaVantage":
s_start = start_date
int_string = "Minute"
s_interval = f"{interval}min"
df_stock_candidate = load_stock_av(
symbol, int_string, start_date, end_date, s_interval
)

elif source == "YahooFinance":
s_int = str(interval) + "m"
s_interval = s_int + "in"
d_granularity = {"1m": 6, "5m": 59, "15m": 59, "30m": 59, "60m": 729}
Expand Down Expand Up @@ -429,7 +434,7 @@ def load(
s_interval = f"{interval}min"
int_string = "Intraday"

s_intraday = (f"Intraday {s_interval}", int_string)[interval == 1440]
s_intraday = (f"Intraday {interval}min", int_string)[interval == 1440]

if verbose:
console.print(
Expand Down
25 changes: 20 additions & 5 deletions openbb_terminal/stocks/stocks_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,32 @@


def load_stock_av(
symbol: str, start_date: datetime, end_date: datetime
symbol: str,
interval: str,
start_date: datetime,
end_date: datetime,
interval_min: str = "1min",
) -> pd.DataFrame:
try:
ts = TimeSeries(key=cfg.API_KEY_ALPHAVANTAGE, output_format="pandas")
df_stock_candidate: pd.DataFrame = ts.get_daily_adjusted(
symbol=symbol, outputsize="full"
)[0]
if interval == "Minute":
df_stock_candidate: pd.DataFrame = ts.get_intraday(
symbol=symbol, interval=interval_min
)[0]
elif interval == "Daily":
df_stock_candidate = ts.get_daily_adjusted(
symbol=symbol, outputsize="full"
)[0]
elif interval == "Weekly":
df_stock_candidate = ts.get_weekly_adjusted(symbol=symbol)[0]
elif interval == "Monthly":
df_stock_candidate = ts.get_monthly_adjusted(symbol=symbol)[0]
else:
console.print("Invalid interval specified")
return pd.DataFrame()
except Exception as e:
console.print(e)
return pd.DataFrame()

df_stock_candidate.columns = [
val.split(". ")[1].capitalize() for val in df_stock_candidate.columns
]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.28.1
method: GET
uri: https://www.alphavantage.co/query?apikey=MOCK_API_KEY&datatype=json&function=TIME_SERIES_MONTHLY_ADJUSTED&symbol=AAPL
response:
body:
string: !!binary |
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
headers:
Allow:
- GET, HEAD, OPTIONS
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 7865f9944bef234c-IST
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Cross-Origin-Opener-Policy:
- same-origin
Date:
- Sun, 08 Jan 2023 15:30:31 GMT
Referrer-Policy:
- same-origin
Server:
- cloudflare
Server-Timing:
- cf-q-config;dur=5.0000016926788e-06
Transfer-Encoding:
- chunked
Vary:
- Cookie, Origin
Via:
- 1.1 vegur
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- DENY
status:
code: 200
message: OK
version: 1
Loading

0 comments on commit 4303bdc

Please sign in to comment.