##1. はじめに
QuantX Factoryでは、株売買のアルゴリズムを作ることができます。また、アルゴリズム開発画面では、過去の株価データを利用して、自分の開発したアルゴリズムのパフォーマンスを期間や初期資金量を設定して検証することができます。具体的には自分のアルゴリズムのMaxDrawdownやSharpeRatio等が確認可能です。
##2. パフォーマンス指標
QuantX Factoryで確認できる指標は以下の通りです。
・取引回数
取引回数はバックテスト期間における市場開催日の日数となります。
・損益
初期資金を用いて売買されたときの、損益の金額が表されます。
・損益率
初期資金と損益の割合が表されます。
・シグナル回数
アルゴリズムによって出されたシグナルの回数
・MaxDrawdown(Drawdown)
最大資産(累積利益)からの下落率のこと。システムトレードなどでは、最大ドローダウン(下落率)をどれだけに設定するかがリスク管理の観点から重要な要素の一つとなる。(https://www.nomura.co.jp/terms/japan/to/A01914.html)
大きいほどリスク度合いが高くなります。
・SharpeRatio
投資信託の運用成績を測るための指標のひとつ。ポートフォリオの総リスクを示す標準偏差で計測される。
一般的には、ポートフォリオの年率換算後の収益率(ここでは平均リターン)、標準偏差、無リスク利子率が用いられ、 {(ポートフォリオの平均リターン)-(無リスク利子率)}/(ポートフォリオの標準偏差) で表される。
単純なリターンの大小ではなく、そのリターンを得るためにどれ位のリスクをとっているかを計測する。数値が大きいほど運用効率が高いことを示す。一般的に、同種の投資対象分類ファンド同士を比較するのが効果的とされている。 なお、リターンがマイナスの場合には、リスクが大きいほどシャープレシオが大きくなるという制約を伴う。
指標の考案者は、米国の経済学者であるウィリアム・シャープ(William Sharpe)。(https://www.nomura.co.jp/terms/japan/si/sharpratio.html)
リスクに対してどれだけの利益を得ることが出来るかということになります。
・volatility
証券などの価格の変動性のこと。期待収益率が期待通りとなる度合いを示す。ボラティリティが高ければ期待収益率から大きく外れる可能性が高い。
標準偏差で示すことが多い。ボラティリティが大きいとは価格の変動性が大きいことを指す。また、1つの変数の変動に対する他の変数の感応性を意味することもある。例えば、長期債の利回りの変動に対する価格の変動性は、短期債のそれよりも高く、ボラティリティが大きいという。(https://www.nomura.co.jp/terms/japan/ho/volatility.html)
価格変動の大きさを表します。
・Alpha
β値で表されるリスクを調整した後の個別証券の収益率が、どれだけ市場平均(ベンチマーク)の収益率を上回っているのかを示す数値。α値が高いということは、ベンチマークよりも、それだけリターンが大きいことを意味する。
なお、ある変数y(被説明変数)のデータを他の変数x(説明変数)のデータから予測しy=α+βxの関係式に当てはめて検証する回帰分析を行う場合、最小2乗法の手法を用いて
α=(yの平均値)-β×(xの平均値)
と推計される。(https://www.nomura.co.jp/terms/japan/a/alpha.html)
αが高いほど、ベンチマークは収益率を上回り、リターンが高いことを示します。
・Beta
個別証券(あるいはポートフォリオ)の収益が証券市場全体の動きに対してどの程度敏感に反応して変動するかを示す数値で、現代ポートフォリオ理論でよく用いられる。
β=個別証券のリターン÷市場全体のリターン
INDEX指数(日経平均やTOPIX)に対して対象銘柄が指数の変化よりもどれだけ大きく動くかを数値化したもの。βが高いほど証券市場全体の動きに連動した変動幅が大きいことを示す。
##3. いいアルゴリズムとは
QuantXでは上記のような指標を用いて、自分のアルゴリズムを考えることが出来ますが、果たして、上記指標がどのような値になったときに、いいアルゴリズムで、開発するうえで、どのような値を目指せばよいのでしょうか。
ここでは、いいアルゴを考える前に、まず先に、悪いアルゴについて考えてみます。
悪いアルゴとは、
・パラメーターや開始日を少し変えたらパフォーマンスが大きく変わる
・パフォーマンスの大半が1、2銘柄の好成績に依存してる
・組み入れ銘柄の株価の上昇に依存している
・シグナル発生頻度が極端に低い
ということが考えられます。特に一番初めの、パラメーターや開始日を変えたときに大きくパフォーマンスが変わるのは、バックテスト最適化になっている可能性が高く、アルゴ開発を行う上で、注意しなければいけません。
また、いいアルゴを定義することは難しいのですが、悪いアルゴから考えてみると、いいアルゴとは、
・パラメーターや開始日を少し変えても、パフォーマンスが大きく変わらないこと
・パフォーマンスが1、2銘柄に依存せずに、収益が出ていること
・銘柄に流動性があり、適切に選択されていること
・シグナル回数が極端に低すぎないこと
・MaxDrawdownが高すぎないこと
・SharpeRatioが適切な値であること
等が考えられます。評価基準は多岐にわたるので、簡単に書くことは難しいのですが、上記のようなことが一般的に考えられます。