お仕事効率家@テレワーク

色んなことを効率化して楽するのが好きなので、そんな感じのネタを書いていきたいと思います…

お仕事効率家@テレワーク

色んなことを効率化して楽するのが好きなので、そんな感じのネタを書いていきたいと思います。ノンプログラマなのでその都度勉強しつつって感じです。 趣味のスノーボード、ゆる登山のネタも気が向いたら書いていこうと思います。

マガジン

最近の記事

SBI証券の保有資産データを毎日自動で取得してみる【その7】

前回は、Google Driveに保存しているPortFolioMaster.csvをDataFrameに読み込むところまで出来きました。 今回は、PortFolioMaster.csvに日々取得したCSVファイルをDataFrameに読み込んでマージして行く処理を行っていきます。 そのままCSVファイル同士を結合した方が早いんじゃないかと思いましたが、DataFrameで結合した方がカラム名のチェックが自動で行われるのでなんとなく安心です。 では、marge_port

    • SBI証券の保有資産データを毎日自動で取得してみる【その6】

      前回は、Google Cloud Functionsで取得した保有資産データを、毎日自動でGoogle DriveにCSVファイルで保存するところまでできました。 とりあえず何日間か様子を見ていましたが問題なく毎日データが取得できているようです。 ということで、既存のPortFolioMaster.csvに日々取得したCSVファイルをマージしていきたいと思います。 まずは、Google Drive上のこのファイル一覧を取得する必要があります。 Google Drive

      • SBI証券の保有資産データを毎日自動で取得してみる【その5】

        前回は、Google Cloud Functionsで取得した保有資産データを、Google DriveにCSVファイルで保存するところまでできました。 今回は、この処理を毎日自動で実行するようにしていきたいと思います。こちらのサイトを参考にしたいと思います。 これを見ると、関数のトリガーをPub/Subに設定する必要があるようですが、すでに作成した関数のトリガーはhttpです。なので変更しようと思ったのですがこの設定は後から変更できないようです・・・。あらら。 という

        • SBI証券の保有資産データを毎日自動で取得してみる【その4】

          前回は全く進まなかったので、引き続き今回も認証を進めていきます。 OAuth 2.0 クライアント IDもローカルPCで認証をやっていきたいと思います。こちらのサイトを参考にさせてもらいました。ありがとうございます。 ローカルPCで認証をすると出来るファイルcredentials.jsonとtoken.pickleをCloud Shellのmain.pyと同じフォルダにコピーします。どうやってコピーしようかと思いましたが、ドラッグ&ドロップであっさりコピーできました・・・

        SBI証券の保有資産データを毎日自動で取得してみる【その7】

        マガジン

        • SBI証券の損益データを楽に取得してみる
          12本
        • SBI証券の資産推移をグラフにしてみるチャレンジ
          19本
        • 株取引のメールをスプレッドシートに取り込む
          4本

        記事

          SBI証券の保有資産データを毎日自動で取得してみる【その3】

          前回は、Google Cloud FunctionsでSBI証券のサイトにログインして保有資産データをDataFrameに取得するところまでできました。 今回は、取得したデータをGoogle DriveにCSVファイルで保存していきたいと思います。 Cloud FunctionsからGoogle Driveにアクセスできるようにするには、認証する必要があるようです。方法はOAuth 2.0 クライアント IDとサービス アカウントの2つあるようです。 最初OAuth 2

          SBI証券の保有資産データを毎日自動で取得してみる【その3】

          SBI証券の保有資産データを毎日自動で取得してみる【その2】

          前回は、Google Cloud FunctionsでSBI証券のサイトにログインするところまでできました。 前回書き忘れていましたが標準ライブラリ以外で必要となるライブラリは、ターミナルでpipでインストールして、main.pyと同じフォルダにrequirements.txtという名前のファイルを作り、ライブラリ名を記入する必要があります。 pandasbs4lxml では、今回は保有資産データの取得をしていきたいと思います。 以前作成したポートフォリオデータを取得

          SBI証券の保有資産データを毎日自動で取得してみる【その2】

          SBI証券の保有資産データを毎日自動で取得してみる【その1】

          以前「SBI証券の資産推移をグラフで表示する方法を考えてみる日記」という記事を書きました。Google Colabを使ってSBI証券のサイトにログインしてポートフォリオ画面から保有資産の情報を取得してグラフを表示するという内容です。 Google Colabだとスマホのブラウザから実行できるので、わざわざPCから実行しなくてもよくて、外出していても実行できるところが便利なのですが、毎日スマホのブラウザからポチッと実行するのを忘れそうになります。実行を忘れるとその日の保有資産

          SBI証券の保有資産データを毎日自動で取得してみる【その1】

          SBI証券の電子ポストからPDFファイルを自動でダウンロードしてみる【その4】

          前回、電子ポストのDPFファイルを全てダウンロードするところまで処理出来ました。 今回は、今後のために電子ポストにダウンロードしていないPDFファイルがあればダウンロードするような処理を追加していきたいと思います。 ダウンロードしていないPDFファイルをどうやって判断するかですが、ダウンロードボタンをクリックする前に、epostフォルダにこれからダウンロードしようとする件名+日付のPDFファイルがあるか確認して、PDFファイルがなければ、ダウンロード、あれば全てのPDFフ

          SBI証券の電子ポストからPDFファイルを自動でダウンロードしてみる【その4】

          SBI証券の電子ポストからPDFファイルを自動でダウンロードしてみる【その3】

          前回はダウンロードしたPDFファイルの名前を分かりやすいように件名+日付に変えていきました。 今回は、一覧ページのPDFファイルを全件ダウンロードした後に、次のページへ遷移してダウンロードする処理を追加していきたいと思います。 前回は3件までダウンロードするテストをしましたが、1ページの20件をダウンロードした後に次のページへ遷移する必要があるので、次のページへ行くボタンのHTMLを見てみます。 1ページ目と2ページ目で次のページへ遷移するボタンの位置が変わりますね。な

          SBI証券の電子ポストからPDFファイルを自動でダウンロードしてみる【その3】

          SBI証券の電子ポストからPDFファイルを自動でダウンロードしてみる【その2】

          前回は電子ポストの画面で1件目のPDFファイルをダウンロードするところまでできました。 今回はダウンロードしたPDFファイルの名前を分かりやすいように件名+日付に変えていきたいと思います。 前回作成した関数に以下の処理を追加していきます。 ・ダウンロードしたファイル名を取得する ・変更後のファイル名を取得する ・ファイル名を変更する ダウンロードしたファイル名をどうやって取得しようかと考えて、最初はデダウンロードしたフォルダの最新日付のファイル名を取得することにしよう

          SBI証券の電子ポストからPDFファイルを自動でダウンロードしてみる【その2】

          SBI証券の電子ポストからPDFファイルを自動でダウンロードしてみる【その1】

          SBI証券では、さまざまな通知をWebサイト上で閲覧する電子交付サービスを提供しています。 「電子交付サービス」とは、「取引報告書」・「取引残高報告書」等を書面での交付(郵送)に代えて、WEBサイト上で電子書面(PDFファイル)で閲覧いただけるサービスです。 電子交付サービスを申し込むと電子ポストで電子書面を閲覧することが可能になります。 電子ポストには過去5年分までのデータしか保存されないようなので、データが消える前にダウンロードしておいた方が良さそうです。 しかし

          SBI証券の電子ポストからPDFファイルを自動でダウンロードしてみる【その1】

          SBI証券の損益管理を自動化してみる日記【その12】

          前回は特定口座とNISA口座のデータをマージしました。今回は、データを集計してグラフ作成をやっていきたいと思います。作りたいデータとグラフは以下の通りです。 年ごとの損益集計を集計してグラフにする。口座全体、特定口座、NISA口座ごとにそれぞれ作成する。 年、月ごとの損益を集計してピボットテーブルにする。 年月ごとの損益を棒グラフにして、累積損益を折れ線グラフにする。 では以前作った関数draw_profit_graph()を修正していきます。集計用に年、月、年月のカラム

          SBI証券の損益管理を自動化してみる日記【その12】

          SBI証券の損益管理を自動化してみる日記【その11】

          さて、今回は特定口座とNISA口座のデータをマージして、データの集計とグラフ作成をしていきたいと思います。 まずはcreate_master_profit_data()という関数を作って、特定口座とNISA口座のデータをマージしてマスターデータを作っていきます。 def create_master_profit_data(): data_dir = '/content/drive/My Drive/資産管理/sbisec/ProfitData/' df_speci

          SBI証券の損益管理を自動化してみる日記【その11】

          SBI証券の損益管理を自動化してみる日記【その10】

          さて、前回はNISAの過去の損益データを取得してGoogleDriveにCSVファイルに保存するところまでいきました。今回は、今後新しく追加されるNISAの損益データを取得してマージしていく関数add_latest_nisa_profit_data()をつくっていこうと思います。 関数の処理の流れとしては以下の感じですかね。 SBI証券のNISA口座画面の売却損益の検索条件の年指定を今年に設定。(get_nisa_profit_data(driver)を修正して利用) 照会

          SBI証券の損益管理を自動化してみる日記【その10】

          SBI証券の損益管理を自動化してみる日記【その9】

          さて、今回はNISA口座の損益データを取得していきたいと思います。 新しい関数get_nisa_profit_data()を作ります。SBI証券のトップページから口座管理→口座(NISA)とクリックしていきます。なるべく多くの結果を表示したいので表示結果200件をクリックします。私の場合結果が101件しかなかったので1ページで収まります。 def get_nisa_profit_data(driver): # 口座管理をクリック driver.find_eleme

          SBI証券の損益管理を自動化してみる日記【その9】

          SBI証券の損益管理を自動化してみる日記【その8】

          さて、前回は取得した損益データを元に、年ごと取引内容ごとにグラフに表示するとこところまで出来ました。 今回は、月ごとの損益グラフとその累積折れ線グラフを作成していきたいと思います。前回作成したdraw_profit_graph関数に処理を追加していきます。 その前に月ごとの損益と累積グラフの前に、行に年、列に月の形で集計したピボットテーブルも見たいので先にそちらを作ることにします。 # 年、月ごとの二次元データ df_monthly = pd.pivot_ta

          SBI証券の損益管理を自動化してみる日記【その8】