かーぶ(仮)

主に日本株やってます。長期ではなく短期取引メインです。TradeStation等株取引ツールも紹介します。

GASで作るスキャナ(スクリーニング)

スキャナとは。

トレステ時代に活用していたツールで、全銘柄から条件に合致する銘柄を抽出する機能です。
似たようなものとして、証券会社等で採用されている”スクリーニング”がありますが、これらでは細かい条件は設定できませんよね。
出来高がこんな形」かつ「ローソク足がこの形」等は個別にチャートを見なければわかりません。
また、tradingview等で作成したオリジナルの指標等での判定も個別ではアラームを設定ができますが、全銘柄では(現時点では)抽出不可能です。(実装予定はあるらしいです。早く!)

GASで作成

チャートを一つずつ確認するのは、めんど..効率を求める我々リーマンには難しいということで、作りました。
Googleスプレッドシートスクリプト(エクセルのVBAみたいなもの)を組み込むことで、自分オリジナルの条件にて銘柄を絞り込みます。Google Apps Script (以降省略:GAS)を使っています。(プログラムはjavascriptです)

なぜ GASか?

Pythonや他プログラムでも同様のことが可能ですが、あえて制限の多いGASを使用したのは、サーバ不要で常時実行できるためです。
どこからでも使用でき、スマホからでも確認することが可能なため、(忘れやすい)サラリーマンには助かります。

機能

  1. 設定した定時(1800)にデータダウンロード
  2. ダウンロードしたデータを月ごとにjsonファイルとして保存
  3. あらかじめ作成していた抽出条件で全銘柄から抽出
  4. 抽出されたコードについて株探からスクレイピング
  5. 個別の指標データを確認することが可能
  6. 定時刻に銘柄を抽出することも可能。

f:id:kabuist:20201230190733p:plain
スキャナ画面

jsonファイル

株価データはjsonファイルにて月ごとに作成。
当初はスプレッドシートの形式で保存していたが、読み出しに時間がかかるため、以下の構成でjsonファイルを作成。

jsonデータの形

以下のような形で、連想配列を2段としてくみいれています。
{"1301": {
         ”Date”:[”2020-12-28”,"2020-12-25",・・・],
         "close":[2950,2916,・・・],
         "high":[2950,2930,・・・],
         "low":[2910,2903,・・・],
         "open”:[2929,2903,・・・]
},
{"1302": { ・・・・

指標計算<テクニカル>

データを渡すことで、テクニカルの計算配列を返してくれるスクリプトも作りました。
今現在作成しているのは以下です。

noteで公開

noteで公開してみました。  >>勢いで出してみたものの、個別対応が面倒に感じてしまい消しちゃいました(・ω<) テヘペロ.

/*コード内行数*/ /*コード内全選択*/