【Python】Pandas で取得した Ticker で移動平均線を描画する
おはようございます。
今回はまた一つ戻って
さくっとTicker の情報から移動平均線のチャートを表示したいと思います。
プログラムは、下記の記事のものを流用します。
【Python】Pandas で取得した Ticker を使ってチャートを描画する
スポンサーリンク
プログラムの修正
BfTool.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | classGetTicker(RequestHandler): """ ティッカー情報を取得 """ definitialize(self): logging.info("GetTicker [initialize]") defpost(self): logging.info("GetTicker [post]") # ティッカー情報の取得 mysql=MySQLUtil() df=mysql.convert_table_to_df() # 最終取引価格を浮動小数点に変換 df['LTP']=df['LTP'].astype("float") # 取引日時の型を変換 df['TIME_STAMP']=pd.to_datetime(df['TIME_STAMP']) # 取引日時をインデックスに設定 df.set_index('TIME_STAMP',inplace=True) """ 1分毎のデータを抽出 freq="H" 時間 freq="T" or "min" 分 freq="S" 秒 freq="5T" 5分 """ span=pd.date_range('2018-04-17 00:00:00',periods=5000,freq="T") df=df[df.index.isin(span)] # 同じ日時のデータがある場合は、そのうちの最大値をとる grouped=df.groupby("TIME_STAMP") df=grouped.max() # 移動平均 df["MA5"]=df["LTP"].rolling(window=5).mean() df["MA10"]=df["LTP"].rolling(window=10).mean() df["MA15"]=df["LTP"].rolling(window=15).mean() df["MA30"]=df["LTP"].rolling(window=30).mean() df["MA60"]=df["LTP"].rolling(window=60).mean() df["MA75"]=df["LTP"].rolling(window=75).mean() # プロットの設定 df[["LTP","MA5","MA30"]].plot(legend=True,figsize=(15,6)) plt.xticks(df.index) plt.xlabel("日時 TIME_STAMP") plt.ylabel("最終取引価格 LTP") plt.show() self.write(df.to_json(orient="records")) |
移動平均用の列を追加し、表示したい列を指定してプロットするように修正したのみです。
まとめ
とりあえずそれっぽい線は描画されたのですが、
これでいいのだろうか。
FXについてもっと勉強しないと。。
うー色々と時間が無さすぎる笑
次回の予定は Techan.js を使ってブラウザ上にチャートが出せればと思ってます。
ではでは。
ディスカッション
コメント一覧
まだ、コメントがありません