PR
カレンダー
コメント新着
キーワードサーチ
前回、JPXが公開している「銘柄別信用取引残高」のPDFをPythonでExcelに変換するプログラムを修正しました。
PDFのフォーマット変更に対応して、最新の信用取引残高をExcelに取り込めるところまで作りました。
前回の記事
今回はその続きです。
せっかく最新のデータをExcelに取り込めるようになっても、毎回そのExcelを開いて、別の株式分析用ファイルへコピーするのは少し面倒です。
そこで今回は、作成した「制度信用」のデータを、普段使っている楽天RSSの分析用Excelへ自動的に反映する仕組みを作ってみました。
(最終的には楽天RSSと組み合わせて、独自の株スクリーニングや通知、自動売買を行えるようにするため)
■ 今回やったこと
今回の仕組みは、それほど複雑ではありません。
前回の記事で紹介したPythonで取得した制度信用データを保存しているファイルを
ここでは、「制度信用.xlsx」としてExcelファイルを用意します。
そして、普段使っている楽天RSS用のExcelファイルを開いたときに、自動的にこのファイルを確認します。
参照するのは、制度信用データが入っている一番左のシートです。一番新しい日付データが一番左のシートにくるようにしているからです。
そのシートと、自分のExcelファイルにある「制度信用倍率」シートを比較します。
■ 毎回全部コピーするのではなく、日付を見る
ここで少し工夫しました。
制度信用データのQ3セルには、そのデータの日付が入っています。
例えば、
2026/09/11
だったものが、新しいデータでは
2026/09/18
になっていたとします。
このQ3の日付だけを比較して、
「日付が同じなら更新しない」
「日付が違えば最新データをコピーする」
という仕組みにしました。
これなら、毎回シート全体を比較する必要がありません。
■ なぜQ3だけでいいのか
今回の用途では、Q3がデータの日付を示しているためです。
データそのものを1セルずつ比較する方法もありますが、数千行、数十列あるようなExcelでは、毎回すべてのセルを確認する必要があります。
一方、Q3だけなら、
「日付を見る」
「違えば更新」
だけで済みます。
制度信用データが更新されていない日は、ほとんど処理をせず終了できます。
■ コピーは「値貼り付け」にした
もう一つ今回変更したポイントがあります。
通常のExcelコピーでは、セルの数式や書式なども一緒にコピーされる場合があります。
今回の制度信用データは、別のExcelファイルで作成したデータを楽天RSS側の分析用Excelへ持ってくるだけなので、数式まで持ってくる必要はありません。
そこで、コピーするときは「値だけ」を貼り付けるようにしました。
これによって、元のExcelに入っている数式やリンクなどをそのまま引き継ぐのではなく、計算後の値を楽天RSS用のExcelへ保存できます。
■ 小数点も自動で整理
さらに、取り込んだ数値については、小数点以下1桁に統一する処理も入れました。
例えば、
12.345
なら
12.3
8.76
なら
8.8
というようにしています。
制度信用倍率など、後からExcel関数やスクリーニングで利用する数値について、桁数を揃えておくと扱いやすくなります。
■ Excelを開くだけで更新できる
最終的には、
Excelを開く
↓
制度信用.xlsxを確認
↓
最新の日付を確認
↓
日付が違えば制度信用倍率を更新
↓
楽天RSSの分析処理を続行
という流れにしました。
これなら、毎回「制度信用データをコピーして、別のExcelへ貼り付ける」という作業をする必要がありません。
■ 楽天RSSとの組み合わせ
私の場合は、楽天RSSから取得した株価データをExcelで分析して、そこに制度信用倍率などの需給データも組み合わせています。
株価だけを見るのではなく、
株価
出来高
信用取引の状況
制度信用倍率
などを組み合わせることで、自分なりのスクリーニング条件を作ることができます。
以前の記事で「PDFをExcelにする」ところまで作りましたが、今回はそこから一歩進めて、「作ったデータを普段使っている分析環境へ自動的に持ってくる」ところまで自動化してみました。
■ 自動化すると意外と楽
こういった処理は、一回だけなら手作業でも問題ありません。
しかし、同じ作業を毎日、毎週と繰り返すとなると、少しずつ面倒になってきます。JPXが公開している「銘柄別信用取引残高」のPDFはフォーマットの変更もありましたが、
更新頻度も平日ごとに掲載で頻度が上がっているので、毎回やっていたら大変です。
特に株式分析では、データを更新する作業そのものよりも、その後の分析に時間を使いたいところです。
そこで、
「新しいデータがあるときだけ更新する」
という仕組みにしておくと、かなり扱いやすくなります。
■ 今回のVBAについて
実際には、Excelを開いたときに自動実行されるWorkbook_Openを利用しています。
制度信用.xlsxを開き、一番左のシートのQ3を確認し、自分のExcelの「制度信用倍率」シートのQ3と比較します。
日付が違っていた場合だけデータを値貼り付けします。
また、Excelを開いたときに行っている他の自動処理とも一緒に動かせるようにしています。
■ もっと詳しく知りたい方へ
今回の記事では仕組みとメリットを中心に紹介しました。
実際に自分で同じ仕組みを作る場合には、
・Workbook_Openへの組み込み方
・閉じたExcelファイルを参照する方法
・一番左のシートを取得する方法
・Q3の日付を比較する方法
・値だけを貼り付ける方法
・小数点以下1桁にする方法
・エラーが発生した場合の処理
・既存のWorkbook_Openとの統合方法
・Excelを開くときの処理を重くしないための設定
など、いくつか注意するところがあります。
これらについては、noteの方で実際に使用しているVBAコードを含めて詳しくまとめています。
note記事
前回の「PDFをExcelに変換する記事」の続きとして、今回は「Excelに取り込んだ制度信用データを、実際の株式分析環境へ自動反映するところ」まで進めてみました。
同じようにExcelと楽天RSSを使って株式分析を自動化している方の参考になればと思います。
株で1日3万円「鬼デイトレ」“伝説の株職人”による15分足の極意 [ 相場 師朗 ]
一番売れてる株の雑誌ダイヤモンドザイが作った!チャートで稼ぐ「株」入門! 必勝sexyボリンジャー投資法のすべて [ Diamond ZAi編集部 ]
光触媒より便利な『CT触媒フェイクグリーン エクリア』( 卓上 ミニ 消臭 空気清浄 防臭 防汚 抗菌 おしゃれ リアル インテリア ガラス瓶 多肉植物 寄せ植え トイレ 玄関 造花 人工観葉植物 置物 アーティフィシャルグリーン プレゼント おすすめ )