2015年5月31日日曜日

逆張り買いシステム開発

これまで開発が遅れていた株式逆張り買いシステムがようやく完成に近づいてきました。

まず15年間のバックテストは総取引回数が6600回以上と信頼性があり、期待値も2.83%でシステムに統計的優位性があることが示されました。なお対象銘柄は流動性の大きい東証1部の銘柄です。







株式は銘柄数が多いため、突発的な要因で相場が急落した時などは大量の買いシグナルが発生する日がありますが、それら全てを売買することは現実的にできません。資金量に限りがある中で、どのように優先順位をつけて売買する銘柄を選ぶかが逆張り買いシステムの決め手になります。
そこで次に最適分散投資を行い、売買の優先順位をつけるにふさわしいテクニカル指標について検討しました。
 






テクニカル指標をいくつか試したところ、総取引回数や勝率ではほとんど差はありませんでしたが、期待値、利益率、最大DDなどで差が生じました。その中でいくつかのテクニカル指標を組み合わせたユーザー定義指標(大きい順)で最もパフォーマンスが良い結果が得られました。ただし最大DDは出来高上昇率(大きい順)が一番小さい結果でした。







上はユーザー定義指標(大きい順)の通年レポートですが、過去年単位で負けなしでどの年でもプロフィットファクターは1.6以上あり、下落相場の時期でもある程度機能しそうなことが示唆されました。

以前はメタトレーダーで逆張りのEAをよく作っていたのですが、このような長期のテスト期間で安定して好成績なものは作ることができなかったですね。イザナミは使いやすく完成度の高いシストレソフトだと思います。

以上のように、開発中の逆張り買いシステムは現在運用中のブレイクアウトシステムより収益性と安定性で優れており、早期に戦列に加えたいところです。もう少し調整して6月からフォワードテストを開始する予定です。

2015年5月29日金曜日

現在の株式システムトレード環境

物事がうまく進むためには天の時、地の利、人の和という3つの要素が必要とされていますが、現在株式システムトレードを行うには絶好の条件が揃っています。今回はそのあたりについて書いてみようと思います。

天 (相場環境)
現在日経平均株価が2万円を超え、東証1部の時価総額が過去最高を更新し、株式市場は活況を呈している。企業業績の拡大に加え、金融緩和で株価が下がっても公的資金による下支えが期待されるため、株価が下がりにくく買いシステム運用に有利な状況である。

地 (市場、対象銘柄)
株式は銘柄数が数千あるのでなんといっても売買チャンスは多い。たくさんの銘柄を監視するのはたいへんだが、システムトレードソフトなどを使って必要な条件をうまく設定さえすれば売買したい銘柄を比較的容易に見つけることができる。売買対象を絞って個人投資家が中心の銘柄(小型株)や得意な業種、市場を選んでトレードすることもできる。優待銘柄など値動きに特徴が出やすいものがある。あと、スプレッド拡大や約定拒否、出金拒否などの心配をする必要がない(本来あってはならないことだが)。

人 (投資家、投資家が利用できるツール)
株式のシステムトレードソフトは基本的に自分でプログラミングしなくていいので、アイデアをシステム化しやすい。長期のヒストリカルデータと多数の銘柄数でバックテストの売買回数が多く、統計的に信頼性のあるシステムを作りやすい。特にイザナミは資金管理の検証までできて非常に実用的である。個人投資家でもいいアイデアさえあればプロに匹敵できる。ちょっと複雑な仕掛け条件(下の画像)も容易に作ることができ、システムの改良、修正、検証のスピードが速い。自動売買はできないが自動売買できることが必ずしも有利というわけではない。







メタトレーダーではプログラミング能力の制約があって実現できなかったことが、イザナミでは比較的簡単にシステム化できることが今年最大の発見でした。
まだ使い始めて4ヶ月くらいですが、15年の長期の過去データで優位性のありそうなシステムをいくつか作ることができました。以前はEA一つ作るのにどれだけ苦労したことか。今までFXでしかシステムトレードをしたことがなかったのですが、実は株式の方がシステムトレードに向いているかもしれませんね。今のところ自作システムのフォワードテストはプラスで推移しており、手ごたえを感じています。私が本当にやりたかったシステムトレードができるようになりました。
善く戦う者は、勝ち易きに勝つ者なり『孫子』。というわけで、現在の有利な相場環境が続く限りイザナミを使った株式システムトレードをメインにやっていこうと考えています。

2015年5月17日日曜日

最適分散投資

株式のシステムトレードでは多数の銘柄を対象にしているので、相場が大きく動いた時などは一日に数十個のシグナルが発生することがあります。しかし通常は資金量に限りがあるためシグナル全部を売買することは不可能で、一日に売買する銘柄数や一銘柄に投入する資金量などを決める必要があります。イザナミにはバックテスト機能以外に最適分散投資という資金管理の検証をする機能も装備されており、非常に実用的なソフトです。そこで以前開発したブレイクアウトシステムのバックテスト結果について、設定をいろいろ変えて最適な資金配分を探してみました。



元のバックテスト結果



 最適分散投資結果


最もバランスのいい設定は1日の最大仕掛け銘柄数が3、設定範囲内の上限株数あたりでしょうか。今回の検証結果は無数にある設定の一部ですが、一日に仕掛ける最大銘柄数を制限した方が最大DDが小さく、リスク管理の観点からも有効そうだとわかりました。
他に仕掛けのテクニカル指標に優先順位をつけたり、シグナル数のフィルターを追加したりと多様な条件設定が可能で、最適分散投資を実行すると同じシステムでも資金管理のやり方によって運用結果に差が生じることが実感できます。

最適分散投資の設定 (イザナミサポートサイト)

2015年5月4日月曜日

FXデータのインポート

前回の記事で株式のシステムでEAを作ったら面白そうと書きましたが、逆にFXのデータをイザナミに取り込めば、EA化しなくても検証できるのではないかと思いつきました。イザナミには外部データのインポート機能がありますので、早速試してみました。

☆ドル円(1時間足)のインポートの例

メタトレーダーのヒストリカルデータをエクスポート
    ↓
csvファイルの時間の列を削除
    ↓
イザナミインポート設定で以下のように設定

時間足の場合、フォーマットの指定 日付のタイプ は 
適当に振りなおす を選択
     ↓
検証する、対象銘柄、個別に選ぶ、リストを編集、
1051 ドル円1時間足 を追加
     ↓
売買戦略の検証を実行

これでFXのシステム開発や検証の作業がかなり楽にできるようになります。EA化は優位性のあるロジックが見つかってから行えばいいでしょう。ただイザナミでは取り込めるデータの量に制限がありますので、短い時間足の長期間のデータの検証は少々やりづらいといえます。
(ヒストリカルデータを分割してインポートすれば可能のはず)
イザナミで開発したロジックをメタトレーダーが実行する日は来るでしょうか?

外部データを読み込んで検証する方法(インポート設定)

あと、前回開発した株空売りシステムをアレンジして逆張り買いで試したところ、こちらの方がパフォーマンスがよい結果となりました。下落相場でも停滞期間がほとんどありません。プロフィットファクターが2を超えれば実戦でも十分使えそうです。


対象銘柄:東証1部
トレンドフィルター有り
(終値>MA200)