pythonで株価を扱う 指標を取得する(epsやper)
備忘録
分かりやすいのでメモさせていただきました。
▷pandas
Python版のエクセル。データ分析では必須。
▷pandas_datareader
Yahoo!finance USから必要なデータを取得できる便利なライブラリ。
マーケット分析では必須。
▷matplotlib
Pythonでチャートを描画する際、必ずと言って良いほど使う可視化ライブラリ。
『matplotlib.pyplot』はよく書くパターン。
次に株価に関わるいろいろな指標を取得してみる。
まずは、参考にさせていただいているブログを真似てみる。
次にEPSを取得してみる。
import datetime
import pandas_datareader.data as web
codelist = ["KO","PG","MSFT"]
data = web.get_quote_yahoo(codelist)
[ ['epsTrailingTwelveMonths','epsCurrentYear','epsForward'] ]
print(data)
とりあえず、ここまで。
Pythonで株価を扱う yahoo_finance_api2
参考にさせていただいているブログに従って、yahoo_finance_api2も試してみた。
まずはライブラリーページのまま、マイクロソフトの過去10日間の5分足データを得ることにする。
できた!
同様に、コカコーラ(KO)の過去10週の週足データを求めてみる。
- 日で指定:share.PERIOD_TYPE_DAY
- 週で指定:share.PERIOD_TYPE_WEEK
- 月で指定:share.PERIOD_TYPE_MONTH
- 年で指定:share.PERIOD_TYPE_YEAR
とのことです。
Pythonで株価を扱う チャート
調子に乗って、チャートも書いてみる。
1990年からコカコーラの株を買っていたらどうなっていたか。
すごいな。何倍になっているんだろう?
でも、下落幅も大きくて持ち続けるのはストレスになりそう。
買ったら株価は見ないで放置しておくのが良さそう。
import datetime
import pandas_datareader.data as web
import matplotlib.pyplot as plt
#日付を指定して、コカ・コーラのデータを入手する.
start = datetime.date(1990,1,1)
end = datetime.date.today()
#Adj Close:終値だけ抜き出してdataに入れる
data = web.DataReader('KO','yahoo',start,end)["Adj Close"]
plt.plot(data,label="KO Adj Close")
plt.xlabel('date')
plt.ylabel('value')
plt.legend()
plt.show()
チャートを書くとき、全部のデータを描いちゃうと訳わからなくなるので、終値だけ抜き出すのがコツでした。
Pythonで株価を扱う2
前回に引き続き、どんどん進める。
次はライブラリを使った方法。
pandas_datareaderはインストールする必要があるようです。
pip install pandas_datareader
で簡単にインストール可能。
思いのほか簡単にダウジョーンズの株価を手に入れることができました。
すごい世の中だなー
できた。嬉しい!
Pythonで株価を扱う
プログラミングを勉強したくて、これまで本で何冊か勉強したけれどその都度挫折してきた。本の内容が分からないということはあまりないんですが、そのあとが続かない。
何をやったらいいのか、と思っているうちに離れてしまう・・・ということを繰り返してきました。多分、プログラミングの勉強自体を目的化してしまって、プログラミングを使って何をしたいか明確にしてこなかったからだろうと思います。
何年か前から株を始めていて、あまりのデータの多さにプログラミングを使えたらな・・・と思っていたのですが、どうせ難しいんだろうと思って本気に考えていなかった。
けれど、最近、まさに僕のやってみたいことをブログで公開されている方を見つけて、「おぉっ」ってなったので、ちょっとトレースさせていただくことにした。
参考にさせていただいたのはこちらのブログ →気ままなブログ
手始めに、こちらのページをトレースしてみる →
【コード解説】Pythonで株価データを取得する!【3つの方法を解説】
と思ったら、pandasというライブラリのインストールをはじめとして、しばらくプログラミングしてなかったからxcodeやなんやらのアップデートが必要になって、訳わからなくなっていろんなところからコピペしてインストールしているうちに遂にPythonまで動かなくなってしまう。。
知識をおろそかにして勉強せず、インストールしまくっていた報いです。
で、ちょこっとだけググって、なんとかPythonを再インストールして動かせるようにした。
そしたら、ブログのとおり株価を読み込むことができた。う、嬉しい。。。
import pandas as pd
df = pd.read_csv("7203 過去データ.csv")
print(df.head())
たったこれだけなんだけど、嬉しいです。
pandas はデータ解析用のライブラリとのこと。
最後の行は標準出力用としてprint文を追加したら表示できました。
今回思ったのは、ググればみんななんか書いてくれているんだなということ。
集合知というか、今の時代って分からないことってあまりないから、あとはやる気の問題なんだなぁと実感。
Pythonを再インストールするための備忘録
久しぶりにプログラミングをするためにPythonをいじっていたら動かなくなってしまったので、再インストールするためにいろいろ調べた備忘録
- pip
・ Pythonパッケージのインストールなどを行うユーティリティ。Python3.4以降には標準で付属されている。
・ anacondaのインストールユーティリティはcondaを使うのが本当。(pipも使えるらしいけど)
科学技術計算でないかぎり初心者はanacondaは使わない方がいい。
- Pythonのインストール
・ Pythonをインストールする場合、主に2つの方法がある。Python公式サイトからダウンロードする場合。もう1つは、anacondaを使用する場合。
・ Python版は一般的なプログラミングする場合におすすめ。anaconda版は機械学習や統計処理などを行うためのプラットフォームであり、その1つとしてPythonが含まれている。
・ Pythonの膨大な資産であるライブラリの利用方法として2つある。1つはPyPl。もう1つは科学技術計算用のanaconda。これらは混同して使用しない方がよいと言われている。 - Anaconda
・ PythonとRプログラミング言語のための無料かつオープンソースのプラットフォーム。
データサイエンス機械学習、人工知能のためのインストールパッケージが多数用意されている。 - pyenv
・ 一つのマシンに複数のバージョンのpythonをインストールしてそれを切り替えて使える仕組み。
・ pyenvは使わなくてもインストールできる。頻繁にマイナーバージョンを指定して切り替える必要のあるユーザーには便利だが、初心者には必要ない場合が多い。 - Homebrew
・ Mac OS Xオペレーティングシステム上でソフトウェアの導入を単純化するパッケージ管理システムのひとつ。 Rubyスクリプトで動いている。 - MacにpyenvをインストールしてPython環境を構築する
参考: https://www.karakaram.com/mac-pyenv-install/ - NumPy
・ Pythonの数値演算パッケージ - TensorFlow
・ Googleの機械学習ライブラリ。NumPyを使用している。 - 1)pyenvを使ったインストールの流れ
参考: https://qiita.com/ksato9700/items/5d9eba10fe6b8e064178
・ macOSにあるHomebrewを使ってpyenvをインストールする。(pythonのバージョン管理ができるようになる)
・ pyenvを使って、必要なバージョンのpythonをインストールする。 - 2)pyenvを使わないインストールの流れ。
参考: https://www.python.jp/install/macos/index.html
・ gccのインストール → gcc --version で確認できる。
・ Homebrewのインストール → brew --version で確認できる。
・ Pythonのインストール → brew install python3 で最新版がインストールできる。 - Anacondaをアンインストールする方法
参考: https://www.drbuho.com/jp/how-to/uninstall-anaconda-on-mac
1)BuhoCleanerというツールを使用する。数回クリックするだけ。
2)ターミナルを使って手動でアンインストールする。
3)Finderを使って手動でアンインストールする。 - Pythonを完全にアンインストールする方法
参考: https://aizine.ai/python-uninstall0227/
・ Pythonをアンインストールする前に、Python単体のみをインストールしているのか、 Anacondaなどのアプリケーションもインストールしているのか確認する必要がある。アンインストールに関する操作が変わる。
・ Pythonのみをインストールしている場合は、Pythonをインストールした際に作成された関連フォルダを削除する必要がある。
・ Anacondaをインストールしている場合は、PythonだけでなくAnacondaもアンインストールする必要がある。 その場合Pythonをインストールした際に作成されたフォルダおよび、Anacondaをインストールしていたフォルダの中で残ったファイルについて不要な場合は削除する。 - Homebrewのインストール
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - パス
HomebrewはPythonを/usr/local/binにインストールしている。
ジャズの壁
jazzyな雰囲気に憧れてジャズピアノをやりたいという人は多いけど、なかなか続けられない人が多いんじゃないかと思う。
クラシックピアノが上手くても、ジャズピアノには大きな壁がいくつもある。
その1つがアドリブ。
楽譜がない頼りなさがどうにも難しく感じてしまう。
クラシックを習った方なら耳コピして採譜することは得意な方だと思う。
けれど、コードを理解しないまま耳コピしてしまうと、1コーラス丸ごと覚えてしまうことになり後々応用が効かなくなってしまう。(体験談)
そこで、ジャズ理論が必要になってくる。
これがまた難しい。
このコードにはこのスケールが合うとか、(それも1つじゃない)
このコードにはこのテンションが合うとか、合わないとか。
最後には、「理論」じゃなく「感覚」が大事!とか。
そんなん覚えられるか!ってことで、諦めてしまう人が多いんじゃないかと思う。
全然弾けない自分が言うのもなんだけれど、理論はまぁ必要だけれど、たぶん、体で(指と感覚で)覚えることが必要なんだろうなと思う。
理論と実践のバランスが大事。
そう言う意味で、ジャズを勉強すると言うことは、英会話を勉強することに似ているのだと思います。