忍者ブログ
FX初心者のOLミヅキが、Excelを使ってシステムトレードを1から作っていく過程を随時更新します☆
[1]  [2
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

毎年の勝率は、過去1年間の勝率の関数の「日付の条件」をちょこっといじるだけでできました♪
1e57a661.jpg
=1-(SUMPRODUCT((損益の列<0)*(YEAR(日付の列)=成績表の年数のセル))/その年の総トレード数)

あまり悩まずに関数ができると、怖いものナシな気分になりますね~!
「もう完璧!」みたいな( *´艸`) 

まぁ、それも束の間の己惚れなわけですが。


応援して頂ける方はクリックお願いします!にほんブログ村 為替ブログ FX システムトレード派へ
人気ブログランキングにも登録中☆lanking.jpg
PR
各年ごとの総トレード数です。
ここから表示形式を変えた年数が活躍します☆

最近1年間のときと同じようにSUMPRODUCT関数を使って、日付の条件を「日付の列の年数が表の年と同じ」という条件に変更すればOKです。
c1f4caa0.jpg
計算式はコチラ。

=SUMPRODUCT((損益の列<>"")*(YEAR(日付の列)=成績表の年数のセル))

今度はドラッグすれば、全ての年の結果が1発で出るはずです(`・ω・´)


応援して頂ける方はクリックお願いします!にほんブログ村 為替ブログ FX システムトレード派へ
人気ブログランキングにも登録中☆lanking.jpg
さっき年数の表示形式を変えたとこですが、ココではまだ使いません(笑)

たとえば、2006年の通算損益の合計を出すとき、気分的には「日付の年が2006のときの損益の合計値」と出したいところなのですが、いろいろ調査したところ「2006年1月1日以降の損益の合計から2007年1月1日以降の損益の合計を引く」という方法が一番一般的なようです。
2cfd1afd.jpg
式にするとこうなります。

=SUMIF(日付の列,">=2006/1/1",損益の列)-SUMIF(日付の列,">=2007/1/1",損益の列)

これを2002年までドラッグして、各年ごとに計算式の年数を修正していきます。
ドラッグ1発(なんか麻薬みたいだ)で各年の計算値が出るような式にするにはどうすればいいのかな・・・(´ω`)


応援して頂ける方はクリックお願いします!にほんブログ村 為替ブログ FX システムトレード派へ
人気ブログランキングにも登録中☆lanking.jpg
過去1年間の成績を一通り出したところで、次は同じ項目の過去5年間の毎年の成績が表示されるようにしていきます。

まず、表の年数を数式の中で使いたいので、「XXXX年」を「XXXX」という数字のセルと認識されるように、表示形式を変更します。
a2d4a33c.jpg
年数の入ったセル全体をドラッグでアクティブにして、コンテキストメニューの「セルの書式設定」を選択します。

開いたウィンドウの一番左の「表示形式」タブの「分類」という項目から「ユーザー定義」を選択。
「種類」の項目に「0"年"」と入力します。

これで、表示は「年」とついていても、数式でセルを参照した場合には数字のセルとして認識されます☆


応援して頂ける方はクリックお願いします!にほんブログ村 為替ブログ FX システムトレード派へ
人気ブログランキングにも登録中☆lanking.jpg
ここ1年間でお金がどのぐらい増えたかを出します。
最終的に成績で一番優先したいのはこの数値だと思っています。

出し方は、時系列表の資産推移を使って「現在の資産を1年前の日付の資産で割る」というふうに出します。
元本がいくらでスタートしても増える割合は同じなので、時系列シートを作るときに作った資産推移の列をそのまま使っても数字は出ると思います。
が、グラフにしたときにスタートの金額を合わせるために、1年前の資産が10万円となる列を新たに作りました。609a88f8.jpg

単利も複利も同じように出すので、まずははじめに作った資産推移欄をそのままコピーして、式だけ書き換えていきます。

=IF(日付のセル=LOOKUP(TODAY()-365,日付の列),100000,元の式)
(本日から365日遡った日付(なければ過去の最も近い日付)の場合は100,000を、それ以外は資産推移の計算結果を表示する)

LOOKUP関数のカッコの中に日付の列が2つ入力されてますが、必要ありませんでした^^;
どちらも計算結果は変わりません。2ed0954b.jpg

複利計算についても同様に書き換えます。
ポジション数は参照セルがコピー元のセルのままになっていないか確認します。

書き換えた式を列全体にドラッグすると、1年前の日付のセルが10万になって、そこから資産推移の計算が改めて始まります。

421747b2.jpg
これで準備が出来たので、いよいよ成績欄に年利率を計算する式を入力します。

=(LOOKUP(TODAY(),日付の列,資産推移の列)-100000)/100000
5ada04d9.jpg
ここでもLOOKUP関数を使います。
複利のほうも、そのまま隣のセルに同じ数式をコピーして、資産推移の列を複利の方に変えてしまえばOKです☆


応援して頂ける方はクリックお願いします!にほんブログ村 為替ブログ FX システムトレード派へ
人気ブログランキングにも登録中☆lanking.jpg
ココからは、エクセルの知識がほとんどない私にはかなり難題でした^^;

「本日から遡って365日よりも後」という条件の範囲での「損益の最大値」 です。

理屈はわかっているのですが、なかなか思うような数字が出てくれません。
結論から言うと、「配列数式」というものを使うようです。

Ctrl+Shift を押しながら Enter で計算結果が違うなんて、目からウロコですよ@@;
詳しくは、各自ぐぐってください。(まさかの人任せっ!)18d3b4bd.jpg

実際に入力する数式としては、これが正解のようです。

{=MAX(IF(日付の列>TODAY()-365,損益の列,""))}
(「日付が本日から遡って365日より後の場合はその日の損益、それ以外の場合は空白」としてできた配列の中の最大値)

ちなみに、配列数式の {} は、セルの内容を修正したりすると、その都度 Ctrl+Shift+Enter で確定しないと消えてしまいます。

最小値に関しては、最大値の「MAX」を「MIN」に変えるだけです☆ff7d46ee.jpg

更に、最大DDは最小値の式の「損益の列」を「DDの列」に変えればOKです。
このへんは1つ出来てしまえばカンタンですねヽ(´ー`)ノ 


応援して頂ける方はクリックお願いします!にほんブログ村 為替ブログ FX システムトレード派へ
人気ブログランキングにも登録中☆lanking.jpg
お次は「勝率」です。 全てのトレードのうち、利益が出たトレードの割合です。

計算は「勝ちトレード数/総トレード数」なので、単純に考えると「損益が0より大きい」という条件で総トレード数と同じやり方でカウントした数字を、総トレード数で割ってしまえば良いわけです。

そうすると、計算式はこうなるはずです。

=SUMPRODUCT((損益の列>0)*(日付の列>TODAY()-365))/総トレード数

しかし、なぜかこれでは答が合いません。。

いろいろと調べた結果、不等号を使うと空白のセルが「0以上のセル」としてカウントされてしまうようなのです。
なので、「損益が0より小さいセルの数」から求めることにしました。
100%から負けた確立を引いてしまえばいいわけです。

ただし、損益が±0だった場合も「勝ち」に含まれることになります。
私の場合、勝率は安定性を見るための目安のつもりなので、問題ないかなと思ってます(´・ω・`)

というわけで、採用した計算式はコチラ↓d17f20a8.jpg

=1-(SUMPRODUCT((損益の列<0)*(日付の列>TODAY()-365))/総トレード数)

ちなみに、表示形式はパーセンテージに変更しています!
もっとカンタンに出す方法あるよ!っていう情報があったら是非教えてくださいm(_ _)m


応援して頂ける方はクリックお願いします!にほんブログ村 為替ブログ FX システムトレード派へ
人気ブログランキングにも登録中☆lanking.jpg
しばらく「ここ1年間の」シリーズが続きます(笑)

通算損益の次は、総トレード数を出そうと思います。
トレード数があまりにも少ないと、トータルで利益が大きくてもギャンブル性の高いトレードになってしまうので、私的には総トレード数は多いほうが理想です。

これまたどの関数を使えばいいのか悩むところなんですが、どうやらSUMPRODUCT関数という関数で求められるようです。f31d1395.jpg

=SUMPRODUCT((損益の列<>"")*(日付の列>TODAY()-365))
(損益の列が空白ではなくて、なお且つ日付が本日から遡って365日より後の行の合計)

これは論理式の考え方を知ってると理屈がわかりやすいと思うのですが、数学苦手な方はちょっと理解に苦しむかもしれません。
私もこの計算式を調べていて、高校のときの数学の授業思い出しましたよー(*`ω´)

ちなみに通算損益のときは列ごと範囲選択(「A:A」と表示される選択のやり方)しても計算できたのですが、こちらはうまく計算できませんでした。
なので、開始を3行目固定、終わりを今日から1000行足した行(適当^-^;)にしておきました☆


なかなか順位は上がらずですが・・・応援よろしくお願いしますm(_ _)mにほんブログ村 為替ブログ FX システムトレード派へ
人気ブログランキングにも登録中☆lanking.jpg
「期間を限定して集計結果を表示する」という計算式は、何通りもやり方があるみたいですが、なんとか正確な計算結果が出た計算式の中で、一番わかりやすいと思った式を紹介していきます。
今後もっとシンプルな計算式があれば、修正していきたいと思います!06861d6f.jpg

まず、最近1年間の通算損益です。
これは、SUMIF関数(条件を満たすセルだけを合計する関数)を使います。

=SUMIF(日付の列,">"&TODAY()-365,損益の列
(日付が今日から遡って365日前よりも後の行の損益を合計する)

エクセルの日付というのはシリアル値という数字で管理されているらしく、足し算や引き算ができるんだそうです。(詳しくはよねさんのサイトのコチラ!
条件の書き方については、SUMIF関数で不等号を使う場合には上記のような書き方をするらしいのですが、実はよく原理がわかっていません(´ω`)
わかる方がいらっしゃったら是非教えてください!(ほら、だんだんこういうブログになってきた(汗)


応援してくださるみなさまのためにも頑張ります!にほんブログ村 為替ブログ FX システムトレード派へ
人気ブログランキングにも登録中☆lanking.jpg
パラメータの最適化をしやすいように、インプット(入力項目)とアウトプット(計算によって出る成績)を出すシートを新しく作ります!b46b2e03.jpg
題して「打ち出の小槌シート~!」とドラえもんばりなネーミングでもしたいところですが、わかりにくいので「検証シート」とします(´・ω・`)

区別のために、これまで作ったシートは「時系列シート」と名付けました。


このシートに、今後考慮しようかな?と思っている項目を、インプット項目として「FX業者データ(自分で任意に決められない項目)」「パラメータ(自分で任意に決める項目)」、アウトプット項目として「検証成績」の3つにブロックを分けてずらーっと並べました。

成績は、「古いデータで成績が悪くても、最近のデータで成績が良いほうがいい」と本で読んだ気がするので、最近1年間(現在の日付から遡って365日)と、過去5年間の成績が出るようにしたいと思います。
これでコンスタントに良い成績を出すか、年々成績が良くなっていけば採用!という感じにするためです☆

全部使うかわかりませんが。。 いらない項目は後から消せばいいし、必要な項目は付け足せばいいのです。そのためのExcelなんですからヽ(´ー`)ノ 
def2325a.jpg
FX業者データは、とりあえず数字を入れてしまいました。スワップは毎日レートが変わるんですが、データを取得する方法がわからないので、平均してだいたいこんなもんかな?という数字を書いてます。
整合性がとれなさそうならスワップは無視しようかと思います。

それ以外の各項目については、これから1つずつ入力しながらご紹介していこうと思います。
しかしながら、成績の計算がけっこうクセモノで、苦戦中です(つД`)


応援してくださるみなさまのためにも頑張ります!にほんブログ村 為替ブログ FX システムトレード派へ
人気ブログランキングにも登録中☆lanking.jpg
ようこそおいでくださいました♪♪


 ↓ランキングに参加しています↓
↓お一人様1日1回集計されます☆↓
にほんブログ村 為替ブログへ  lanking.jpg
プロフィール
職 業: サラリーウーマン
血液型: A型
現在地: 愛知県
出身地: 三重県
趣 味: 妄想(*´-`)
特 技: ヴォーカル♪
愛 車: アイ 三菱ジープ

メッセージやお問い合わせはコチラ☆
カレンダー
10 2017/11 12
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
ブログ内検索

相場情報
パーツ提供:ALL外為比較

ALL外為比較

 
最新CM
[10/31 株の初心者の入門]
[03/22 FXランキングサイト]
[07/24 トモキ]
[04/23 Fred Buckley]
[04/21 Marta Stokes]
お世話になっている業者さま
 「為替-オンライントレード-INV@ST」

 

バーコード
広告
忍者ブログ [PR]