Skip to content

Sync the stock portofolio in IBKR to MoneyForward ME

Notifications You must be signed in to change notification settings

RyoshunCho/ibkr_mf_syncer

Repository files navigation

IBKR MF Syncer

Sync the stock portofolio in IBKR to MoneyForward ME.

IBKR MF Syncer is a Python script that synchronizes a stock portfolio from Interactive Brokers (IBKR) with MoneyForward ME. The script fetches reports in XML format generated by IBKR Flex Queries and reflects the information to MoneyForward ME.

IBKR MF Syncerは、Interactive Brokers (IBKR)の株式のポートフォリオをMoneyForward MEに同期するPythonスクリプトです。このスクリプトは、IBKRからFlex Queriesで生成されたxml形式のレポートを取得し、その情報をMoneyForward MEに反映します。

制約

  • Cash残高と現物株式のみに対応しています。他の商品(債権、投信、先物、CFD、オプション等)には(まだ)対応していません。※手伝ってくれる方募集中です。
  • yahoo finance から取得した為替情報を使用して円換算をしているが、あまり正確ではなく、参考程度に。
  • Interactive Brokers (IBKR)のFlex web serviceのTokenはいつまでも有効ではないです。有効期間が1年間です。失効したら新に設定が必要です。ご注意を。

準備

  • IB証券側の準備:
    • IB証券の口座設定でFlex web service有効化しておくこと。
    • 有効にしたら、Current Tokenをメモること。
    • 1つActivity Flex queryを作成しておくこと。セクション(Sections)は、以下(1)と(2)の2つを選択しておくこと。他のセクションを選択しないこと。
      • (1)オープン・ポジション(Open Position)
        • オプションは「サマリー」のみ選択。
        • 項目は全項目を選択(SELECT ALL)。
      • (2)キャッシュ・レポート(Cash Report)
        • オプションは何も選択しない。
        • 項目は全項目を選択(SELECT ALL)。
      • 他の設定は全てデフォルトのままにすること。
      • クエリ名はなんでも良い。
      • 作成後、そのクエリーIDをメモっておくこと。
  • MoneyForward ME側の設定:

使い方

  1. まず、準備でメモったものを全てconfig.iniに反映し、保存する。
  2. 次に、スクリプトを実行します。
python main.py

ライブラリ

以下のライブラリが必要です。

  • configparser
  • playwright
  • ibflex
  • pandas
  • BeautifulSoup
  • yfinance

以下のコマンドでインストールできます。

pip install configparser playwright ibflex pandas beautifulsoup4 yfinance