diff options
Diffstat (limited to 'examples/loadHistoricalPriceData.ipynb')
-rw-r--r-- | examples/loadHistoricalPriceData.ipynb | 1713 |
1 files changed, 24 insertions, 1689 deletions
diff --git a/examples/loadHistoricalPriceData.ipynb b/examples/loadHistoricalPriceData.ipynb index 08f361e8dcd..f82ae2c4647 100644 --- a/examples/loadHistoricalPriceData.ipynb +++ b/examples/loadHistoricalPriceData.ipynb @@ -14,7 +14,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -50,82 +50,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>open</th>\n", - " <th>high</th>\n", - " <th>low</th>\n", - " <th>close</th>\n", - " <th>volume</th>\n", - " <th>dividends</th>\n", - " <th>stock splits</th>\n", - " <th>capital gains</th>\n", - " </tr>\n", - " <tr>\n", - " <th>date</th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>2022-11-22</th>\n", - " <td>396.63</td>\n", - " <td>400.07</td>\n", - " <td>395.15</td>\n", - " <td>399.9</td>\n", - " <td>60429000</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " open high low close volume dividends stock splits \\\n", - "date \n", - "2022-11-22 396.63 400.07 395.15 399.9 60429000 0.0 0.0 \n", - "\n", - " capital gains \n", - "date \n", - "2022-11-22 0.0 " - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df_daily = obb.equity.price.historical(symbol = \"spy\", provider=\"yfinance\")\n", "df_daily.to_df().head(1)\n" @@ -141,82 +68,9 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>open</th>\n", - " <th>high</th>\n", - " <th>low</th>\n", - " <th>close</th>\n", - " <th>volume</th>\n", - " <th>dividends</th>\n", - " <th>stock splits</th>\n", - " <th>capital gains</th>\n", - " </tr>\n", - " <tr>\n", - " <th>date</th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>1993-01-29</th>\n", - " <td>43.97</td>\n", - " <td>43.97</td>\n", - " <td>43.75</td>\n", - " <td>43.94</td>\n", - " <td>1003200</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " open high low close volume dividends stock splits \\\n", - "date \n", - "1993-01-29 43.97 43.97 43.75 43.94 1003200 0.0 0.0 \n", - "\n", - " capital gains \n", - "date \n", - "1993-01-29 0.0 " - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df_daily = obb.equity.price.historical(symbol = \"spy\", start_date = \"1990-01-01\", provider=\"yfinance\").to_df()\n", "df_daily.head(1)\n" @@ -241,95 +95,9 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>open</th>\n", - " <th>high</th>\n", - " <th>low</th>\n", - " <th>close</th>\n", - " <th>volume</th>\n", - " <th>dividends</th>\n", - " <th>stock splits</th>\n", - " <th>capital gains</th>\n", - " </tr>\n", - " <tr>\n", - " <th>date</th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>2023-10-01</th>\n", - " <td>426.62</td>\n", - " <td>438.14</td>\n", - " <td>409.21</td>\n", - " <td>418.20</td>\n", - " <td>1999149700</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-11-01</th>\n", - " <td>419.20</td>\n", - " <td>456.38</td>\n", - " <td>418.65</td>\n", - " <td>455.02</td>\n", - " <td>1161239576</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " open high low close volume dividends \\\n", - "date \n", - "2023-10-01 426.62 438.14 409.21 418.20 1999149700 0.0 \n", - "2023-11-01 419.20 456.38 418.65 455.02 1161239576 0.0 \n", - "\n", - " stock splits capital gains \n", - "date \n", - "2023-10-01 0.0 0.0 \n", - "2023-11-01 0.0 0.0 " - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df_monthly = obb.equity.price.historical(\"spy\", start_date=\"1990-01-01\", interval=\"1M\", provider=\"yfinance\").to_df()\n", "df_monthly.tail(2)\n" @@ -346,162 +114,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>open</th>\n", - " <th>high</th>\n", - " <th>low</th>\n", - " <th>close</th>\n", - " <th>volume</th>\n", - " </tr>\n", - " <tr>\n", - " <th>date</th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>1993-01-31</th>\n", - " <td>43.97</td>\n", - " <td>43.97</td>\n", - " <td>43.75</td>\n", - " <td>43.94</td>\n", - " <td>1003200</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1993-02-28</th>\n", - " <td>43.97</td>\n", - " <td>45.12</td>\n", - " <td>42.81</td>\n", - " <td>44.41</td>\n", - " <td>5417600</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1993-03-31</th>\n", - " <td>44.56</td>\n", - " <td>45.84</td>\n", - " <td>44.22</td>\n", - " <td>45.19</td>\n", - " <td>3019200</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1993-04-30</th>\n", - " <td>45.25</td>\n", - " <td>45.25</td>\n", - " <td>43.28</td>\n", - " <td>44.03</td>\n", - " <td>2697200</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1993-05-31</th>\n", - " <td>44.09</td>\n", - " <td>45.66</td>\n", - " <td>43.84</td>\n", - " <td>45.22</td>\n", - " <td>1808000</td>\n", - " </tr>\n", - " <tr>\n", - " <th>...</th>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-07-31</th>\n", - " <td>442.92</td>\n", - " <td>459.44</td>\n", - " <td>437.06</td>\n", - " <td>457.79</td>\n", - " <td>1374632400</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-08-31</th>\n", - " <td>456.27</td>\n", - " <td>457.25</td>\n", - " <td>433.01</td>\n", - " <td>450.35</td>\n", - " <td>1754764700</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-09-30</th>\n", - " <td>453.17</td>\n", - " <td>453.67</td>\n", - " <td>422.29</td>\n", - " <td>427.48</td>\n", - " <td>1588673200</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-10-31</th>\n", - " <td>426.62</td>\n", - " <td>438.14</td>\n", - " <td>409.21</td>\n", - " <td>418.20</td>\n", - " <td>1999149700</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-11-30</th>\n", - " <td>419.20</td>\n", - " <td>456.38</td>\n", - " <td>418.65</td>\n", - " <td>455.02</td>\n", - " <td>1214703500</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>371 rows × 5 columns</p>\n", - "</div>" - ], - "text/plain": [ - " open high low close volume\n", - "date \n", - "1993-01-31 43.97 43.97 43.75 43.94 1003200\n", - "1993-02-28 43.97 45.12 42.81 44.41 5417600\n", - "1993-03-31 44.56 45.84 44.22 45.19 3019200\n", - "1993-04-30 45.25 45.25 43.28 44.03 2697200\n", - "1993-05-31 44.09 45.66 43.84 45.22 1808000\n", - "... ... ... ... ... ...\n", - "2023-07-31 442.92 459.44 437.06 457.79 1374632400\n", - "2023-08-31 456.27 457.25 433.01 450.35 1754764700\n", - "2023-09-30 453.17 453.67 422.29 427.48 1588673200\n", - "2023-10-31 426.62 438.14 409.21 418.20 1999149700\n", - "2023-11-30 419.20 456.38 418.65 455.02 1214703500\n", - "\n", - "[371 rows x 5 columns]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "(\n", " df_daily[[\"open\", \"high\", \"low\", \"close\", \"volume\"]]\n", @@ -522,104 +137,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "dict_keys(['one', 'five', 'fifteen', 'thirty', 'sixty', 'daily', 'weekly', 'monthly'])" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>open</th>\n", - " <th>high</th>\n", - " <th>low</th>\n", - " <th>close</th>\n", - " <th>volume</th>\n", - " <th>dividends</th>\n", - " <th>stock splits</th>\n", - " <th>capital gains</th>\n", - " </tr>\n", - " <tr>\n", - " <th>date</th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>2023-11-13</th>\n", - " <td>439.23</td>\n", - " <td>451.42</td>\n", - " <td>438.42</td>\n", - " <td>450.79</td>\n", - " <td>376539600</td>\n", - " <td>0.0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-11-20</th>\n", - " <td>450.53</td>\n", - " <td>456.38</td>\n", - " <td>450.52</td>\n", - " <td>455.02</td>\n", - " <td>233751276</td>\n", - " <td>0.0</td>\n", - " <td>0</td>\n", - " <td>0</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " open high low close volume dividends \\\n", - "date \n", - "2023-11-13 439.23 451.42 438.42 450.79 376539600 0.0 \n", - "2023-11-20 450.53 456.38 450.52 455.02 233751276 0.0 \n", - "\n", - " stock splits capital gains \n", - "date \n", - "2023-11-13 0 0 \n", - "2023-11-20 0 0 " - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "class HistoricalPrices:\n", " def __init__(self, symbol, start_date, end_date, provider, **kwargs) -> None:\n", @@ -679,138 +199,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>AV Volume</th>\n", - " <th>FMP Volume</th>\n", - " <th>Intrinio Volume</th>\n", - " <th>Yahoo Volume</th>\n", - " </tr>\n", - " <tr>\n", - " <th>date</th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>2023-11-09</th>\n", - " <td>83174417.0</td>\n", - " <td>83071417</td>\n", - " <td>83174417.0</td>\n", - " <td>83174400</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-11-10</th>\n", - " <td>89558054.0</td>\n", - " <td>89558054</td>\n", - " <td>89558054.0</td>\n", - " <td>89462200</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-11-13</th>\n", - " <td>52236068.0</td>\n", - " <td>52192568</td>\n", - " <td>52236068.0</td>\n", - " <td>52236100</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-11-14</th>\n", - " <td>97176935.0</td>\n", - " <td>97130503</td>\n", - " <td>97176935.0</td>\n", - " <td>97176900</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-11-15</th>\n", - " <td>77327573.0</td>\n", - " <td>77327573</td>\n", - " <td>77327573.0</td>\n", - " <td>77327600</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-11-16</th>\n", - " <td>66665797.0</td>\n", - " <td>66654468</td>\n", - " <td>66665797.0</td>\n", - " <td>66665800</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-11-17</th>\n", - " <td>83193902.0</td>\n", - " <td>83193902</td>\n", - " <td>83193902.0</td>\n", - " <td>83133200</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-11-20</th>\n", - " <td>70055633.0</td>\n", - " <td>69614633</td>\n", - " <td>70055633.0</td>\n", - " <td>69936200</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-11-21</th>\n", - " <td>49244639.0</td>\n", - " <td>49244639</td>\n", - " <td>49244639.0</td>\n", - " <td>49244600</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-11-22</th>\n", - " <td>59446573.0</td>\n", - " <td>59313820</td>\n", - " <td>58205780.0</td>\n", - " <td>59394900</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " AV Volume FMP Volume Intrinio Volume Yahoo Volume\n", - "date \n", - "2023-11-09 83174417.0 83071417 83174417.0 83174400\n", - "2023-11-10 89558054.0 89558054 89558054.0 89462200\n", - "2023-11-13 52236068.0 52192568 52236068.0 52236100\n", - "2023-11-14 97176935.0 97130503 97176935.0 97176900\n", - "2023-11-15 77327573.0 77327573 77327573.0 77327600\n", - "2023-11-16 66665797.0 66654468 66665797.0 66665800\n", - "2023-11-17 83193902.0 83193902 83193902.0 83133200\n", - "2023-11-20 70055633.0 69614633 70055633.0 69936200\n", - "2023-11-21 49244639.0 49244639 49244639.0 49244600\n", - "2023-11-22 59446573.0 59313820 58205780.0 59394900" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Collect the data\n", "\n", @@ -915,1100 +306,45 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>open</th>\n", - " <th>high</th>\n", - " <th>low</th>\n", - " <th>close</th>\n", - " <th>volume</th>\n", - " <th>dividends</th>\n", - " <th>stock splits</th>\n", - " </tr>\n", - " <tr>\n", - " <th>date</th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " <th></th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>2022-11-22</th>\n", - " <td>43.08</td>\n", - " <td>44.24</td>\n", - " <td>43.00</td>\n", - " <td>43.00</td>\n", - " <td>287</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2022-11-23</th>\n", - " <td>41.58</td>\n", - " <td>42.45</td>\n", - " <td>39.00</td>\n", - " <td>39.00</td>\n", - " <td>6</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2022-11-28</th>\n", - " <td>42.50</td>\n", - " <td>42.90</td>\n", - " <td>42.50</td>\n", - " <td>42.90</td>\n", - " <td>18</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2022-11-30</th>\n", - " <td>41.00</td>\n", - " <td>41.00</td>\n", - " <td>41.00</td>\n", - " <td>41.00</td>\n", - " <td>1</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2022-12-01</th>\n", - " <td>40.73</td>\n", - " <td>40.81</td>\n", - " <td>39.85</td>\n", - " <td>40.25</td>\n", - " <td>42</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>...</th>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " <td>...</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-11-16</th>\n", - " <td>11.41</td>\n", - " <td>11.88</td>\n", - " <td>11.27</td>\n", - " <td>11.70</td>\n", - " <td>264</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-11-17</th>\n", - " <td>11.50</td>\n", - " <td>11.50</td>\n", - " <td>11.19</td>\n", - " <td>11.40</td>\n", - " <td>0</td>\n", - " <td>0.0</td>\n", - " <td>0.0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2023-11-20</th>\n", - " <td>11.00</td>\n", |