見出し画像

取引履歴csv集計ツール「PLCalculator」

【1. はじめに】

本noteは 損益グラフ作成ツール「PLCreator」の購入特典として配付しているツールの解説になります。
(PLCreatorのnoteがかなり長くなったため、本ツールの解説はnoteを分けています。)
【2020/12/21】
BitMEXの利用停止や本ツールの使用機会がほぼ年末に限られることから、無料公開にしました。
note下部のリンクより、ダウンロードしてご利用ください。

PLCreatorは主に取引所APIから取得したデータを基に損益グラフを作成します。そのため直近の損益確認には便利ですが、年間や月別損益などはAPI仕様により取得できない場合があります。
また、データ量が多いとリソースや処理時間を多く消費してしまう可能性があります。

そこで本ツールはbitFlyer / BitMEXから取得(ダウンロード)した取引履歴csvから効率的で柔軟に損益計算および集計を行うことを目的としています。

画像13


【2. 機能概要】

■ 取引所から取得した取引履歴csvを読み込み、各取引毎の損益を算出
■ 指定期間で集計し、損益以外にPFやドローダウンなど統計情報を算出
■ 通貨ペア毎に振り分けて各種計算&結果をcsv出力
■ 必要に応じて指定期間毎にcsvを分割して出力
■ PLCreator入力形式の損益csvも併せて出力 (損益グラフ連携)


【3. 初期設定】

本ツールはWindowsおよびMac向けアプリとなります。

【3-1. Windows環境】

① ダウンロードした「PLCalculator_for_Win.zip」を解凍します。

② 解凍したフォルダ内にある「PLCalculator.exe」を実行します。

【3-2. Mac環境】

① ダウンロードした「PLCalculator_for_Mac.zip」を解凍します。

② 解凍したフォルダ内にある「PLCalculator.app」を実行します。

※「開発元が未確認のため開けません。」と警告が表示される場合は以下を参考に開いてください。
開発元が未確認のMacアプリケーションを開く


【4. 使用方法】

本ツールの使用方法はシンプルで取引所 (bitFlyer / BitMEX) からダウンロードした取引履歴csvを指定し、実行ボタンを押下するだけです。
(必要に応じて出力先や各種オプション指定も可能です。)

【4-1. 取引履歴csv取得(bitFlyer)】

① bitFlyerにログインし、「お取引レポート」を選択します。
  画面上の「お取引レポートのダウンロード」ボタンを押下します。
  https://bitflyer.com/ja-jp/ex/TradeReportDownload

画像1

② 「Lightningの全履歴」の申請をクリックします。
  しばらくするとダウンロードの準備が完了した通知が
  登録メール宛に届きます。
  「ダウンロード」ボタンを押下し、取引履歴csvを取得します。

画像2

【4-2. 取引履歴csv取得(BitMEX)】

① BitMEXにログインし、「アカウント」を選択します。
  画面左の「取引履歴」を選択し、画面右上の「CSV形式で保存」ボタン
  を押下します。
https://www.bitmex.com/app/tradeHistory

画像3

※ 上記手順では1回あたり最大で100件までしかダウンロードできないため、
 取引履歴が多い場合の対応として上記ダウンロードと同じ形式で取引履歴
 を取得するpythonスクリプト「get_trade_history_from_BitMEX.py」
 同梱しました。

スクリプト内の「設定項目」にAPIキーや取得する通貨ペア、期間etc.を設定して実行することで一括csv出力されます。

スクリーンショット 2019-12-25 0.40.52

スクリーンショット 2019-12-25 0.46.01

【4-3. 損益計算】

① 「PLCalculator(.exe / .app)」を起動します。

スクリーンショット 2019-12-25 0.57.45

② 「4-1 / 4-2」で取得した取引履歴csvを入力ファイル(csv)「開く」
 ボタンから選択します。
 出力フォルダには自動で取引履歴csvフォルダが設定されます。
 変更する場合は「開く」ボタンより出力フォルダを指定してください。

スクリーンショット 2019-12-25 1.02.48

③ 各種設定を選択します。

◆ 取引所

入力csvの取引所をbitFlyer / BitMEXから選択します。

◆ 対象期間

損益計算を行う期間の開始日終了日を選択します。
ここで指定した期間内の損益データが計算・出力されます。

◆ 出力ファイル分割
損益データを指定期間毎に分割してcsv出力します。
なし        :全損益データを1つのcsvに出力
日別 / 月別 / 年別:指定期間毎に分割してcsvに出力

◆ 取引集計期間
損益データを指定期間毎に集計してcsv出力します。
なし    :集計は行わず、取引履歴をcsv出力
1分 〜 1年:指定期間毎に損益集計&統計情報をcsv出力

「実行」ボタンを押下します。
進捗状況に状態が表示され、処理が完了するとメッセージが表示されます。
出力フォルダ内に「Result / For_PLCreator」フォルダが作成されます。

スクリーンショット 2019-12-25 1.33.07

スクリーンショット 2019-12-25 1.39.37


【出力結果 Result (Sample)】

取引集計期間:なし(取引履歴単位)で出力した場合

画像10


取引集計期間:1日(損益集計&統計情報)で出力した場合

画像11


【出力結果 For_PLCreator (Sample)】

PLCreatorで使用できるように「UnixTime, 損益額」形式で出力します。
取引集計期間や出力ファイル分割はResultのcsvと同様になります。

この損益csvから損益グラフ作成ツール「PLCreator」を使って損益グラフを作成することができます。
詳しい作成方法は上記noteの【4-1. 損益データから損益グラフを作成】をご確認ください。

画像12


【5. 注意事項(必ずお読みください)】

■ 本ツールはbitFlyer / BitMEXからダウンロードした取引履歴csvフォーマットに準じて動作します。
その他の形式では正しく処理することはできませんのでご注意ください。

■ 取引履歴csvは保有する建玉がない状態で取得してください。
取引履歴csvのみから建玉推移を算出するため、最終履歴ですべての建玉が決済されたとして計算を行います。
(保有中の建玉が存在する状態だと正しく損益計算されません。)

■ 最も古い取引履歴が建玉を保有した状態の場合には取得単価が算出できないため、決済時の損益は0となります。
その後の取引で建玉が解消またはドテンされた時点から損益計算が開始されます。

■ 本ツールは正確な損益を証明するものではありません。
正確な損益は各取引所の公式な金額をご確認ください。
取引履歴等から算出した損益は端数処理の誤差等により、場合によっては大きく差が生じる可能性があります。
あくまで参考としてください。

免責事項
本ツールおよび本ツールに掲載されている情報を利用した結果、被ったとされるいかなる損害も保証は出来かねますので、あらかじめご了承ください。

上記をご理解の上でご使用をご検討ください。


6. ダウンロードリンク

以下よりダウンロードしてください。
【Windows版】PLCalculator
【Mac版】PLCalculator


〈おわりに〉
最後までお読みいただき、ありがとうございました。

本ツールや解説記事などが、「参考になった」「有益だった」と感じて頂けましたら、サポートやスキ、コメントなど頂けるとうれしいです。

BTCでのサポートも歓迎しております。
少額でもとても励みになりますので、よろしければお願いします。
17N6P9eGs5Y2nyeZJxNzefKxMwKWwZZkkF

今後も役に立つツールや有益な解説記事などを提供していきたいと考えておりますので、興味があればチェックして頂けると幸いです。



この記事が気に入ったらサポートをしてみませんか?