このツールを使用すると、マルチ トランザクション エクスポート (CSV) を Ghostfolio で読み取れるインポート ファイルに変換できます。現在、次のものがサポートされています。
ビトバボ
BUX
デギロ
エトロ
フィンペンション
自由貿易
インタラクティブ・ブローカーズ (IBKR)
調査研究
寄木細工
ラボバンク
レボリュート
シュワブ
スイスクオート
トレーディング 212
XTB
あなたのブローカーはリストに載っていませんか?自由に問題を作成してください。あるいは、自分で問題を作成してプル リクエストを作成することもできます。詳細については、「貢献」を参照してください。
以下のサポートされている各ブローカーのトランザクション エクスポート手順を参照してください。
Bitvavo アカウントにログインし、右上にある自分の名前をクリックします。次に「取引履歴」をクリックします。にある青い「エクスポート」ボタンをクリックしてエクスポートを作成します。 CSv オプションの 1 つを選択し、もう一度 [エクスポート] をクリックします。
アプリを開き、[アカウント値]、[履歴の表示] の順に移動します。右上隅にあるダウンロード アイコンをクリックして、取引履歴をダウンロードします。エクスポートはあなたの電子メール アドレスに送信されます。
BUX による制限により、CSV エクスポートは 1 日に最大 3 件までリクエストできます。 。
DEGIRO アカウントにログインし、エクスポート ファイルを作成します ([受信トレイ] > [アカウント概要] を使用、下の画像を参照)。履歴をエクスポートする期間を選択し、「ダウンロード」をクリックします。
eToro アカウントにログインし、「ポートフォリオ」に移動します。次に、上部メニューの「履歴」を選択します。次に、一番右のアイコンをクリックし、「アカウント明細」を選択します。興味のある日付を選択し、「作成」をクリックします。次のページで、右上の Excel アイコンをクリックしてファイルをダウンロードします。ダウンロード後、Excelでファイルを開き、「アカウントアクティビティ」タブを除くすべてのタブを削除します。次に、Excel を使用してファイルを CSV に変換します。
Finpension アカウントにログインします。ランディング ページからポートフォリオを選択します。次に、画面の右側で「トランザクション」を選択し、次のページの右側に「トランザクション レポート (CSV ファイル)」が表示され、クリックして電子メールで送信するか、クリックしてローカルにダウンロードします。
フリートレードアプリを開きます。左上の「ポートフォリオ」見出しの下にあるオプションからポートフォリオを選択します。画面下部にあるアイコンのリストから「アクティビティ」を選択します。右上隅にある共有アイコンを選択し、画面上の指示に従います。
インタラクティブ・ブローカーズ・アカウントにログインします。 「アカウント管理」に移動し、サイドバーの「レポート」をクリックします。次に、「レポート」セクションの「フレックス クエリ」タブをクリックします。 Flex の「クエリ セクション」で、右側のプラス (+) アイコンをクリックして新しい Flex クエリを作成します。取引用に新しいフレックス クエリを作成し、配当用に別のフレックス クエリを作成します。エクスポート形式を「CSV」に設定します。画像の下にある必須の列を参照してください。
取引の場合は、「取引」を選択します。次に、次のプロパティを選択します: Buy/Sell, TradeDate, ISIN, Quantity, TradePrice, TradeMoney, CurrencyPrimary, IBCommission, IBCommissionCurrency
。
配当金の場合は「現金取引」を選択してください。次に、次のプロパティを選択します: Type, SettleDate, ISIN, Description, Amount, CurrencyPrimary
。
Investimental アカウントにログインし、「Orders Daily Log」をクリックします。アカウントと希望の期間を選択し、更新ボタンをクリックします。トランザクションが表示されるので、ダウンロード ボタンをクリックします。
Parquet にログインし、「アクティビティ」セクション (ドイツ語では「Aktivitäten」) に移動します。右上隅の緑色の「Neue Aktivität」ボタンの隣に、「CSV としてダウンロード」(ドイツ語では「CSV としてエクスポート」)のオプションが表示されます。このボタンをクリックして、すべてのアクティビティを含む CSV ファイルをダウンロードします。
ラボバンクにログインし、投資先へ移動します。 「取引と契約メモ」(変更とメモ) に移動します。上部でエクスポートしたい範囲を選択します。次に、ページの一番下までスクロールし、「.csv としてエクスポート」をクリックします。
Revolutアプリを開き、「投資」タブを開きます。 「その他」ボタンを押して、「ドキュメント」を選択します。投資口座を選択し、最初のオプション「口座明細」を選択します。 「Excel」オプションを選択し、日付範囲を選択します。次に、ファイルをダウンロードしてデバイスに保存します。ファイルを.xlsx
から.csv
に変換します。区切り文字は,
(カンマ)」に設定してください!
Schwab アカウントにログインします。 「アカウント」、「履歴」の順に移動します。詳細をダウンロードするアカウントを選択します。 「日付範囲」を選択し、「エクスポート」(csv)を選択します。ファイルを保存します。
Swissquote アカウントにログインします。バーメニューから「トランザクション」をクリックします。希望の期間と種類を選択し、右側の「CSV エクスポート」ボタンを選択します。
Trading 212 アカウントにログインし、エクスポート ファイルを作成します (履歴 > ダウンロード アイコンから)。履歴をエクスポートする期間を選択し、「ダウンロード」をクリックします。
XTB アカウントにログインし、上部バーから「アカウント履歴」をクリックし、次に「現金操作」をクリックします。 「エクスポートボタン」をクリックします。履歴をエクスポートする期間を選択し、レポートの種類「資金運用」を選択し、ファイル形式「csv」を選択して、「レポートのエクスポート」ボタンをクリックします。
このリポジトリのクローンを作成すると、ローカル マシンでツールを実行できます。 Docker コンテナ内でツールを実行することもできます。以下のランタイム固有の手順を参照してください。
Docker コンテナを実行するには、マシンに Docker がインストールされている必要があります。イメージは Docker Hub に公開されます。
ローカルで実行されるツールのバージョンとは対照的に、コンテナー化されたバージョンは、ファイル内のヘッダー行を調べて、どのファイル タイプを処理するかを決定しようとします。したがって、どのコンバータを使用するかを指定する必要はありません。
次に、次のようにイメージを実行できます。
docker run --rm -v {local_in-folder}:/var/tmp/e2g-input -v {local_out_folder}:/var/tmp/e2g-output --env GHOSTFOLIO_ACCOUNT_ID=xxxxxxx Dickwolff/export-to-ghostfolio
Docker run コマンドには以下のパラメータを指定できます。
指示 | オプション | 説明 |
---|---|---|
-v {local_in-folder}:/var/tmp/e2g-input | N | 処理するファイルを置く入力フォルダー |
-v {local_out_folder}:/var/tmp/e2g-output | N | Ghostfolio インポート JSON が配置される出力フォルダー。また、ファイルの処理中にエラーが発生した場合、入力ファイルはここに移動されます。 |
-v {local_cache_folder}:/var/tmp/e2g-cache | Y | Yahoo Finance シンボルがキャッシュされるフォルダー |
--env GHOSTFOLIO_ACCOUNT_ID=xxxxxxx | N | Ghostolio アカウント ID 1 |
--env USE_POLLING=true | Y | true に設定すると、コンテナーは処理する新しいファイルを継続的に検索し、コンテナーは停止しません。 |
--env DEBUG_LOGGING=true | Y | true に設定すると、コンテナーにはログがより詳細に表示され、エラー追跡に役立ちます。 |
--env PURGE_CACHE=true | Y | true に設定すると、ファイル キャッシュは起動時に消去されます。 |
--env GHOSTFOLIO_VALIDATE=true | Y | true に設定すると、ツールは生成されたファイルを Ghostfolio に対して自動的に検証します。 |
--env GHOSTFOLIO_IMPORT=true | Y | true に設定すると、ツールは生成されたファイルを Ghostfolio に自動的にインポートしようとします。 |
--env GHOSTFOLIO_URL=http://xxxxxxx | Y | ローカルのGhostfolio インスタンスのエンドポイント。たとえば、 http://192.168.1.15:3333 。ローカルの Ghostfolio インスタンスでのみ使用してください。 |
--env GHOSTFOLIO_SECRET=xxxxxxx | Y | Ghostfolio ユーザーの認証情報。 import API エンドポイントでの認証に使用されます。ローカルの Ghostfolio インスタンスでのみ使用してください。 |
イメージを完全に制御でき、予期されるものだけが含まれると信頼できる、分離された Docker 環境を使用して実行する場合は、このオプションを使用します。
このリポジトリのクローンをシステムに作成し、次を実行します。
docker build -t import-to-ghostfolio .docker run --rm -v {local_in-folder}:/var/tmp/e2g-input -v {local_out_folder}:/var/tmp/e2g-output --env GHOSTFOLIO_ACCOUNT_ID= xxxxxxx -t ゴーストフォリオへのエクスポート
Dockerhub でイメージを使用する場合は、上記と同じオプションを使用できます。
このツールはcacache
使用して、Yahoo Finance から取得したデータをコンテナー内に保存します。これにより、Yahoo Finance の負荷が軽減され、ツールの実行が高速化されます。キャッシュされたデータは、コンテナ内の/var/tmp/e2g-cache
に保存されます。キャッシュを無効にする必要があると思われる場合は、実行コマンドに--env PURGE_CACHE=true
追加することで無効にすることができます。これにより、コンテナの起動時にキャッシュがクリアされ、次回 Yahoo Finance からデータを取得する必要があるときにツールがキャッシュを再作成します。
このツールでは、最新の LTS バージョンの Node をインストールする必要があります。このバージョンはここからダウンロードできます。このツールは、Node をインストールできる任意の OS 上で実行できます。
次に、リポジトリをローカル マシンに複製し、選択したエディター (Visual Studio Code など) で開きます。
npm install
実行して、必要なパッケージをすべてインストールします。
リポジトリにはサンプルの.env
ファイルが含まれています。これの名前を.env.sample
から変更します。
エクスポート ファイルのパスをINPUT_FILE
変数に入力します。これはプロジェクトのルートに相対する必要があります。
GHOSTFOLIO_ACCOUNT_ID
に、トランザクションを終了する Ghostfolio アカウント名を入力します。
これは、「アカウント」>アカウントを選択し、URL から ID をコピーすることで取得できます。
オプションで、 GHOSTFOLIO_UPDATE_CASH
変数をTRUE
に設定して、アクティビティの処理後に Ghostfolio アカウントの現金残高を自動的に更新できます。
必要に応じて、 DEBUG_LOGGING
変数をTRUE
に設定することで、デバッグ ログを有効にすることができます。
これで、 npm run start [exporttype]
実行できるようになります。以下の実行コマンドの表を参照してください。ツールはエクスポートを開き、これを変換します。 YAHOO Finance でサポートされているシンボルを取得します (たとえば、 ASML
のような欧州株の場合、対応する ISIN によってASML.AS
を取得します)。
輸出業者 | コマンドの実行 |
---|---|
ビトバボ | run start bitvavo (またはbv ) |
BUX | run start bux |
デギロ | run start degiro |
エトロ | run start etoro |
フィンペンション | run start finpension (またはfp ) |
自由貿易 | run start freetrade (またはft ) |
IBKR | run start ibkr |
調査研究 | run start investimental |
寄木細工 | run start pareqt |
ラボバンク | run start rabobank |
レボリュート | run start revolut |
シュワブ | run start schwab |
スイスクオート | run start swissquote (またはsq ) |
トレーディング 212 | run start trading212 (またはt212 ) |
XTB | run start xtb |
このツールはcacache
使用して、Yahoo Finance から取得したデータをディスクに保存します。これにより、Yahoo Finance の負荷が軽減され、ツールの実行が高速化されます。キャッシュされたデータは/var/tmp/e2g-cache
に保存されます。キャッシュを無効にする必要があると思われる場合は、フォルダーを削除することで無効にすることができます。次回ツールを実行するときにキャッシュが再作成されます。
[ポートフォリオ] > [アクティビティ] に移動し、表の右上にある 3 つの点を押すことで、エクスポート ファイルを Ghostfolio にインポートできるようになります。 Ghostfolio 1.221.0 以降、インポートをプレビューして、データが正しく変換されたことを検証できるようになりました。満足のいく結果が得られたら、インポートを押してアクティビティをポートフォリオに追加します。
生成されたファイルを自動的に検証して Ghostfolio にインポートできる実験的な機能 (0.12.0 以降) があります。これを使用するには、対応する環境変数を設定します。
変数 | 説明 |
---|---|
--env GHOSTFOLIO_VALIDATE=true | true に設定すると、ツールは生成されたファイルを Ghostfolio に対して自動的に検証します。 |
--env GHOSTFOLIO_IMPORT=true | true に設定すると、ツールは生成されたファイルを Ghostfolio に自動的にインポートしようとします。 |
--env GHOSTFOLIO_URL=http://xxxxxxx | ローカルのGhostfolio インスタンスのエンドポイント。たとえば、 http://192.168.1.15:3333 。ローカルの Ghostfolio インスタンスでのみ使用してください。 |
--env GHOSTFOLIO_SECRET=xxxxxxx | Ghostfolio ユーザーの認証情報。 import API エンドポイントでの認証に使用されます。ローカルの Ghostfolio インスタンスでのみ使用してください。 |
リポジトリへのあらゆる貢献を歓迎します。自由に問題を作成してください。あるいは、自分で問題を作成してプル リクエストを作成することもできます。
このツールは、手動と Docker 経由の 2 つの方法で実行できます。このツールの両方のエントリポイントは、「src/」フォルダーにあります。このツールはテストでモックを使用するため、一貫性のある反復可能な方法でテストを実行できます。この方法では、Yahoo Finance サービスを稼働させる必要はありません。このモックは、テスト実行間の不一致と、Yahoo Finance のレート制限の問題 (特にローカルで実行する場合、複数回連続して実行する場合) のために追加されました。
新しいコンバーターを追加する場合、または既存のコンバーターの修正を作成する場合は、testdata を使用してモックを拡張する方法について Wiki を参照してください。
Ghostfolio アカウント ID を取得するには、アカウント > アカウントの編集に移動し、アカウント ID フィールドをコピーします ↩