リアルタイム歩み値の取得と管理: PythonとVBAを活用した効率的な方法

1月 26, 2024

ステップバイステップガイド: 株価データの自動取得 (Part 1)

前提条件

  • 楽天証券のマーケットスピード2にアクセスできるアカウントを持っている
  • Pythonがインストールされている
  • 基本的なExcelの知識がある

ステップ1: 楽天証券のマーケットスピード2の設定

  1. 楽天証券のマーケットスピード2にログインします。
  2. RSSのアドインを設定して、エクセルに株価を表示するようにします。

ステップ2: Excelの設定

  1. シート1のA1セルに以下の関数を入力して、300本の歩み値を取得します。=RssTickList($A$2:$C$2, “9984.T", 300)
  2. 新しいシート(シート2)を作成し、シート1のデータを参照するように設定します。
  3. 作成したExcelブックを`.xlsm`形式で`C:\ayumi`フォルダに保存します。

ステップ3: Pythonスクリプトの準備

  1. 以下のPythonライブラリをインストールします。pip install openpyxl pandas

ステップバイステップガイド: 株価データの自動取得 (Part 2)

ステップ4: スクリプトの実行

  1. コマンドプロンプトかPowerShellを開き、以下のコマンドを実行して`ayumi`フォルダに移動します。cd\ cd ayumi
  2. 以下のコマンドを実行してスクリプトを起動します。python ayumi.py

ステップ5: VBAの設定

  1. Excelの「VBAエディタ」を開き、「ThisWorkbook」モジュールにVBAコードを記述します。
  2. 一定間隔でExcelブックを自動で保存するマクロを作成します。

ステップ6: データの統合

  1. 最後に、複数のエクセルブックとシートを1つにまとめるスクリプトを実行します。python ketugo.py

スクリプトに関する補足説明

このスクリプトは、特定のエクセルファイル(`ayumi.xlsm`)の変更を監視し、変更があった場合に新しいデータを読み込んで保存します。データは新しいエクセルブックに保存され、500シートを超えると新しいブックが作成されます。

スクリプトに関する補足説明

スクリプトの役割

このスクリプトは、特定のエクセルファイル(ayumi.xlsm)の変更を監視し、変更があった場合に新しいデータを読み込んで保存します。データは新しいエクセルブックに保存され、500シートを超えると新しいブックが作成されます。

変数の説明

  • file_path: 監視するエクセルファイルのパスです。
  • base_new_file_path: 新しいデータを保存する基本のエクセルファイルパスです。
  • temp_data_path: 一時データを保存するパスです。
  • MAX_SHEET_COUNT: 一つのExcelファイルに含めることができる最大のシート数を定義しています。

動作流れ

  1. Step 1: スクリプトはエクセルファイルの最後の変更時間を確認します。
  2. Step 2: 最後の変更時間が更新された場合、新しいデータを “Sheet2" から読み込みます。
  3. Step 3: 新しいデータは一時ファイルに保存され、以前のデータと比較されます。
  4. Step 4: 新しいデータは新しいエクセルブックに保存されます。このブックは500シートを超えると新しいブックが作成されます。

投資

Posted by admin