日経225先物運用-システムトレード・自動売買-と自分投資 -26ページ目

日経225先物運用-システムトレード・自動売買-と自分投資

日経225先物のデイトレードシステムの構築と運用
TOPIX先物とFXについて数年後の稼動を目指して研究中
システム構築及び分析の手法はエクセルを使った時系列分析・テクニカル分析がメイン
自分投資-独学で宅建合格を目指す-


投資をするにあたっての基本方針


長期的資産の成長と安定的な収益確保を目指した運用をする


内容は正にその通りであるが どうもピンとこない

当然 利益を得るために投資をしているのだから
収益確保を目指すが
一時的に大儲けをするのではなく
今後数十年にわたって収益を出し続けることが重要

つまり 長期的資産の成長 である

そのためには 土俵に上がり続けなければならない

(相撲で例えるが)

怪我をしたり 負け続けて 引退したら勝負は出来ない
力士として相撲で勝負をするために
厳しい相撲界を生き延びる必要がある



簡単に言うと


何がなんでも生き残ること


会社で例えるなら
つぶれない会社 200年企業 になるということ

100年に1度の経済危機を乗り越えてこその200年企業

経営環境がいい時には どんな会社でも利益を出せる
これを実力と勘違いして
体力を遥かに超えたリスクをとって倒産
そんな会社がどれだけあったことか


投資においても全く同じことが言える

3年で10倍にしたとして
翌年レバレッジをめいっぱいかけて
100年に1度の経済危機で大損出したら
投資は続けられないでしょう

どのような環境にあっても毎年20%の利益を出し続ける

非常に難しいが これにチャレンジしていきたい




10年間の複利計算


(1)毎年26%の利回り  単純平均利回り 26%

(2)1年毎に利回りを下記のとおり変動させる  単純平均利回り 40%
   40% 80% -30% 80% -60% 100% -50% 90% 70% 80%


投資額100万円が10年後にいくらになるか

(1) 1,008万円

(2)  738万円


単純平均利回りが高いものよりも

安定した利回りのものが複利計算では長期的な資産残高は増える




1. 基本方針


何があっても市場で生き残る


儲けは追求するが 1 生き残る 2 儲ける の順番

レバレッジはかける
ただし 資金がなくなって(借金を背負って)
市場から撤退するような投資はしない

今回はモンテカルロシミュレーションによりMDD(最大ドローダウン)を計算する


モンテカルロシミュレーションとは

モンテカルロシミュレーションとは 多くの乱数を発生させて 特定の事象が どれくらいの確率で発生するか をシミュレートする方法である


下記に詳しい説明がある

ナチュラル研究所 モンテカルロシミュレーション
 http://www.ishikawa-lab.com/montecarlo_index.html 

シグマインベストメントスクール エクセルを使ったモンテカルロ・シミュレーション
 http://www.sigmabase.co.jp/useful/yasashii_fe/monte/monte_index.htm 


この方法により10年分の時系列データしかない場合においても 100年 1000年分のシミュレーションが可能となる


想定MDDのシミュレーションに必要なデータ

勝率
1トレード平均利益
1トレード平均損失

この3つのデータのみを使う

本来であれば平均ではなく損益の度数分布表を使ってシミュレーションするところであるが今回は簡便的に平均損益を使う

また度数分布が正規分布の場合にはエクセルの関数を使って正規乱数を発生せさせる方法もある



乱数の発生

エクセルでモンテカルロシミュレーションを行う

エクセルで乱数を発生させるには

= RAND()     ( 0以上1未満の値がランダムに発生する関数 )

という関数を使う


RAND()で発生させた乱数と勝率と平均損益を使ってトレード損益・累積損益を作っていく

今回のシステムのデータ
勝率    : 52%
平均利益 : 94
平均損失 : 82


 
  A B C
1 乱数 損益 累積損益
2 0.049914 94 94
3 0.725432 -82 12
4 0.330752 94 106
5 0.761096 -82 24


損益欄  B2 = IF ( A2 < 52% , 94 , -82 )

乱数(A)が 0.52未満のときに利益94  0.52以上のときに損失82 が算出される


これを4900行コピー

20年分のデータをつくる


さらにこれを10セット

データ更新を10回して 100セット


この作業に4分程度かかる



10回繰り返し

20年× 1000 = 20,000年分のシミュレーションを行う



シミュレーション結果


20年×100 = 2000年分のシミュレーション結果   MDD最大値 : 3916

さらに200回分追加し 全300回 6000年分の結果  MDD最大値 : 4150

・・・・ 

1000回やった結果  MDD最大値 : 4484


3040191419


100回  最大MDD 3916    平均MDD 1989

300回  最大MDD 4150    平均MDD 2008

500回  最大MDD 4392    平均MDD 1998

1000回  最大MDD 4484    平均MDD 2012


平均値でみても 2000のドローダウンを想定する必要がある

