仮想通貨の損益を自動計算してほしい
こんにちは。最近いろいろな取引所でトレードするようになって、損益の計算で確定申告とか苦労しそうな気がするので、確定申告を念頭に置きつつ、損益の計算を日々自動的に把握して、BinanceのProfit and Loss Analysisみたいなこともできたらなぁと思ってます。クリプタクト使えば楽なんでしょうけど、やっぱり損益の分析とかサブ垢とか戦略ごとの分析とか毎日更新したりしたいので、自分で作るしかないのかなぁと。
ちなみに、現物はそんなに頻繁に戦略的にトレードしないのと、多分税金計算上はどの取引所で売買しても簿価は合算して考えることになると思うので全取引所共通で考えることになりそうです。デリバティブは、BybitでのロングポジションをBinanceで閉じるみたいなことはできませんし、取引所別に、なんならサブアカウント(戦略)別に分析もしたいですし、別々に分けたほうがいいかな、という考えです。
まず大雑把に何を考えていくべきか。
Input
Output
Analysis
はい、ざっくりしすぎですが、おおざっぱにはこんな感じでしょうか。もう少し詳しく。後でプログラムを書くことを考えて、コードに使いそうな単語は英語で書いておきます。
Input
Market Data (including USDJPY)
Trades (Cash / Derivative)
Transfer (Deposit / Withdrawal)
Output
Cash balance & Book value (全取引所合算)
Derivative Position & Book value (全アカウント別)
Realized PnL (Cash & Derivative)
Unrealized PnL (Cash & Derivative)
Analysis
Total Profit
Total Loss
Net Profit and Loss
Average Profit
Average Loss
Sharp Ratio
etc…
さて、これを実現するにはどうすればいいか。。。道のりが険しそうですでに辛くなってきた。USDJPYのマーケットデータはいったん後で考えよう。税金計算について調べてたら、TTMを使うみたいなのがあるけど、QuickのAPIを使うと月額4万円も取られるし。
(Quick) https://corporate.quick.co.jp/biz/fx/
まあ、フレームワークさえ作っておけば、あとでドル円データだけ更新するなんてすぐできるでしょう。あと、Terra USD(UST)みたいな問題もあったから、本当はUSDT/USDC/BUSD <=> USD <=> JPYで計算しないといけないんだろうけど…まあ後で考えよう。いったん1ドルでいいや。ペグ損益はトレード戦略の損益分析上はあんまり意味のない数字でしょうし。
さて、ではごりごりコード書いていきます。気が向いたら投稿するかもです。