{"id":50723,"date":"2020-12-16T00:00:00","date_gmt":"2020-12-16T08:00:00","guid":{"rendered":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/"},"modified":"2025-11-14T07:54:19","modified_gmt":"2025-11-14T15:54:19","slug":"stock-market-analysis-with-python-pandas-plotly-and-griddb","status":"publish","type":"post","link":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/","title":{"rendered":"Python Pandas, Plotly, GridDB\u306b\u3088\u308b\u682a\u5f0f\u5e02\u5834\u5206\u6790"},"content":{"rendered":"<h2>\u306f\u3058\u3081\u306b<\/h2>\n<p>\u682a\u5f0f\u5e02\u5834\u306f\u6c17\u307e\u3050\u308c\u3067\u3001\u3088\u304f\u5909\u5316\u3057\u307e\u3059\u3002\u4eba\u9593\u306f\u6b74\u53f2\u306e\u4e2d\u3067\u96c4\u725b\u3092\u98fc\u3044\u6163\u3089\u305d\u3046\u3068\u3057\u3066\u304d\u305f\u304c\u3001\u6c7a\u3057\u3066\u6210\u529f\u3057\u306a\u304b\u3063\u305f\u3002\u682a\u5f0f\u5e02\u5834\u306e\u4e88\u6e2c\u304c\u96e3\u3057\u3044\u306e\u306f\u3001\u3042\u307e\u308a\u306b\u3082\u591a\u304f\u306e\u8981\u56e0\u304c\u7d61\u307f\u5408\u3063\u3066\u3044\u308b\u304b\u3089\u3067\u3042\u308a\u3001\u305d\u306e\u3088\u3046\u306a\u5206\u6563\u3092\u8003\u616e\u3057\u305f\u30e2\u30c7\u30eb\u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u306f\u307b\u3068\u3093\u3069\u4e0d\u53ef\u80fd\u3067\u3059\u3002\u3057\u304b\u3057\u3001\u8fd1\u5e74\u306e\u6a5f\u68b0\u5b66\u7fd2\u3084\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u9032\u6b69\u306b\u3088\u308a\u3001\u6a5f\u68b0\u304c\u5927\u91cf\u306e\u30c7\u30fc\u30bf\u3092\u51e6\u7406\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u904e\u53bb\u306e\u8a3c\u5238\u53d6\u5f15\u6240\u306e\u30c7\u30fc\u30bf\u3092\u5229\u7528\u3057\u3001\u30c8\u30ec\u30f3\u30c9\u3092\u5206\u6790\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001python\u3068GridDB\u3092\u6d3b\u7528\u3057\u3066\u3001Google\u306e\u904e\u53bb1\u5e74\u9593\u306e\u682a\u4fa1\u30c7\u30fc\u30bf\u3092\u5206\u6790\u3057\u307e\u3059\u3002<\/p>\n<p>\u682a\u4fa1\u306f\u6bce\u65e5\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002\u305d\u306e\u305f\u3081\u3001\u65e5\u3005\u306e\u682a\u4fa1\u30c7\u30fc\u30bf\u306f\u975e\u5e38\u306b\u5927\u304d\u304f\u306a\u308a\u307e\u3059\u3002\u30c7\u30fc\u30bf\u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3068\u3057\u3066\u3001\u5927\u898f\u6a21\u306a\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3092\u3046\u307e\u304f\u6271\u3048\u308b\u3053\u3068\u3067\u77e5\u3089\u308c\u3066\u3044\u308bGridDB\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002GridDB\u306f\u3001\u30b9\u30b1\u30fc\u30e9\u30d6\u30eb\u3067\u4fe1\u983c\u6027\u304c\u9ad8\u3044\u3068\u540c\u6642\u306b\u3001\u9ad8\u3044\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u4fdd\u8a3c\u3057\u307e\u3059\u3002GridDB\u306f\u4f7f\u3044\u3084\u3059\u304f\u3001\u307b\u3068\u3093\u3069\u306e\u6700\u65b0\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u3067\u52d5\u4f5c\u3057\u307e\u3059\u3002\u4eca\u56de\u306e\u8a18\u4e8b\u3067\u306f\u3001python\u3092\u4f7f\u3063\u3066\u30d5\u30a1\u30f3\u30c0\u30e1\u30f3\u30bf\u30eb\u306a\u682a\u4fa1\u5206\u6790\u3092\u884c\u3044\u3001\u305d\u306e\u7d50\u679c\u3092\u8996\u899a\u5316\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<p><a href=\"#source-code\"> \u30d5\u30eb\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9 <\/a><\/p>\n<h2 id=\"setup\">\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7<\/h2>\n<h3 id=\"griddb-setup\">GridDB\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7<\/h3>\n<p>GridDB\u306epython\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306f\u3053\u3061\u3089\u306e<a href=\"https:\/\/www.youtube.com\/watch?v=yWCVfLoV9_0&amp;t=61s\">\u30d3\u30c7\u30aa<\/a>\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002\u59cb\u3081\u308b\u524d\u306b\u3001\u4ee5\u4e0b\u306e\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u304c\u6b63\u3057\u304f\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"lang-bash\">export LIBRARY_PATH=&lt;span class=\"hljs-variable\">$LIBRARY_PATH&lt;\/span>&lt;span class=\"hljs-symbol\">:\/usr\/share\/doc\/griddb-c-client&lt;\/span> [insert path to c_client]\nexport PYTHONPATH=&lt;span class=\"hljs-variable\">$PYTHONPATH&lt;\/span>&lt;span class=\"hljs-symbol\">:&lt;\/span>[insert path to python_client]\nexport LIBRARY_PATH=&lt;span class=\"hljs-variable\">$LD_LIBRARY_PATH&lt;\/span>&lt;span class=\"hljs-symbol\">:&lt;\/span>[insert path to c_client\/bin]\n  <\/code><\/pre>\n<\/div>\n<h3 id=\"python-libraries\">Python\u30e9\u30a4\u30d6\u30e9\u30ea<\/h3>\n<p>\u4eca\u56de\u306e\u89e3\u6790\u306b\u306f<code>python 3.6<\/code>\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306b\u306f<code>pip<\/code>\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"lang-bash\">pip &lt;span class=\"hljs-keyword\">install&lt;\/span> pandas\npip &lt;span class=\"hljs-keyword\">install&lt;\/span> plotly\n  <\/code><\/pre>\n<\/div>\n<h2 id=\"data-collection\">\u30c7\u30fc\u30bf\u53ce\u96c6<\/h2>\n<p>GridDB\u306f\u3001\u30c7\u30fc\u30bf\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u305f\u3081\u306e\u512a\u308c\u305f\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002GridDB python client blog\u3067\u306f\u3001GridDB\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u30ea\u30f3\u30af\u3057\u3001\u3059\u3079\u3066\u306e\u30c7\u30fc\u30bf\u3092pandas\u306e\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u306b\u30d7\u30c3\u30b7\u30e5\u3059\u308b\u65b9\u6cd5\u3092\u8a73\u3057\u304f\u8aac\u660e\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u3053\u3067\u306fyahoo finance\u3092\u4f7f\u3063\u3066Google stock\u306e\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<a href=\"https:\/\/finance.yahoo.com\/quote\/GOOG\">Yahoo! Finance<\/a> 1\u5e74\u5206\u306e\u30c7\u30fc\u30bf\u3092<code>GOOG.csv<\/code>\u306b\u4fdd\u5b58\u3057\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u30c7\u30fc\u30bf\u3092SQL\u30af\u30a8\u30ea\u3067GridDB\u306b\u633f\u5165\u30fb\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u30c7\u30fc\u30bf\u3092\u633f\u5165\u3059\u308b\u306b\u306f:<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"lang-python\">&lt;span class=\"hljs-built_in\">import&lt;\/span> griddb_python as griddb\n&lt;span class=\"hljs-built_in\">import&lt;\/span> pandas as pd\n\n&lt;span class=\"hljs-comment\"># Initialize container&lt;\/span>\n&lt;span class=\"hljs-attr\">gridstore&lt;\/span> = factory.get_store(&lt;span class=\"hljs-attr\">host=&lt;\/span> host, &lt;span class=\"hljs-attr\">port=port,&lt;\/span> \n            &lt;span class=\"hljs-attr\">cluster_name=cluster_name,&lt;\/span> &lt;span class=\"hljs-attr\">username=uname,&lt;\/span> \n            &lt;span class=\"hljs-attr\">password=pwd)&lt;\/span>\n\n&lt;span class=\"hljs-attr\">conInfo&lt;\/span> = griddb.ContainerInfo(&lt;span class=\"hljs-string\">\"GOOGL\"&lt;\/span>,\n                    [[&lt;span class=\"hljs-string\">\"Date\"&lt;\/span>, griddb.Type.TIMESTAMP],\n                    [&lt;span class=\"hljs-string\">\"Open\"&lt;\/span>,griddb.Type.LONG],\n                    [&lt;span class=\"hljs-string\">\"High\"&lt;\/span>, griddb.Type.LONG],\n                    [&lt;span class=\"hljs-string\">\"Low\"&lt;\/span>,griddb.Type.LONG]\n                    [&lt;span class=\"hljs-string\">\"Close\"&lt;\/span>, griddb.Type.LONG]\n                    [&lt;span class=\"hljs-string\">\"Adj. Close\"&lt;\/span>, griddb.Type.LONG]\n                    [&lt;span class=\"hljs-string\">\"Volume\"&lt;\/span>, griddb.Type.LONG]],\n                    griddb.ContainerType.COLLECTION, True)\n\n&lt;span class=\"hljs-attr\">cont&lt;\/span> = gridstore.put_container(conInfo)    \ncont.create_index(&lt;span class=\"hljs-string\">\"Date\"&lt;\/span>, griddb.IndexType.DEFAULT)\n&lt;span class=\"hljs-attr\">data&lt;\/span> = pd.read.csv(&lt;span class=\"hljs-string\">\"GOOG.csv\"&lt;\/span>)\n&lt;span class=\"hljs-comment\">#Add data&lt;\/span>\nfor i &lt;span class=\"hljs-keyword\">in&lt;\/span> range(len(data)):\n    &lt;span class=\"hljs-attr\">ret&lt;\/span> = cont.put(data.iloc[i, :])\n  <\/code><\/pre>\n<\/div>\n<p>\u306a\u304a\u3001\u3053\u306e\u30d7\u30ed\u30bb\u30b9\u306f\u3001Yahoo Finacne\u304b\u3089\u306e\u5b9a\u671f\u7684\u306a\u554f\u3044\u5408\u308f\u305b\u306b\u3082\u81ea\u52d5\u5316\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 \u4ee5\u4e0b\u306eSQL\u30af\u30a8\u30ea\u3092\u4f7f\u7528\u3057\u3066\u3001GridDB\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"lang-python\">query = cont.query(\"&lt;span class=\"hljs-keyword\">select&lt;\/span> * &lt;span class=\"hljs-keyword\">where&lt;\/span> &lt;span class=\"hljs-built_in\">Date&lt;\/span> &gt; &lt;span class=\"hljs-keyword\">TIMESTAMPADD&lt;\/span>(&lt;span class=\"hljs-keyword\">YEAR&lt;\/span>, &lt;span class=\"hljs-keyword\">NOW&lt;\/span>(), &lt;span class=\"hljs-number\">-1&lt;\/span>)&lt;span class=\"hljs-string\">\")&lt;\/span>\n  <\/code><\/pre>\n<\/div>\n<h2 id=\"data-analysis\">\u30c7\u30fc\u30bf\u5206\u6790<\/h2>\n<p><code>pandas<\/code> \u3092\u4f7f\u3063\u3066\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"lang-python\">&lt;span class=\"hljs-keyword\">import&lt;\/span> pandas &lt;span class=\"hljs-built_in\">as&lt;\/span> pd\ngoogf = pd.read_csv(&lt;span class=\"hljs-string\">\"GOOG.csv\"&lt;\/span>)\n  <\/code><\/pre>\n<\/div>\n<p>\u3053\u308c\u304c\u30b9\u30c8\u30c3\u30af\u30c7\u30fc\u30bf\u306e\u30a4\u30e1\u30fc\u30b8\u3067\u3059:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/ry_RpBcfT4zZt285ZDIWRjv3GTgaYvyiv73DFAwERC57vmiCCsYpdQ4TlDfM78ZiUUlW_iG2DtLxm_-GfRohODMF2o2r4JhccFUvuTHJP0O33lmz_A4eK4v__7-lgmYqOz71mu3t\" alt=\"\" \/><\/p>\n<p>\u305d\u308c\u305e\u308c\u306e\u5217\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u89e3\u91c8\u3057\u307e\u3059:<\/p>\n<ul>\n<li><strong>Date<\/strong>: \u53d6\u5f15\u65e5\u306e\u65e5\u4ed8 <\/li>\n<li><strong>Open<\/strong>: Date\u306e\u6700\u521d\u306e\u53d6\u5f15\u4fa1\u683c <\/li>\n<li><strong>High<\/strong>: Date\u3067\u53d6\u5f15\u3055\u308c\u3066\u3044\u308b\u682a\u5f0f\u306e\u6700\u9ad8\u5024 <\/li>\n<li><strong>Low<\/strong>: Date\u3067\u53d6\u5f15\u3055\u308c\u3066\u3044\u308b\u682a\u5f0f\u306e\u6700\u4f4e\u4fa1\u683c <\/li>\n<li><strong>Close<\/strong>: Date\u306e\u6700\u5f8c\u306e\u53d6\u5f15\u4fa1\u683c <\/li>\n<li><strong>Adj Close<\/strong>: \u3053\u308c\u306f\u3001\u3059\u3079\u3066\u306e\u914d\u5f53\u91d1\u304c\u5206\u5272\u3055\u308c\u305f\u5f8c\u306e\u7d42\u5024\u3068\u5b9a\u7fa9\u3055\u308c\u307e\u3059 <\/li>\n<li><strong>Volume<\/strong>: Date\u306b\u53d6\u5f15\u3055\u308c\u305f\u682a\u5f0f\u6570 <\/li>\n<\/ul>\n<p>\u307e\u305a\u3001\u305d\u306e\u30c7\u30fc\u30bf\u3092\u6298\u308c\u7dda\u30b0\u30e9\u30d5\u3067\u53ef\u8996\u5316\u3057\u307e\u3059\u3002pandas\u306e\u30d7\u30ed\u30c3\u30c8\u6a5f\u80fd\u3092\u4f7f\u3063\u3066\u3001\u7d42\u5024\u3068\u53d6\u5f15\u91cf\u3092\u30d7\u30ed\u30c3\u30c8\u3057\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"lang-python\">googf&lt;span class=\"hljs-string\">[[\"Close\"]]&lt;\/span>.plot()\n  <\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/Uqq05hqweUJC9c0IV_qVheMHZiwDmONtgKNlBhxpll5SroxizEyggQUQYpz4OIp6S03E1Rj7JX7tc8j6MNHhLoGx_sdoBOJRyj0UUUhKLihALGyVpl-LvSe47y3qUNlbcd26lII9\" alt=\"\" \/><\/p>\n<div class=\"clipboard\">\n<pre><code class=\"lang-python\">googf&lt;span class=\"hljs-string\">[[\"Volume\"]]&lt;\/span>.plot()\n  <\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/NpBFjoKzMIOfvL6rQnLkGWC1g34xqumQoLx4IeqSX7nVZ9IRuwZifCTrFc2mBskMW0GCKVmE9k80p41VSFzPfMZaw29UEEcz6Am1U8y9eHN2g2RQKgPrz4nCRoRqe7CUY6YHs329\" alt=\"\" \/><\/p>\n<p>\u53d6\u5f15\u91cf\u3068\u7d42\u5024\u306b\u306f\u9006\u306e\u95a2\u4fc2\u304c\u3042\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002\u3053\u306e\u95a2\u4fc2\u306f\u3001\u91d1\u878d\u306e\u4e16\u754c\u3067\u306f\u3088\u304f\u3042\u308b\u3053\u3068\u3067\u3059\u3002\u682a\u4fa1\u306e\u7d42\u5024\u304c\u4e0b\u304c\u3063\u305f\u5834\u5408\u3001\u4eba\u3005\u306f\u7279\u5b9a\u306e\u9298\u67c4\u3092\u53d6\u5f15\u3059\u308b\u53ef\u80fd\u6027\u304c\u9ad8\u304f\u306a\u308a\u307e\u3059\u3002\u3057\u304b\u3057\u3001\u3053\u306e\u30c7\u30fc\u30bf\u306f\u975e\u5e38\u306b\u30b9\u30d1\u30a4\u30ad\u30fc\u3067\u3042\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002\u3053\u306e\u30b9\u30d1\u30a4\u30ad\u30fc\u3055\u306f\u3001\u4fa1\u683c\u5909\u52d5\u3092\u5c0e\u304f\u5fae\u5999\u306a\u5e02\u5834\u306e\u529b\u304c\u3042\u308b\u304b\u3089\u3067\u3059\u3002<\/p>\n<p>\u6b21\u306b\u3001OHLC\u30c1\u30e3\u30fc\u30c8\u3092\u4f7f\u3063\u3066\u30c7\u30fc\u30bf\u3092\u8996\u899a\u5316\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002OLHC\uff08open, high, low, and close\uff09\u30c1\u30e3\u30fc\u30c8\u306f\u3001\u3042\u308b\u65e5\u4ed8\u306e\u30aa\u30fc\u30d7\u30f3\u5024\u3001\u30cf\u30a4\u5024\u3001\u30ed\u30fc\u5024\u3001\u30af\u30ed\u30fc\u30ba\u5024\u3092\u8a18\u8ff0\u3057\u305f\u91d1\u878d\u30c1\u30e3\u30fc\u30c8\u3067\u3059\u3002<\/p>\n<p>\u6c34\u5e73\u65b9\u5411\u306e\u30bb\u30b0\u30e1\u30f3\u30c8\u306f\u30aa\u30fc\u30d7\u30f3\u5024\u3068\u30af\u30ed\u30fc\u30ba\u5024\u3092\u3001\u7dda\u306e\u5148\u7aef\u306f\u30ed\u30fc\u5024\u3068\u30cf\u30a4\u5024\u3092\u8868\u3057\u3066\u3044\u307e\u3059\u3002\u9589\u9396\u5024\u304c\u958b\u653e\u5024\u3088\u308a\u3082\u9ad8\u3044\u30dd\u30a4\u30f3\u30c8\u3092\u4e0a\u6607\uff08\u7dd1\uff09\u3001\u9589\u9396\u5024\u304c\u958b\u653e\u5024\u3088\u308a\u3082\u4f4e\u3044\u30dd\u30a4\u30f3\u30c8\u3092\u4e0b\u964d\uff08\u8d64\uff09\u3068\u547c\u3073\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u3092plotly\u3092\u4f7f\u3063\u3066\u30d7\u30ed\u30c3\u30c8\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"lang-python\">&lt;span class=\"hljs-keyword\">import&lt;\/span> plotly.graph_objects &lt;span class=\"hljs-keyword\">as&lt;\/span> go\n\n&lt;span class=\"hljs-title\">fig&lt;\/span> = go.&lt;span class=\"hljs-type\">Figure&lt;\/span>(&lt;span class=\"hljs-class\">&lt;span class=\"hljs-keyword\">data&lt;\/span>=go.&lt;span class=\"hljs-type\">Ohlc&lt;\/span>(&lt;span class=\"hljs-title\">x&lt;\/span>=&lt;span class=\"hljs-title\">googf&lt;\/span>['&lt;span class=\"hljs-type\">Date&lt;\/span>'],\n        &lt;span class=\"hljs-title\">open&lt;\/span>=&lt;span class=\"hljs-title\">googf&lt;\/span>['&lt;span class=\"hljs-type\">Open&lt;\/span>'],\n        &lt;span class=\"hljs-title\">high&lt;\/span>=&lt;span class=\"hljs-title\">googf&lt;\/span>['&lt;span class=\"hljs-type\">High&lt;\/span>'],\n        &lt;span class=\"hljs-title\">low&lt;\/span>=&lt;span class=\"hljs-title\">googf&lt;\/span>['&lt;span class=\"hljs-type\">Low&lt;\/span>'],\n        &lt;span class=\"hljs-title\">close&lt;\/span>=&lt;span class=\"hljs-title\">googf&lt;\/span>['&lt;span class=\"hljs-type\">Close&lt;\/span>']))&lt;\/span>\n&lt;span class=\"hljs-title\">fig&lt;\/span>.show()\n  <\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/DgPKLbnGyqEa9yz1Un3CTmlyD5-YC8TB5xr7HiFmUWSVD8TVp5D9L8EupP8ZeqdISkPhtAm0vQLqHwUDmFCdQz6KMRoWpC4ikIS8hJRPRsK8_eHj_1UILe-R0nLwOTY_6qUcYmug\" alt=\"\" \/><\/p>\n<p>3\u6708\u306bgoogle\u682a\u306e\u4e0b\u843d\u304c\u3042\u3063\u305f\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002\u3055\u3089\u306b\u3001\u8d64\u7dda\u306f\u5f8c\u534a\u3088\u308a\u3082\u524d\u534a\u306e\u65b9\u304c\u76ee\u7acb\u3063\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306f\u3001\u4f8b\u3048\u3070COVID\u306e\u6d41\u884c\u306e\u3088\u3046\u306a\u8907\u6570\u306e\u8981\u56e0\u304c\u8003\u3048\u3089\u308c\u307e\u3059\u3002\u5f8c\u65e5\u306e\u8a18\u4e8b\u3067\u306f\u3001Covid\u306e\u30b9\u30d7\u30ec\u30c3\u30c9\u30c7\u30fc\u30bf\u3092\u4f7f\u3063\u3066\u682a\u4fa1\u306e\u52d5\u5411\u3092\u5206\u6790\u3057\u3066\u307f\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\u6b21\u306b\u3001\u7bc4\u56f2\u30b9\u30e9\u30a4\u30c0\u3092\u4f7f\u3063\u30663\u6708\u306b\u30ba\u30fc\u30e0\u30a4\u30f3\u3057\u307e\u3059\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/jjvucGN3FI89xe25XStEEchCqa8HO3AFu1_ro6JpqeNRShnlsyIXvEBrMIstRuOyz05r4R6KjdjDMdyCgsz2eh90ugH_vde3sOoUixozUq4FgESlRDQoq2nvAPUszwszQsmS2btK\" alt=\"\" \/><\/p>\n<p>\u7e26\u68d2\u304c\u9577\u304f\u306a\u308a\u3001\u59cb\u5024\u3068\u7d42\u5024\u306e\u5dee\u304c\u5927\u304d\u304f\u306a\u3063\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002\u3053\u308c\u306f\u3001\u5f53\u6642\u306e\u5e02\u5834\u306b\u5927\u304d\u306a\u5909\u52d5\u304c\u3042\u3063\u305f\u3053\u3068\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002 \u3053\u308c\u3089\u306e\u30c1\u30e3\u30fc\u30c8\u306f\u3001\u901a\u5e38\u306e\u30e9\u30a4\u30f3\u30d7\u30ed\u30c3\u30c8\u3088\u308a\u3082\u306f\u308b\u304b\u306b\u76f4\u611f\u7684\u3067\u3059\u3002<\/p>\n<h2 id=\"market-trends-analysis\">\u5e02\u5834\u52d5\u5411\u306e\u5206\u6790<\/h2>\n<h3 id=\"moving-averages\">\u79fb\u52d5\u5e73\u5747\u7dda<\/h3>\n<p>\u6b21\u306b\u3001\u79fb\u52d5\u5e73\u5747\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002\u682a\u5f0f\u306e\u79fb\u52d5\u5e73\u5747\u306f\u3001\u7d99\u7d9a\u7684\u306b\u66f4\u65b0\u3055\u308c\u308b\u5e73\u5747\u4fa1\u683c\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059\u3002\u79fb\u52d5\u5e73\u5747\u306f\u3001\u30c8\u30ec\u30f3\u30c9\u306e\u5909\u5316\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u3001\u5c06\u6765\u306e\u4e88\u6e2c\u306b\u306f\u4f7f\u7528\u3055\u308c\u307e\u305b\u3093\u3002<\/p>\n<p>\u77ed\u671f\u3001\u4e2d\u671f\u3001\u9577\u671f\u306e\u79fb\u52d5\u5e73\u5747\u3092\u7b97\u51fa\u3057\u3001\u5e02\u5834\u306e\u52d5\u5411\u3092\u5206\u6790\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<ul>\n<li><strong>\u77ed\u671f<\/strong>: \u30bf\u30a4\u30e0\u30d5\u30ec\u30fc\u30e0\u306f5\uff5e20\u65e5\u3067\u3001\u6570\u65e5\u304b\u3089\u6570\u9031\u9593\u7d9a\u304f\u30c8\u30ec\u30f3\u30c9\u3092\u898b\u6975\u3081\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002 <\/li>\n<li><strong>\u4e2d\u671f<\/strong>: \u6642\u9593\u67a0\u306f20\uff5e65\u65e5\u3067\u3001\u6570\u30f6\u6708\u7d9a\u304f\u30c8\u30ec\u30f3\u30c9\u3092\u898b\u6975\u3081\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002 <\/li>\n<li><strong>\u9577\u671f<\/strong>: \u6642\u9593\u67a0\u306f65\uff5e200\u65e5\u3067\u3001\u6570\u5e74\u306b\u53ca\u3076\u30c8\u30ec\u30f3\u30c9\u3092\u898b\u6975\u3081\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002 <\/li>\n<\/ul>\n<p>1\u5e74\u5206\u306e\u30c7\u30fc\u30bf\u3057\u304b\u306a\u3044\u306e\u3067\u3001\u77ed\u3044\u30c8\u30ec\u30f3\u30c9\u3092\u898b\u3066\u3044\u304d\u307e\u3059\u30025\u65e5\u300120\u65e5\u300150\u65e5\u306e\u79fb\u52d5\u5e73\u5747\u3092\u8a08\u7b97\u3057\u3001\u305d\u308c\u3092\u4f7f\u3063\u3066\u30c8\u30ec\u30f3\u30c9\u3092\u5206\u6790\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p>python\u3067\u79fb\u52d5\u5e73\u5747\u3092\u8a08\u7b97\u3059\u308b\u306b\u306f\u3001rolling\u95a2\u6570\u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n<h3 id=\"simple-moving-average\">\u5358\u7d14\u79fb\u52d5\u5e73\u5747<\/h3>\n<p>N\u65e5\u9593\u306e\u5358\u7d14\u79fb\u52d5\u5e73\u5747\u306f\u3001N\u65e5\u9593\u306e\u7d42\u5024\u306e\u5e73\u5747\u5024\u3068\u3057\u3066\u5b9a\u7fa9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u671f\u9593\u30921\u65e5\u305a\u3089\u3057\u3066\u3001N\u500b\u306e\u7bc4\u56f2\u3054\u3068\u306b\u5e73\u5747\u5024\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002\u4ee5\u4e0b\u306f\u305d\u306e\u30b3\u30fc\u30c9\u3067\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"lang-python\">googf[&lt;span class=\"hljs-string\">'SMA5'&lt;\/span>] = googf&lt;span class=\"hljs-selector-class\">.Close&lt;\/span>&lt;span class=\"hljs-selector-class\">.rolling&lt;\/span>(&lt;span class=\"hljs-number\">5&lt;\/span>).mean()\ngoogf[&lt;span class=\"hljs-string\">'SMA20'&lt;\/span>] = googf&lt;span class=\"hljs-selector-class\">.Close&lt;\/span>&lt;span class=\"hljs-selector-class\">.rolling&lt;\/span>(&lt;span class=\"hljs-number\">20&lt;\/span>).mean()\ngoogf[&lt;span class=\"hljs-string\">'SMA50'&lt;\/span>] = googf&lt;span class=\"hljs-selector-class\">.Close&lt;\/span>&lt;span class=\"hljs-selector-class\">.rolling&lt;\/span>(&lt;span class=\"hljs-number\">50&lt;\/span>).mean()\n\nfig = go.Figure(data=[go.Ohlc(x=googf[&lt;span class=\"hljs-string\">'Date'&lt;\/span>],\n            open=googf[&lt;span class=\"hljs-string\">'Open'&lt;\/span>],\n            high=googf[&lt;span class=\"hljs-string\">'High'&lt;\/span>],\n            low=googf[&lt;span class=\"hljs-string\">'Low'&lt;\/span>],\n            close=googf[&lt;span class=\"hljs-string\">'Close'&lt;\/span>], name = &lt;span class=\"hljs-string\">\"OHLC\"&lt;\/span>),\n            go.Scatter(x=googf&lt;span class=\"hljs-selector-class\">.Date&lt;\/span>, y=googf&lt;span class=\"hljs-selector-class\">.SMA5&lt;\/span>, line=dict(&lt;span class=\"hljs-attribute\">color&lt;\/span>=&lt;span class=\"hljs-string\">'orange'&lt;\/span>, width=&lt;span class=\"hljs-number\">1&lt;\/span>), name=&lt;span class=\"hljs-string\">\"SMA5\"&lt;\/span>),\n            go.Scatter(x=googf&lt;span class=\"hljs-selector-class\">.Date&lt;\/span>, y=googf&lt;span class=\"hljs-selector-class\">.SMA20&lt;\/span>, line=dict(&lt;span class=\"hljs-attribute\">color&lt;\/span>=&lt;span class=\"hljs-string\">'green'&lt;\/span>, width=&lt;span class=\"hljs-number\">1&lt;\/span>), name=&lt;span class=\"hljs-string\">\"SMA20\"&lt;\/span>),\n            go.Scatter(x=googf&lt;span class=\"hljs-selector-class\">.Date&lt;\/span>, y=googf&lt;span class=\"hljs-selector-class\">.SMA50&lt;\/span>, line=dict(&lt;span class=\"hljs-attribute\">color&lt;\/span>=&lt;span class=\"hljs-string\">'blue'&lt;\/span>, width=&lt;span class=\"hljs-number\">1&lt;\/span>), name=&lt;span class=\"hljs-string\">\"SMA50\"&lt;\/span>)])\nfig.show()\n  <\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/NAv_8yhDKq8lqKk6yxE-H55VJAX9rZrOI-JVNmauRdA7wFATTkevunlVIFcVKD_FYAh0gNL6ErZbF1gkOD9PrW6-TdhpPgerCdTWa-f4cVu7SYMw3SNLbgPB8L-VRcuQ0uzHYhsD\" alt=\"\" \/><\/p>\n<p>\u9ec4\u8272\u306e\u7dda\u306f5\u65e5\u9593\u306e\u79fb\u52d5\u5e73\u5747\u3001\u7dd1\u306e\u7dda\u306f20\u65e5\u9593\u306e\u30c8\u30ec\u30f3\u30c9\u3001\u9752\u306e\u7dda\u306f50\u65e5\u9593\u306e\u30c8\u30ec\u30f3\u30c9\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002\u518d\u30733\u6708\u306b\u30ba\u30fc\u30e0\u30a4\u30f3\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u30023\u6708\u306e\u521d\u3081\u3068\u7d42\u308f\u308a\u306b\u30af\u30ed\u30b9\u30aa\u30fc\u30d0\u30fc\u304c\u898b\u3089\u308c\u307e\u3059\u3002\u3064\u307e\u308a\u3001\u9752\u7dda\u304c\u7dd1\u7dda\u3092\u4e0a\u56de\u308a\u30013\u6708\u306e\u7d42\u308f\u308a\u306b\u306f\u518d\u3073\u4e0b\u964d\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306f\u30013\u6708\u306e\u521d\u3081\u306b\u5e02\u5834\u304c\u5f31\u6c17\u306b\u306a\u308a\u3001\u305d\u306e\u5f8c\u3001\u518d\u3073\u6301\u3061\u76f4\u3057\u305f\u3053\u3068\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u5358\u7d14\u79fb\u52d5\u5e73\u5747\u306f\u3001\u5927\u304d\u306a\u4fa1\u683c\u5909\u52d5\u306b\u5bfe\u3059\u308b\u53cd\u5fdc\u304c\u9045\u3044\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u52b9\u679c\u3092\u6e2c\u308b\u305f\u3081\u306b\u3001\u6295\u8cc7\u5bb6\u306f\u6307\u6570\u79fb\u52d5\u5e73\u5747\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n<h3 id=\"exponential-moving-average\">\u6307\u6570\u79fb\u52d5\u5e73\u5747<\/h3>\n<p>\u6307\u6570\u79fb\u52d5\u5e73\u5747\u306f\u3001\u518d\u5ea6\u5e73\u5747\u5024\u3092\u8a08\u7b97\u3057\u307e\u3059\u304c\u3001\u3088\u308a\u6700\u8fd1\u306e\u30c7\u30fc\u30bf\u3092\u91cd\u8996\u3057\u307e\u3059\u3002<\/p>\n<p>ewm\u95a2\u6570\u3092\u4f7f\u3044\u30015\u65e5\u300120\u65e5\u300150\u65e5\u306e\u6307\u6570\u79fb\u52d5\u5e73\u5747\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\u4ee5\u4e0b\u306f\u305d\u306e\u30b3\u30fc\u30c9\u3067\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"lang-python\">\ngoogf[&lt;span class=\"hljs-string\">'EMA5'&lt;\/span>] = googf&lt;span class=\"hljs-selector-class\">.Close&lt;\/span>&lt;span class=\"hljs-selector-class\">.ewm&lt;\/span>(span=&lt;span class=\"hljs-number\">5&lt;\/span>, adjust=False).mean()\n\ngoogf[&lt;span class=\"hljs-string\">'EMA20'&lt;\/span>] = googf&lt;span class=\"hljs-selector-class\">.Close&lt;\/span>&lt;span class=\"hljs-selector-class\">.ewm&lt;\/span>(span=&lt;span class=\"hljs-number\">20&lt;\/span>, adjust=False).mean()\n\nfig = go.Figure(data=[go.Ohlc(x=googf[&lt;span class=\"hljs-string\">'Date'&lt;\/span>],\n        open=googf[&lt;span class=\"hljs-string\">'Open'&lt;\/span>],\n        high=googf[&lt;span class=\"hljs-string\">'High'&lt;\/span>],\n        low=googf[&lt;span class=\"hljs-string\">'Low'&lt;\/span>],\n        close=googf[&lt;span class=\"hljs-string\">'Close'&lt;\/span>], name = &lt;span class=\"hljs-string\">\"OHLC\"&lt;\/span>),\n        go.Scatter(x=googf&lt;span class=\"hljs-selector-class\">.Date&lt;\/span>, y=googf&lt;span class=\"hljs-selector-class\">.EMA5&lt;\/span>, line=dict(&lt;span class=\"hljs-attribute\">color&lt;\/span>=&lt;span class=\"hljs-string\">'orange'&lt;\/span>, width=&lt;span class=\"hljs-number\">1&lt;\/span>), name=&lt;span class=\"hljs-string\">\"EMA5\"&lt;\/span>),\n        go.Scatter(x=googf&lt;span class=\"hljs-selector-class\">.Date&lt;\/span>, y=googf&lt;span class=\"hljs-selector-class\">.EMA20&lt;\/span>, line=dict(&lt;span class=\"hljs-attribute\">color&lt;\/span>=&lt;span class=\"hljs-string\">'green'&lt;\/span>, width=&lt;span class=\"hljs-number\">1&lt;\/span>), name=&lt;span class=\"hljs-string\">\"EMA20\"&lt;\/span>)])\nfig.show()\n  <\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/Ninvh_WF_whG03D4h7BM9Z5FCREk8ANd33CyFvLOd37FRAQ3NFijw2fxG8fR5p0X2N6GP6phV0namorbxvn-anZ97NkymK10xzRmq1QF4n2m-cDNjHd9uwP7-PTtd9SePOvTcUOn\" alt=\"\" \/><\/p>\n<p>\u3053\u3053\u3067\u306f\u30013\u6708\u306e\u521d\u3081\u3068\u7d42\u308f\u308a\u306b\u3001\u518d\u3073\u540c\u3058\u3088\u3046\u306a\u30c0\u30d6\u30eb\u30af\u30ed\u30b9\u30aa\u30fc\u30d0\u30fc\u304c\u898b\u3089\u308c\u307e\u3059\u3002\u3057\u304b\u3057\u3001\u305d\u306e\u30ae\u30e3\u30c3\u30d7\u306f\u305d\u308c\u307b\u3069\u5927\u304d\u304f\u3042\u308a\u307e\u305b\u3093\u3002\u3053\u308c\u306f\u3001\u5e02\u5834\u306e\u30c8\u30ec\u30f3\u30c9\u304c\u601d\u3063\u305f\u3088\u308a\u3082\u5b89\u5b9a\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u793a\u5506\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u79fb\u52d5\u5e73\u5747\u306f\u7c21\u5358\u306b\u8a08\u7b97\u3067\u304d\u307e\u3059\u304c\u3001\u904e\u53bb\u306e\u30c7\u30fc\u30bf\u306b\u57fa\u3065\u3044\u3066\u3044\u308b\u305f\u3081\u9650\u754c\u304c\u3042\u308a\u307e\u3059\u3002\u5909\u52d5\u306e\u6fc0\u3057\u3044\u9298\u67c4\u306b\u306f\u3042\u307e\u308a\u5f79\u306b\u7acb\u305f\u306a\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n<h2 id=\"conclusion\">\u7d50\u8ad6<\/h2>\n<p>\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001\u307e\u305aGridDB\u3068python\u3092\u4f7f\u3063\u3066\u5e02\u5834\u306e\u30c8\u30ec\u30f3\u30c9\u5206\u6790\u3092\u884c\u3046\u65b9\u6cd5\u3092\u5b66\u3073\u307e\u3057\u305f\u3002OHLP\u30d7\u30ed\u30c3\u30c8\u3068\u79fb\u52d5\u5e73\u5747\u306e\u5206\u6790\u3092\u884c\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u79fb\u52d5\u5e73\u5747\u7dda\u306b\u3064\u3044\u3066\u306f\u3001<a href=\"https:\/\/www.investopedia.com\/ask\/answers\/122414\/what-are-most-common-periods-used-creating-moving-average-ma-lines.asp\">\u3053\u3061\u3089<\/a>\u3002<\/p>\n<h2 id=\"source-code\">\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9<\/h2>\n<p><a href=\"https:\/\/griddb.net\/ja\/download\/20126\/\"> <span class=\"download-button\"> \u5168\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306f\u3053\u3061\u3089\u304b\u3089 <\/span><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u306f\u3058\u3081\u306b \u682a\u5f0f\u5e02\u5834\u306f\u6c17\u307e\u3050\u308c\u3067\u3001\u3088\u304f\u5909\u5316\u3057\u307e\u3059\u3002\u4eba\u9593\u306f\u6b74\u53f2\u306e\u4e2d\u3067\u96c4\u725b\u3092\u98fc\u3044\u6163\u3089\u305d\u3046\u3068\u3057\u3066\u304d\u305f\u304c\u3001\u6c7a\u3057\u3066\u6210\u529f\u3057\u306a\u304b\u3063\u305f\u3002\u682a\u5f0f\u5e02\u5834\u306e\u4e88\u6e2c\u304c\u96e3\u3057\u3044\u306e\u306f\u3001\u3042\u307e\u308a\u306b\u3082\u591a\u304f\u306e\u8981\u56e0\u304c\u7d61\u307f\u5408\u3063\u3066\u3044\u308b\u304b\u3089\u3067\u3042\u308a\u3001\u305d\u306e\u3088\u3046\u306a\u5206\u6563\u3092\u8003\u616e\u3057\u305f\u30e2 [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":49182,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1005],"tags":[],"class_list":["post-50723","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-1005"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Python Pandas, Plotly, GridDB\u306b\u3088\u308b\u682a\u5f0f\u5e02\u5834\u5206\u6790 | GridDB: Open Source Time Series Database for IoT<\/title>\n<meta name=\"description\" content=\"\u306f\u3058\u3081\u306b\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/griddb.net\/ja\/\u672a\u5206\u985e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python Pandas, Plotly, GridDB\u306b\u3088\u308b\u682a\u5f0f\u5e02\u5834\u5206\u6790 | GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"og:description\" content=\"\u306f\u3058\u3081\u306b\" \/>\n<meta property=\"og:url\" content=\"https:\/\/griddb.net\/ja\/\u672a\u5206\u985e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/\" \/>\n<meta property=\"og:site_name\" content=\"GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/griddbcommunity\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-16T08:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-14T15:54:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/wp-content\/uploads\/2020\/12\/newplot.png\" \/>\n\t<meta property=\"og:image:width\" content=\"966\" \/>\n\t<meta property=\"og:image:height\" content=\"525\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"griddb-admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:site\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"griddb-admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/\"},\"author\":{\"name\":\"griddb-admin\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233\"},\"headline\":\"Python Pandas, Plotly, GridDB\u306b\u3088\u308b\u682a\u5f0f\u5e02\u5834\u5206\u6790\",\"datePublished\":\"2020-12-16T08:00:00+00:00\",\"dateModified\":\"2025-11-14T15:54:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/\"},\"wordCount\":68,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/griddb.net\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2020\/12\/newplot.png\",\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/\",\"url\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/\",\"name\":\"Python Pandas, Plotly, GridDB\u306b\u3088\u308b\u682a\u5f0f\u5e02\u5834\u5206\u6790 | GridDB: Open Source Time Series Database for IoT\",\"isPartOf\":{\"@id\":\"https:\/\/griddb.net\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2020\/12\/newplot.png\",\"datePublished\":\"2020-12-16T08:00:00+00:00\",\"dateModified\":\"2025-11-14T15:54:19+00:00\",\"description\":\"\u306f\u3058\u3081\u306b\",\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2020\/12\/newplot.png\",\"contentUrl\":\"\/wp-content\/uploads\/2020\/12\/newplot.png\",\"width\":966,\"height\":525},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/griddb.net\/en\/#website\",\"url\":\"https:\/\/griddb.net\/en\/\",\"name\":\"GridDB: Open Source Time Series Database for IoT\",\"description\":\"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL\",\"publisher\":{\"@id\":\"https:\/\/griddb.net\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/griddb.net\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/griddb.net\/en\/#organization\",\"name\":\"Fixstars\",\"url\":\"https:\/\/griddb.net\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"contentUrl\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"width\":200,\"height\":83,\"caption\":\"Fixstars\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/griddbcommunity\/\",\"https:\/\/x.com\/GridDBCommunity\",\"https:\/\/www.linkedin.com\/company\/griddb-by-toshiba\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233\",\"name\":\"griddb-admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g\",\"caption\":\"griddb-admin\"},\"url\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/author\/griddb-admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Python Pandas, Plotly, GridDB\u306b\u3088\u308b\u682a\u5f0f\u5e02\u5834\u5206\u6790 | GridDB: Open Source Time Series Database for IoT","description":"\u306f\u3058\u3081\u306b","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/griddb.net\/ja\/\u672a\u5206\u985e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/","og_locale":"ja_JP","og_type":"article","og_title":"Python Pandas, Plotly, GridDB\u306b\u3088\u308b\u682a\u5f0f\u5e02\u5834\u5206\u6790 | GridDB: Open Source Time Series Database for IoT","og_description":"\u306f\u3058\u3081\u306b","og_url":"https:\/\/griddb.net\/ja\/\u672a\u5206\u985e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/","og_site_name":"GridDB: Open Source Time Series Database for IoT","article_publisher":"https:\/\/www.facebook.com\/griddbcommunity\/","article_published_time":"2020-12-16T08:00:00+00:00","article_modified_time":"2025-11-14T15:54:19+00:00","og_image":[{"width":966,"height":525,"url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/wp-content\/uploads\/2020\/12\/newplot.png","type":"image\/png"}],"author":"griddb-admin","twitter_card":"summary_large_image","twitter_creator":"@GridDBCommunity","twitter_site":"@GridDBCommunity","twitter_misc":{"\u57f7\u7b46\u8005":"griddb-admin","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"6\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/#article","isPartOf":{"@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/"},"author":{"name":"griddb-admin","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233"},"headline":"Python Pandas, Plotly, GridDB\u306b\u3088\u308b\u682a\u5f0f\u5e02\u5834\u5206\u6790","datePublished":"2020-12-16T08:00:00+00:00","dateModified":"2025-11-14T15:54:19+00:00","mainEntityOfPage":{"@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/"},"wordCount":68,"commentCount":0,"publisher":{"@id":"https:\/\/griddb.net\/en\/#organization"},"image":{"@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2020\/12\/newplot.png","inLanguage":"ja","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/","url":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/","name":"Python Pandas, Plotly, GridDB\u306b\u3088\u308b\u682a\u5f0f\u5e02\u5834\u5206\u6790 | GridDB: Open Source Time Series Database for IoT","isPartOf":{"@id":"https:\/\/griddb.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/#primaryimage"},"image":{"@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2020\/12\/newplot.png","datePublished":"2020-12-16T08:00:00+00:00","dateModified":"2025-11-14T15:54:19+00:00","description":"\u306f\u3058\u3081\u306b","inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/stock-market-analysis-with-python-pandas-plotly-and-griddb\/#primaryimage","url":"\/wp-content\/uploads\/2020\/12\/newplot.png","contentUrl":"\/wp-content\/uploads\/2020\/12\/newplot.png","width":966,"height":525},{"@type":"WebSite","@id":"https:\/\/griddb.net\/en\/#website","url":"https:\/\/griddb.net\/en\/","name":"GridDB: Open Source Time Series Database for IoT","description":"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL","publisher":{"@id":"https:\/\/griddb.net\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/griddb.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Organization","@id":"https:\/\/griddb.net\/en\/#organization","name":"Fixstars","url":"https:\/\/griddb.net\/en\/","logo":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/","url":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","contentUrl":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","width":200,"height":83,"caption":"Fixstars"},"image":{"@id":"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/griddbcommunity\/","https:\/\/x.com\/GridDBCommunity","https:\/\/www.linkedin.com\/company\/griddb-by-toshiba"]},{"@type":"Person","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233","name":"griddb-admin","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g","caption":"griddb-admin"},"url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/author\/griddb-admin\/"}]}},"_links":{"self":[{"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/posts\/50723","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/comments?post=50723"}],"version-history":[{"count":1,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/posts\/50723\/revisions"}],"predecessor-version":[{"id":51560,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/posts\/50723\/revisions\/51560"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/media\/49182"}],"wp:attachment":[{"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/media?parent=50723"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/categories?post=50723"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/ja\/wp-json\/wp\/v2\/tags?post=50723"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}