AIを使って暗号資産取引所のCSVエクスポートを分析する方法(ステップ・バイ・ステップ)

暗号資産取引所の CSV エクスポートを分析するには、まず各行が何を表しているかを把握することから始めます。ほとんどのエクスポートでは、取引、入金、出金、手数料、報酬が1つのファイルに混在しています。次に、タイムスタンプと手数料の通貨を標準化し、取得価額(コストベース)のルールを決定し、その後初めて実現損益と未実現ポジションを計算します。AIデータエージェントなら、生のファイルから標準化と計算を行うことができるため、スプレッドシートでの作業で行き詰まりがちな部分を解消できます。
暗号資産と AI に関するガイドのほとんどは、価格トレンド、センチメント、どのコインが動いているかといった市場に関するものです。実際にダウンロードできるファイル、つまりあなた自身の取引履歴を扱っているものはほとんどありません。取引履歴こそが、あなたの運用成績を教えてくれる唯一のデータです。
このガイドでは、そのファイルに何が含まれているか、手動で行う方法、そしてより迅速に行う方法について解説します。
始める前の注意点: 以下はすべて、お客様ご自身の記録の記述的分析です。投資アドバイスではなく、税務アドバイスでもありません。取得価額(コストベース)のルールは管轄区域によって異なります。申告を行う際は、必ず税理士などの専門家にご確認ください。
暗号資産取引所の CSV エクスポートに実際に含まれているもの
エクスポートされる内容は取引所によって異なりますが、ほぼすべてにおいて同様の問題が発生します。
1つのファイルに複数の記録タイプが混在。 取引、入金、出金、手数料、ステーキング報酬、紹介クレジット、内部振替が1つのシートにまとめられていることが多く、type 列だけで区別されています。フィルタリングせずに対象の金額列を合計すると、無意味な数値になってしまいます。
双方向の取引。 1つの取引が、口座から出ていったものと入ってきたものの2行で構成され、注文IDでリンクされていることがよくあります。これらを独立した行として処理すると、取引量が二重にカウントされてしまいます。
第3の通貨での手数料。 取引価格が USDT で表示され、BTC で決済され、手数料は取引所独自のトークンで請求されることがあります。3つの通貨、1つの行が存在し、換算レートは提供されません。
UTCのタイムスタンプ。 ほぼ常に UTC であり、ローカル時間であることはほとんどなく、秒単位で記録されていることもよくあります。変換せずに日ごとにグループ化すると、日次の集計がずれてしまいます。
保有ポジションの推移がない。 エクスポートされるのはイベント(履歴)であり、残高ではありません。保有量、平均コスト、実現損益はすべて算出する必要があります。
一部約定(パーシャルフィル)。 1つの注文が、わずかに異なる価格で複数の行に分かれて表示されることがあります。これは平均参入価格を計算する際に重要になります。
このリストがあるからこそ、「スプレッドシートで開くだけ」の作業が、丸半日かかる作業になってしまうのです。
スプレッドシートを使用した手動ルート
まず記録タイプを分ける
何よりも先に、タイプ列でフィルターをかけ、取引、振替、手数料、報酬を別々のタブに分割します。その後のすべての計算はこれに依存しますが、多くの人がこのステップをスキップしてしまいます。
通貨と時間を標準化する
すべての手数料を、現在のレートではなく取引時点のレートを使用して、1つの報告通貨に変換します。UTC のタイムスタンプを、実際に使用しているタイムゾーンに変換します。どちらも面倒な作業であり、間違えてもエラーは出ず、合計値が静かにずれていくだけなので厄介です。
取得価額(コストベース)のルールを決め、一貫して適用する
FIFO、LIFO、または平均コストでは、同一の取引から生じる実現損益が大きく異なります。ルールを1つ選択して記録し、すべての資産に適用してください。資産ごとにルールを混在させることが、スプレッドシートの計算根拠が破綻する最も一般的な原因です。
ポジションを算出する
資産ごとの残高推移を作成し、次に資産ごとの平均コスト、そして売却ごとの実現損益を構築します。スプレッドシートでは、これは大量の補助列を積み重ねることを意味し、新しい資産が登場するたびに崩れてしまいます。
Excel や Sheets でもこれらすべてを行うことは可能です。何時間もかかる理由は難易度ではなく、帳簿付けの煩雑さにあります。
Powerdrill Bloom で取引所のエクスポートデータを分析する方法
近道は、自分で補助列を作成するのではなく、ルールを一度記述して、生のファイルから直接分析を実行することです。
ステップ 1:エクスポートデータをアップロードする
取引所から取引履歴を CSV としてダウンロードし、ワークスペースにドロップします。Powerdrill Bloom は Excel、CSV、TSV、PDF を読み込み、取り込み時に自動クレンジングを行うため、混在するタイプ、不一致な小数点、テキスト形式のタイムスタンプなどが、計算を壊すことなく自動的に解決されます。
複数の取引所で取引している場合は、すべてのエクスポートデータをまとめてアップロードします。取引所をまたぐデータ処理は、取引所ごとに列の名前が異なるため、スプレッドシートが最も苦手とするケースです。
ステップ 2:ルールを指定し、質問する
事前に自然言語でルールを提示し、本当に知りたいことを質問します。
「これは私の取引所の取引履歴です。type が TRADE の行を取引として扱い、入金、出金、内部振替は取引量から除外してください。すべての手数料は取引日のレートで USD に換算してください。取得価額の計算には FIFO を使用してください。その上で、資産ごとの実現損益、月ごとの支払手数料の合計、および現在保有している各資産の平均参入価格を表示してください。」
ルールを明確に指定することで、出力結果の信頼性が担保されます。ルールを指定せずに「私の運用成績はどうでしたか」と尋ねると、意図しない前提条件に基づいて作成された回答が返ってきてしまいます。
ステップ 3:チャート、テーブル、またはスライドをエクスポートする
ポジションテーブルをファイルとして取得したり、チャートを書き出したり、ワンクリックでキャンバス全体をプレゼンテーション用のスライドに変換して PowerPoint や Notion にエクスポートしたりできます。自分だけでなく、ファンド、パートナー、または会計士に報告する場合に便利です。
そこから実際に学べること
| 質問 | 必要なもの | スプレッドシートで苦戦する理由 |
|---|---|---|
| 資産ごとの実現損益 | 取得価額ルール + 売却マッチング | 資産ごとの補助列。新しい資産が登場するたびに再構築が必要 |
| 手数料の合計、および取引量に占める割合 | 通貨をまたぐ手数料の標準化 | 手数料が第3の通貨で発生し、レートが提供されない |
| 保有資産ごとの平均参入価格 | 注文ごとの一部約定の統合 | 約定データが異なる価格で別々の行に分かれている |
| どの月に最も手数料がかかったか | 正しいタイムゾーンでのグループ化 | UTC のタイムスタンプにより、現地の正しい日付に集計されない |
| 取引活動がボラティリティの時期に集中しているか | 取引データと価格履歴の結合 | 2つ目のデータセットが必要になる |
最後の項目は、多くの人が過小評価しがちな点です。手数料によるパフォーマンスの低下(フィー・ドラッグ)は、個人のエクスポートデータにおいて最も大きな発見となることが多く、合計を算出するまでは目に見えません。
ベストプラクティス
まず取引所自体の合計値と照合する
データを解釈する前に、計算された入出金の合計値と、取引所が報告している残高を照合してください。不一致がある場合は、記録タイプが誤って分類されていることを意味し、その後のすべての数値にそのエラーが引き継がれます。
取得価額ルールをファイルに書き留めておく
ヘッダーのセルやメモ用のタブにルールを記載しておきます。6ヶ月も経てば、そのスプレッドシートが FIFO だったか平均コストだったか覚えておらず、両者の数値は一致しません。
空白の手数料をゼロとして扱わない
手数料の値が欠落していることと、実際に手数料がゼロであることは異なります。これらを同様に扱うと、実際のコストが過小評価されてしまいます。空白を埋めるのではなく、明示的にフラグを立ててください。
生のエクスポートデータには手を加えない
すべての作業はコピー上で行ってください。取引所は過去に遡って再エクスポートできる期間を制限していることが多く、上書きされたオリジナルデータは必ずしも復元できるとは限りません。
自身のパフォーマンスと市場の動きを区別する
市場全体が上昇した月にポートフォリオがプラスになったとしても、それがあなた自身の意思決定によるものとは言えません。市場側の状況を知りたい場合は、AIによる暗号資産市場データの分析方法 で解説しています。また、AI暗号資産アナリスト ページでは市場向けのツールを紹介しています。
避けるべき一般的な間違い
- 金額列を合計してしまう。 入金、取引、報酬が1つのファイルに含まれている場合、その合計値には何の意味もありません。まずタイプでフィルターをかけてください。
- 取引の両側を取引量としてカウントしてしまう。 2行で1つの取引です。集計する前に注文IDで重複を排除してください。
- 過去の手数料に今日の為替レートを適用してしまう。 手数料は取引日のレートで換算する必要があります。そうしないと、コストの数値が市場の動きによってずれてしまいます。
- 資産間で取得価額ルールを混在させてしまう。 あるコインには FIFO を適用し、別のコインには平均コストを適用すると、誰に対しても説明のつかない数値になってしまいます。
- 一部約定を無視してしまう。 1つの注文が6つの価格で6回に分けて約定した場合、それは6つの独立した取引ではなく、1つの平均参入価格として扱うべきです。
- 出力結果をそのまま税務申告に使えると思い込んでしまう。 これは専門家と相談するための出発点であり、そのまま申告できるものではありません。
結論
取引所のエクスポートデータは、市場ではなくあなた自身の意思決定を記述した唯一の暗号資産データセットです。しかし、記録タイプの混在、1行に3つの通貨、UTC のタイムスタンプ、残高推移の欠如など、非常に扱いづらいため、ほとんどの人がファイルを開いただけで諦めてしまいます。
ルールを明示し、取引所自体の合計値と照合し、生のファイルには手を加えないようにしてください。補助列の作成をスキップしたい場合は、Powerdrill Bloom が生のエクスポートデータから直接実行して結果をチャート化します。無料プランでは毎日1,000クレジットが更新されます。CSV AI assistant ページでは、任意の CSV における一般的なワークフローを紹介しています。
よくある質問
暗号資産の取引履歴はどのように分析すればよいですか?
暗号資産取引所の CSV エクスポートデータを記録タイプごとに分割し、取引日のレートで手数料を1つの通貨に標準化し、UTC のタイムスタンプをご自身のタイムゾーンに変換してから、計算を行う前に取得価額ルールを選択します。これら4つのステップを経て初めて、実現損益、平均参入価格、手数料の合計が意味のある数値になります。
取引所のエクスポートデータの合計値が残高と一致しないのはなぜですか?
通常、入金、出金、内部振替、または報酬が取引としてカウントされているか、各取引の両側が別々のイベントとして合計されていることが原因です。その後の数値を信頼する前に、計算された入出金の合計値と取引所が報告している残高を照合してください。
取得価額(コストベース)とは何ですか?なぜ数値が変わるのですか?
取得価額とは、売却した数量に割り当てられる購入価格のことです。FIFO は最も古い購入分を、LIFO は最も新しい購入分を割り当て、平均コストはそれらをブレンドします。同じ取引であっても、適用するルールによって実現損益は大きく異なるため、事前にルールを選択して明示しておく必要があります。
AI は暗号資産の税金を計算できますか?
いいえ。AIデータエージェントは、指定されたルールに基づいて実現損益を計算し、手数料や保有資産を要約することができます。これは有用な準備作業となります。税務上の取り扱いは管轄区域によって異なり、変更されることもあるため、出力結果はそのまま申告するのではなく、資格を持つ専門家に提出して確認を受ける必要があります。
複数の取引所のエクスポートデータを一度に分析することはできますか?
はい。取引所ごとに列の名前や順序が異なるため、これこそ自動化する価値のあるケースです。すべてのエクスポートデータをまとめてアップロードし、指示の中でマッピングを指定してください。この照合作業こそが、手動で取引所をまたぐビューを構築する際に最も苦労する部分です。