うーん(自分用メモ)

今の俺システムの課題について考えてみる。
資金管理を実装しないとー」というのは、それはそれであるんだけど、もっと引いて見て、全体的に欲しいものは色々ある。

今がんばって作っているのは「システム評価基盤」みたいなもんで、過去の時系列データを使ってトレーディングシステムが機能するかどうかを叩く為のものだ。基本的な部品としてシグナルの発生装置やトレードの履歴を記録する所、トレードの履歴を使って分析する為のレポートを作る所もある。
まず、分析に使うレポートがお粗末で、こいつをもっとなんとかしないと困る。分かりやすいところでは利益曲線なんかが今は描けない! ・・・まあ、その理由は資金管理が実装できていないから実際の「利益」がどう増えるかは不明で、独立事象としてのシグナル発生装置と手仕舞装置の性能(勝率、平均損益、トレードに要する日数等)を平均値として測ることしか出来ない。

あと、独立事象としてのシグナルの性能を分析する上で、なんらかの基準で分類・集計したときの傾向も見てみたい。業種別、価格帯別、市場別とか。トレードの履歴に集計用の列を追加して、そこにシグナルが任意の値を埋め込めるようにしておくと面白そうだ。集計するときは、単純にGROUP BYで分離できそうだし。新たなフィルターを追加するかどうか検討するとき、仕掛や手仕舞の条件に使う項目をここに吐き出せばどのへんの閾値で効果を発揮するか、なんてアタリつけられそうだし。

分析レポートも必要だけど、求めるレポートを得る為には、システム評価基盤への最低限の資金管理機能を持たせる必要がある。これは手数料と支払利息が考慮されていれば、固定金額戦略でもひとまずは十分! で、そーいった部分をきちんと考慮していく為には、総勘定元帳とまではいかなくても、仕訳帳記帳みたいな仕組みがないとだめかも・・・

多分、こーいったあたりを考慮しなくてもひとまず動くものはできるんだろうけど、それで結構遠回りしてるので、今回はきちっと作らないとなーと。ま、もうちょっと考えてみよう。

・・・あれだ、利益曲線簡単に書きたいなら、トレードの履歴を読み取ってそこで実際の金額に変換すればできるのか。でもなー、それだとレポートに資金管理実装なんて、かなりヘンテコな事になるし。後々結局スクラップ&ビルドってことになる。やめとこ(´・ω・`)

あとは、今の仕掛と手仕舞いの性能だけを純粋に評価する仕組みは、これはこれで残す事にしよう。手数料は証券会社によって違うし、そのあたりと仕掛と手仕舞いの信頼性は別物だ。

・・・うし、超簡単貸借対照表はこうかな。

  • 資産
    • 現金
    • 必要保証金(信用で拘束されてる分)
    • 有価証券(信用建玉)
  • 負債・資本
    • 資本金
    • 借入金(信用建玉分)
    • 利益・損失

新規建の時は、現金から必要保証金分を移して、有価証券と同じサイズの借入金を建てる。
返済の時は、有価証券の売却損益を出して、利益・損失に計上、有価証券と借入金を消して、必要保証金に利益・損失を加えてを現金に戻す。
基本的にこの繰り返しか。建て玉可能額だの、維持率だのは中での話しで財務上どうかとは別問題なので、ここでは扱わない事にする。それを記録するとしたら別のテーブルになるだろうな。

簡単損益計算書は、こんな感じ?

  • 費用
    • 売買手数料
    • 消費税
    • 譲渡益税
    • 有価証券売却損
    • その他雑費(逆日歩、配当金、支払利息等)
    • 利益
  • 収益
    • 有価証券売却益
    • その他雑収入(品貸料、配当金等)
    • 損失

・・・まあ、シミュレーションの時点で逆日歩だ何だなんてできないわけですがw まあ、勘定項目としてこーゆーのがあるとしておかないと後でおかしくなる。

んー、このあたりの財務周辺の機能は1つのクラスに閉じ込めちゃって、「株100万円分信用で買ったー」とか「株100万円分返済ー」とかのメソッド呼んだらあとはよきに計らってくれちゃうってのがいいな。まあ、私が実装するんだけど。