From 4303bdc682e67d26e9ed92ab647cf5afae4e142c Mon Sep 17 00:00:00 2001 From: Mert Nuhuz Date: Thu, 12 Jan 2023 18:14:58 +0300 Subject: [PATCH] Issue #3882 Fixed (#3885) * 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 --- openbb_terminal/stocks/stocks_helper.py | 27 +- openbb_terminal/stocks/stocks_model.py | 25 +- ...eek_or_month[AlphaVantage-False-True].yaml | 215 ++++++ ...eek_or_month[AlphaVantage-True-False].yaml | 684 ++++++++++++++++++ ...week_or_month[AlphaVantage-True-True].yaml | 214 ++++++ ...oad_week_or_month[Polygon-False-True].yaml | 37 + ...oad_week_or_month[Polygon-True-False].yaml | 37 + ...load_week_or_month[Polygon-True-True].yaml | 37 + ...eek_or_month[YahooFinance-False-True].yaml | 154 ++++ ...eek_or_month[YahooFinance-True-False].yaml | 204 ++++++ ...week_or_month[YahooFinance-True-True].yaml | 154 ++++ ...week_or_month[AlphaVantage-False-True].csv | 25 + ...week_or_month[AlphaVantage-True-False].csv | 105 +++ ..._week_or_month[AlphaVantage-True-True].csv | 25 + ...load_week_or_month[Polygon-False-True].csv | 1 + ...load_week_or_month[Polygon-True-False].csv | 1 + ..._load_week_or_month[Polygon-True-True].csv | 1 + ...week_or_month[YahooFinance-False-True].csv | 26 + ...week_or_month[YahooFinance-True-False].csv | 106 +++ ..._week_or_month[YahooFinance-True-True].csv | 26 + .../stocks/test_stocks_helper.py | 20 +- 21 files changed, 2103 insertions(+), 21 deletions(-) create mode 100644 tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[AlphaVantage-False-True].yaml create mode 100644 tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[AlphaVantage-True-False].yaml create mode 100644 tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[AlphaVantage-True-True].yaml create mode 100644 tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[Polygon-False-True].yaml create mode 100644 tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[Polygon-True-False].yaml create mode 100644 tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[Polygon-True-True].yaml create mode 100644 tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[YahooFinance-False-True].yaml create mode 100644 tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[YahooFinance-True-False].yaml create mode 100644 tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[YahooFinance-True-True].yaml create mode 100644 tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[AlphaVantage-False-True].csv create mode 100644 tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[AlphaVantage-True-False].csv create mode 100644 tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[AlphaVantage-True-True].csv create mode 100644 tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[Polygon-False-True].csv create mode 100644 tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[Polygon-True-False].csv create mode 100644 tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[Polygon-True-True].csv create mode 100644 tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[YahooFinance-False-True].csv create mode 100644 tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[YahooFinance-True-False].csv create mode 100644 tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[YahooFinance-True-True].csv diff --git a/openbb_terminal/stocks/stocks_helper.py b/openbb_terminal/stocks/stocks_helper.py index 8a1f6a51ae49..8824ce4c67f3 100644 --- a/openbb_terminal/stocks/stocks_helper.py +++ b/openbb_terminal/stocks/stocks_helper.py @@ -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( @@ -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} @@ -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( diff --git a/openbb_terminal/stocks/stocks_model.py b/openbb_terminal/stocks/stocks_model.py index 320fc0276366..612a60fc82a2 100644 --- a/openbb_terminal/stocks/stocks_model.py +++ b/openbb_terminal/stocks/stocks_model.py @@ -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 ] diff --git a/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[AlphaVantage-False-True].yaml b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[AlphaVantage-False-True].yaml new file mode 100644 index 000000000000..e498834ab934 --- /dev/null +++ b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[AlphaVantage-False-True].yaml @@ -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 | + H4sIAAAAAAAAA6xdTY9cSZXd8ytSXncF9/uDXUuwGAkkND2wYFe0i2mPbNfIdjNCiP8+ijRNv5eO + ihtpYlt+la48eT/PPffm339xuVwur3739Onx8uvHT4+vfnX5+/VH1x9ju/zH+788f3j3+OnN8/tX + v7q8+t3z+08/vP3b5dvX//Pjx09Pry+///Dm+6ePl8f3ry9/fH7747unj6+++fkFqF2++9u7Pz+/ + 7b/77be//+3xH7ldfvv48dPlP5/+8uHp4w9Pr/tDBMQPgA9gx0elXf7rzbuny5+e3z/1p/7w3S9/ + 8/jx09OH96+uD/3jm3++j9s/7/pb3z19ePP08fzWDv/P8ec/ve3n/326vl9kaBQAhz/mpzf2w5v/ + /uGnRxK+fITb5e3z/12fIGnoXz4h7fL92+ePT5+fyWb05TPaLo8/vZnyYWuXv14/hP4QW6aEkt8+ + 5e3y+s1f37x+ev/68vju+cf3n/rj0KC/iX89+o9vTmDRA9IDwxwsiUY4B0uhJWbOwNIWC2Al3wHW + 6OETWGiuzsggq2ihmc/QwhIt1QaFaak20alpsTSOAi2JBstoibcQxjlaTpIShLmKFvHctuCBsXDE + BdvyplCiVdmWcmNZRUupRRLP0QoLDmSRTZ4IWduWNZM5WiaNbI5WfP5LZmj1jwVW0WJvnqZTtAiC + 0wJlV9yCKG3LsEFhW24N556o3lAq2/JGy0FerblBzm1LIZ1VWDd5IvgDZeGJ1qCyLW7Gc9vSZlag + ZdQUV9EybIFfhu8zWiLOJmaxy7aszok5rA5OcQuby7yAyCHkZ0+05su2xdaQsUDLJSk9NXehpaUn + dpsvPNGsScxti5phnRNjOcpLNMycR3kSAAY1wF2eKKUnugwT+yluRZOcxy2tKwj1ZnpP3BIqKggL + VvHgbZ7IdZSXZqlztHJoOUe0oGGVE12GrzJGy7kZSJET0THIhbZ5Ij1Q1LZV50QrciLVFYRpw+W4 + ZdLQsrItCnWg9c7nmpMnaGFpW+4tCk8MajmP8irNF2zL4w7bUiUobAtMkdNoi23htU+sPNGHIfwG + LeSq3ooSLW/qy2hZYyIporwwkSPFLrRwpavOmMct06HlHNCSMeS3nshwjydyWBXlI0yIeYsnYu8T + q5woWNdb3NC06Hyo6hMlh/b3YgWhjFrU8qbgCQKbbGulT6QybvWeZd4nCi6ghcPe/AW0oDFgFNVp + ekoMCo2vRavuE8UaW2lbRb0lMkTiXG/h8GN5od6CpiIFByFG7syBmzwRvLQttmZQsoEAVZ/oVZ8o + 2sKWbUuagBeemJ0PRIncZVt1n0g1G8jeZF6dEg+z5m2fmMtosTZNq+otMERhlV1oaVmdMpUcBEsD + n6NFjbRimu+p5Ykbl9WpIyYrIuzyRKlti4dky41t1WiNItvZtrCJ3cXLY8WdRqaa5TbbqvtE4uY6 + R4tiyLUc0EIb0tVn26Ihp/gCWtCccl5vkSmEKOG2nEgPVA3IarTYW7hP0YrGlW0RDuuQMVqYLbSa + +QSphA3C24ueCDpFC2vulJvSHC3RBvMKgqxxUOmJd0T5KxlV8FvEyWaQezofWOkTqeblOZpHTtGC + 4Yuc0aJmeQdaqeBztBjTwgO2oVX3iZANC7QIW85tC7wxFWhhNliOW9gbz6z4LSInEaQtngjXeWKB + Fno5ISMdRqUzWl6hBXFHdQreSHw+86FIZXQN2GRbC30i07AMv4nyOeflgWvuFLWPcVZtSxqkzNHi + CPNkCN6FVtknCtOQGjigpajDaeE5ypfc6QtzoRcqCG9IWeREDCFw0GXbCpqj5RVa/AIBfEBLaDwt + /BktVmta8Fv9VdbRAmmSPK+3XBWNiGyXaZVtIqNX5RY7DQc6B7DQy+KUTdbprchmwXM/DOxVzSBV + fy1WWhVbFDbs745YkTSauiGFDivJE1boQ2p/iJVHQ+N59eCA3dyJdjlh2SKS2JCVOmBFKU2nlDx1 + aqEIWZS8bldODTi0sCtThn2FVt0gUlClCWSQgtgirIfUpNJotSw1aqxQcKbqwIzOtAusco7YkWAo + nHCsijmApVbqtsh5SM6OwfIGZF4FdyImXu4O3edYlVNEShtGoxusYjpzpaRhhjgFLMh1ZY332VLM + x2LOAiIIW2oszIXekMyHQ4dTwOKWXtkVZR2wlrUPji0o5olQM8KRTXdhVbIOJNl0bldkUQUsyYYF + E3/9UFax6tNGL+g/kUgiUt7hgx2rUmdKvUgs7Epy6GHH4K4lD08Sw5ZqjBU0s8IHjVA8fI+2DXOh + KySwJvPpIZE1mcd2kGH0P2FFY08eYqXSbFCSn31QXCAktmEVJVbI1VyacKzTPvSESWWXQxBDNeEY + q766EDS3q2BFdbFNPlh3hNSJgsIHCYcVwRGrGE7LTlghr3eEXaWpheBBnFMd9kwrOlZW67S0mrIS + 4FAFc8DKoZ7gp7dc1Wn1jYPQuV0pKuHOeKW1XWWLKHxQG89nrC5DDvWsOxonkTFW1JSrhpBT1NR3 + 5cGFmWFixY/2SFMocSNKbSkBNPN1u9KqedY+jfZA2mVXvKLDrZbE0ocThgNWlrUuJLKPHhax0pZW + iJZNIQM5tsWrWldqY/nBSVc63gA7YqXDla6zD/L6dPUqGuMqtpMKOK37IM+xqlWlKi2yUMNnpaCR + FQ2uNVnNg9IV0MWIIiggE32LfgZjZVYYMpQenDSlUilwOwuWtRZ+ub7qG1RYrFlERvZqx3dhhXUt + Oh7gneorGrIpNzVDpczyGNarY7viBsxzrNKQCXN9N2zqg7HUD/ow5B6xYm4y5xnAhjP9cy16x5xQ + qanqnOzzSJeATfVV9H6wiO1E45L7ZFc5zPbn3pkrEpn0jh5HGkHMx17WwaJNytuOVa0lzRxSBCes + osqD6cNq9YyVD3fxXuydrRDeOgBjBO/ywbofxODPE45ZfaXDsuJYi/KQiTj3OLBOuIs2ZS128JND + OAJ32ZWVtWj4sD05YSXDnd0jVv/81Ka1qA7lJmOs+iBD54McJTeSXbxorGwb9rKnUMwkVDyDad07 + hw09+SWsHM0Krg/SjcB2+WDdD1q9Ue5R1Vedx+R6C2VZ58fZOLmI7WZssGmfvGO10A9Gxbf3aFTc + KrBxtXrGyte3wThbZj145vABI/i1WC30g15xfT0aGVVbmSR1Lbq8ZyjURKvBc8+Bgeu9sxU+uLBl + CMMRzA1WWNpVuWXYF/R43a5coeCQOUlUeQ/P4L0frHzQsqrb+3ZgkQd7giivFOTnTe7V3tmL5RPF + 0M7oxi6sauWo5TA93ez6kpR5sNow7PNRXcfKsxC8ayC72DpWUx/0lTs0Oj6bcsPJmExvHCkt2dXy + bKLH9ijmONKbZ2XQTXbV+8EsN+4LHeRLWe7IydRz5/6hLMd2th7bvagZUlMAbRdWC7uFOQzcN1jp + PA9KPfPqrwKwzl+N7n/cxPYgQlzfoih8cKEfFKnmOH0Ps1C69xy/cCXEl/NgV5cWK76CyO60545D + x6reK9RyltovgBTKbaFhpjxjJQ2WfZD76lcUPigZJrDNB+t+ULT0QS1vXvRet7wxRuvaD9aWiUWP + w0pJub6vWvmglHW7cHmpR3SY5Y5YQYNyu/cO/VVfRoNC18f9egPgnu2JjlW9UdgX4ApO5oWt8OMm + tA9J+y+wsnuwKpZVtRMNSLirbl/oB8nLm0bs1dy5vwgu7EGvcn1MDUXmPqguaaHrPIP6HKu6H+zL + MkW86lu78/oKpd6w72qbVR+kaKxU2RUzI9oeH7SV26QIjW1+RaXrrwbM23GDKeqN8f6hrObBbqeD + i2Hn2A7hjia6C6u6H0QuZ6nInzUmE6xkeNDgjBUMK9oxVh3XajZBqCppe3zQVvpBpDIPYlTaD6S6 + d0YekopjrKxvLhZ60bBEGRw8+kq7WtgiBBsuvZ2wsobFFiEN11BusVreUCVr5MVR0i4+TfM91+o6 + VnU/2PfPKruCIfN044NV3d4/lNV+kK7zwSJeMSCFbvPB+iJp6vAyxREqkKbTsj0XLgN3pTKuIwVZ + ZEELde+szC6rKrvBzGGPdkIKh7XqASksdWo51qSOgaKGA6LlRsoAxkC8KwXWrWBfHSmqBRjPSH8G + KnIoCzkBleuaD+IGYYU+pquN5A5NbeV79Q3SLjcvuBikYo8+x4d+T0jxuuKDsClnoVBz4mCjbb5X + doE5vqF6E9DnyxLptYYBYr2vuW5EyzxKuairueMupMrZTdrQcQ5IZVRBikohX9r6zY9+KQrdqwXn + MLqn/6M5TvU1GRjvkJ6ilBb7gknl6Z2uMpI7kBIvjjqRY0hA7BnJ64o8FKM8U4TjYHwup6J0vzvk + C71I0GIcmERGRnuOcHesFtq/ehxIY0XWsaXBuvTsZ5/gjlaZvWj/FAzM1+uEqQvqyhkZyGpd8Hq4 + isqjO1gf3dE7sMLU4g5dH0UAB+0yrIX+D2HY3N30f1FfKKr4KrhjT6LnwIpXQOq2l+CyC6xYOX6l + Nbk3X+zKBe0/3jGLuN5hqU72GRhrIu7ywoWBIFl59JepWAbvHlYtol6J0Du8sOuv52CB9l0Jy12p + cGEiyDgc5p3AwuryFUl9T5q0CekyayxYbAyGh4GF4C6syhMy3bDw3zYs4jpivfA9Y2Os+vWGIryn + djhx/TRR5YQLV0alVGmzDDnMmwu2UNsV3jGNINZ55Z5XZYziNrtauDGa1WmilyziiBXWatrup7yO + FQxuw9yUDRwmmAi7wKIH8rJ2hwosHjJO54Os5TiiByFbByuj+LYA7Gc+WCWXWQbxOVgLxfs4dJ/K + hvLqNkhtWehDXdaL8wjKosZikPDE2MPyyWJXGFh2hTQXfIDVi3B9+hjrXWFAdXMbnL2fI6BdYGE5 + me/DTyrBcv23L2ZirH+7I/VvvXIrtlFBHH2905l6oaxMBQGG/NOJmYmhvvNQvOuwW7ol++CO4Q0O + vvrsxgkNujqGdtnVylSQhyKgE1ZcfENaWv3le52w13UaS0Wq7+sg9iDzXQELomRGpexzgIpvo02u + Z819xnrHACfZ5tqYZEge1Wxf6YF1S5jloe3MQhmT4+76qwdd2GgQrz/j9P8AAAD//6ydWa7sOA5E + V9QJcSb3v7EGs4Bu+xXtUD7o/+J+REoyxxP/e9bFqKZ5zb89UjAd9J7FfL9+bgQsYBoACuZiin94 + 1NfHi0C53YRK9VDirN+e4LtS9lBNuSqls9Pz/5WyXB8BoVX/JPuv+vqQKKCRL02dhiZmreSfJdgX + rWAyaG31+n6qrC/gawPVOpYFWlmtcbV+hvrmx92AwxdX8pSu/+25gsmg8byZfNVKEebDmMdQ9qZV + W4RuA5D9UxHIgyldppGIv9UKjocabnmZ0Ydei1daBREDxvPC05NWrqDI0DKR0P4d/Ka8L1rB8VAz + +/h7ud18gRU47Q8peNqtEU7b5l6NbgDj7G3E7tNKwl+dK9nIBM0Sve0WDXX8N3TjcgcloSWhtdf0 + tt3l16Pg/Q6y8dKp4f+3WsG2s7GiKaKWU8DbzhANZub7GLWvzwQoIFO6E8ehOygbiaC2/+577coE + VRj6n6CQvd//WLz9Xokiv5eooimT+MtzhRPBfmpAsd3WDCG8aKUBuzgavp8JUqdc8n4HZWW7dpzT + CuJE1ewT9m+H25vFBEqa1QRWrjTbK8C333YW8LZzRlTksTuIU0Fds7vP1WDCesSF7UWrRfhc2Tya + /HSulglyERJbSufOFcSJqs1TjTetFMTtkjO46IYgL/9BK/4IIY9sW+588L2CM6KqEDmnbcz7/rZ3 + sRPEDNrAadlspDZn2B144kgo0cE7CPNBxba8qga+g5IGm4Oq/INBdq8WFlgXLDKbLLH+9lwJvIMC + Y1F9oFtcz1XB0Y/Wyv0XrcAquHCEmp/TivF7BU3PFGIfVWLU4a4VfXT9oBUFgTsoQbZdEuV/Cmwv + Wm3kgxCj1inje51BxfC5snkh4/G9Cn6/g9q7SnKqKso7+eCD68OtfqVjj+eS43TMgOpXvVo6tKYe + 43YGyDntzUr2c1oRrovCxqAvQfWr9f1S0qtWaftDMu3JZGC0XZ0ipybcX91B3sgHPeBUnz9kJ9ca + ckCEk5WNRo5PddH2E0TnyoPt2LnCOFF3QzXkWAZsi92wjZ43g2zZdr1dHMxsC6eJ1Tmt4LSok31q + vS4seS6AE/W14Hpz/yjbddHWihaI28ssMo/dQZwPWirKcfxhBP5yB2Phc0Vrf7SWGm0PsNpC2ai4 + c+cK4kTNCyHnvh2Y97e9sf3ovcofsERfE0QFfZxc5sbntLKdcwVyHCsfT8S9j4OmPixiH0tE0ZYJ + oH5V7nZSK5gPeq+ZCuylgnNlOBa1lBFu9HyugFZmQcsP3kGB8ZUmQjg501hmvtbb/cNMIGaosdfz + 9F4xgxzHzC3lYMwAVwfVIILcNMYW4r0uWugOKu9bJpB3PvT+tmuDQOrguSJcF60xpb3V+hJgH/uf + 4HzQx2WBp3wwAwz0sWqVntKKNvAxkoyQvl8lXvNBiRgbsjetlv3wHey6KIP4io1F5JxWMB+U3lIG + NZmF7AbFBRrR94/C21rRx6kUxO2LhPmcVjAflJz54jfzax+zvav5tUL8sS79oS7KH1mg1qdenREe + 0wr3B7v8m8gonMEOr7jDxSVJ+iF3po8VsBtUjnBf57SC+WDfQYBlkCqAnBOTsdF/10rHQO7xDhaw + pLJwY9JzWkF8jDRh0cB7hfB8IgoRmVLrh+8gfTIAakdyaSWd0wr7z2ui3XAx/pDwq//8gvlg/yjb + tnANQloKchxZaXQuZsD5oHTbDtg525wGXbTigsgP0fjhDjb0BfVS1dPqXMyAMTItBOjjiM2mulet + FkRFi63xvzxp5QrqDCJLS+qcVnBetIUAfBRxAjZLwnhrSb51m3/XOh/PFWIO6JJcfPC9wvbzStB+ + 3hVsTIjgpaX+Vm7DwbouKIn6g1SV52JRnA9Kb/eD90oT7FlKb68NJj73t71+iK+6hgx6E5JBFadi + 0bXRHxQyZD/fN8zfY1Ga/R1vWvUm0m4NuXpxEIz1aTXx6ZxUOB1cjNqD8oBVuLjCVUBKrRDt74XX + Rw1lg+3lrHZOqoW+gpyCKEVCaBOAuzqMpq/W2q+KVqsKvCXES4uPSbXhPa+BPoJcCgh9rA4Ha59+ + k1Gq/DgDRJ+yMB3Lb9ZGLsi+xlLlVSpXABtgsfEdukmlso8SjV5Tf0+bRTsQ9XNSBTxVpihc4PYe + rnepavxI3qSyGFutD1IlL2B6beXCck4qx1IVmqrlqBHDfr2A2FiCjfYnRXthAqw4W6lnHDxVBn1R + XT6JLmCMliZXr8+CzXk2H//L06la9Z4HulquOhcs4L4gN9sfnSoGthIsPD7ZN6l6D6e2pSoBIx+q + 5CkHv4AwDeRlKFhg6JTQ/0SRVPJDSyLaKEFAsKArTl5A/g87MNtlVGVvIQiY7a4RpXmTqsEpu5lN + N2TBsy6p/f07JxVc7uJm/wNfYjIw+Pj10UU+Cb1N7bLpS/xJKWC/oRR6qn+6aiMH5E5swLPe063v + QJRM2BPkb72Ad0+VLkCz1+XFQeekwlSiLORUwrAl2I7DCMjQX8mi7Qu4kBmjLCpzPycVJoqmjV4r + f0gV69VgsA2cEUYtcx/yYZ1JoSFtDl7npNogxzj2us4Exb32wyMEX334TR6kclEwx2cefioHbKkw + TbTHNgHpquOq92fdcC+CPPfroO0gDsatuMiJDp6qDXdBgeBVR2sSTTrEUsmIapvdUD/tPwKm+FbU + yQu4gRKFpHZSH4eMrlLxmLTcjc14H2OovXoOGhHGXqeWm1uqDZIo9urqPvRCiFq0NN//JWlbKuJE + fdMIs3PBwgZItF1rEMIQWjcvgbX172+ybe/5STZU2mNeXOekgjlg1ggOv/HACph7JkPITkPt9/11 + mz2OZmhXRto5oSBDNLG7LlxRSocuJQ+/x7wc8QkE8dUydj9492Cg3iNW72NDFSBPblgF8gf6oQfP + PUMBfJTUXU4hm1ZupH4Fu8p9nN47pakQrPNL2NmGJwrd8YqFzum0wQy1kfp2Y4bSJ17DzijIdize + HxZqThaIpFLF7NQcaAu1YSNII9jkD2uE90gqbcPtLcbazcNLzgGm1kmjjE2PSbWR9XWeAi5fCHLT + fQC0/ukiuO+m+1ED4UFamVmekwriQjthK2C4mAtsjrRZdUFT+drv0TS9XdBwcYjmwVOFsz5XCBnP + NQpx9bN27E1pue9N0rM0/P5WxTLRPPfx28j6HgpHN6kQn+JbdkElYo/9HRvrnAE4npaZ67nvH0aG + UtjYAb1KVQxWbPrBWxvFvLAfinn5fqrcG/N/8K3CWZ86jKkSguvbAB29VSH7F7CBA0CqJEleB6Xa + cI9QNNBBagD+9XVVQKfqoRT2VHZxsAeRlCl0Lq7C+4BdoQI9mv4T0M4iG/X+s5aw9lPkXADrmJnn + EJgtFXaT7wED1CRdAAT9NcxRXKES369QoSyZ2JxpHRp+WbFjHJE07hndtOKRq319131sX9z7WTna + ljz1s5jeAysnJz/W+out1t88MvzHJ9Dfh19sYUOSnOdMH951EwD+KrE4tujdUuEk0GbblZtUa6zE + /RGuQ6nql09gBOCLp5BoxTGpMBuGBGc2hps0mOFBJmOL4+GxcgcY6NAwlYNS4dZfeyOhT+DM77/b + eTrqZ0nur7fNVup/2L2txceqxLHlI0gwCdQEBNpvkwadKqF9MkxjMAyZIbRFOp+TynE/i2BFnRFo + 4RtYQbc3Hn1yHgKrIDCqnkJKfFAq7CVf0AuooS/vRp4Ji8XfX2TwZXsQyhMstnmjhmidEwqmgKVj + 7PiHu817YS/x7HXNs0gPOi1BELlcseygThAI06ik9zChHKyVPiw1/GnYst/LStb33M88jeWgTHD3 + L32kL15lWmOr/NYbTbD0kDo+ck89mgDlvJ7AST0XoOO8r2Uq1PLL90tHkGGcto+s4o+jNbYKijhF + XF/eKR+y3iI0v1EMPA8a7BjwNKX+cJrq/WPnS1hPwUBbJtxAhmFBU/6t3mSKsSF4e5tovzPTPGgH + fI7Sb/3gmEww1QtDMiWD/nEw/NIl7RcPeqkCjC0aSZqdO02d5r1fOp8ziisBdOacXKCWMUJjrjJ1 + HWZfJuic4cJFnOdkwvTPQBu2gSrnzh8Dk2Wt5P40wnIAdXbJ1FPrtS0TBn8G8gT0HAswV0wxJEz0 + ULL/IBNwenVWDj8ok2Oe8/g7X2Wa9zyvZMaRAHaHWI7V5pkB0JZRaAZo2TFEeMsE07pYiLAUAuIm + y3GF8s5kHGOGB5mSIJGxAf16TiaFFOd5iOIqE49Fl8vbNFdlbk/42h+l5jHLvFfpKE3t4BMOe3pe + 0FuywN6xxTgEdXubeASZPJymWmCVNjllpZyTCeZ0YUimcLAd6gyTlQ479k/TSgZReBcy9VyygnO6 + 6FSEX8NLNEwWC3r4hI0DsQ8ycdl7FB5JEuvU22QbVE9PBH4LQ6cpoe1m0DiJ/vQ2JZBJu8cQck4m + bPAQqIceBDD8vZgeOLzkH+ImSlSWszzFp2yZYE5nClHpAWbxG+QWMG7aHuCkLvIlGPSxlDh36TZs + /gI6beqIGrnI5OOCyN1XZb8s162tAqdJV9UpemDLBHM6ZdQ2V+SxqQzxner7bxN9lA2sy4qFHpsw + tx14pyOOvOq4M3VFwo4F0JtMPPZHH2TiAvUm8WUrD54mzO2s8Xe+IU6BM0EDgBAEz/dXz5r3WAgX + qKZ87gnfQHY62pLVBczEROA6sdQn7I7B/S8AAAD//6ydSY4sNwxE9z5MQRw08HC+u6H/N6WCMp8E + c9OrBgqIJCmOEW/WVAYcXtdQ9URrQrbOGViCnO59q9wcVy+sfcqxesqnBIwMWkgMTYTJWCCSztO9 + bo3lW/JwG96W2CQXRLkfbUSPpD7L4zyYuKbrtHQx53TveZNte26rgN92lPcAk6FkyrAiLfJgwpqu + Ofab+jbIL6UvjQxmL7ych/A2gmJT6WmNFD9YzWz76dEisAa3CZM8lzoEfq4GWT7RASYd3iOtWPGT + mk5Rhy62bCvfUkXbxZyfmq6c501FYJxpIq5S82BCRk6L7ZXKIt8Ol+hTXLSSePuNNfUAfh8d3SI8 + DaYDaQakTbT9cvmSEAhx4V7cuJRPHcAYNbtNmhbC/USVQbbaXgvJ+fY/volwkdhnUo/EOUwKdG3i + NqWJ8mBCFk7T7dj6GyaDOZ2O7fnLyqw8R7mnMHnIe00n3SRNJ3rCxAyc+NI9+NQ3VzCeS9le+OgR + JlgDE28hnuh0B+yb1G+axvLudBX1KnScFyvl4wohPLxLJBoTE2820i7U2G4ILCh5EEHpuQjRnOjB + NYtMLtee+NAx6SZS0+jYjhe/2UmZHbifrzyXj4u8P3RaeiuZ1oR0K7qnaP2GyWGFQAUfOrXtKv6T + NTWD68Q+whKNCXNwle1S94rScECJ1EJvBATKx1yJ8UGmTm0STHbCsylbb1hoNok464A7WbYUsU8w + KXCtRLc8LjY7oFqZymfA22ogsiBxQHB7vhQ+hTs6XrlqljbhRKkwZytyJs+LfXmlTMZCZX6LuHA5 + kH0WrXPdOQ2mA3UFpaUd3cszrjB5kDH1i/gt9f2Zi+qRdodvB/QqMzBBzqRbj1pcjmgi57e4cDk3 + OEBsoZko8VEdKsbNd/Cdensg85perDrP8A1UIWEy0nIBOyJVwXO6vd7CN6UK30jHTZWiA06kpYS0 + lhiYmFDFtw/5ChNxhPDRbz8/jy4f7ZQyhZWW+MydkKlsm5LLHSsR9Chqns1fOY/fKk2hHzeG10Sn + YyIVZuep252e1ZocYRK/gAmuMLqE1cQAjvM5cZJzlkqZ5X4Tej20336LJ5R0vBtTN2+RGJmYPsW3 + pCY/KA1AiSSWHn7l0ZaAu0hKjyZZkUlPmFMq9ZmkQWdAbNtE+oXJLmCiMmX2fHoeSsLEfchu0cmY + 9v7043L1fOykBoupo4SmsbDqCV+K42F92xI3LbZk5HJtu9v6hBKp34iMkulyB4SZTpJK85ULeuUq + utyNMWEC7h5pPEX6ZzZXyOVAgFjaNvdcjCk6onQxwlT191cuJMI9DyUu5vqnA0oD6HzPcgG9eOU2 + lw4/LctpS3nxe7KjQDNur+yw9k+IdnW7K/5Tplz0T7SB3qnU2Y1OjEz1YJoC1ANaYWNeFfnmHvqe + T62BCj4npXXJDE08m/PtKGSRDwT+GDUseufHuGiA0+aXzEmv1TyYDJ1OiGtcqU5RwWPxOb67gKnC + YUF4dE8MTVjNqW9XJa98br8D/dOO6xc+pwHGZBHVSx5MWM6p0lKqorrwnizzx+duOuAddDWkTgGu + rAguh7M5HPQWgomOeR7me08wGfTjhrZeex5KzIG5XwH8aYG/pwP9aIJ543Ow4Rx1jJFoSwf0l1in + 7KclS51C6/LSb8bh2hpFJu8y8ozpgPqS2ddjOwtZYCLNSbm47f3TGwBjGr13zUOJWS+DiddpaaCj + OLzsafke5ylQqITUSAxMXM4pUoNq3fb4F5RoaeChJHxECfpMUr3WtDmBHJBd6l6vaIVJaLfCUGf5 + XBJ+ZpYG5Zw1iyyZ5QkTl3OVBgXatmnhClPBGebFcM6KQT/OzFraQqqclHN4PaedSJ4HC5zXmy1w + GyCEKxHaemJssoOkaQj1UDolTQerOhfdXbNKMOnwkhibuJ4r27WAn+04B2tifZGb2KS9O200uXoi + TCfjORC2U6KWFUcVCJVz+feZgo/3l07dh6SxDpQDlktBcoaZP9N4DtdQ9h/jsQtOiwN1SNTIg4kL + uiABFiU1yTnmRIHgq5EKUX1IldqH5MHE25YNY1PjEF45Ibip6AJllEW65zndAculkIrrFMtSuL2w + zrcX9eb24j2Eaw21kud0XNLVgjAJxCZ37KK0fXPz6bJXG21YlOZpL105YblUKlZageu5yQoDlW8t + 51Qf5dOJ9lqKNs20pnZAVAyb4FPC9T1xerDIn9NeO3/qesBTN0LydB7KQU03tcZgfXdqPr0Pxh+w + /iG+LudvXbMBWpu9tkjEyVmQpmJbzgJVSR35v+YHudjhDbrn6X2e/OQhxUuXs2lGm3KFtptOtnit + 3tARFQMax95bs0SkOBkvjtm4BMSo6AzU7Aefly2jC/Bd1imfnAcUF3flIEhRbjAaZ5rFbnKoPgZ0 + C0RL5Ij8SUScrF8WYZMaULrEfui3IqVX+cGAbHN4if8hHPnP37///gcAAP//AwBBbydB70QBAA== + 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 diff --git a/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[AlphaVantage-True-False].yaml b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[AlphaVantage-True-False].yaml new file mode 100644 index 000000000000..b3104a3132c2 --- /dev/null +++ b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[AlphaVantage-True-False].yaml @@ -0,0 +1,684 @@ +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_WEEKLY_ADJUSTED&symbol=AAPL + response: + body: + string: !!binary | + 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 + AkJ/BQA= + headers: + Allow: + - GET, HEAD, OPTIONS + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 7865f9892b1b158c-IST + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Cross-Origin-Opener-Policy: + - same-origin + Date: + - Sun, 08 Jan 2023 15:30:30 GMT + Referrer-Policy: + - same-origin + Server: + - cloudflare + Server-Timing: + - cf-q-config;dur=7.0000023697503e-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 diff --git a/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[AlphaVantage-True-True].yaml b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[AlphaVantage-True-True].yaml new file mode 100644 index 000000000000..fb88fc0c8ccd --- /dev/null +++ b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[AlphaVantage-True-True].yaml @@ -0,0 +1,214 @@ +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: + - 7865fa695878234b-IST + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Cross-Origin-Opener-Policy: + - same-origin + Date: + - Sun, 08 Jan 2023 15:31:06 GMT + Referrer-Policy: + - same-origin + Server: + - cloudflare + Server-Timing: + - cf-q-config;dur=4.000001354143e-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 diff --git a/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[Polygon-False-True].yaml b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[Polygon-False-True].yaml new file mode 100644 index 000000000000..8d37430ea03c --- /dev/null +++ b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[Polygon-False-True].yaml @@ -0,0 +1,37 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.28.1 + method: GET + uri: https://api.polygon.io/v2/aggs/ticker/AAPL/range/1/month/2019-12-01/2021-12-02?adjusted=true&apiKey=MOCK_API_KEY2&limit=49999&sort=desc + response: + body: + string: '{"status":"ERROR","request_id":"09ee3c7a51a93c92f5d805731006340d","error":"Unknown + API Key"}' + headers: + Connection: + - keep-alive + Content-Length: + - '92' + Content-Type: + - application/json + Date: + - Sun, 08 Jan 2023 15:59:17 GMT + Server: + - nginx/1.19.2 + Strict-Transport-Security: + - max-age=15724800; includeSubDomains + X-Request-Id: + - 09ee3c7a51a93c92f5d805731006340d + status: + code: 401 + message: Unauthorized +version: 1 diff --git a/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[Polygon-True-False].yaml b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[Polygon-True-False].yaml new file mode 100644 index 000000000000..f1c5bcc8ba7f --- /dev/null +++ b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[Polygon-True-False].yaml @@ -0,0 +1,37 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.28.1 + method: GET + uri: https://api.polygon.io/v2/aggs/ticker/AAPL/range/1/week/2019-12-01/2021-12-02?adjusted=true&apiKey=MOCK_API_KEY2&limit=49999&sort=desc + response: + body: + string: '{"status":"ERROR","request_id":"5258a898b0fbd1e32d96c986fdf4d819","error":"Unknown + API Key"}' + headers: + Connection: + - keep-alive + Content-Length: + - '92' + Content-Type: + - application/json + Date: + - Sun, 08 Jan 2023 15:59:17 GMT + Server: + - nginx/1.19.2 + Strict-Transport-Security: + - max-age=15724800; includeSubDomains + X-Request-Id: + - 5258a898b0fbd1e32d96c986fdf4d819 + status: + code: 401 + message: Unauthorized +version: 1 diff --git a/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[Polygon-True-True].yaml b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[Polygon-True-True].yaml new file mode 100644 index 000000000000..f78c6ec4f1f5 --- /dev/null +++ b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[Polygon-True-True].yaml @@ -0,0 +1,37 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.28.1 + method: GET + uri: https://api.polygon.io/v2/aggs/ticker/AAPL/range/1/week/2019-12-01/2021-12-02?adjusted=true&apiKey=MOCK_API_KEY2&limit=49999&sort=desc + response: + body: + string: '{"status":"ERROR","request_id":"75868000594b9acbabffe54337994fb9","error":"Unknown + API Key"}' + headers: + Connection: + - keep-alive + Content-Length: + - '92' + Content-Type: + - application/json + Date: + - Sun, 08 Jan 2023 15:59:16 GMT + Server: + - nginx/1.19.2 + Strict-Transport-Security: + - max-age=15724800; includeSubDomains + X-Request-Id: + - 75868000594b9acbabffe54337994fb9 + status: + code: 401 + message: Unauthorized +version: 1 diff --git a/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[YahooFinance-False-True].yaml b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[YahooFinance-False-True].yaml new file mode 100644 index 000000000000..85d774756133 --- /dev/null +++ b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[YahooFinance-False-True].yaml @@ -0,0 +1,154 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/39.0.2171.95 Safari/537.36 + method: GET + uri: https://query2.finance.yahoo.com/v8/finance/chart/AAPL?interval=1d&range=1d + response: + body: + string: '{"chart":{"result":[{"meta":{"currency":"USD","symbol":"AAPL","exchangeName":"NMS","instrumentType":"EQUITY","firstTradeDate":345479400,"regularMarketTime":1673038804,"gmtoffset":-18000,"timezone":"EST","exchangeTimezoneName":"America/New_York","regularMarketPrice":129.62,"chartPreviousClose":125.02,"priceHint":2,"currentTradingPeriod":{"pre":{"timezone":"EST","end":1673015400,"start":1672995600,"gmtoffset":-18000},"regular":{"timezone":"EST","end":1673038800,"start":1673015400,"gmtoffset":-18000},"post":{"timezone":"EST","end":1673053200,"start":1673038800,"gmtoffset":-18000}},"dataGranularity":"1d","range":"1d","validRanges":["1d","5d","1mo","3mo","6mo","1y","2y","5y","10y","ytd","max"]},"timestamp":[1673015400],"indicators":{"quote":[{"close":[129.6199951171875],"open":[126.01000213623047],"high":[130.2899932861328],"volume":[87686600],"low":[124.88999938964844]}],"adjclose":[{"adjclose":[129.6199951171875]}]}}],"error":null}}' + headers: + Age: + - '0' + Connection: + - keep-alive + Expect-CT: + - max-age=31536000, report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-expect-ct-report-only" + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=15552000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - public, max-age=10, stale-while-revalidate=20 + content-length: + - '943' + content-type: + - application/json;charset=utf-8 + date: + - Sun, 08 Jan 2023 15:47:04 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-chart-api--mtls-production-ir2.finance-k8s.svc.yahoo.local:4080/* + x-envoy-upstream-service-time: + - '44' + x-request-id: + - c7cda97f-9139-4710-92a6-b79a34ca549f + x-yahoo-request-id: + - 0kqqns5hrlpbo + y-rid: + - 0kqqns5hrlpbo + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/39.0.2171.95 Safari/537.36 + method: GET + uri: https://query2.finance.yahoo.com/v8/finance/chart/AAPL?events=div%2Csplits&includePrePost=False&interval=1mo&period1=MOCK_PERIOD_1&period2=MOCK_PERIOD_2 + response: + body: + string: !!binary | + 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 + L6/VDwAA + headers: + Age: + - '1' + Connection: + - keep-alive + Expect-CT: + - max-age=31536000, report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-expect-ct-report-only" + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=15552000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - public, max-age=10, stale-while-revalidate=20 + content-encoding: + - gzip + content-length: + - '1773' + content-type: + - application/json;charset=utf-8 + date: + - Sun, 08 Jan 2023 15:47:04 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-chart-api--mtls-production-ir2.finance-k8s.svc.yahoo.local:4080/* + x-envoy-upstream-service-time: + - '52' + x-request-id: + - b6e075fd-1cd1-4e2e-9d1f-6418133c1760 + x-yahoo-request-id: + - 8jbhhplhrlpbp + y-rid: + - 8jbhhplhrlpbp + status: + code: 200 + message: OK +version: 1 diff --git a/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[YahooFinance-True-False].yaml b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[YahooFinance-True-False].yaml new file mode 100644 index 000000000000..3e9f9fbde8b0 --- /dev/null +++ b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[YahooFinance-True-False].yaml @@ -0,0 +1,204 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/39.0.2171.95 Safari/537.36 + method: GET + uri: https://query2.finance.yahoo.com/v8/finance/chart/AAPL?interval=1d&range=1d + response: + body: + string: '{"chart":{"result":[{"meta":{"currency":"USD","symbol":"AAPL","exchangeName":"NMS","instrumentType":"EQUITY","firstTradeDate":345479400,"regularMarketTime":1673038804,"gmtoffset":-18000,"timezone":"EST","exchangeTimezoneName":"America/New_York","regularMarketPrice":129.62,"chartPreviousClose":125.02,"priceHint":2,"currentTradingPeriod":{"pre":{"timezone":"EST","start":1672995600,"end":1673015400,"gmtoffset":-18000},"regular":{"timezone":"EST","start":1673015400,"end":1673038800,"gmtoffset":-18000},"post":{"timezone":"EST","start":1673038800,"end":1673053200,"gmtoffset":-18000}},"dataGranularity":"1d","range":"1d","validRanges":["1d","5d","1mo","3mo","6mo","1y","2y","5y","10y","ytd","max"]},"timestamp":[1673015400],"indicators":{"quote":[{"high":[130.2899932861328],"open":[126.01000213623047],"volume":[87686600],"close":[129.6199951171875],"low":[124.88999938964844]}],"adjclose":[{"adjclose":[129.6199951171875]}]}}],"error":null}}' + headers: + Age: + - '3' + Connection: + - keep-alive + Expect-CT: + - max-age=31536000, report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-expect-ct-report-only" + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=15552000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - public, max-age=10, stale-while-revalidate=20 + content-length: + - '943' + content-type: + - application/json;charset=utf-8 + date: + - Sun, 08 Jan 2023 15:47:03 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-chart-api--mtls-production-ir2.finance-k8s.svc.yahoo.local:4080/* + x-envoy-upstream-service-time: + - '55' + x-request-id: + - d84c6226-9a21-466c-b7e0-7aae8df8554f + x-yahoo-request-id: + - 29a86bdhrlpbn + y-rid: + - 29a86bdhrlpbn + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/39.0.2171.95 Safari/537.36 + method: GET + uri: https://query2.finance.yahoo.com/v8/finance/chart/AAPL?events=div%2Csplits&includePrePost=False&interval=1wk&period1=MOCK_PERIOD_1&period2=MOCK_PERIOD_2 + response: + body: + string: !!binary | + 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 + AA== + headers: + Age: + - '0' + Connection: + - keep-alive + Expect-CT: + - max-age=31536000, report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-expect-ct-report-only" + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=15552000 + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - public, max-age=10, stale-while-revalidate=20 + content-encoding: + - gzip + content-type: + - application/json;charset=utf-8 + date: + - Sun, 08 Jan 2023 15:47:04 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-chart-api--mtls-production-ir2.finance-k8s.svc.yahoo.local:4080/* + x-envoy-upstream-service-time: + - '58' + x-request-id: + - 621bb97b-6d34-4484-8bb4-4acd06354dc7 + x-yahoo-request-id: + - 9dj51uhhrlpbo + y-rid: + - 9dj51uhhrlpbo + status: + code: 200 + message: OK +version: 1 diff --git a/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[YahooFinance-True-True].yaml b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[YahooFinance-True-True].yaml new file mode 100644 index 000000000000..69454fbbbdf1 --- /dev/null +++ b/tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_load_week_or_month[YahooFinance-True-True].yaml @@ -0,0 +1,154 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/39.0.2171.95 Safari/537.36 + method: GET + uri: https://query2.finance.yahoo.com/v8/finance/chart/AAPL?interval=1d&range=1d + response: + body: + string: '{"chart":{"result":[{"meta":{"currency":"USD","symbol":"AAPL","exchangeName":"NMS","instrumentType":"EQUITY","firstTradeDate":345479400,"regularMarketTime":1673038804,"gmtoffset":-18000,"timezone":"EST","exchangeTimezoneName":"America/New_York","regularMarketPrice":129.62,"chartPreviousClose":125.02,"priceHint":2,"currentTradingPeriod":{"pre":{"timezone":"EST","end":1673015400,"start":1672995600,"gmtoffset":-18000},"regular":{"timezone":"EST","end":1673038800,"start":1673015400,"gmtoffset":-18000},"post":{"timezone":"EST","end":1673053200,"start":1673038800,"gmtoffset":-18000}},"dataGranularity":"1d","range":"1d","validRanges":["1d","5d","1mo","3mo","6mo","1y","2y","5y","10y","ytd","max"]},"timestamp":[1673015400],"indicators":{"quote":[{"close":[129.6199951171875],"volume":[87686600],"low":[124.88999938964844],"open":[126.01000213623047],"high":[130.2899932861328]}],"adjclose":[{"adjclose":[129.6199951171875]}]}}],"error":null}}' + headers: + Age: + - '0' + Connection: + - keep-alive + Expect-CT: + - max-age=31536000, report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-expect-ct-report-only" + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=15552000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - public, max-age=10, stale-while-revalidate=20 + content-length: + - '943' + content-type: + - application/json;charset=utf-8 + date: + - Sun, 08 Jan 2023 15:47:03 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-chart-api--mtls-production-ir2.finance-k8s.svc.yahoo.local:4080/* + x-envoy-upstream-service-time: + - '47' + x-request-id: + - 8656fcee-6b38-4b9e-be70-db0840ce2e7b + x-yahoo-request-id: + - 2f05e2dhrlpbn + y-rid: + - 2f05e2dhrlpbn + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/39.0.2171.95 Safari/537.36 + method: GET + uri: https://query2.finance.yahoo.com/v8/finance/chart/AAPL?events=div%2Csplits&includePrePost=False&interval=1mo&period1=MOCK_PERIOD_1&period2=MOCK_PERIOD_2 + response: + body: + string: !!binary | + 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 + +tIPAAA= + headers: + Age: + - '0' + Connection: + - keep-alive + Expect-CT: + - max-age=31536000, report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-expect-ct-report-only" + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=15552000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - public, max-age=10, stale-while-revalidate=20 + content-encoding: + - gzip + content-length: + - '1772' + content-type: + - application/json;charset=utf-8 + date: + - Sun, 08 Jan 2023 15:47:03 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-chart-api--mtls-production-ir2.finance-k8s.svc.yahoo.local:4080/* + x-envoy-upstream-service-time: + - '52' + x-request-id: + - 3b56bcad-b1cf-4e72-816d-6c6a7a81e330 + x-yahoo-request-id: + - 3n0sbe1hrlpbn + y-rid: + - 3n0sbe1hrlpbn + status: + code: 200 + message: OK +version: 1 diff --git a/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[AlphaVantage-False-True].csv b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[AlphaVantage-False-True].csv new file mode 100644 index 000000000000..92dfc706d6b1 --- /dev/null +++ b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[AlphaVantage-False-True].csv @@ -0,0 +1,25 @@ +date,Open,High,Low,Close,Adj Close,Volume,Dividend amount +2019-12-31,267.27,293.97,256.29,293.65,71.8289,598871365.0,0.0 +2020-01-31,296.24,327.85,292.75,309.51,75.7084,734044103.0,0.0 +2020-02-28,304.3,327.22,256.37,273.36,67.0267,755223231.0,0.77 +2020-03-31,282.28,304.0,212.61,254.29,62.3508,1570331732.0,0.0 +2020-04-30,246.5,294.53,236.9,293.8,72.0385,816530808.0,0.0 +2020-05-29,286.25,324.24,285.85,317.94,78.1637,701660022.0,0.82 +2020-06-30,317.75,372.38,317.21,364.8,89.6839,810900890.0,0.0 +2020-07-31,365.12,425.66,356.58,425.04,104.4936,755162226.0,0.0 +2020-08-31,432.8,515.14,126.0,129.04,127.129,1184207050.0,0.82 +2020-09-30,132.76,137.98,103.1,115.81,114.0949,3886793083.0,0.0 +2020-10-30,117.64,125.39,107.72,108.86,107.2479,2895317580.0,0.0 +2020-11-30,109.11,121.99,107.32,119.05,117.4895,2122724412.0,0.205 +2020-12-31,121.01,138.789,120.01,132.69,130.9507,2319687808.0,0.0 +2021-01-29,133.52,145.09,126.382,131.96,130.2303,2239366098.0,0.0 +2021-02-26,133.75,137.877,118.39,121.26,119.85,1825486961.0,0.205 +2021-03-31,123.75,128.72,116.21,122.15,120.7296,2650845211.0,0.0 +2021-04-30,123.66,137.07,122.49,131.46,129.9313,1889956694.0,0.0 +2021-05-28,132.04,134.07,122.25,124.61,123.3691,1711935110.0,0.22 +2021-06-30,125.08,137.41,123.13,136.96,135.5961,1606114354.0,0.0 +2021-07-30,136.6,150.0,135.76,145.86,144.4075,1916751489.0,0.0 +2021-08-31,146.36,153.49,144.5,151.83,150.5443,1462773381.0,0.22 +2021-09-30,152.83,157.26,141.27,141.5,140.3018,1797948421.0,0.0 +2021-10-29,141.9,153.165,138.27,149.8,148.5315,1565079040.0,0.0 +2021-11-30,148.985,165.7,147.48,165.3,164.1386,1688864233.0,0.22 diff --git a/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[AlphaVantage-True-False].csv b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[AlphaVantage-True-False].csv new file mode 100644 index 000000000000..700b7aa93c2a --- /dev/null +++ b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[AlphaVantage-True-False].csv @@ -0,0 +1,105 @@ +date,Open,High,Low,Close,Adj Close,Volume,Dividend amount +2019-12-06,267.27,271.0,256.29,270.71,66.2176,115090042.0,0.0 +2019-12-13,270.0,275.3,264.91,275.15,67.3037,142408267.0,0.0 +2019-12-20,277.0,282.65,276.98,279.44,68.3531,183341280.0,0.0 +2019-12-27,280.53,293.97,280.37,289.8,70.8872,96724537.0,0.0 +2020-01-03,289.46,300.6,285.22,297.43,72.7535,131852981.0,0.0 +2020-01-10,293.79,312.67,292.75,310.33,75.909,168452059.0,0.0 +2020-01-17,311.64,318.74,309.55,318.73,77.9637,162824452.0,0.0 +2020-01-24,317.19,323.33,315.65,318.31,77.8609,115445527.0,0.0 +2020-01-31,310.06,327.85,304.88,309.51,75.7084,216776323.0,0.0 +2020-02-07,304.3,325.22,302.22,320.03,78.47,163134650.0,0.77 +2020-02-14,314.18,327.22,313.85,324.95,79.6764,123065907.0,0.0 +2020-02-21,315.36,324.65,310.5,313.05,76.7585,119254440.0,0.0 +2020-02-28,297.26,304.18,256.37,273.36,67.0267,349768234.0,0.0 +2020-03-06,282.28,304.0,277.72,289.03,70.8689,323450224.0,0.0 +2020-03-13,263.75,286.44,248.0,277.97,68.1571,404405247.0,0.0 +2020-03-20,241.95,259.08,228.0,229.24,56.2087,405065837.0,0.0 +2020-03-27,228.08,258.68,212.61,247.74,60.7448,346165813.0,0.0 +2020-04-03,250.74,262.49,236.9,241.41,59.1927,209252759.0,0.0 +2020-04-09,250.9,271.7,249.38,267.99,65.71,183929846.0,0.0 +2020-04-17,268.31,288.25,265.83,282.8,69.3414,207386812.0,0.0 +2020-04-24,277.95,283.01,265.43,282.97,69.3831,169846750.0,0.0 +2020-05-01,281.8,299.0,278.2,289.07,70.8788,197513427.0,0.0 +2020-05-08,289.17,310.35,286.32,310.13,76.2436,168228968.0,0.82 +2020-05-15,308.1,319.69,300.21,307.71,75.6487,208536826.0,0.0 +2020-05-22,313.17,320.89,310.32,318.89,78.3972,133274690.0,0.0 +2020-05-29,323.5,324.24,313.09,317.94,78.1637,131465363.0,0.0 +2020-06-05,317.75,331.75,317.21,331.5,81.4973,124490802.0,0.0 +2020-06-12,330.25,354.77,327.32,338.8,83.292,202956789.0,0.0 +2020-06-19,333.25,356.56,332.58,349.72,85.9766,194985086.0,0.0 +2020-06-26,351.34,372.38,351.15,353.63,86.9379,220750873.0,0.0 +2020-07-02,353.25,370.47,351.28,364.11,89.5143,124222310.0,0.0 +2020-07-10,370.0,385.27,369.87,383.68,94.3255,141212101.0,0.0 +2020-07-17,389.06,399.82,375.51,385.31,94.7262,179660754.0,0.0 +2020-07-24,385.67,397.0,356.58,370.46,91.0754,165885792.0,0.0 +2020-07-31,374.84,425.66,372.99,425.04,104.4936,211898609.0,0.0 +2020-08-07,432.8,457.65,431.57,444.45,109.467,250852555.0,0.82 +2020-08-14,450.4,464.17,436.4267,459.63,113.2058,235474473.0,0.0 +2020-08-21,464.25,499.472,455.8501,497.48,122.5282,208464758.0,0.0 +2020-08-28,514.79,515.14,492.21,499.23,122.9592,265909531.0,0.0 +2020-09-04,127.58,137.98,110.89,120.96,119.1687,1166301669.0,0.0 +2020-09-11,113.95,120.5,110.0,112.0,110.3414,771441734.0,0.0 +2020-09-18,114.72,118.829,106.09,106.84,105.2578,944934651.0,0.0 +2020-09-25,104.54,112.86,103.1,112.28,110.6172,847212649.0,0.0 +2020-10-02,115.01,117.72,112.22,113.02,111.3463,641240539.0,0.0 +2020-10-09,113.91,117.0,112.25,116.97,115.2378,548575054.0,0.0 +2020-10-16,120.06,125.39,118.15,119.02,117.2574,881572555.0,0.0 +2020-10-23,119.96,120.419,114.28,115.04,113.3363,519569644.0,0.0 +2020-10-30,114.01,117.28,107.72,108.86,107.2479,684767901.0,0.0 +2020-11-06,109.11,119.62,107.32,118.69,117.1343,609571825.0,0.205 +2020-11-13,120.5,121.99,114.13,119.26,117.6968,589872919.0,0.0 +2020-11-20,118.92,120.99,116.81,117.34,115.802,389493361.0,0.0 +2020-11-27,117.18,117.6202,112.59,116.59,115.0618,364376131.0,0.0 +2020-12-04,116.97,123.78,116.81,122.25,120.6476,541563385.0,0.0 +2020-12-11,122.31,125.95,120.15,122.41,120.8055,452278651.0,0.0 +2020-12-18,122.6,129.58,121.54,126.655,124.9949,621758148.0,0.0 +2020-12-24,125.02,134.405,123.449,131.97,130.2402,433757134.0,0.0 +2020-12-31,133.99,138.789,131.72,132.69,130.9507,439740666.0,0.0 +2021-01-08,133.52,133.6116,126.382,132.05,130.3191,610791157.0,0.0 +2021-01-15,129.19,131.45,126.86,127.14,125.4735,481518252.0,0.0 +2021-01-22,127.78,139.85,126.938,139.07,137.2471,430065722.0,0.0 +2021-01-29,143.07,145.09,130.21,131.96,130.2303,716990967.0,0.0 +2021-02-05,133.75,137.42,130.93,136.76,135.1697,438264070.0,0.205 +2021-02-12,136.03,137.877,133.6921,135.37,133.7959,344357350.0,0.0 +2021-02-19,135.49,136.01,127.41,129.87,128.3598,362474097.0,0.0 +2021-02-26,128.01,129.72,118.39,121.26,119.85,680391444.0,0.0 +2021-03-05,123.75,128.72,117.57,121.42,120.0081,663456753.0,0.0 +2021-03-12,120.93,123.21,116.21,121.03,119.6226,586977280.0,0.0 +2021-03-19,121.41,127.22,119.675,119.99,118.5947,626770404.0,0.0 +2021-03-26,120.33,124.24,118.92,121.21,119.8005,488825826.0,0.0 +2021-04-01,121.65,124.18,118.86,123.0,121.5697,359904082.0,0.0 +2021-04-09,123.87,133.04,123.07,132.995,131.4485,447820438.0,0.0 +2021-04-16,132.52,135.0,130.63,134.16,132.5999,444178798.0,0.0 +2021-04-23,133.51,135.53,131.3001,134.32,132.7581,421246935.0,0.0 +2021-04-30,134.83,137.07,131.065,131.46,129.9313,501621389.0,0.0 +2021-05-07,132.04,134.07,126.7,130.21,128.9133,453802325.0,0.22 +2021-05-14,129.41,129.54,122.25,127.45,126.1808,514165627.0,0.0 +2021-05-21,126.82,128.0,122.86,125.43,124.1809,386352101.0,0.0 +2021-05-28,126.01,128.32,124.55,124.61,123.3691,357615057.0,0.0 +2021-06-04,125.08,126.16,123.13,125.89,124.6363,278314493.0,0.0 +2021-06-11,126.17,128.46,124.8321,127.35,126.0818,327048055.0,0.0 +2021-06-18,127.82,132.55,127.07,130.46,129.1608,456667151.0,0.0 +2021-06-25,130.3,134.64,129.21,133.11,131.7844,354155878.0,0.0 +2021-07-02,133.41,140.0,133.35,139.96,138.5662,321360130.0,0.0 +2021-07-09,140.07,145.65,140.07,145.11,143.6649,418559640.0,0.0 +2021-07-16,146.21,150.0,143.63,146.39,144.9322,504249326.0,0.0 +2021-07-23,143.75,148.7177,141.67,148.56,147.0806,441563639.0,0.0 +2021-07-30,148.27,149.83,142.54,145.86,144.4075,420947531.0,0.0 +2021-08-06,146.36,148.045,145.18,146.14,144.9025,284559337.0,0.22 +2021-08-13,146.2,149.4444,145.3,149.1,147.8374,299050639.0,0.0 +2021-08-20,148.535,151.68,144.5,148.19,146.9351,429624447.0,0.0 +2021-08-27,148.31,150.86,146.83,148.6,147.3417,272129118.0,0.0 +2021-09-03,149.0,154.98,148.61,154.3,152.9934,386760934.0,0.0 +2021-09-10,154.97,157.26,148.7,148.97,147.7085,354897433.0,0.0 +2021-09-17,150.63,151.42,145.76,146.06,144.8232,492884912.0,0.0 +2021-09-24,143.8,147.4701,141.27,146.92,145.6759,394033205.0,0.0 +2021-10-01,145.47,145.96,139.1101,142.65,141.442,441421358.0,0.0 +2021-10-08,141.76,144.215,138.27,142.9,141.6899,382910000.0,0.0 +2021-10-15,142.27,144.895,139.2,144.84,143.6135,354098233.0,0.0 +2021-10-22,143.445,150.18,143.16,148.69,147.4309,340691290.0,0.0 +2021-10-29,148.68,153.165,146.4128,149.8,148.5315,392739936.0,0.0 +2021-11-05,148.985,152.43,147.8,151.28,150.2171,322688958.0,0.22 +2021-11-12,151.41,151.57,147.48,149.99,148.9362,281026556.0,0.0 +2021-11-19,150.37,161.02,149.34,160.55,159.422,462419283.0,0.0 +2021-11-26,161.68,165.7,156.36,156.81,155.7083,359933163.0,0.0 diff --git a/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[AlphaVantage-True-True].csv b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[AlphaVantage-True-True].csv new file mode 100644 index 000000000000..92dfc706d6b1 --- /dev/null +++ b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[AlphaVantage-True-True].csv @@ -0,0 +1,25 @@ +date,Open,High,Low,Close,Adj Close,Volume,Dividend amount +2019-12-31,267.27,293.97,256.29,293.65,71.8289,598871365.0,0.0 +2020-01-31,296.24,327.85,292.75,309.51,75.7084,734044103.0,0.0 +2020-02-28,304.3,327.22,256.37,273.36,67.0267,755223231.0,0.77 +2020-03-31,282.28,304.0,212.61,254.29,62.3508,1570331732.0,0.0 +2020-04-30,246.5,294.53,236.9,293.8,72.0385,816530808.0,0.0 +2020-05-29,286.25,324.24,285.85,317.94,78.1637,701660022.0,0.82 +2020-06-30,317.75,372.38,317.21,364.8,89.6839,810900890.0,0.0 +2020-07-31,365.12,425.66,356.58,425.04,104.4936,755162226.0,0.0 +2020-08-31,432.8,515.14,126.0,129.04,127.129,1184207050.0,0.82 +2020-09-30,132.76,137.98,103.1,115.81,114.0949,3886793083.0,0.0 +2020-10-30,117.64,125.39,107.72,108.86,107.2479,2895317580.0,0.0 +2020-11-30,109.11,121.99,107.32,119.05,117.4895,2122724412.0,0.205 +2020-12-31,121.01,138.789,120.01,132.69,130.9507,2319687808.0,0.0 +2021-01-29,133.52,145.09,126.382,131.96,130.2303,2239366098.0,0.0 +2021-02-26,133.75,137.877,118.39,121.26,119.85,1825486961.0,0.205 +2021-03-31,123.75,128.72,116.21,122.15,120.7296,2650845211.0,0.0 +2021-04-30,123.66,137.07,122.49,131.46,129.9313,1889956694.0,0.0 +2021-05-28,132.04,134.07,122.25,124.61,123.3691,1711935110.0,0.22 +2021-06-30,125.08,137.41,123.13,136.96,135.5961,1606114354.0,0.0 +2021-07-30,136.6,150.0,135.76,145.86,144.4075,1916751489.0,0.0 +2021-08-31,146.36,153.49,144.5,151.83,150.5443,1462773381.0,0.22 +2021-09-30,152.83,157.26,141.27,141.5,140.3018,1797948421.0,0.0 +2021-10-29,141.9,153.165,138.27,149.8,148.5315,1565079040.0,0.0 +2021-11-30,148.985,165.7,147.48,165.3,164.1386,1688864233.0,0.22 diff --git a/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[Polygon-False-True].csv b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[Polygon-False-True].csv new file mode 100644 index 000000000000..e16c76dff888 --- /dev/null +++ b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[Polygon-False-True].csv @@ -0,0 +1 @@ +"" diff --git a/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[Polygon-True-False].csv b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[Polygon-True-False].csv new file mode 100644 index 000000000000..e16c76dff888 --- /dev/null +++ b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[Polygon-True-False].csv @@ -0,0 +1 @@ +"" diff --git a/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[Polygon-True-True].csv b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[Polygon-True-True].csv new file mode 100644 index 000000000000..e16c76dff888 --- /dev/null +++ b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[Polygon-True-True].csv @@ -0,0 +1 @@ +"" diff --git a/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[YahooFinance-False-True].csv b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[YahooFinance-False-True].csv new file mode 100644 index 000000000000..82877dc4050e --- /dev/null +++ b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[YahooFinance-False-True].csv @@ -0,0 +1,26 @@ +date,Open,High,Low,Close,Adj Close,Volume +2019-12-01,66.81749725341797,73.49250030517578,64.07250213623047,73.4124984741211,71.92059326171875,2388794800.0 +2020-01-01,74.05999755859375,81.9625015258789,73.1875,77.37750244140625,75.80500030517578,2934370400.0 +2020-02-01,76.07499694824219,81.80500030517578,64.09249877929688,68.33999633789062,66.95115661621094,3019279200.0 +2020-03-01,70.56999969482422,76.0,53.15250015258789,63.5724983215332,62.4283561706543,6280072400.0 +2020-04-01,61.625,73.63249969482422,59.224998474121094,73.44999694824219,72.12808227539062,3265299200.0 +2020-05-01,71.5625,81.05999755859375,71.4625015258789,79.48500061035156,78.05447387695312,2805936000.0 +2020-06-01,79.4375,93.09500122070312,79.30249786376953,91.19999694824219,89.80106353759766,3243375600.0 +2020-07-01,91.27999877929688,106.41500091552734,89.1449966430664,106.26000213623047,104.63007354736328,3020283200.0 +2020-08-01,108.19999694824219,131.0,107.89250183105469,129.0399932861328,127.06062316894531,4070061100.0 +2020-09-01,132.75999450683594,137.97999572753906,103.0999984741211,115.80999755859375,114.23916625976562,3885245100.0 +2020-10-01,117.63999938964844,125.38999938964844,107.72000122070312,108.86000061035156,107.38343811035156,2894666500.0 +2020-11-01,109.11000061035156,121.98999786376953,107.31999969482422,119.05000305175781,117.43522644042969,2123077300.0 +2020-12-01,121.01000213623047,138.7899932861328,120.01000213623047,132.69000244140625,131.11605834960938,2322189600.0 +2021-01-01,133.52000427246094,145.08999633789062,126.37999725341797,131.9600067138672,130.39471435546875,2240262000.0 +2021-02-01,133.75,137.8800048828125,118.38999938964844,121.26000213623047,119.82160949707031,1833855600.0 +2021-03-01,123.75,128.72000122070312,116.20999908447266,122.1500015258789,120.88142395019531,2650418200.0 +2021-04-01,123.66000366210938,137.07000732421875,122.48999786376953,131.4600067138672,130.09475708007812,1889857500.0 +2021-05-01,132.0399932861328,134.07000732421875,122.25,124.61000061035156,123.31587219238281,1711934900.0 +2021-06-01,125.08000183105469,137.41000366210938,123.12999725341797,136.9600067138672,135.76783752441406,1606590000.0 +2021-07-01,136.60000610351562,150.0,135.75999450683594,145.86000061035156,144.59036254882812,1919035100.0 +2021-08-01,146.36000061035156,153.49000549316406,144.5,151.8300018310547,150.50840759277344,1461542800.0 +2021-09-01,152.8300018310547,157.25999450683594,141.27000427246094,141.5,140.47848510742188,1797835100.0 +2021-10-01,141.89999389648438,153.1699981689453,138.27000427246094,149.8000030517578,148.7185516357422,1565079200.0 +2021-11-01,148.99000549316406,165.6999969482422,147.47999572753906,165.3000030517578,164.10667419433594,1691029000.0 +2021-12-01,167.47999572753906,182.1300048828125,157.8000030517578,177.57000732421875,176.54537963867188,2444766700.0 diff --git a/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[YahooFinance-True-False].csv b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[YahooFinance-True-False].csv new file mode 100644 index 000000000000..c90f77b134cb --- /dev/null +++ b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[YahooFinance-True-False].csv @@ -0,0 +1,106 @@ +date,Open,High,Low,Close,Adj Close,Volume +2019-12-02,66.81749725341797,67.75,64.07250213623047,67.67749786376953,66.30211639404297,456599200.0 +2019-12-09,67.5,68.82499694824219,66.22750091552734,68.7874984741211,67.38957214355469,568117600.0 +2019-12-16,69.25,70.6624984741211,69.24500274658203,69.86000061035156,68.4402847290039,732720000.0 +2019-12-23,70.13249969482422,73.49250030517578,70.09249877929688,72.44999694824219,70.97765350341797,386438000.0 +2019-12-30,72.36499786376953,75.1500015258789,71.30500030517578,74.35749816894531,72.84637451171875,526723200.0 +2020-01-06,73.44750213623047,78.1675033569336,73.1875,77.5824966430664,76.00582885742188,670091600.0 +2020-01-13,77.91000366210938,79.68499755859375,77.38749694824219,79.68250274658203,78.06316375732422,652055600.0 +2020-01-20,79.29750061035156,80.8324966430664,78.9124984741211,79.57749938964844,77.9603042602539,463685200.0 +2020-01-27,77.51499938964844,81.9625015258789,76.22000122070312,77.37750244140625,75.80499267578125,866734800.0 +2020-02-03,76.07499694824219,81.30500030517578,75.55500030517578,80.00749969482422,78.38155364990234,652341200.0 +2020-02-10,78.54499816894531,81.80500030517578,78.4625015258789,81.23750305175781,79.77542114257812,492263600.0 +2020-02-17,78.83999633789062,81.1624984741211,77.625,78.26249694824219,76.85396575927734,476635200.0 +2020-02-24,74.31500244140625,76.04499816894531,64.09249877929688,68.33999633789062,67.11003875732422,1398039200.0 +2020-03-02,70.56999969482422,76.0,69.43000030517578,72.25749969482422,70.95704650878906,1293800800.0 +2020-03-09,65.9375,71.61000061035156,62.0,69.49250030517578,68.24181365966797,1616839600.0 +2020-03-16,60.48749923706055,64.7699966430664,57.0,57.310001373291016,56.278568267822266,1620263600.0 +2020-03-23,57.02000045776367,64.66999816894531,53.15250015258789,61.935001373291016,60.82033157348633,1384190000.0 +2020-03-30,62.685001373291016,65.62249755859375,59.224998474121094,60.352500915527344,59.26631164550781,837010800.0 +2020-04-06,62.724998474121094,67.92500305175781,62.345001220703125,66.99749755859375,65.79170989990234,735437600.0 +2020-04-13,67.07749938964844,72.0625,66.4574966430664,70.69999694824219,69.42758178710938,829547200.0 +2020-04-20,69.48750305175781,70.75250244140625,66.35749816894531,70.74250030517578,69.46931457519531,678844800.0 +2020-04-27,70.44999694824219,74.75,69.55000305175781,72.26750183105469,70.96686553955078,790054000.0 +2020-05-04,72.2925033569336,77.5875015258789,71.58000183105469,77.53250122070312,76.13710021972656,672706400.0 +2020-05-11,77.0250015258789,79.92250061035156,75.05249786376953,76.92749786376953,75.74749755859375,834147600.0 +2020-05-18,78.2925033569336,80.22250366210938,77.58000183105469,79.72250366210938,78.49964141845703,532904800.0 +2020-05-25,80.875,81.05999755859375,78.27249908447266,79.48500061035156,78.2657699584961,525560400.0 +2020-06-01,79.4375,82.9375,79.30249786376953,82.875,81.60376739501953,497736000.0 +2020-06-08,82.5625,88.69249725341797,81.83000183105469,84.69999694824219,83.40077209472656,811826800.0 +2020-06-15,83.3125,89.13999938964844,83.1449966430664,87.43000030517578,86.08889770507812,779940400.0 +2020-06-22,87.83499908447266,93.09500122070312,87.7874984741211,88.40750122070312,87.05142974853516,883003200.0 +2020-06-29,88.3125,92.61750030517578,87.81999969482422,91.02749633789062,89.6312026977539,495648000.0 +2020-07-06,92.5,96.31749725341797,92.46749877929688,95.91999816894531,94.44866180419922,564072000.0 +2020-07-13,97.26499938964844,99.95500183105469,93.87750244140625,96.32749938964844,94.84992218017578,718600800.0 +2020-07-20,96.4175033569336,99.25,89.1449966430664,92.61499786376953,91.1943588256836,665196000.0 +2020-07-27,93.70999908447266,106.41500091552734,93.24749755859375,106.26000213623047,104.63007354736328,847635600.0 +2020-08-03,108.19999694824219,114.4124984741211,107.89250183105469,111.11250305175781,109.40812683105469,1003474000.0 +2020-08-10,112.5999984741211,116.0425033569336,109.10749816894531,114.90750122070312,113.34890747070312,941551200.0 +2020-08-17,116.0625,124.86750030517578,113.9625015258789,124.37000274658203,122.68306732177734,835695200.0 +2020-08-24,128.69749450683594,128.78500366210938,123.05249786376953,124.80750274658203,123.11463165283203,1063638000.0 +2020-08-31,127.58000183105469,137.97999572753906,110.88999938964844,120.95999908447266,119.3193130493164,1167976600.0 +2020-09-07,113.94999694824219,120.5,110.0,112.0,110.4808578491211,771441800.0 +2020-09-14,114.72000122070312,118.83000183105469,106.08999633789062,106.83999633789062,105.39083099365234,944587000.0 +2020-09-21,104.54000091552734,112.86000061035156,103.0999984741211,112.27999877929688,110.7570571899414,847212600.0 +2020-09-28,115.01000213623047,117.72000122070312,112.22000122070312,113.0199966430664,111.48702239990234,640562200.0 +2020-10-05,113.91000366210938,117.0,112.25,116.97000122070312,115.38343811035156,548575100.0 +2020-10-12,120.05999755859375,125.38999938964844,118.1500015258789,119.0199966430664,117.40563201904297,881222300.0 +2020-10-19,119.95999908447266,120.41999816894531,114.27999877929688,115.04000091552734,113.47960662841797,519569600.0 +2020-10-26,114.01000213623047,117.27999877929688,107.72000122070312,108.86000061035156,107.38345336914062,684467100.0 +2020-11-02,109.11000061035156,119.62000274658203,107.31999969482422,118.69000244140625,117.08011627197266,609571800.0 +2020-11-09,120.5,121.98999786376953,114.12999725341797,119.26000213623047,117.84534454345703,589577900.0 +2020-11-16,118.91999816894531,120.98999786376953,116.80999755859375,117.33999633789062,115.94810485839844,389493400.0 +2020-11-23,117.18000030517578,117.62000274658203,112.58999633789062,116.58999633789062,115.2070083618164,365024000.0 +2020-11-30,116.97000122070312,123.77999877929688,116.80999755859375,122.25,120.79986572265625,543370600.0 +2020-12-07,122.30999755859375,125.94999694824219,120.1500015258789,122.41000366210938,120.95797729492188,452278700.0 +2020-12-14,122.5999984741211,129.5800018310547,121.54000091552734,126.66000366210938,125.15756225585938,621538100.0 +2020-12-21,125.0199966430664,134.41000366210938,123.44999694824219,131.97000122070312,130.40457153320312,433310200.0 +2020-12-28,133.99000549316406,138.7899932861328,131.72000122070312,132.69000244140625,131.11602783203125,441102200.0 +2021-01-04,133.52000427246094,133.61000061035156,126.37999725341797,132.0500030517578,130.48362731933594,610791200.0 +2021-01-11,129.19000244140625,131.4499969482422,126.86000061035156,127.13999938964844,125.63187408447266,482792700.0 +2021-01-18,127.77999877929688,139.85000610351562,126.94000244140625,139.07000732421875,137.42037963867188,429687100.0 +2021-01-25,143.07000732421875,145.08999633789062,130.2100067138672,131.9600067138672,130.3946990966797,716991000.0 +2021-02-01,133.75,137.4199981689453,130.92999267578125,136.75999450683594,135.1377716064453,439303000.0 +2021-02-08,136.02999877929688,137.8800048828125,133.69000244140625,135.3699951171875,133.96412658691406,345543100.0 +2021-02-15,135.49000549316406,136.00999450683594,127.41000366210938,129.8699951171875,128.521240234375,363020300.0 +2021-02-22,128.00999450683594,129.72000122070312,118.38999938964844,121.26000213623047,120.00067901611328,685989200.0 +2021-03-01,123.75,128.72000122070312,117.56999969482422,121.41999816894531,120.15900421142578,663456700.0 +2021-03-08,120.93000030517578,123.20999908447266,116.20999908447266,121.02999877929688,119.7730712890625,586977300.0 +2021-03-15,121.41000366210938,127.22000122070312,119.68000030517578,119.98999786376953,118.74386596679688,626343500.0 +2021-03-22,120.33000183105469,124.23999786376953,118.91999816894531,121.20999908447266,119.95118713378906,488825800.0 +2021-03-29,121.6500015258789,124.18000030517578,118.86000061035156,123.0,121.72260284423828,359904000.0 +2021-04-05,123.87000274658203,133.0399932861328,123.06999969482422,133.0,131.61874389648438,447820500.0 +2021-04-12,132.52000427246094,135.0,130.6300048828125,134.16000366210938,132.76669311523438,444178800.0 +2021-04-19,133.50999450683594,135.52999877929688,131.3000030517578,134.32000732421875,132.925048828125,421147600.0 +2021-04-26,134.8300018310547,137.07000732421875,131.07000732421875,131.4600067138672,130.09474182128906,501621500.0 +2021-05-03,132.0399932861328,134.07000732421875,126.69999694824219,130.2100067138672,128.85772705078125,453802300.0 +2021-05-10,129.41000366210938,129.5399932861328,122.25,127.44999694824219,126.34062194824219,514165600.0 +2021-05-17,126.81999969482422,128.0,122.86000061035156,125.43000030517578,124.33820343017578,386352000.0 +2021-05-24,126.01000213623047,128.32000732421875,124.55000305175781,124.61000061035156,123.52533721923828,357615000.0 +2021-05-31,125.08000183105469,126.16000366210938,123.12999725341797,125.88999938964844,124.79420471191406,278314500.0 +2021-06-07,126.16999816894531,128.4600067138672,124.83000183105469,127.3499984741211,126.24148559570312,327048100.0 +2021-06-14,127.81999969482422,132.5500030517578,127.06999969482422,130.4600067138672,129.3244171142578,457142800.0 +2021-06-21,130.3000030517578,134.63999938964844,129.2100067138672,133.11000061035156,131.95135498046875,354155800.0 +2021-06-28,133.41000366210938,140.0,133.35000610351562,139.9600067138672,138.74172973632812,321267200.0 +2021-07-05,140.07000732421875,145.64999389648438,140.07000732421875,145.11000061035156,143.84689331054688,418559700.0 +2021-07-12,146.2100067138672,150.0,143.6300048828125,146.38999938964844,145.11573791503906,504249300.0 +2021-07-19,143.75,148.72000122070312,141.6699981689453,148.55999755859375,147.26687622070312,441563700.0 +2021-07-26,148.27000427246094,149.8300018310547,142.5399932861328,145.86000061035156,144.59036254882812,423324000.0 +2021-08-02,146.36000061035156,148.0399932861328,145.17999267578125,146.13999938964844,144.86795043945312,284559400.0 +2021-08-09,146.1999969482422,149.44000244140625,145.3000030517578,149.10000610351562,148.02362060546875,298082900.0 +2021-08-16,148.5399932861328,151.67999267578125,144.5,148.19000244140625,147.12017822265625,429361600.0 +2021-08-23,148.30999755859375,150.86000061035156,146.8300018310547,148.60000610351562,147.5272216796875,272129100.0 +2021-08-30,149.0,154.97999572753906,148.61000061035156,154.3000030517578,153.18606567382812,386647700.0 +2021-09-06,154.97000122070312,157.25999450683594,148.6999969482422,148.97000122070312,147.89453125,354897400.0 +2021-09-13,150.6300048828125,151.4199981689453,145.75999450683594,146.05999755859375,145.0055694580078,492884800.0 +2021-09-20,143.8000030517578,147.47000122070312,141.27000427246094,146.9199981689453,145.85934448242188,394033300.0 +2021-09-27,145.47000122070312,145.9600067138672,139.11000061035156,142.64999389648438,141.6201629638672,441421300.0 +2021-10-04,141.75999450683594,144.22000122070312,138.27000427246094,142.89999389648438,141.86837768554688,382910100.0 +2021-10-11,142.27000427246094,144.89999389648438,139.1999969482422,144.83999633789062,143.79437255859375,354098200.0 +2021-10-18,143.4499969482422,150.17999267578125,143.16000366210938,148.69000244140625,147.6165771484375,340691300.0 +2021-10-25,148.67999267578125,153.1699981689453,146.41000366210938,149.8000030517578,148.7185516357422,392740000.0 +2021-11-01,148.99000549316406,152.42999267578125,147.8000030517578,151.27999877929688,150.18788146972656,324080300.0 +2021-11-08,151.41000366210938,151.57000732421875,147.47999572753906,149.99000549316406,149.12452697753906,281799900.0 +2021-11-15,150.3699951171875,161.02000427246094,149.33999633789062,160.5500030517578,159.62359619140625,462419300.0 +2021-11-22,161.67999267578125,165.6999969482422,156.36000061035156,156.80999755859375,155.90516662597656,359933200.0 +2021-11-29,159.3699951171875,170.3000030517578,157.8000030517578,163.75999450683594,162.8150634765625,551588000.0 diff --git a/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[YahooFinance-True-True].csv b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[YahooFinance-True-True].csv new file mode 100644 index 000000000000..91529fc6c99e --- /dev/null +++ b/tests/openbb_terminal/stocks/csv/test_stocks_helper/test_load_week_or_month[YahooFinance-True-True].csv @@ -0,0 +1,26 @@ +date,Open,High,Low,Close,Adj Close,Volume +2019-12-01,66.81749725341797,73.49250030517578,64.07250213623047,73.4124984741211,71.92057800292969,2388794800.0 +2020-01-01,74.05999755859375,81.9625015258789,73.1875,77.37750244140625,75.80500030517578,2934370400.0 +2020-02-01,76.07499694824219,81.80500030517578,64.09249877929688,68.33999633789062,66.9511489868164,3019279200.0 +2020-03-01,70.56999969482422,76.0,53.15250015258789,63.5724983215332,62.4283561706543,6280072400.0 +2020-04-01,61.625,73.63249969482422,59.224998474121094,73.44999694824219,72.12810516357422,3265299200.0 +2020-05-01,71.5625,81.05999755859375,71.4625015258789,79.48500061035156,78.05447387695312,2805936000.0 +2020-06-01,79.4375,93.09500122070312,79.30249786376953,91.19999694824219,89.80106353759766,3243375600.0 +2020-07-01,91.27999877929688,106.41500091552734,89.1449966430664,106.26000213623047,104.63006591796875,3020283200.0 +2020-08-01,108.19999694824219,131.0,107.89250183105469,129.0399932861328,127.06061553955078,4070061100.0 +2020-09-01,132.75999450683594,137.97999572753906,103.0999984741211,115.80999755859375,114.23917388916016,3885245100.0 +2020-10-01,117.63999938964844,125.38999938964844,107.72000122070312,108.86000061035156,107.3834457397461,2894666500.0 +2020-11-01,109.11000061035156,121.98999786376953,107.31999969482422,119.05000305175781,117.43523406982422,2123077300.0 +2020-12-01,121.01000213623047,138.7899932861328,120.01000213623047,132.69000244140625,131.11602783203125,2322189600.0 +2021-01-01,133.52000427246094,145.08999633789062,126.37999725341797,131.9600067138672,130.3946990966797,2240262000.0 +2021-02-01,133.75,137.8800048828125,118.38999938964844,121.26000213623047,119.82161712646484,1833855600.0 +2021-03-01,123.75,128.72000122070312,116.20999908447266,122.1500015258789,120.88143157958984,2650418200.0 +2021-04-01,123.66000366210938,137.07000732421875,122.48999786376953,131.4600067138672,130.09474182128906,1889857500.0 +2021-05-01,132.0399932861328,134.07000732421875,122.25,124.61000061035156,123.31587219238281,1711934900.0 +2021-06-01,125.08000183105469,137.41000366210938,123.12999725341797,136.9600067138672,135.76783752441406,1606590000.0 +2021-07-01,136.60000610351562,150.0,135.75999450683594,145.86000061035156,144.59036254882812,1919035100.0 +2021-08-01,146.36000061035156,153.49000549316406,144.5,151.8300018310547,150.50840759277344,1461542800.0 +2021-09-01,152.8300018310547,157.25999450683594,141.27000427246094,141.5,140.47848510742188,1797835100.0 +2021-10-01,141.89999389648438,153.1699981689453,138.27000427246094,149.8000030517578,148.71856689453125,1565079200.0 +2021-11-01,148.99000549316406,165.6999969482422,147.47999572753906,165.3000030517578,164.10667419433594,1691029000.0 +2021-12-01,167.47999572753906,182.1300048828125,157.8000030517578,177.57000732421875,176.5453643798828,2444766700.0 diff --git a/tests/openbb_terminal/stocks/test_stocks_helper.py b/tests/openbb_terminal/stocks/test_stocks_helper.py index ce448b694cc4..4523e38acb57 100644 --- a/tests/openbb_terminal/stocks/test_stocks_helper.py +++ b/tests/openbb_terminal/stocks/test_stocks_helper.py @@ -80,12 +80,22 @@ def test_load(interval, recorder, source): recorder.capture(result_df) -@pytest.mark.vcr +@pytest.mark.vcr(record_mode="once") @pytest.mark.parametrize( - "weekly, monthly", - [(True, True), (True, False), (False, True)], + "source, weekly, monthly", + [ + ("AlphaVantage", True, True), + ("AlphaVantage", True, False), + ("AlphaVantage", False, True), + ("YahooFinance", True, True), + ("YahooFinance", True, False), + ("YahooFinance", False, True), + ("Polygon", True, True), + ("Polygon", True, False), + ("Polygon", False, True), + ], ) -def test_load_week_or_month(recorder, weekly, monthly): +def test_load_week_or_month(recorder, source, weekly, monthly): ticker = "AAPL" start = datetime.strptime("2019-12-01", "%Y-%m-%d") end = datetime.strptime("2021-12-02", "%Y-%m-%d") @@ -96,7 +106,7 @@ def test_load_week_or_month(recorder, weekly, monthly): interval=1440, end_date=end, prepost=prepost, - source="YahooFinance", + source=source, weekly=weekly, monthly=monthly, )