ヘビに睨まれたカエル

Pythonとオプショントレードで市場の恐怖に立ち向かっていきます。

Pythonで直近3か月分のSQ日と残存日数計算

前回までに、

  • 祝日をリスト形式で取得するプログラム

  • 対象限月を与えればSQ日を返してくれるプログラム

  • 特定の日付とSQ日を与えれば残存日数を返してくれるプログラム

を作成しました。今回は特定の日付だけ与えれば、そこから3限月を自動判別し、それらのSQ日および残存日数をまとめて取得する関数を作成します。

  1. どんな関数

    1. 特定の日付dateを与えると、そこから3限月分のSQ日と残存日数を辞書形式で取得する関数
  2. 関数が中でやってること

    1. dateが含まれる月から4ヶ月分を対象月とする。(最後に3ヶ月分に絞ります。この時点では、dateが今月のSQ日を過ぎてるかどうか判別できていないため。) → month_cand_list
    2. 各月のSQ日、残存日数を取得 → sq_date_cand_list, remaining_days_cand_list
    3. どの三ヶ月を選ぶか決める
      1. sq_date_cand_list[0]dateより後なら[0..2]を対象の3限月と判定し、一方sq_date_cand_list[0]dateより前なら[1..3]を対象の3限月と判定する。 → month_cand_list, sq_date_cand_list, remaining_days_cand_listを辞書型データのsq_remaining_dictとする。
  3. 結果

与えた日付によって正しい結果が返ってきているのが分かります。

今後はこれ使って東証終値のデータをいろいろ解析したいと思います。