やっぱりテクニカル分析は楽しいんじゃなイカ?

べき分布0.0017%の猫 2011/09/14 00:32
faiさんこんばんは。
為替もそうなのかわかりませんが、株先の場合、切りのいい価格、前日の代表的な価格、
メジャーな指数などでは、価格がとりあえず止まるなんてことはよくあるように感じます。

そうなんですよね。感覚的には複数の安定価格帯を移動するように思えるので、マーケット・プロファイルや、階段状近似に興味があったのです。ただ、安定価格帯への斜めの動きも無視できないので、今日は「価格は斜めに動くに違いない」と仮定する人(線形トレンドが有意に継続する…ことにベットする人)のための記事です。




とある人からトレンドラインは線形回帰で引くのが正しいと伺ったのは数年前のことです。

↑ところが、単純に計算期間を固定して当てはめると、本当にそれでいいのか怪しく思える時が多いですよね。
過去10年のバックテストで60期間が最も成績が良かったとしても、今、この瞬間は違うでしょ?という感じです。

↑この局面では、既にトレンドは反転しつつあると見て、短く引いた方が正解なのでは?と思ったりします。



↑そこで、最新数学の知見を駆使して作ってみたのがこれ。Bayesian Treed Linear Model(BTLM) を当てはめてみました。※動作には、R for MT4が必須です。
(厳密にはそんなに最新ではないけれど、前世紀の遺物のような 頓珍漢 (とんちんかん) なテクニカルと比べたら、話にならないくらい新しい技術です。



実際は R に tgp というパッケージがあり、BTLM を計算できることが分かったのでそれを利用しています。

Bayesian treed Gaussian process models (tgp R package)
http://users.soe.ucsc.edu/~rbgramacy/tgp.html
↑tgp の詳細はここ。作者は、より発展した BTGP や BTGPLLM を研究しているようです。GP (Gaussian process)を使うと曲線で推定できるのですが計算量がががが...(ry
GPを試す時はR上でやりましょう。大量にデータ食わせたら数時間掛かりました..orz


↓この辺りにある技術を組み合わせている..らしい
CART(Classification and Regression Trees)
http://cwoweb2.bai.ne.jp/~jgb11101/files/CART.pdf
決定木
http://www.teradata-j.com/library/ma/ins_1314a.html
R でベイズ線形回帰の予測分布
http://d.hatena.ne.jp/n_shuyo/20090709/predictive
経済分析のためのMCMC入門
http://mihama-w3.n-fukushi.ac.jp/ins/kusuda/paper/mcmc_for_economics.pdf

MT4 上では、中央の予測線と5%〜95%幅の点線しか描けませんが、R 上ではどんな分析が行われているのか少し分かります。

↑時系列(横軸1〜100)を分割して、区間ごとにベイズ線形回帰の予測を行っています。
↓分割には各区間の誤差(上図右側)を上手く分離できるような最適のツリーが1つ選ばれます。

↑100個のデータ(x1=1〜100)を順に分割しています。候補の2つのツリーは、ほとんど似たところで分割されていますね。log(p)が大きいものが選ばれるようです。


R では以下のスクリプトで計算できますので、より深く研Qしたい人はいろいろ試してみてください。

require(tgp)
b <- read.table("C:/R/AUDUSD60.csv",sep=",")
Z <- tail(b$V3,100)
X <- seq(1,100,length=100)
out <- btlm(X=X, Z=Z,BTE = c(5000, 10000, 10))
plot(out)
#tgp.trees(out) # ツリー表示

※ tgp というパッケージをインストールする必要があります。
※ ツリー表示には maptree パッケージが必要です。



トレードへの利用例

敢えて私が解説するまでも無いとは思いますが参考までに、昨日からのリアルタイム・チャートで。。。



↑現在のトレンドはほぼ水平やや下がり気味で、上端のバンドを越えたので逆張りの売りを仕掛けたいところ。
↓そして下がる..。

↑バンドを大きくはみ出したら、相場の状況が変わる可能性を示唆しています。
↓案の定、下がりだす。

↑新たに始まった下落トレンドで上端に達したので、ここでも売り。
↓また下がる..。

↑微妙に上げトレンドで、下バンドを越えたので買い。

↑下げトレンドっぽくなってきたので、おしまい。


ところで、この指標はよく見たら分かるように、リペイントします。リペイントどころか、まったく同じ価格データで計算しても異なる結果を返すことが多々あります。内部で MCMC(マルコフ連鎖モンテカルロ法) という乱数を利用したシミュレーションを行っているので、やむを得ないのです。それらの欠点を補って余りある魅力がこれにはあります。(再計算で結果が大きく変わる時は、安定したトレンドが無いと考えてトレードを避けた方が良いかもしれません。


私としては、トレンドの方向性と変動幅=売られすぎ/買われすぎの正確な推定能力において、個人投資家が簡単に入手できるツールでこれ以上のものは無いと確信しています。おそらく、10数年後には、これに類するテクニカル指標が投機初心者向けの教科書に当たり前のように載ることになるでしょう。Rの導入方法については、最小限の手順を昨日の記事におさめたつもりです。作成した指標のコードは書き上げたばかりで、決して洗練されたモノではありませんが、トレードの道を志す読者諸氏のよき道案内となれば、私にとって望外の喜びであります。


最後に、本ブログを執筆するにあたっていろいろお世話になった皆様、twitter,2chで相手をしてくださった皆様、SNSで遊んでくださった皆様、ブログにコメントくださった皆様に心から感謝の意を表します。


2011年9月15日
                fai 拝















(…後段は、とある本からのパロディです。1983年9月15日に書かれていたので、すこし真似してみました。明日以降もよろしくお願いします。笑。