システムトレードで、株・商品先物・日経平均先物(TOPIX・日経225)・FX(外国為替証拠金取引)の相場を生き残る!
システムトレードで楽ちん投資
トップページ | トレード実践録 | インフォ〜 | プロフィール | 更新履歴 | リンク | メルマガ | お問い合わせ

投資に役立つエクセル関数講座 その2  利益・勝率の計算

エクセル関数講座の続きです。
 
売った場合、買った場合のそれぞれ利益を算出してみましょう。
 
 
では、これから利益を計算したいところですが……。
G列を見てください。
売買から次の売買まで、空白になっているところがあります。
トレンドが発生している部分ですね。
 
ポジションをもったままで、利益が増えていく期間です。
 
G13を見てください。買い判定がでています。その前に売ったのは、G8。
この期間、空白が続きます。
 
いつ、どこで、売買しても、関数式で損益が分かるようにしたいものです。
新規参入の値段と仕切りの値段。このふたつの値を常に把握し、売買判定が表示されれば、損益を計算する
にはどうすればいいのでしょうか?
 
考えてみます(頭をひねって考えることが大切です)。
 
F列を眺めていて、うまい手があるのに気づきましたか?
売ったままなら、「売り」「売り」「売り」、買ったままなら「買い」「買い」「買い」と続いていますよね?
 
これを応用して、100円で売ったのなら、「100」「100」「100」と続くようにしてみましょう。
 
次の式を検討します。
F列を見て、上下の行の値が異なるとき → 売買判定     → 手仕舞い と 新規売買
F列を見て、上下の行の値が同じとき   → ポジション維持 →  以前の売買値をそのまま入れる
 
ここにでてくる「以前の売買値」とは、H列の上の行に入っている値のことです。
 
この条件を満たした式が =IF(AND(G5<>G6,G6<>""),H6,I5) です。
それでは、I6にこの関数式を入力します。
入力したら30行目まで、I列の関数式を適応させます。
 
ホールドしているポジションを把握しておく
 
ポジションを持ち続けている間は、新規参入時の値段を保持しておけます。
これでようやく損益を求められるようになりました。
 
手仕舞いの値段と、新規の値段は同じです。この値段をH列から取得します。
持ち続けているポジションは、その右上、I列からもってこれるわけです。
 
では、J8に次の関数式を書き込んでください。
 
=IF(AND(G8="売り",G8<>""),H8-I7,IF(AND(G8="買い",G8<>""),I7-H8,""))
 
※この式は複雑です。別ページで解説します。
 
損益の判定
 
30行目まで適応させました。J列に損益がでるようになりましたね?
ついでに、それぞれの売買の結果のトータルをだしてみましょう。
 
J1のセルに次の関数式を書き込んでください。
=SUM(J2:J30)
 
最終損益の計算
 
最終損益がでました。といっても、10/11までの売買ですが。
結果は、−10。赤字になってしまいました。
実際は、手数料や消費税といったものがかかわってくるので、利益はもっと少なくなるはずです。
 
ついでに、勝ちトレードの数と負けトレードの数を求めておきましょう。
 
H1には、勝ちトレードの数を。I1には負けトレードの数を表示させます。
損益が0になった場合は、「負け」と考えることにします。手数料でマイナスになりますからね。
 
損益>0なら勝ちトレードと判断します。
 H1へ
=COUNTIF(J2:J30,">0")
 
 I1へ
=COUNTIF(J2:J30,"<=0")
 
をそれぞれ書き込んでください。
 
※エクセルの決め事で、等式・不等式の書き方は、等号が右に来るように書いてください。
  <=・・・・・・○  =<・・・・・・×     誤った書き方をすると、正確な値がでません。
  
  
勝率の計算
 
勝ちトレード:4 負けトレード:7
という結果になりました。
 
このふたつの値がだせると、勝率を算出することは簡単です。トレード総数もだせますよね。
 
エクセルを利用したシステムの作り方は、こんな感じで作っていきます。
なんとなく全体像がつかめれば幸いです。
 
 
これまで、IF文はもちろん、COUNTIF関数やSUM関数といったものが出てきました。
エクセルを利用して、システムを作るとき、使われる関数は、それほど多くありません。
よく使う関数は、投資に役立つExcel関数講座 その3 で解説します。
 
 
 
 
 
 
 
 
 
TOPへ戻る  
Copyright (C) toushikenbunroku.com, All Rights Reserved.