システム売買とは売買プログラムの実例シミュレーションのワナシミュレーションの検証TradeStation指標紹介
TradeStationについて先物取引ゼミナールMENUシステム取引入門MENU

■Trade Stationによる指標紹介
 ここでは、一般的に知られている指標やこれまでに私が作成したオリジナル指標などをいろいろと紹介します。 必ずしもアイデアは自分で考えたものばかりではありません。ただ、さまざまなものを組合わせたり、ちょっと工夫してみると、皆様の投資手法や分析手法の開発に役立つものと思います。


■バンド
エンベロープ
ボリンジャーバンド
XMAバンド
ATRバンド(keltner channel)


■トレンドの見方の注意点
 トレンドを認識するためのいろいろな指標を紹介します。トレンドをどう見るかは、主観的な要素が絡むため、客観的にどうだというのは非常に難しいのが実情です。このため、いくつかのテクニカル指標を現在のトレンドをつかむための参考に使ってみます。
 通常トレンドを考えるときに一番一般的なのはトレンドラインです。このトレンドラインも引き方にはいろいろとルールがあるようですが、厳密な定義は無いようです。ただ、それでも相場が上向きか下向きかが自分でわかればそれで問題はないでしょう。なお、トレンドラインは短いものより長いものの方が信頼性は高いようです。
 また、移動平均線を何本か引くというのもよく行われます。例えば、50日、100日といった長期の移動平均線を上抜いてくると相場は上昇基調に転じるといったことを皆さんもどこかでお読みになったことがあるでしょう。移動平均線を上抜くとか、複数の移動平均線のクロス(交差)とか、移動平均線の傾きなどもトレンドを考える上で、よく引き合いに出されます。
 これらもどれが正しいとか、間違っているといたことはなく、使う人の好みの問題です。また、何日の移動平均線を使うかも個人の好みに左右されます。長期だとトレンドを見やすいが遅行するし、短期だと遅行は少ないがだましが多いといった欠点があります。
 なお、何日を使ってトレンドを見るかは、その投資家がどれくらいの期間で投資を行うかにもよります。例えば、長期で株を保有する投資家なら、あまり目先の動きは気にせず、安いところを買い拾うでしょうからトレンドラインや移動平均は長期のものを使うのが好ましいでしょう。逆に短期のトレーダーには50日、100日といった期間は長すぎるでしょう。ですから、自分の投資スタンスに合った日数を選ぶのが賢明です。
 <チャート1>をご覧下さい。日経平均の日足です。移動平均は10日(黄色)、50日(赤)、100日(水色)をプロットしています。この3本は単純移動平均です。ピンク色は50日の指数平滑移動平均です。指数平滑移動平均(ピンク)の方が、単純移動平均(赤)に比べて遅行が少ないのがおわかりいただけると思います。
 <チャート2>をご覧下さい。このチャートでは、短い10日の移動平均では短期のトレンドを確認しやすいがだましが多く、長い50日の移動平均ではトレンドをうまく捉えているものの、遅行するという欠点があります。なお、緩やかなトレンドでは単純移動平均(赤)と指数平滑移動平均(ピンク)にあまり差がないことも見て取れます。このチャートでは50日や100日の移動平均をトレンド認識やサポート(下値支持)水準の判断に利用できます。なお、単純移動平均を使うか指数平滑移動平均を使うかは、各個人の好みの問題です。
 <チャート1><チャート2>の下の方の「CLOSE-MA%」とは移動平均かい離率です。上段の黄色が10日移動平均とのかい離率、下段の赤は50日移動平均との乖離率です。<チャート1>の10日移動平均かい離率を見ると±4%を超えると反転するポイントになるのが見て取れます。常に4%が反転するポイントになるわけではありませんが、「4%を超えたら目先は過熱感から調整する可能性が高い」といった判断材料になります。
 さて、トレンドラインや移動平均でなく、テクニカルの指標を考えてみましょう。テクニカル指標でトレンドを認識させる一般的な指標はADXです。<チャート3>をご覧下さい。ADXはトレンドの強さを見る指標です。上げトレンドか下げトレンドかという方向性を見るものではありません。4月から6月の下げ局面ではADXが上昇しているのが見て取れます。なお、「ADXとは何か」といったことは、テクニカル関係の解説本をお読みください。
 「Computer Analysis of the Futures Market」の著者であるCharles LeBeau氏は雑誌Futuresのインタビューで「ADXは非常に有用な指標である」と述べています。トレンドの方向性を判断するもの出ないことから、ちょっと使いにくい指標という気もします。しかし、使い方によっては武器にもなりそうです。
 それ以外に自分で考えたり、本などからアイデアを得たトレンド認識指標を紹介しましょう。


