【Python】Pandas で取得した Ticker で移動平均線を描画する
おはようございます。
今回はまた一つ戻って
さくっとTicker の情報から移動平均線のチャートを表示したいと思います。
プログラムは、下記の記事のものを流用します。
【Python】Pandas で取得した Ticker を使ってチャートを描画する
スポンサーリンク
プログラムの修正
BfTool.py
class GetTicker(RequestHandler): """ ティッカー情報を取得 """ def initialize(self): logging.info("GetTicker [initialize]") def post(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 を使ってブラウザ上にチャートが出せればと思ってます。
ではでは。
ディスカッション
コメント一覧
まだ、コメントがありません