GASで作るスキャナ(スクリーニング)
スキャナとは。
トレステ時代に活用していたツールで、全銘柄から条件に合致する銘柄を抽出する機能です。
似たようなものとして、証券会社等で採用されている”スクリーニング”がありますが、これらでは細かい条件は設定できませんよね。
「出来高がこんな形」かつ「ローソク足がこの形」等は個別にチャートを見なければわかりません。
また、tradingview等で作成したオリジナルの指標等での判定も個別ではアラームを設定ができますが、全銘柄では(現時点では)抽出不可能です。(実装予定はあるらしいです。早く!)
GASで作成
チャートを一つずつ確認するのは、めんど..効率を求める我々リーマンには難しいということで、作りました。
Googleのスプレッドシートにスクリプト(エクセルのVBAみたいなもの)を組み込むことで、自分オリジナルの条件にて銘柄を絞り込みます。Google Apps Script (以降省略:GAS)を使っています。(プログラムはjavascriptです)
なぜ GASか?
Pythonや他プログラムでも同様のことが可能ですが、あえて制限の多いGASを使用したのは、サーバ不要で常時実行できるためです。
どこからでも使用でき、スマホからでも確認することが可能なため、(忘れやすい)サラリーマンには助かります。
機能
- 設定した定時(1800)にデータダウンロード
- ダウンロードしたデータを月ごとにjsonファイルとして保存
- あらかじめ作成していた抽出条件で全銘柄から抽出
- 抽出されたコードについて株探からスクレイピング
- 個別の指標データを確認することが可能
- 定時刻に銘柄を抽出することも可能。
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で公開してみました。 >>勢いで出してみたものの、個別対応が面倒に感じてしまい消しちゃいました(・ω<) テヘペロ.