初学者のためのプログラミング学習サイトpandas12次のページ>>|[Pythonプログラミング]PandasDatareaderで日本の株価を取得して分析してみる2024年02月17日カテゴリ:プログラミングPython今回はPandas_Datareaderを使って日本の株価を取得して分析する方法についてです。解説動画はこちら始めに最近、日本の株価がバブル期並みの高音を付けている様です。この際Pythonで株価のデータ分析が行える様になってみるのも面白いかと思います。日本の株価を取得するにはpandas_datareaderというものを使います。Colabであれば最初から使えるので、こちらを使っていきましょう。pandas_datareader様々な金融商品のデータを取得する事ができますその中でも、日本の株価は「stooq」というものでポーランドかどこかの会社のデータの様です。こちらを取得して分析を始めていきましょう。基本的な使い方はこのようになっています。start=開始日,end=終了日)株価は銘柄ごとのデータになっているので銘柄コードを指定して取得します。df.sort_index()df.tail(3)銘柄を変えたい場合はcodeの数字を変えて下さい。株価から指標を計算してみるここからは取得したデータを使って株価の分析に必要な指標を計算していきます。過去X日間の価格の平均値です通常は終値を使います。ボリンジャーバンド移動平均を表す線とその上下に値動きの幅を示す線を加えた指標で「価格の大半がこの帯(バンド)の中に収まる」という統計学を応用したテクニカル指標のひとつです。+-1-3@までが一般的に良く用いられます。@は標準偏差の様な意味合いです。std指標が計算できたら描画してみましょう。描画には「Plotly」を用います。これはライブで操作が出来る描画ライブラリで静止画ではないので、色々な操作が行え捗ります。layout=layout)fig.show()ここからはテクニカル指標を計算して描画していきましょう。)短期の移動平均線と中長期の移動平均線を使用することで買いと売りを判断する手法です。買われすぎか、売られすぎかを判断するための指標です。過去一定期間の上げ幅(前日比)の合計を同じ期間の上げ幅の合計と下げ幅の合計を足した数字で割って100を掛けたもの一般的に70~80%以上で買われすぎ20~30%以下で売られすぎと判断します。))fig.show()ストキャスティクスチャートは%K(Fast)と%D(Slow)の2本の線で表され数値は0%から100%の範囲で推移します。%Kラインは相場に対して敏感に動きDラインは%Kラインよりも遅く動きますがより重要とされているのは%Dラインです。一般的には20~30%以下で売られすぎ70~80%以上で買われすぎと判断しますが相場の勢いが強い場合には20%や80%を突破することもあります。))fig.show()トレードシミュレーションここからは株価と指標を用いて売買のシミュレーションを行ってみましょう。MACDでエントリーポイントを決めて売買する簡単なシミュレーションを行ってみます。グラフの表示fig.show()こんな感じで、売買ポイントの可視化が出来ました。今回は簡易なデータ取得と分析手法になっているので気軽に始められるかと思います。試してみて下さいねそれでは。:#プログラミング#Python#株価#pandas#データ分析#日経平均[pythonプログラミング]データレースを作ってみる2024年01月13日カテゴリ:プログラミングPython今回はデータでレースを行うデータレースを作る方法についてです。解説動画はこちらこのデータレースというのは良くYoutubeでも見かけるデータを使ったレース動画のことで時系列データを用いて棒グラフの増減をレースの様に見せる形式の動画のことです。flourishなどで作成するのが有名かと思います。今回はこれをPython言語でやってみましょう。Python言語ではbar_chart_raceというライブラリでこれを実現できます。Colab上ではこちらのコマンドでインストールが実行できます。japanize-matplotlib日本語を用いたデータレースを行いたい場合はjapanize-matplotlibも合わせてインストールする必要があります。ライブラリの読み込みこちらのコードでライブラリ読み込みができます。japanize_matplotlibサンプルデータで試してみるライブラリには最初からサンプルデータが付属しているようなのでこれを読み込んでみます。20)データ構造についてbar_chart_raceで使えるデータ構造は決まっていて次の3つのデータが必要です。次のコードで動画を作成できます。filename='ファイル名.mp4',)作成した動画はColabのファイル置き場に保存されます。再生するとこんな感じの動画が出来るかと思います。設定できるパラメータbcr.bar_chart_raceの引数には色々なパラメータを付与できます。1stepあたりの数この辺りを付ければ自分の理想のレース動画が出来ると思います。詳しいパラメータ設定は公式ドキュメントをご確認くださいね。今回は少し古いネタですがデータレースの作り方をお伝えしましたそれでは。:#Python#プログラミング#データレース#pandas#datarace[Pythonプログラミング]WEB上に有るファイルを開いてみる2022年08月06日カテゴリ:Pythonプログラミングたまには真面目に仕事で使えそうなプログラミングをしてみましょう解説動画はこちら1.WEB上にあるCSVファイルを開く今回はWEB上にあるファイルをダウンロードせず、直接開いてみましょう。読み込みするファイルは、総務省かどっかが出しているE-statのデータです。='https://www.e-stat.go.jp/stat-search/file-download?statInfId=000031524010&fileKind=1'これを読み込みするにはPandasライブラリを使います。encoding='cp932')df読み込みは出来ましたが最後の方にゴミが載っています。政府が用意しているデータはリテラシーが低く、ゴミなのでそのままだと使えないことが多いです。最後尾の行数を加えるといらない部分を飛ばして読み込み出来ます。skipfooter=2)dfPandasライブラリを用いないで読み込みする場合はurllibが使えます。urllib.request.urlopenで開いたファイルはhttp.client.HTTPResponseオブジェクトになりますオブジェクト.decode()でstrオブジェクトに変換できます。break"都道府県コード","都道府県名","元号","和暦(年)","西暦(年)","注","人口(総数)","人口(男)","人口(女)"リストでまとめて読み込んでしまう場合は次のように書けばいけます。'"00","全国","大正",9,1920,"",55963053,28044185,27918868',・・・ゴミデータが最後の3個に入ってしまっているのでリストのスライス参照で取り除くと良いでしょう。lines[970:-3]これでpandasでは難しい1行単位でのデータ操作を行えます。2.データを見るさて、ファイルが読み込めたので次は中身を細かくみてみましょう。ファイルはこんな感じになっています。全国の人口だけを見るdf[df['都道府県名']=='全国'][['西暦(年)','人口(総数)']]Pandasのデータフレームでは条件抽出が行えるので該当する部分だけを抜き出すことができます。値を複数指定して条件抽出ができます。人口が増加した都道府県は?df_concat[df_concat['増減']=='増加']差分を見るにはまずはデータフレームとして該当するデータを年ごとに作成しておきそれを列方向に結合させます。のちに数値化して差分を計算することができます。Colabなどを使えばPythonをインストールしなくてもPC上からファイル操作を行えますエクセルなどで開けないファイルが有るときは是非Pythonを活用してみましょう。:#Python#プログラミング#ファイル#pandas[Pythonプログラミング]最新のコロナデータを見てみよう2021年07月31日カテゴリ:プログラミングPython最近感染が拡大しているということで最新のコロナ関連のデータを見てみましょう。解説動画はこちら今回参考にさせていただくデータは東洋経済さんのサイトのデータです。それも厚生労働省のオープンデータが元になっていますがサイトからダウンロードすることができます。東洋経済さんのサイトこちらのデータを元にして現状を見てみることにしましょう。データの読み込みです。こちらのコードで直接データフレームにデータを読み込むことができます。pd.read_csv(url)df.head()集計したりするには少しデータの形がアレなのでデータをきれいに整形します。]]df.head()だいぶ綺麗になりましたね。これを使って色々集計してみることにしましょう。こちらのデータは累計データのようです。都道府県別の累計感染者数を見てみることにしましょう。df.groupby('prefectureNameJ').max().sort_values('testedPositive',ascending=False)2021年7月29までのデータで感染者数の多い順で都道府県別の累計数を見ています。東京や大阪、神奈川が多いのは人口比どうりかと思いますが沖縄とかも増えてきていますね。次は色々な率を見てみます。全国の率を見てみます。15166人で死亡率だと1.68%ほどになります。死亡者は3325人ということでしたのでそこから計算すると死亡率は0.027%コロナの方が60倍も高いことになってしまいます。次のコードで率の高いところを出すことができます。PCR検査の陽性率は??df2[['prefectureNameJ','peopleTested','testedPositive','陽性率']].sort_values('陽性率',ascending=False)死亡者の割合が高いところは?df2[['prefectureNameJ','testedPositive','deaths','死亡率']].sort_values('死亡率',ascending=False)最後に最近では感染者が拡大傾向にあるということで直近の60日間の動向から年末までこのままいくとどうなるかを予測してみました。こちらはfbprophetを使うのでインストールしていない人はインストールなどが必要です。install)ライブラリの読み込みと学習データに整形します。tmp_df.reset_index()tmp_df.head()まずは感染者数の推移を予測します。model.predict(future_df)model.plot(forecast)7月に入ってからの感染者数が増えてきています。最悪180万人ほどにもなる見込みです。次に死亡者の推移を予測してみます。model.predict(future_df)model.plot(forecast)死亡者は最近おちついてきている傾向です。感染拡大が続いても今のペースが続くならそこまでの死亡者が出ない予測になっていますが油断は禁物です。2021年7月29日までの感染者数は90万人ほどでうち死亡者は15166人で死亡率1.68%感染拡大が広がっているが、現状のまま進むと2021年内には累計160万人が感染し死亡者累計1万7千人ほどになる見込みです。ワクチンを打ってもかかる人はいます。過去に感染しても再感染する人もいます。強めの風邪なんじゃないかと思います。何も打つ手が無さそうなので人の多いところに行かないで静かに生活するしかなさそうですね。データは日々更新されていきますがこのコードを使えば簡単に見れますので興味のある方は見てみて下さい。:#Python#プログラミング#コロナ#可視化#pandas[データ]孤独のグルメの店舗データを見てみよう2021年07月24日カテゴリ:プログラミングPython今回はドラマ孤独のグルメで紹介されたお店のデータを集めてみました。解説動画はこちら今回使用したデータはこちらです。当方で集めたデータであるため誤りがある可能性もありますのでご注意下さい。お店に行かれる際は事前に調べてくださいね。場所は東京がすごく多く3回に2回は東京たまーに地方遠征が有りますねえ。千葉や神奈川もたまにありますね。ジャンルは結構色々なジャンルを攻めていますが居酒屋がかなり多いですね。焼肉を食べているイメージがすごく強いものの、全体的には1割ほどの登場でした。データから見るとゴローさんは国際色豊かな食通そんな感じでしょうかねデータを集めてたらお腹空いてきましたんで今日はこれにて終了です!!!それでは。1時間で学べるPythonプログラミング[Pythonプログラミング]馬鹿でかい円周率を求めるアルゴリズム[Pythonプログラミング]モンティ・ホール問題のシミュレーション[Pythonプログラミング]人工衛星がどんだけ時間ズレるかプログラミングの力で求めてみようコーディングに迷った際に役に立ちWEB検索する時間を無くして作業時間を効率化できます。