■Ma Days Trend,Dunn Trend
@MA DAYS TREND
 終値が移動平均(この例では10日移動平均)の上、あるいは下に連続何日あったかを示しています。移動平均は遅行するものの、ロジックは比較的シンプルであり、トレンドを視覚的に認識できる指標です。(チャート3参照)TradeStationのEasy Languageのコードはこちら。

{*** MA DAYS TREND ***}
{98.7.23}

Inputs:Price(Close),Length(20);
Vars: CTR_UP(0),CTR_DN(0);

IF PRICE > Average(PRICE,LENGTH) THEN BEGIN
CTR_DN = 0;
IF PRICE[1] > Average(PRICE,LENGTH)[1] THEN BEGIN
CTR_UP = CTR_UP + 1;
END
ELSE BEGIN CTR_UP = 1;
END;
END;

IF PRICE < Average(PRICE,LENGTH) THEN BEGIN
CTR_UP = 0;
IF PRICE[1] < Average(PRICE,LENGTH)[1] THEN BEGIN
CTR_DN = CTR_DN + 1;
END
ELSE BEGIN CTR_DN = 1;
END;
END;

Plot1(CTR_UP,"UP Trend CTR");
Plot2(CTR_DN*-1,"DN Trend CTR");



ADunn Trend
 Futures98年11月号に紹介された「Dunnigan's Way」を参考に作成したプログラムです。ウイリアム・ダニガンというテクニカル・アナリスト(トレーダー?)によるチャートパターンによるトレンド認識ロジックです。トレンドの上昇、下落を比較的簡単なチャートパターンから判断しています。なお、ロジックの詳細などは雑誌をご覧下さい。Futures日本語版では98年12月号に翻訳記事が紹介されています。(チャート3参照)


■Trend Analysis Index,Trend Movement Index,Trend Strength Index
BTrend Analysis Index
 以前、雑誌かHPで紹介されていたものだっとと記憶しています(正確には覚えていません)。少し長めの移動平均(この例では20日)の過去n日間(この例では5日)のHighest-LowestをCloseで割った値をプロットしたものです。この指標はADXと同様にトレンドの方向性でなく、強さを表しています。チャート上でもADXと同様に4月から6月の下げ局面で上昇しています。パラメータを変えていろいろな期間で試すと結構面白いです。(チャート4参照)

 TradeStationのEasy Languageのコードはこちら。

{***** Trend Analysis Index ***}
Input: Price(Close),AvgLen(20),TAILen(5);
Plot1(IFF(CurrentBar > AvgLen, TAI(Price, AvgLen, TAILen), 0),"Plot1");

{***** Function TAI *****}
Input: Price(Numeric),AvgLen(Numeric),TAILen(Numeric);
TAI=(Highest(Average(Price,AvgLen),TAILen)- Lowest(Average(Price,AvgLen),TAILen))*100/Close

※Functionとは元のプログラムから呼び出されるサブルーチンのこと。


CTrend Movement Index
 リチャード・ブックステーバー氏によって書かれた「投資ハンドブック」に紹介されている「トレンド変動指数」を参考に作成した指標です。(チャート4参照)。過去A日間(5日)の価格が、それ以前のB日間(10日)の変動幅をどれだけ上下に上回っているか、といったロジックだったと記憶しています。


DTrend Strength Index
 Futures97年5月号に掲載された「Which Trends(and Markets) are best?」(Tushar Chande著)を元に作成したトレンド指標です。Chande氏は「ハースト指数」(カオス理論によく出てくる)に影響を受け、トレンドの強さを表すこの指標を開発したとのこと。
 動きが比較的緩やかで、移動平均を引いて合わせて見たほうがわかりやすいと思います。なお、あまり動きない相場では、この指数はあまり数字が動きません。(チャート4参照)。数式は次の通り。

t=(log(C/C[1])/(Stdev(Log(C/C[1],Len)*Sqrt(Len)))
t=Trend Strength Index ,C=Close ,Len=期間

 作者のChande氏によると、tは+1よりも大きいときは相場は上昇過程にあり、−1より小さいときは下落過程にあるそうだ。長さをいろいろと変えると新たな発見があるかもしれない。ゼロ割りを回避するロジックを組み込んだTradeStationのEasy Languageのコードはこちら(なお、tの移動平均も同時にプロットするロジックを組み込んである)。

{***** Trend Strength Index *****}
Inputs:Price(Close),Length(50),AVG_LEN(10);
Vars:temp(0),Len1(0);

IF StdDev(price/price[1],length) <> 0 THEN BEGIN
Temp= (log(price/price[length])/(StdDev(price/price[1],length)*squareroot(length)));
END;

Plot1(temp,"Trend Index");
Plot2(Average(temp,Avg_len),"Avg");
Plot3(0,"");