20000年分のシミュレーションの結果からは 最大4484のドローダウンの可能性がある




モンテカルロシミュレーションによる想定MDD


1000回のシミュレーション結果から99%信頼区間でMDDを求める

99%信頼区間 1000×1% = 10

最大値から10番目の値をLARGE関数でみる

 = LARGE ( 範囲 , 10 ) 

 = 3564



これまで計算した想定MDD


(1) 過去のMDDの2倍 : 2720

(2) 過去の1トレード最大損失 × 過去の連敗数 : 6660

(3) 過去の1トレード最大損失 × 想定連敗数 : 7400

(4) 予想損失(平均損失+2SD) × 想定連敗数 : 2460

(5) 予想損失(平均損失+2SD) × (想定連敗数-1) + 1000(暴落想定) : 3214

(6) モンテカルロシミュレーションによる想定MDD : 3564



2と3は参考値として 2,3を除く最大値を使うこととする

今回のシステムでは (6)の 3564

1枚あたりの必要資金は

必要資金 = 証拠金 1440 + 想定MDD 3564 = 5004 → 5000


225mini 1枚につき 50万円 となる




前回までに4つの方法により想定MDDを計算してみた


(1)過去のMDDの2倍 : 2720

(2)過去の1トレード最大損失 × 過去の連敗数 : 6660

(3)過去の1トレード最大損失 × 想定連敗数 : 7400

(4)予想損失(平均損失+2SD)× 想定連敗数 : 2460


(データ)
・ 過去のMDD : 1360
・ 最大損失 : 740
・ 過去の連敗数 : 9
・ 想定連敗数 : 10 (危険率0.1%)
・ 平均損失 : 82 (標準偏差82)


今回は上記計算の(3)と(4)で使っている最大損失について考える


まずは 225miniの直近2000個のデータを用意して値幅(寄り引け)をみる

最小値幅は当然 0

最大は 1170


最大は2013年5月23日だろうと予想し探したらやっぱりそうでした


平均は 88


値幅上位は

1170  2013/5/23
740  2007/8/17
670  2008/10/8  2014/10/31

2014/10/31の値幅670は値上がりであるが ほかは全て値下がり

大きく動くときは暴落が多い?



ヒストグラムにしてみた

値幅(225mini)



上位0.1%(上位2個)及び1.0%(上位20個)のデータをとってみる

2位の値幅 : 740   

20位の値幅 : 420


上位2位までの値幅平均 : 960

上位20位までの値幅平均 : 530  (上位2位までを除く平均)



 
値幅420以上の年毎の発生個数
2007 2
2008 6
2009 1
2010 0
2011 2
2012 0
2013 9
2014 2


2008年と2013年に集中している
2013年は平均すると月1回弱発生しているイメージ
逆に2010年 2012年は大きな変動がない年

2013年を見ると特定時期に集中していることがわかる

5/23 に1回あり

その後
6月に7回発生している それも6/4~6/26の17営業日のうち7回である

この間に連敗していたら相当な損失を食らう可能性もあるということ



ここまでをまとめると

値幅 500 (平均530→500)  :  1.0%の確率で発生する

値幅 1000 (平均960→1000)  :  0.1%の確率で発生する


これを想定MDDにどのように反映させるか...


(4)
予想損失(平均損失+2SD)× 想定連敗数

の暴落バージョンということで 1000プラスする

500クラスの損失が2回発生 又は
1000クラスの損失が1回発生 を見込むという意味


(5)予想損失× (想定連敗数-1)+1000(暴落想定)

(平均損失82+2SD82×2)×(想定連敗数10-1)+1000 = 3214




もう1つの積み残し

最大クラスの損失が連続して発生するか について


今回の2000個のデータを見る限りは 発生確率が0.1%である (1000回に1回)

4年に1回

2回取引をして2回連続で発生する確率は

0.1% × 0.1% = 0.0001%  1,000,000回に1回

ということになる


2000日のデータの場合
2日を1セットとして1000個のデータとする
2回連続で発生する確率は0.0001%なので発生しない確率は99.9999%
1000回繰り返して発生しない確率は
99.9999%^1000 = 99.90005%
2回連続が1回でも発生する確率は 1-99.90005% = 0.09995%

10年で計算すると 0.122%
20年では 0.245%

ということでこれを取り入れて想定MDDを考える必要はないという結論


(ただし 厳密には

 2000回取引をする場合に 0.1%の確率で発生する事象が2回以上連続で発生する確率は?

ということになり 複雑な計算をすることになる
上記の計算は(1,2)(3,4)(5,6)...というセットにしているが
連敗は(1,2)(3,4)の組み合わせだけではなく(2,3)の組み合わせもある
さらに3連敗,4連敗も考慮する必要がある
とりあえず自分には出来ません...)


次回はシミュレーションによりMDDをだしてみる


つづく