著書のご紹介
2012年05月08日(火)
売買システムの最適化(1) [システムトレード]
GWも終わったので、また連載記事を始めたいと思います。今回のテーマは「売買システムの最適化」です。
「最適化・・・」いい響きですね。何か完璧なシステムができるっていうイメージがありますね。
私もシステムトレードを始めた頃、最適化を極めれば聖杯ができるかも、なんて幻想を抱いていたものです。
まあ、それが幻想だとわかってからが、システムトレードの本当のスタートですけどね・・・。
さて、「最適化」というのは、数学的な用語としては、評価関数を最大化、あるいは最小化するためのパラメータを求めるということで、非常にシンプルな考え方です。
また最適化は実用的にも重要で、ソフトでもハードでも実際のモノづくりには欠かせないものです。
ところが、システムトレードにおいては、そういう最適化はカーブフィッティング、あるいは、オーバーフィッティングと呼ばれ、忌み嫌われます。つまり、最適化を行った期間でしか有効でないシステムになってしまい、それ以外の期間では全く機能しないものになってしまうからです。
では、最適化は悪者かというと、そういうわけでもありません。売買システムを作成する過程で、パラメータを変えたり、テクニカル指標の種類を変えたり、とやってるのは、最適化をやっているようなものです。最適化は避けては通れません。
結局、システムトレードにおける最適化というのは、「諸刃の剣」なわけです。使い方によっては、メリットにもなるし、デメリットにもなるということです。
なので、売買システムの最適化は、「カーブフィッティングにならない程度に」という、なんとも曖昧な表現になってしまうことが多いのです。
今回の連載記事では、売買システムの最適化はこうすべき、と断言しにくいところもあるので、私自身がシステムの最適化の基礎に戻ってみたいと思っています。初心に戻って、敢えてカーブフィッティングをさせてみる、など実験的な記事も考えています。
もちろん、MetaTrader4やMetaTrader5のストラテジーテスターの機能も使いながら説明していきますよ。
ただ、例によって、連載の全体構成はできていないので、その場の流れで、記事が進んでいくこともあるかと思います。実際のシステムトレードには参考にならない方向に行ってしまうかもしれませんので、その点は悪しからず、ご了承ください。
Posted at 17時45分 パーマリンク
2010年03月23日(火)
適応ブレイクアウトシステム(2) [システムトレード]
前回紹介した適応ブレイクアウトシステムですが、いくら「適応」と言っても、どんな通貨ペアにもそのまま適用できるというわけではありません。
記事のバックテストとは別に、当方で独自にバックテストを行った結果をお見せします。
期間は2005年6月から2010年3月まで、初期資金は1万ドル、0.1ロット単位の取引とします。
例えば、GBP/JPYでは、以下のような資産曲線となりました。
一方、同じ設定でEUR/USDに適用するとこんな感じです。
どうやら基本の設定は、GPY/JPYに合わせて作ってあったようです。
記事では、ほかの通貨ペアに適応させるために、設定に関する調査を行っています。
基本の設定では、週明けのレンジをBoxSizeとして決定した後、そのBoxSize分上下にエントリーポイント、そしてさらにBoxSizeの0.8倍上下を利食いポイントとしています。
ここで、エントリーポイントのBoxSizeに対する倍率、利食いポイントのBoxSizeに対する倍率を色々と変化させてみます。
これは、いわゆるパラメータの最適化ということで、下手をすると過剰最適化になりかねない手法ですが、これを行うと EUR/USDに対しては、エントリーポイントはBoxSizeの0.6倍、利食いポイントはBoxSizeの2倍が最適という結果になるようです。
そこで、そのパラメータを変えて改めてバックテストを行うと、資産曲線は下のようになります。
前よりはよくなりましたね。
これが過剰最適化でないという保証はありませんが、この記事には、パラメータの最適化に関して注意すべきポイントが書かれています。
システム設計におけるよい例題なので、次回よりMT4のプログラミングにも触れながら話を進めていきたいと思います。
Posted at 12時54分 パーマリンク
2010年03月16日(火)
適応ブレイクアウトシステム(1) [システムトレード]
今回は、フリーのオンラインマガジン、Currency Trader 2月号からトレーディングシステムの記事を紹介します。
原題は
Weekly trend prediction: An adaptive breakout technique analysis
です。
日本語訳だと「週明けのトレンド予測:適応ブレイクアウト手法の分析」といったところでしょうか。
システムの売買ロジックは、基本的にブレイクアウトです。ただ、そのレンジを週明けの一定時間の高値、安値から算出します。
週によってレンジが違うので適応ブレイクアウトと呼んでいるようです。
オープンレンジブレイクアウトと同じようなシステムだと思います。
記事では、EST(ニューヨーク時間)の月曜12時に過去14時間の最高値、最安値のボックスを作ります。
下のチャートで簡単に説明します。
このチャートでは、サーバー時間がESTより7時間進んでいるので、月曜の5時から19時の間でボックスを形成します。
そしてボックスの上端(Box High)とボックスの下端(Box Low)からBox Sizeを算出します。
買いオーダーは、Box High から Box Size 分高い位置で逆指値オーダーとしてエントリーします。
売りオーダーは、Box Low から Box Size 分低い位置で逆指値オーダーとしてエントリーします。
買いオーダーに対しては、Box Low の位置をストップロス、エントリーからBox Sizeの80%上の位置をテイクプロフィットとします。
売りオーダーに対しては、Box High の位置をストップロス、エントリーからBox Sizeの80%下の位置をテイクプロフィットとします。
このチャートでは、売りエントリーがヒットし、そのままテイクプロフィットで利益が出ていることになります。
これを毎週繰り返すというわけです。
Posted at 14時20分 パーマリンク
【 過去の記事へ 】