目安:この記事は3分で読めます
前回は、”Plotly” を使ってナスダック100のローソク足チャートを作成しました。
-
Pythonなら"爆速" でチャートやグラフをつくれる:ローソク足編
続きを見る
その際、コードの一覧を紹介しました。
今回は、そのコードについて詳しく解説していきます。
今回のテーマ
"爆速" で作ったローソク足のPythonコードについての解説
▼ Pythonを効率的に学ぶなら ▼
Pythonを学ぼう
この記事の対象となる人
こんな人におすすめ
- Pythonに興味がある人
- Pythonを学びたいと思っている人
- Pythonを使って株価の分析をしたい人
結論からいいます
結論
- ”Plotly” を使えば "爆速" でローソク足チャートが作れる
前回の復習
まずは、前回の復習です。
前回作ったローソク足チャート
下のチャートをクリック(タップ)してみてください。
このように”Plotly” を使えば、”動的”なチャートが”爆速”で作れます。
ここまでが前回の内容でした。
ここからが今回の本題です。
上のチャートを描画する時に書いたコードについて解説していきます。
Pythonコードの説明
まずは、全体のコードから。
コードの全体像
#Plotlyライブラリのインポート import plotly.graph_objs as go #Pandasのインポート import pandas as pd import pandas_datareader as web #日付や時間を設定するdatetimeをインポート import datetime ## nasdaqという変数にナスダック100のローソク足チャートのデータを入れるコード nasdaq = web.DataReader(name='^NDX', data_source='yahoo', start='2021-01-01', end=datetime.date.today()) #Plotlyチャートを描画するコード fig = go.Figure(data=[go.Candlestick( x=nasdaq.index, open=nasdaq['Open'], high=nasdaq['High'], low=nasdaq['Low'], close=nasdaq['Adj Close'], increasing_line_color= 'darkgreen', decreasing_line_color= 'red')]) fig.update_layout(autosize=True,width=1000,height=800) # Plotlyチャートを表示するコード fig
たった3つのことをやっているだけ
初心者の方がプログラミングのコードを見ると...
という感想を抱くと思います。
しかし、上のコードが実行していることは、以下3つのことだけです。
step.1
最初に必要なライブラリをインポート
step.2
次に必要な価格データを取得
step.3
最後にチャートを作成し表示する
たった3つのことをコード化するだけで、”爆速”でローソク足のチャートが作成できるというわけです。
コードの解説
ここからは、ひとつひとつのコードが何を意味するのか?
この点について解説していきます。
なお、コードが書いてある画面は左右にスライドできます。
①ライブラリのインポート
プログラミングの目的は様々でも、まず最初にやるべきは必要なライブラリのインポートです。
import plotly.graph_objs as go import pandas as pd import pandas_datareader as web import datetime
今回のライブラリ
plotly.graph_objs
1行目:『plotly.graph_objs』がPlotlyのライブラリです。
この書き方は、Plotlyの定型文みたいなものです。
graph_objsのところはgraph_objectsと書くこともできます。この辺は好みですね。
pandas
3行目と4行目:これまでこのブログで何度も紹介した『Pandas』のライブラリです。Pandasは ”Pythonのエクセル版” と思ってください。
そのPandasの中にあるのが『pandas_datareader 』です。これを使ってYahoo!finance USから価格データを取得します。
datetime
6行目:『datetime』は、日付や時間を設定するライブラリです。
今回は、コードを書いた日を最終日にする目的でインポートしました。
②価格データの取得
必要なライブラリのインポートが終わったら、次はYahoo!finance USから、ナスダック100の価格データを取得します。
# nasdaqという変数に価格データを入力するコード nasdaq = web.DataReader(name='^NDX', data_source='yahoo', start='2021-01-01', end=datetime.date.today())
価格データの変数
まずは、価格データを入れる ”箱” となる変数を作ります。
今回は『nasdaq』としました。
変数の名前は自由に決めることができます。
DataReader
Pandasを使ってYahoo!finance USから価格データを取得する時は、『DataReader』を使います。
他にもデータを取得するためのライブラリはありますが、DataReaderが一番使いやすいでしょう。
そして、『DataReader』にはいくつか任意で設定できる引数があります。
DataReaderの引数
・name:ここに取得したい市場や銘柄のティッカーコードを入力します。
ナスダック100の場合は『^NDX』です。
・data_source:ここに価格を取得したいデータソース名を入力します。
大体は ”Yahoo!finance US” から取得します。なので『yahoo』と入力します。
・start:ここではデータを取得したい”最初の日”を設定します。
・end:ここではデータを取得したい”最後の日”を設定します。
今回は、コードを書いた日を最終日とするため『datetime』で設定しました。
ちなみに "datetime.date.today( )" とすると、コードを書いている日の日付が設定されます。
③価格データの確認
価格データに限らず、何らかのデータを取得した際は、必ず最初(頭)と最後(お尻)のデータをチェックします。
nasdaq
・価格データ
変数名『nasdaq』と入力するだけで、Yahoo!finance USから、価格のデータを取得出来ていることが確認できました。
④チャートの描画
さて、いよいよチャートの描画(びょうが)です。
ここでPlotlyの真価が発揮されます!
# figという変数にナスダック100のローソク足チャートのデータを入力するコード fig = go.Figure(data=[go.Candlestick( x=nasdaq.index, open=nasdaq['Open'], high=nasdaq['High'], low=nasdaq['Low'], close=nasdaq['Adj Close'], increasing_line_color= 'darkgreen', decreasing_line_color= 'red')]) # チャートのレイアウトを設定するコード fig.update_layout(autosize=True,width=1000,height=800) # チャートを表示するコード fig
fig
2行目:『fig 』は、Plotlyチャートのデータを入れるための変数(箱)です。
変数の名前はお好みで設定できます。
go.Figure
2行目:『go.Figure』は、空のPlotlyチャートを設定するコードです。
ライブラリをインポートする際に”import plotly.graph_objs as go”としました。
最後の”as go”は、"Plotlyのライブラリをgoとしてインポートして" という意味です。
data
2行目:『data』と書くことで、このdataの中にチャートのタイプや価格データを入力することを宣言します。
go.Candlestick
2行目:『go.Candlestick』と書くことで、これからチャートのタイプがローソク足であること、ローソク足に必要な『四本値』を入力することを定義します。
ちなみに『go.Candlestick』は[ ]でくくるので、リスト形式となります。
go.Candlestick
3行目以降(go.Candlestickの中身):
・x:横軸となりますので、ここには時系列のデータを入れます。
”変数名.index”とすれば、時系列データが簡単に認識されます。
なぜならindexに時系列のデータが入っているからです。
・open / high / low / close:
ここでローソク足の『四本値』である『始値/ 高値/ 安値/ 終値』の4つのデータを設定します。例えばopen(始値)ならば ”変数名['Open']” とします。closeなら ”変数名['Adj Close']” とします。
OpenやAdj CloseはYahoo!finance USの形式です。スペルミスを防ぐために、Pandasで取得したデータフレームからコピペしましょう。
・increasing_line_color:ここで”上昇”のローソク足チャートの色を設定します。
・decreasing_line_color:ここで”下落”のローソク足チャートの色を設定します。
fig.update_layout
12行目:『fig.update_layout』でチャートの大きさが設定できます。
”width”で横のサイズ、”height”で縦のサイズが自由に設定できます。
fig.update_layout
15行目:『fig』はチャートを表示(描画)するコードです。
あっという間にナスダック100ののローソク足チャートが出来上がりました!
・Plotlyチャート
Pythonを使えば簡単にチャートが作成できる
このブログで何度も述べてきましたが、Pythonを使えば簡単にチャートが作成できます。
もちろん、コードを組む時はある程度の時間が必要です。
しかし一度コードを組んでしまえば、あとはそのコードを実行するだけです。
コードを実行すれば、一瞬であなたの作りたいチャートが描画されます。
この記事をきっかけにPythonに興味を持たれた方は、以下の『Pythonを学びたい方へ』をご覧ください。
Pythonを学びたい方へ
今やPythonは、マーケットの分析に限らず、あらゆる分野で使われているプログラミング言語です。
Pythonを学んでおけば株式の投資に役立つだけでなく、これからのキャリアを形成する上でも力強い武器となるでしょう。
『私もPythonを学んでみたい!』
という人は以下のリンク先をご覧ください。
▼ Pythonを効率的に学ぶ方法を知りたいなら以下をクリック ▼
Pythonを学ぼう
なぜプログラミングを学ぶ必要があるのか?その理由がわかります。
そして、『これがPythonを効率的に学ぶ方法だ!』と自信をもっておすすめする学習方法について解説しています。
この記事と出会ったのも何かの縁です。
ぜひチャレンジしてみてください!
まとめ
・"Plotly" はデータを簡単に可視化してくれる便利なライブラリ
・"Plotly"を使えば動的なチャートが”爆速”でつくれる
注記事項
当サイトのコンテンツを参考に投資を行い、その後発生したいかなる結果についても、当サイト並びにブログ運営者は一切責任を負いません。すべての投資行動は『自己責任の原則』のもとで行ってください。