Trade Simulation Dashboard: CSVデータからトレード戦略を分析・可視化するWebアプリ
はじめに
システムトレーダーや暗号資産トレーダー(botter)の方向けにCSVファイルからトレードデータを分析・可視化するためのダッシュボードアプリを今回作ってみました。
リポジトリはこちら:https://github.com/ammtjm/Trade_sim_DashBoard
[2024/3/27追記]pandasデータフレームを入力として扱えるようになりました!また、出力結果をエクセルファイルでテーブルとして保存できるようになりました。
本アプリは、トレード戦略の分析において、対象資産の価格、ポジションの保有・解消のタイミングとその時の数量を元に、シャープレシオ、リターン、ドローダウンなどの評価指標を計算し、これをインタラクティブかつ簡便に表示することを目的としています。
(matplotlibでリターンの折れ線グラフを描画するなどSNS上でよくみるあのグラフに物足りなさを感じていたので、よしやってみようと思っただけです。)
作成したダッシュボード画面
今回作成したダッシュボードがこちらです。
ダッシュボードのイメージはGrafanaをネット検索してパクりオマージュしてみました。
主な機能
- インタラクティブな可視化とメトリクスの表示
- シンプルで一枚絵のダッシュボード
- トレード戦略のパフォーマンスと買い持ち戦略の比較
使用技術
- Python
- Dash
- Plotly
- Pandas
詳細はGithubを見ていただきたいのですが、それとは別に今回コーディングの大部分はClaude3を使って書いてみました。ちなみにGithubのREADMEも大部分を書いてもらいました。Claude3の書くアプリ説明だとなんか凄そうに見える不思議です。また、使っていてコードの正確性やユーザの意図を汲む能力などGPT4より優れていると体感しました。
改善の余地
今回初めてトレード用のダッシュボード作成に取り組んだこともあって、これにはまだまだ改善の余地があると認識しています。例えば、
- 取引手数料の実装
- 他の保存済み戦略との比較機能
といった具合に。
フィードバックと貢献のお願い
上述したようなところですので、他の方々からのフィードバック、提案、批評を歓迎しています。コードベースの改善、パフォーマンスの最適化、新機能の追加などのアイデアがありましたら、ぜひご共有願えますと幸いです。
GitHubのIssue、プルリクエストをお待ちしております。