moromin / blockchain-trading

1 stars 1 forks source link

バックテストを行う際のシステム構成図 #26

Open moromin opened 2 years ago

moromin commented 2 years ago

概要

  1. まずフロント側が、**/chart/{symbol}みたいな感じでシンボルごとのチャートを表示するためのエンドポイントを叩く。
  2. バック側は、エンドポイントが叩かれたときに、DBからOHLCデータを取得する。しかし、このOHLCデータは、binanceAPIから取得したデータなので、フロント側に渡すには余計な情報が多い。そのため、フロントに渡す前にバック側でデータを整形する。
  3. フロントに渡すデータの構造としては大きく2つに分かれると思っている。
    • OHLC: 名前の通り、Time, Open, High, Low, Close というチャートを表示するためのデータ
    • Event: フロント側でクエリパラメータか何かでバックテストを行うことを指定された場合に渡すデータ。バックテストを行った結果である、買った時間、量、その時の価格、売買のどちらを行なったかなどをまとめて渡す。
  4. フロント側で渡されたデータをもとに、チャートとバックテストの結果を重ねて表示したい。

何をすれば Issue が解決するか、追加/変更/削除する点

参考リンク(あれば)

以下のリンクからテンプレートを拝借

k-kohey commented 2 years ago

Event: フロント側でクエリパラメータか何かでバックテストを行うことを指定された場合に渡すデータ。

取得するリソースが別ならエンドポイントは分けたほうがいいかも。

バックテストの目的って各アルゴリズムの優劣の比較だと思ってるんだけど、それはどのように判断する感じ?? 素人意見だけど、なんかシンプルにその期間の損益を得られる仕組みがあった方が機械的にチューニングしやすい気がする。

moromin commented 2 years ago

取得するリソースが別ならエンドポイントは分けたほうがいいかも。

symbolごとに分けようかなと思ってる 取得する期間とかはクエリとかで渡すようにして

バックテストの目的って各アルゴリズムの優劣の比較だと思ってるんだけど、それはどのように判断する感じ??

バックテストを行う期間(xxヶ月、yy日など)を決めて、単純にその期間での各アルゴリズムごとの損益で優劣を決めようと思ってる。

素人意見だけど、なんかシンプルにその期間の損益を得られる仕組みがあった方が機械的にチューニングしやすい気がする。

間違い無いっすね。 期間とアルゴリズムを引数にとって、損益を返すメソッド定義するといい感じに書けそう。

k-kohey commented 2 years ago

理解できた.ありがとうございます!