Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shinseitaro/e87d93fbb2c878b810613954debd31af to your computer and use it in GitHub Desktop.
Save shinseitaro/e87d93fbb2c878b810613954debd31af to your computer and use it in GitHub Desktop.
SP500 and Ratio of Stocks Avove 50 day MA
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "SP500 and Ratio of Stocks Avove 50 day MA",
"provenance": [],
"collapsed_sections": [],
"authorship_tag": "ABX9TyN8sxq94L7J9Zzsb9l4VUp3",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/shinseitaro/e87d93fbb2c878b810613954debd31af/sp500-and-ratio-of-stocks-avove-50-day-ma.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "9AS26Q7Nm4-5"
},
"source": [
"## S&P 500 and % of Stocks Above 50-Day Moving Averages\n",
"\n",
"SP500の構成銘柄で、現在価格と50日移動平均を比べた話。\n",
"\n",
"- https://www.isabelnet.com/sp-500-and-of-stocks-above-50-day-moving-averages/\n",
"- https://twitter.com/ISABELNET_SA/status/1405125897515114498\n",
"\n",
"![](https://pbs.twimg.com/media/E4ACeLXUYAMb4g4?format=jpg)\n",
"\n",
"\n",
"SP500各構成銘柄ではどのようになってるのか?と思ってやってみました\n",
"\n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "8Kp66pAk8nyz"
},
"source": [
"# インストール\n",
"!pip install yfinance"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "_1YXOeWw81A3"
},
"source": [
"import yfinance as yf\n",
"import pandas as pd\n",
"import numpy as np"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "KzRy5MIHsQL-",
"outputId": "fbc439a2-4d27-49bf-bfc4-b6a88dd4ecfc"
},
"source": [
"# wikipedia から SP500 の構成銘柄リスト取得\n",
"wiki = pd.read_html(\"https://en.wikipedia.org/wiki/List_of_S%26P_500_companies\")[0]\n",
"symbol = wiki[\"Symbol\"].tolist()\n",
"print(symbol)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"['MMM', 'ABT', 'ABBV', 'ABMD', 'ACN', 'ATVI', 'ADBE', 'AMD', 'AAP', 'AES', 'AFL', 'A', 'APD', 'AKAM', 'ALK', 'ALB', 'ARE', 'ALXN', 'ALGN', 'ALLE', 'LNT', 'ALL', 'GOOGL', 'GOOG', 'MO', 'AMZN', 'AMCR', 'AEE', 'AAL', 'AEP', 'AXP', 'AIG', 'AMT', 'AWK', 'AMP', 'ABC', 'AME', 'AMGN', 'APH', 'ADI', 'ANSS', 'ANTM', 'AON', 'AOS', 'APA', 'AAPL', 'AMAT', 'APTV', 'ADM', 'ANET', 'AJG', 'AIZ', 'T', 'ATO', 'ADSK', 'ADP', 'AZO', 'AVB', 'AVY', 'BKR', 'BLL', 'BAC', 'BK', 'BAX', 'BDX', 'BRK.B', 'BBY', 'BIO', 'BIIB', 'BLK', 'BA', 'BKNG', 'BWA', 'BXP', 'BSX', 'BMY', 'AVGO', 'BR', 'BF.B', 'CHRW', 'COG', 'CDNS', 'CZR', 'CPB', 'COF', 'CAH', 'KMX', 'CCL', 'CARR', 'CTLT', 'CAT', 'CBOE', 'CBRE', 'CDW', 'CE', 'CNC', 'CNP', 'CERN', 'CF', 'CRL', 'SCHW', 'CHTR', 'CVX', 'CMG', 'CB', 'CHD', 'CI', 'CINF', 'CTAS', 'CSCO', 'C', 'CFG', 'CTXS', 'CLX', 'CME', 'CMS', 'KO', 'CTSH', 'CL', 'CMCSA', 'CMA', 'CAG', 'COP', 'ED', 'STZ', 'COO', 'CPRT', 'GLW', 'CTVA', 'COST', 'CCI', 'CSX', 'CMI', 'CVS', 'DHI', 'DHR', 'DRI', 'DVA', 'DE', 'DAL', 'XRAY', 'DVN', 'DXCM', 'FANG', 'DLR', 'DFS', 'DISCA', 'DISCK', 'DISH', 'DG', 'DLTR', 'D', 'DPZ', 'DOV', 'DOW', 'DTE', 'DUK', 'DRE', 'DD', 'DXC', 'EMN', 'ETN', 'EBAY', 'ECL', 'EIX', 'EW', 'EA', 'EMR', 'ENPH', 'ETR', 'EOG', 'EFX', 'EQIX', 'EQR', 'ESS', 'EL', 'ETSY', 'EVRG', 'ES', 'RE', 'EXC', 'EXPE', 'EXPD', 'EXR', 'XOM', 'FFIV', 'FB', 'FAST', 'FRT', 'FDX', 'FIS', 'FITB', 'FE', 'FRC', 'FISV', 'FLT', 'FMC', 'F', 'FTNT', 'FTV', 'FBHS', 'FOXA', 'FOX', 'BEN', 'FCX', 'GPS', 'GRMN', 'IT', 'GNRC', 'GD', 'GE', 'GIS', 'GM', 'GPC', 'GILD', 'GL', 'GPN', 'GS', 'GWW', 'HAL', 'HBI', 'HIG', 'HAS', 'HCA', 'PEAK', 'HSIC', 'HSY', 'HES', 'HPE', 'HLT', 'HOLX', 'HD', 'HON', 'HRL', 'HST', 'HWM', 'HPQ', 'HUM', 'HBAN', 'HII', 'IEX', 'IDXX', 'INFO', 'ITW', 'ILMN', 'INCY', 'IR', 'INTC', 'ICE', 'IBM', 'IP', 'IPG', 'IFF', 'INTU', 'ISRG', 'IVZ', 'IPGP', 'IQV', 'IRM', 'JKHY', 'J', 'JBHT', 'SJM', 'JNJ', 'JCI', 'JPM', 'JNPR', 'KSU', 'K', 'KEY', 'KEYS', 'KMB', 'KIM', 'KMI', 'KLAC', 'KHC', 'KR', 'LB', 'LHX', 'LH', 'LRCX', 'LW', 'LVS', 'LEG', 'LDOS', 'LEN', 'LLY', 'LNC', 'LIN', 'LYV', 'LKQ', 'LMT', 'L', 'LOW', 'LUMN', 'LYB', 'MTB', 'MRO', 'MPC', 'MKTX', 'MAR', 'MMC', 'MLM', 'MAS', 'MA', 'MKC', 'MXIM', 'MCD', 'MCK', 'MDT', 'MRK', 'MET', 'MTD', 'MGM', 'MCHP', 'MU', 'MSFT', 'MAA', 'MHK', 'TAP', 'MDLZ', 'MPWR', 'MNST', 'MCO', 'MS', 'MOS', 'MSI', 'MSCI', 'NDAQ', 'NTAP', 'NFLX', 'NWL', 'NEM', 'NWSA', 'NWS', 'NEE', 'NLSN', 'NKE', 'NI', 'NSC', 'NTRS', 'NOC', 'NLOK', 'NCLH', 'NOV', 'NRG', 'NUE', 'NVDA', 'NVR', 'NXPI', 'ORLY', 'OXY', 'ODFL', 'OMC', 'OKE', 'ORCL', 'OGN', 'OTIS', 'PCAR', 'PKG', 'PH', 'PAYX', 'PAYC', 'PYPL', 'PENN', 'PNR', 'PBCT', 'PEP', 'PKI', 'PRGO', 'PFE', 'PM', 'PSX', 'PNW', 'PXD', 'PNC', 'POOL', 'PPG', 'PPL', 'PFG', 'PG', 'PGR', 'PLD', 'PRU', 'PTC', 'PEG', 'PSA', 'PHM', 'PVH', 'QRVO', 'PWR', 'QCOM', 'DGX', 'RL', 'RJF', 'RTX', 'O', 'REG', 'REGN', 'RF', 'RSG', 'RMD', 'RHI', 'ROK', 'ROL', 'ROP', 'ROST', 'RCL', 'SPGI', 'CRM', 'SBAC', 'SLB', 'STX', 'SEE', 'SRE', 'NOW', 'SHW', 'SPG', 'SWKS', 'SNA', 'SO', 'LUV', 'SWK', 'SBUX', 'STT', 'STE', 'SYK', 'SIVB', 'SYF', 'SNPS', 'SYY', 'TMUS', 'TROW', 'TTWO', 'TPR', 'TGT', 'TEL', 'TDY', 'TFX', 'TER', 'TSLA', 'TXN', 'TXT', 'TMO', 'TJX', 'TSCO', 'TT', 'TDG', 'TRV', 'TRMB', 'TFC', 'TWTR', 'TYL', 'TSN', 'UDR', 'ULTA', 'USB', 'UAA', 'UA', 'UNP', 'UAL', 'UNH', 'UPS', 'URI', 'UHS', 'UNM', 'VLO', 'VTR', 'VRSN', 'VRSK', 'VZ', 'VRTX', 'VFC', 'VIAC', 'VTRS', 'V', 'VNO', 'VMC', 'WRB', 'WAB', 'WMT', 'WBA', 'DIS', 'WM', 'WAT', 'WEC', 'WFC', 'WELL', 'WST', 'WDC', 'WU', 'WRK', 'WY', 'WHR', 'WMB', 'WLTW', 'WYNN', 'XEL', 'XLNX', 'XYL', 'YUM', 'ZBRA', 'ZBH', 'ZION', 'ZTS']\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "QfGUKP539Jn4",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "0a61d972-46c6-4501-c2f5-b8e7dc8c4b87"
},
"source": [
"# 2019年からデータを取得\n",
"data = yf.download(symbol, start=\"2019-01-01\")\n"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"[*********************100%***********************] 505 of 505 completed\n",
"\n",
"2 Failed downloads:\n",
"- BF.B: No data found for this date range, symbol may be delisted\n",
"- BRK.B: No data found, symbol may be delisted\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Bv3kGwM_o-jf",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 400
},
"outputId": "7752c968-e50c-4816-858c-df71cc02c1ea"
},
"source": [
"# データ確認\n",
"data.head()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"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 tr th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe thead tr:last-of-type th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr>\n",
" <th></th>\n",
" <th colspan=\"40\" halign=\"left\">Adj Close</th>\n",
" <th>...</th>\n",
" <th colspan=\"40\" halign=\"left\">Volume</th>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <th>A</th>\n",
" <th>AAL</th>\n",
" <th>AAP</th>\n",
" <th>AAPL</th>\n",
" <th>ABBV</th>\n",
" <th>ABC</th>\n",
" <th>ABMD</th>\n",
" <th>ABT</th>\n",
" <th>ACN</th>\n",
" <th>ADBE</th>\n",
" <th>ADI</th>\n",
" <th>ADM</th>\n",
" <th>ADP</th>\n",
" <th>ADSK</th>\n",
" <th>AEE</th>\n",
" <th>AEP</th>\n",
" <th>AES</th>\n",
" <th>AFL</th>\n",
" <th>AIG</th>\n",
" <th>AIZ</th>\n",
" <th>AJG</th>\n",
" <th>AKAM</th>\n",
" <th>ALB</th>\n",
" <th>ALGN</th>\n",
" <th>ALK</th>\n",
" <th>ALL</th>\n",
" <th>ALLE</th>\n",
" <th>ALXN</th>\n",
" <th>AMAT</th>\n",
" <th>AMCR</th>\n",
" <th>AMD</th>\n",
" <th>AME</th>\n",
" <th>AMGN</th>\n",
" <th>AMP</th>\n",
" <th>AMT</th>\n",
" <th>AMZN</th>\n",
" <th>ANET</th>\n",
" <th>ANSS</th>\n",
" <th>ANTM</th>\n",
" <th>AON</th>\n",
" <th>...</th>\n",
" <th>V</th>\n",
" <th>VFC</th>\n",
" <th>VIAC</th>\n",
" <th>VLO</th>\n",
" <th>VMC</th>\n",
" <th>VNO</th>\n",
" <th>VRSK</th>\n",
" <th>VRSN</th>\n",
" <th>VRTX</th>\n",
" <th>VTR</th>\n",
" <th>VTRS</th>\n",
" <th>VZ</th>\n",
" <th>WAB</th>\n",
" <th>WAT</th>\n",
" <th>WBA</th>\n",
" <th>WDC</th>\n",
" <th>WEC</th>\n",
" <th>WELL</th>\n",
" <th>WFC</th>\n",
" <th>WHR</th>\n",
" <th>WLTW</th>\n",
" <th>WM</th>\n",
" <th>WMB</th>\n",
" <th>WMT</th>\n",
" <th>WRB</th>\n",
" <th>WRK</th>\n",
" <th>WST</th>\n",
" <th>WU</th>\n",
" <th>WY</th>\n",
" <th>WYNN</th>\n",
" <th>XEL</th>\n",
" <th>XLNX</th>\n",
" <th>XOM</th>\n",
" <th>XRAY</th>\n",
" <th>XYL</th>\n",
" <th>YUM</th>\n",
" <th>ZBH</th>\n",
" <th>ZBRA</th>\n",
" <th>ZION</th>\n",
" <th>ZTS</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",
" <th></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",
" <th></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",
" <th></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",
" <th></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",
" <th></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",
" <th></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",
" <th></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",
" <th></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",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-12-31</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-02</th>\n",
" <td>64.511734</td>\n",
" <td>31.963160</td>\n",
" <td>155.188538</td>\n",
" <td>38.439735</td>\n",
" <td>77.015884</td>\n",
" <td>71.200935</td>\n",
" <td>309.959991</td>\n",
" <td>66.789711</td>\n",
" <td>135.759460</td>\n",
" <td>224.570007</td>\n",
" <td>81.788750</td>\n",
" <td>37.792564</td>\n",
" <td>123.272530</td>\n",
" <td>128.960007</td>\n",
" <td>59.527939</td>\n",
" <td>67.233131</td>\n",
" <td>13.112932</td>\n",
" <td>42.820702</td>\n",
" <td>36.573414</td>\n",
" <td>85.537964</td>\n",
" <td>68.805428</td>\n",
" <td>59.009998</td>\n",
" <td>74.906342</td>\n",
" <td>202.119995</td>\n",
" <td>59.860054</td>\n",
" <td>77.300659</td>\n",
" <td>78.788170</td>\n",
" <td>98.050003</td>\n",
" <td>32.321915</td>\n",
" <td>8.262136</td>\n",
" <td>18.830000</td>\n",
" <td>66.341583</td>\n",
" <td>178.633621</td>\n",
" <td>101.390686</td>\n",
" <td>149.640915</td>\n",
" <td>1539.130005</td>\n",
" <td>210.550003</td>\n",
" <td>143.009995</td>\n",
" <td>247.203598</td>\n",
" <td>140.744812</td>\n",
" <td>...</td>\n",
" <td>8788000.0</td>\n",
" <td>1997834.0</td>\n",
" <td>4704600.0</td>\n",
" <td>4271900.0</td>\n",
" <td>1062000.0</td>\n",
" <td>844500.0</td>\n",
" <td>770500.0</td>\n",
" <td>560500.0</td>\n",
" <td>1465400.0</td>\n",
" <td>1794400.0</td>\n",
" <td>3768200.0</td>\n",
" <td>13969700.0</td>\n",
" <td>708500.0</td>\n",
" <td>641600.0</td>\n",
" <td>5528100.0</td>\n",
" <td>6385200.0</td>\n",
" <td>1849200.0</td>\n",
" <td>2328100.0</td>\n",
" <td>20295200.0</td>\n",
" <td>726100.0</td>\n",
" <td>743800.0</td>\n",
" <td>1919100.0</td>\n",
" <td>12113000.0</td>\n",
" <td>8152700.0</td>\n",
" <td>556350.0</td>\n",
" <td>2427400.0</td>\n",
" <td>337900.0</td>\n",
" <td>4950000.0</td>\n",
" <td>7442000.0</td>\n",
" <td>4174400.0</td>\n",
" <td>4476100.0</td>\n",
" <td>2478400.0</td>\n",
" <td>16727200.0</td>\n",
" <td>2899400.0</td>\n",
" <td>990900.0</td>\n",
" <td>1743400.0</td>\n",
" <td>1152100.0</td>\n",
" <td>347700.0</td>\n",
" <td>2234100.0</td>\n",
" <td>2665600.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-03</th>\n",
" <td>62.135132</td>\n",
" <td>29.581665</td>\n",
" <td>160.033279</td>\n",
" <td>34.610851</td>\n",
" <td>74.478317</td>\n",
" <td>70.168053</td>\n",
" <td>302.290009</td>\n",
" <td>63.637627</td>\n",
" <td>131.124390</td>\n",
" <td>215.699997</td>\n",
" <td>76.848297</td>\n",
" <td>37.626442</td>\n",
" <td>119.549942</td>\n",
" <td>121.849998</td>\n",
" <td>59.677845</td>\n",
" <td>67.076424</td>\n",
" <td>13.103684</td>\n",
" <td>41.738892</td>\n",
" <td>35.770317</td>\n",
" <td>84.170876</td>\n",
" <td>67.513359</td>\n",
" <td>57.700001</td>\n",
" <td>69.708641</td>\n",
" <td>184.779999</td>\n",
" <td>56.551788</td>\n",
" <td>76.031868</td>\n",
" <td>77.456398</td>\n",
" <td>100.209999</td>\n",
" <td>30.449026</td>\n",
" <td>8.262136</td>\n",
" <td>17.049999</td>\n",
" <td>64.454254</td>\n",
" <td>175.915527</td>\n",
" <td>98.704720</td>\n",
" <td>150.538330</td>\n",
" <td>1500.280029</td>\n",
" <td>199.600006</td>\n",
" <td>137.639999</td>\n",
" <td>240.805878</td>\n",
" <td>138.634232</td>\n",
" <td>...</td>\n",
" <td>9428300.0</td>\n",
" <td>2412014.0</td>\n",
" <td>5106600.0</td>\n",
" <td>3300800.0</td>\n",
" <td>972900.0</td>\n",
" <td>931300.0</td>\n",
" <td>1102000.0</td>\n",
" <td>665100.0</td>\n",
" <td>1690900.0</td>\n",
" <td>2293500.0</td>\n",
" <td>4914900.0</td>\n",
" <td>19245400.0</td>\n",
" <td>952100.0</td>\n",
" <td>830900.0</td>\n",
" <td>5853200.0</td>\n",
" <td>7735400.0</td>\n",
" <td>1789500.0</td>\n",
" <td>2369600.0</td>\n",
" <td>22262000.0</td>\n",
" <td>694500.0</td>\n",
" <td>689800.0</td>\n",
" <td>3343700.0</td>\n",
" <td>10314700.0</td>\n",
" <td>8277300.0</td>\n",
" <td>564450.0</td>\n",
" <td>2272700.0</td>\n",
" <td>482600.0</td>\n",
" <td>4295200.0</td>\n",
" <td>9788300.0</td>\n",
" <td>2885100.0</td>\n",
" <td>5287600.0</td>\n",
" <td>2666200.0</td>\n",
" <td>13866100.0</td>\n",
" <td>2382100.0</td>\n",
" <td>1243100.0</td>\n",
" <td>2680300.0</td>\n",
" <td>1166100.0</td>\n",
" <td>514600.0</td>\n",
" <td>2078400.0</td>\n",
" <td>2390900.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-04</th>\n",
" <td>64.285828</td>\n",
" <td>31.530161</td>\n",
" <td>156.063141</td>\n",
" <td>36.088364</td>\n",
" <td>76.877777</td>\n",
" <td>70.980965</td>\n",
" <td>313.440002</td>\n",
" <td>65.453934</td>\n",
" <td>136.223007</td>\n",
" <td>226.190002</td>\n",
" <td>78.714058</td>\n",
" <td>38.493969</td>\n",
" <td>124.314507</td>\n",
" <td>128.279999</td>\n",
" <td>60.521152</td>\n",
" <td>67.694008</td>\n",
" <td>13.538317</td>\n",
" <td>42.256275</td>\n",
" <td>37.090355</td>\n",
" <td>85.870239</td>\n",
" <td>69.216980</td>\n",
" <td>59.380001</td>\n",
" <td>73.113022</td>\n",
" <td>186.710007</td>\n",
" <td>58.381065</td>\n",
" <td>78.275902</td>\n",
" <td>77.281433</td>\n",
" <td>106.000000</td>\n",
" <td>32.534309</td>\n",
" <td>8.262136</td>\n",
" <td>19.000000</td>\n",
" <td>66.892044</td>\n",
" <td>181.928909</td>\n",
" <td>103.992134</td>\n",
" <td>151.139786</td>\n",
" <td>1575.390015</td>\n",
" <td>202.470001</td>\n",
" <td>143.660004</td>\n",
" <td>242.250229</td>\n",
" <td>141.243149</td>\n",
" <td>...</td>\n",
" <td>11065800.0</td>\n",
" <td>2145134.0</td>\n",
" <td>3917700.0</td>\n",
" <td>4364500.0</td>\n",
" <td>1146300.0</td>\n",
" <td>616500.0</td>\n",
" <td>811300.0</td>\n",
" <td>789300.0</td>\n",
" <td>1874500.0</td>\n",
" <td>2361900.0</td>\n",
" <td>5373800.0</td>\n",
" <td>17035800.0</td>\n",
" <td>1423600.0</td>\n",
" <td>754600.0</td>\n",
" <td>6868600.0</td>\n",
" <td>6332900.0</td>\n",
" <td>1798100.0</td>\n",
" <td>2673200.0</td>\n",
" <td>23343600.0</td>\n",
" <td>792500.0</td>\n",
" <td>842100.0</td>\n",
" <td>2433700.0</td>\n",
" <td>8971900.0</td>\n",
" <td>8029100.0</td>\n",
" <td>792600.0</td>\n",
" <td>2011200.0</td>\n",
" <td>818600.0</td>\n",
" <td>4908500.0</td>\n",
" <td>5843900.0</td>\n",
" <td>3007200.0</td>\n",
" <td>5535600.0</td>\n",
" <td>3011700.0</td>\n",
" <td>16043600.0</td>\n",
" <td>2787800.0</td>\n",
" <td>970900.0</td>\n",
" <td>2142700.0</td>\n",
" <td>1580400.0</td>\n",
" <td>723300.0</td>\n",
" <td>2370500.0</td>\n",
" <td>3383500.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2019-01-07</th>\n",
" <td>65.650917</td>\n",
" <td>32.425678</td>\n",
" <td>158.352859</td>\n",
" <td>36.008041</td>\n",
" <td>77.999825</td>\n",
" <td>71.487831</td>\n",
" <td>314.799988</td>\n",
" <td>66.434143</td>\n",
" <td>136.696152</td>\n",
" <td>229.259995</td>\n",
" <td>79.209045</td>\n",
" <td>38.687767</td>\n",
" <td>123.641960</td>\n",
" <td>132.720001</td>\n",
" <td>59.827774</td>\n",
" <td>67.316086</td>\n",
" <td>13.603048</td>\n",
" <td>42.482048</td>\n",
" <td>37.302670</td>\n",
" <td>86.212021</td>\n",
" <td>69.015991</td>\n",
" <td>61.240002</td>\n",
" <td>73.439095</td>\n",
" <td>189.919998</td>\n",
" <td>58.497826</td>\n",
" <td>78.152824</td>\n",
" <td>78.088264</td>\n",
" <td>107.940002</td>\n",
" <td>33.113556</td>\n",
" <td>8.439816</td>\n",
" <td>20.570000</td>\n",
" <td>66.783920</td>\n",
" <td>184.377106</td>\n",
" <td>104.471100</td>\n",
" <td>152.075424</td>\n",
" <td>1629.510010</td>\n",
" <td>209.919998</td>\n",
" <td>147.320007</td>\n",
" <td>242.676743</td>\n",
" <td>140.930450</td>\n",
" <td>...</td>\n",
" <td>12928000.0</td>\n",
" <td>1924132.0</td>\n",
" <td>3413800.0</td>\n",
" <td>3833600.0</td>\n",
" <td>1177800.0</td>\n",
" <td>882800.0</td>\n",
" <td>801700.0</td>\n",
" <td>643000.0</td>\n",
" <td>1294600.0</td>\n",
" <td>2718400.0</td>\n",
" <td>5246100.0</td>\n",
" <td>16349000.0</td>\n",
" <td>1848700.0</td>\n",
" <td>634200.0</td>\n",
" <td>6192500.0</td>\n",
" <td>5967600.0</td>\n",
" <td>1306900.0</td>\n",
" <td>1643800.0</td>\n",
" <td>21858000.0</td>\n",
" <td>757300.0</td>\n",
" <td>879200.0</td>\n",
" <td>2859400.0</td>\n",
" <td>11363800.0</td>\n",
" <td>7789700.0</td>\n",
" <td>447150.0</td>\n",
" <td>2543300.0</td>\n",
" <td>362300.0</td>\n",
" <td>6236200.0</td>\n",
" <td>6562200.0</td>\n",
" <td>3143800.0</td>\n",
" <td>4208100.0</td>\n",
" <td>2826100.0</td>\n",
" <td>10844200.0</td>\n",
" <td>2362800.0</td>\n",
" <td>1341600.0</td>\n",
" <td>2561100.0</td>\n",
" <td>900300.0</td>\n",
" <td>1100000.0</td>\n",
" <td>2459700.0</td>\n",
" <td>2360800.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 3030 columns</p>\n",
"</div>"
],
"text/plain": [
" Adj Close ... Volume \n",
" A AAL AAP ... ZBRA ZION ZTS\n",
"Date ... \n",
"2018-12-31 NaN NaN NaN ... NaN NaN NaN\n",
"2019-01-02 64.511734 31.963160 155.188538 ... 347700.0 2234100.0 2665600.0\n",
"2019-01-03 62.135132 29.581665 160.033279 ... 514600.0 2078400.0 2390900.0\n",
"2019-01-04 64.285828 31.530161 156.063141 ... 723300.0 2370500.0 3383500.0\n",
"2019-01-07 65.650917 32.425678 158.352859 ... 1100000.0 2459700.0 2360800.0\n",
"\n",
"[5 rows x 3030 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 5
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Qu_EpBghtP-N"
},
"source": [
"# 調整済み終値だけ取得\n",
"df_close = data[\"Adj Close\"]\n",
"df_log_close = df_close.apply(np.log)\n",
"# 50日移動平均算出\n",
"df_log_close_ma = df_log_close.rolling(window=50).mean()\n"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 592
},
"id": "YGFzHgmZ1MOs",
"outputId": "acc695d4-2f6d-4c47-fe6c-33a71de6ed28"
},
"source": [
"# 今年の1月、4月と現在の終値と50日移動平均の差をプロット\n",
"(df_log_close / df_log_close_ma -1).loc[\n",
" [\"2021-01-04\",\"2021-04-01\",\"2021-06-18\"]\n",
" ].T.plot.hist(bins=50, grid=True, alpha=0.8, subplots=True, figsize=(10,10));"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAl4AAAI/CAYAAACmidd5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzde5RV5Zng/++jaBMFEbAtaYpuMEUIIAahCEQ7CYSwSLxgWm01bUcSIcRb7InTM5JMYtJZ06tx1mjHxBhjZNLopKeMxojp8RJvxW/MtBhQciUOthIpQoyWoJQdRO3n90cdqlGqis3l7FN1+H7WcuXsy/u+z3k84JN37/3uyEwkSZJUfQfVOgBJkqQDhYWXJElSSSy8JEmSSmLhJUmSVBILL0mSpJJYeEmSJJVkQDU7j4jPAAuBBH4GfAIYAbQAw4HVwMcyc3tv/Rx11FE5evToaoZaildeeYXDDz+81mHUlDkwB2AOwByAOQBzAPWZg9WrV7+QmX/Y3bGo1jpeETESeASYkJm/j4jvAncDJwN3ZGZLRNwA/CQzv9FbX83Nzblq1aqqxFmm1tZWZs6cWeswasocmAMwB2AOwByAOYD6zEFErM7M5u6OVftS4wDgbRExADgM2AR8ALi9cnwZ8JEqxyBJktQnVK3wysyNwH8HnqWz4HqJzkuLWzLz9cppbcDIasUgSZLUl1TzUuNQ4HvAOcAW4DY6Z7q+lJlNlXNGAfdk5nHdtF8ELAJoaGiY2tLSUpU4y9TR0cGgQYNqHUZNmQNzAOYAzAGYAzAHUJ85mDVrVo+XGqt5c/0HgWcy83mAiLgDOAk4MiIGVGa9GoGN3TXOzBuBG6HzHq96uP5bj9ex95Q5MAdgDsAcQN/MwWuvvUZbWxvbtm0rZbwhQ4YwcODAUsbqq/pzDgYOHEhjYyOHHHJI4TbVLLyeBWZExGHA74HZwCrgYeAsOp9snA8sr2IMkiQV1tbWxuDBgxk9ejQRUfXxtm7dyuDBg6s+Tl/WX3OQmbS3t9PW1saYMWMKt6vmPV4r6by0+DidS0kcROcM1hXA5RHxFJ1LSiytVgySJO2Jbdu2MXz48FKKLvVvEcHw4cP3eHa0qut4ZeYXgS++ZffTwLurOa6k/uO0rz1S+NwffPpPqxiJ1MmiS0XtzW/FleslSeojNmzYwKxZs5gwYQITJ07k2muv7Tr24osvMmfOHMaOHcucOXPYvHkzAN/5znc4/vjjmTRpEieeeCI/+clPutpccMEFHH300Rx33C7PsL3Jvffey7hx42hqamLJkiVd+6+77jqampqICF544YUe2z/zzDNMnz6dpqYmzjnnHLZvf/O66N/73veICHpak3PZsmWMHTuWsWPHsmzZsq79q1evZtKkSTQ1NXHZZZfR3QOBmclll11GU1MTxx9/PI8//vhu+91ZT3ntrd99UdUZL0mS+rM9mZEtYneztgMGDODqq69mypQpbN26lalTpzJnzhwmTJjAkiVLmD17NosXL2bJkiUsWbKEq666ijFjxrBixQqGDh3KPffcw6JFi1i5ciUAH//4x7n00ks5//zzexzzjTfe4JJLLuH++++nsbGRadOmMW/ePCZMmMBJJ53EqaeeutuHIK644go+85nPcO6553LhhReydOlSLrroIqDzHq5rr72W6dOnd9v2xRdf5G/+5m9YtWoVEcHUqVOZN28eQ4cO5aKLLuJb3/oW06dP5+STT+bee+/lwx/+8Jva33PPPaxbt45169axcuVKLrroIlauXNlrvzvrKa899buvnPGSJKmPGDFiBFOmTAFg8ODBjB8/no0bOx/+X758OfPnzwdg/vz53HnnnQCceOKJXcXEjBkzaGtr6+rvfe97H8OGDet1zMcee4ympiaOPfZYDj30UM4991yWL+987u2EE05gd6/sy0weeughzjrrrF1iA/jCF77AFVdc0eOTiw8++CBz5sxh2LBhDB06lDlz5nDvvfeyadMmXn75ZWbMmEFEcP7557+p3x2WL1/O+eefT0QwY8YMtmzZwqZNm7jvvvu67be79t3ltad+95WFlyRJfdD69et54oknumaKnnvuOUaMGAHAMcccw3PPPbdLm6VLl+4yI7Q7GzduZNSoUV3bjY2NXcVeEe3t7Rx55JEMGDBgl/aPP/44GzZs4JRTTumx/aZNm7odf+PGjTQ2NnYb1w033MANN9zQa/y9fa+FCxd2XfbsKa/7mpeeeKlRkqQ+pqOjgzPPPJOvfOUrHHHEEbscj4hdbux++OGHWbp0KY88sn8vj+6tf/u3f+Pyyy/nH/7hH/Z73xdeeOE+tb/pppu63d9dXvc3Z7wkSepDXnvtNc4880zOO+88zjjjjK79DQ0NXZe6Nm3axNFHH9117Kc//SkLFy5k+fLlDB8+vNf+N2zYwOTJk5k8eTI33HADI0eOZMOGDV3H29raGDmy97f5zZ07l8mTJ7Nw4UKGDx/Oli1beP3119/UfuvWrfz85z9n5syZjB49mkcffZR58+btcoP9iBEjuh1/5MiRb7ps2lNcPcVf9Hv1lNe9yUsRFl6SJPURmcmCBQsYP348l19++ZuOzZs3r+vJvGXLlnH66acD8Oyzz3LGGWdwyy238I53vGO3Y4waNYo1a9awZs0aLrzwQqZNm8a6det45pln2L59Oy0tLcybN6/XPu677z7WrFnDTTfdREQwa9Ysbr/99jfFNmTIEF544QXWr1/P+vXrmTFjBnfddRfNzW9+k87s2bP54Q9/yObNm9m8eTM//OEPmTt3LiNGjOCII47g0UcfJTO5+eabu77zW/Ny8803k5k8+uijDBkyhBEjRjB37txu++2ufXd57anffWXhJUlSH/GjH/2IW265hYceeqhrVuruu+8GYPHixdx///2MHTuWBx54gMWLFwPw5S9/mfb2di6++GImT578psLmox/9KO95z3t48sknaWxsZOnSXdcsHzBgANdddx1z585l/PjxnH322UycOBGAr371qzQ2NtLW1sbxxx/PwoULu437qquu4pprrqGpqYn29nYWLFhQ+DsPGzaML3zhC0ybNo1p06Zx5ZVXdj0QcP3117Nw4UKampp4+9vf3nX/2s73eJ188skce+yxNDU18clPfpLrr79+t/3ufI9XT3ntqd99VbWXZO9Pzc3N2dPaH/1JX3wvWdnMgTmAN+fgQF1A1d9B38zB2rVrGT9+fGnj9dfX5exP/T0H3f1mIqLHl2Q74yVJklQSCy9JkqSSWHhJkiSVxMJLkqSd9Id7n9U37M1vxcJLkqSKgQMH0t7ebvGl3cpM2tvbe3wVUk9cuV6SpIodSyc8//zzpYy3bdu2Pf4Pd73pzzkYOHDgm15rVISFlyRJFYcccghjxowpbbzW1lZOOOGE0sbriw60HHipUZIkqSQWXpIkSSWx8JIkSSqJhZckSVJJLLwkSZJKYuElSZJUEgsvSZKkklh4SZIklcTCS5IkqSQWXpIkSSXxlUGSquK0rz3S47HTGzq4upfjklSvnPGSJEkqiYWXJElSSSy8JEmSSlLVe7wi4kjgJuA4IIELgCeBW4HRwHrg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ZMkSlixZwlVXXcWYMWNYsWIFQ4cO5Z577mHRokWsXLkSgI9//ONceumlnH/++T2O+cYbb3DJJZdw//3309jYyLRp05g3bx4TJkwAYNWqVV3FSE8uuugivvWtbzF9+nROPvlk7r33Xj784Q9z3HHHcccdd/CpT32qx7Yvvvgif/M3f8OqVauICKZOncq8efMYOnRoj/3u7J577mHdunWsW7eOlStXctFFF7Fy5cpe+91ZT3ntqd995YyXJEl9xIgRI5gyZQoAgwcPZvz48WzcuBGA5cuXM3/+fADmz5/PnXfeCcCJJ57YVUzMmDGDtra2rv7e9773MWzYsF7HfOyxx2hqauLYY4/l0EMP5dxzz2X58uVAZ1H2n/7Tf+K//bf/1mP7TZs28fLLLzNjxgwigvPPP78rtvHjxzNu3Lhex3/wwQeZM2cOw4YNY+jQocyZM4d777231353tnz5cs4//3wighkzZrBlyxY2bdrEfffd122/3bXvLq899buvLLwkSeqD1q9fzxNPPMH06dMBeO655xgxYgQAxxxzDM8999wubZYuXbrLjNDubNy4kVGjRnVtNzY2dhV71113HfPmzesat6f2jY2N3bYvYtOmTd2O31u/N9xwAzfccEOv8ff2vRYuXNh16bOnvPbWfl94qVGSpD6mo6ODM888k6985SscccQRuxyPiF1u7H744YdZunQpjzzyyH6J4Te/+Q233XYbra2t+6W//enCCy/cp/Y33XRTt/u7y+v+5oyXJEl9yGuvvcaZZ57JeeedxxlnnNG1v6GhoetS16ZNmzj66KO7jv30pz9l4cKFLF++nOHDh/fa/4YNG5g8eTKTJ0/mhhtuYOTIkWzYsKHreFtbGyNHjuSJJ57gqaeeoqmpidGjR/Ov//qvNDU18cYbb3S1v/LKKxk5cuSbLm/uaF/UiBEjuh2/aL89xd/T/rfqKa9F2+8pCy9JkvqIzGTBggWMHz+eyy+//E3H5s2b1/Vk3rJlyzj99NMBePbZZznjjDO45ZZbeMc73rHbMUaNGsWaNWtYs2YNF154IdOmTWPdunU888wzbN++nZaWFubNm8cpp5zCb3/7W9avX8/69es57LDDeOqppzj44IO72n/5y19mxIgRHHHEETz66KNkJjfffHNXbEXMnj2bH/7wh2zevJnNmzfzwx/+kLlz5xbud968edx8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6iM2bNjArFmzmDBhAhMnTuTaa6/tOvbiiy8yZ84cxo4dy5w5c9i8eTMA3/nOdzj++OOZNGkSJ554Ij/5yU+62lxwwQUcffTRHHfcLs+wvcm9997LuHHjaGpqYsmSJV37M5P/8l/+C+94xzsYP348X/3qV7ttf91119HU1ERE8MILL3Ttf+mllzjttNN417vexcSJE/n2t7+9R+M/88wzTJ8+naamJs455xy2b+9+vfW/+7u/o6mpiXHjxnHffffttt+dvfrqq5xzzjk0NTUxffp01q9fv9t+90VVZ7wkSerPis7wFrW7meABAwZw9dVXM2XKFLZu3crUqVOZM2cOEyZMYMmSJcyePZvFixezZMkSlixZwlVXXcWYMWNYsWIFQ4cO5Z577mHRokWsXLkSgI9//ONceumlnH/++T2O+cYbb3DJJZdw//3309jYyLRp05g3bx4TJkzgH/7hH9iwYQO/+tWvOOigg/jd737XbR8nnXQSp5566i4PS3z9619nwoQJ/OAHP+D5559n3LhxnHfeeRx66KGFxr/iiiv4zGc+w7nnnsuFF17I0qVLueiii940xi9/+UtaWlr4xS9+wW9+8xs++MEP8v/+3/8D6LHfnS1dupShQ4fy1FNP0dLSwhVXXMGtt97aY78HH3xwr/8Od8cZL0mS+ogRI0YwZcoUAAYPHsz48ePZuLHz4f/ly5czf/58AObPn8+dd94JwIknnsjQoUMBmDFjBm1tbV39ve9972PYsGG9jvnYY4/R1NTEsccey6GHHsq5557L8uWdz7194xvf4Morr+SggzrLhaOPPrrbPk444QS6e7VfRLB161Yyk46ODoYNG8aAAW+e81m1alW342cmDz30EGedddYu33lny5cv59xzz+UP/uAPGDNmDE1NTTz22GO9fq+3tt+R17POOosHH3yQzOyx331l4SVJUh+0fv16nnjiCaZPnw7Ac889x4gRIwA45phjeO6553Zps3TpUj784Q/v0TgbN25k1KhRXduNjY1dxd6//Mu/cOutt9Lc3MyHP/xh1q1bt0d9X3rppaxdu5Y/+qM/YtKkSVx77bVdRdwOmzZt6nb89vZ2jjzyyK5Cbee47rrrLq688spe4+/te1155ZXcddddu7QfMGAAQ4YMob29vdf2+8JLjZIk9TEdHR2ceeaZfOUrX+GII47Y5XhE7HJj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\n",
"text/plain": [
"<Figure size 720x720 with 3 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment