次のステップに進もう。
ようやく、シミュレーション自体は出来た。
その結果を処理せなアカン。
そこで、Statsという統計処理を行うクラスを用意する。
以下の集計を行う。
●合計損益
●平均損益
●勝ち数
●負け数
●分け数
●勝率
●プロフィットファクター
●合計R倍数
●平均R倍数
●合計%損益
●平均%損益
●平均保持日数
ああなんかもう忘れてる。R倍数とか、PFとか、、
ま、これくらい計算してくれたら、判断出来るだろうとも思う。
もっと必要な人は、自分で改造してくれって、
坂本先生はおっしゃる。
ソース見てみよう。
./lib/stats.rb
コンストラクタではtradeの配列を受取り、集計処理する。
昨日のsimulateの結果でtradeの配列を返している。
のだから、それを受け取って、処理開始ですね。
ファイル長めだけど、最初に後ろの方、privateなところ眺めると理解早いです。
tradeをバラバラにして、損益、R倍数、パーセンテージ取り出して、
別に配列として格納しなおしてます。
数値の入った配列を集計処理する部分が上から並びますが、
内容はPF以外は一行で済みます。Rubyらしい洗練された書き方です。
で、PFだけはチャント見直した。
勝ち総額/負け総額でしたね。
どんだけ大勝ち小負け出来てるかって指標でした。
ああ、
逆に勝ち総額とか、負け総額とかは出力しないんだ。
勝ち数、負け数出して、勝率も出してるんだから、
数と額、同じように出力すりゃいいじゃんと、素朴に思うが、
だったら、自分で改造しろって話ですね。
特に難しいことないので、
Statsはこれで終わりにしますが、
R倍数の意味忘れてるんで、もいちど学習します。
質問コーナー、お問い合わせは、sanpome.net@gmail.com まで。